import capstone, struct, sys sys.stdout.reconfigure(encoding="utf-8", errors="replace") data = open(r"C:/git/bt411/content/BTL4OPT.EXE","rb").read() CODE_VA=0x401000; CODE_RA=0xE00 # scan whole CODE section but report region; disp32 0x434 pattern pat = b"\x34\x04\x00\x00" md = capstone.Cs(capstone.CS_ARCH_X86, capstone.CS_MODE_32); md.detail=False # find CODE section size pe = struct.unpack_from("= va+4 and i0.address+i0.size <= va+4+4: hits.append((i0.address, f"{i0.mnemonic} {i0.op_str}", i0.size)) break seen=set() for a,s,sz in sorted(hits): if a in seen: continue seen.add(a) region = "MECH" if 0x49e000<=a<0x4c0000 else "" print(f"{a:08x} {region:5s} {s}")