The disassembler library of choice for my current project is libdasm because of its comparatively long history and public domain license. But writing a sound and complete x86 disassemblers is obviously not a trivial task due to the complex nature of the x86 instruction set. Libdasm used to have issues correctly disassembling certain floating point instructions in the past, but this was simply caused by an off-by-three error in the opcode lookup tables (three NULL rows missing) and thus the fix was comparatively easy.”]
Source: https://securelist.com/different-x86-bytecode-interpretations/29726/

