REDIVIVUS

Proposals / #780

Correct the Windows trade-copy output to its four-byte Boolean pointee

applied · by Commit-Will · submitted 2026-11-01, applied 2026-11-02

Ghidra v1804 · 39698f0

Win0063e370 Stack0x10 is bool* pbMercIsBuyer, but original Windows0063e430/451 load the fourth argument into EAX and0063e437/458 store DWORD0/1 through it after null tests. Existing Win bool is1 byte and BOOL is4. Its sole caller00567dd8 passes LEA[EBP-4] as the fourth argument, initializes that local with a DWORD0 store and later compares the DWORD with0. Retype only the existing pointer slot to BOOL*, preserving the fitting selected name, current BOOL return, all other parameters/locals, stdcall and RET16. Complete274-byte target and1001-byte caller bodies match original Game.exe; the Mac correction was not used to infer Windows width. This is an independently verified Windows output-contract correction, not runtime execution.

Changes 1, applied together

  1. Retype variable win 0x0063e370 Stack[0x10]

    typebool *→BOOL *