but because this is all done in an in-place loading style, it's really a pain to understand, so I've not yet been able to write a disassembler