title: Any Object-Oriented Flexible Java x86 Disassembler Library?
body: <p>I am looking for a Java x86 disassembler library that should have following features:</p>
  
  <ul>
  <li>Disassembling X86 Code</li>
  <li>Describing X86 commands with Java classes and Objects</li>
  <li>The command classes should accept a visitor which has a generic return value</li>
  </ul>
  
  <p>So, if I have some code that would disassemble like this:</p>
  
  <pre><code>MOV EAX, EBX
  CALL 1234
  JMP 88
  </code></pre>
  
  <p>then the library should create three objects for MOV, CALL and JMP. Then I implement a visitor that does diverse things (ex: interpreting, converting to x64 or to an instruction for another processor architecture). </p>
  
  <p>Thanks in advance.</p>