It looks like 0xFFFFFFFF was inserted instead of 0xFF for the test command, probably by mistake?
85 = test r / m32, and 78 is a byte for the parameters [eax + disp8], edi, while disp8 should be specified, which should be 0xFF (-1), but as a 32-bit signed integer, it is 0xFFFFFFFF.
So, I assume that you have 85 78 FF FF FF FF, where should there be 85 B8 FF FF FF FF for 32-bit offset or 85 78 FF for 8-bit offset? If so, the next byte in the code should be 0xFF ...
Of course, as already mentioned, this can only be data, and do not forget that the data can be stored in PE files, and there is no reliable guarantee of any particular structure. In fact, you can embed user-defined code or data in some header fields of MZ or PE if you aggressively optimize the .exe size.
EDIT: in accordance with the comments below, I also recommend using an executable file where you already know exactly what the expected disassembled code should be.
source share