cleaning up disassembler code

mostly moving functions out of root.disassemble