REDIVIVUS

Proposals / #611

SBmpLoadImage filename input is char *, not int *

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

Ghidra v1797 · 3bccb89

The initial Stack[4] argument is a filename string. At 006c6b9a it is loaded into ECX and its first byte is checked at 006c6b9d; at 006c6bd5 that same value is pushed as SFileOpenFile's char* szFilename. LEA [EBP+8] is separately passed as the file-handle output, so the original path slot is then reused to hold D2MPQFileStrc*. That later lifetime does not make the input int*. Retype only the parameter to char*, preserving its name, storage, other arguments, return and __stdcall. Complete 320-byte body and 28-byte open wrapper checked. No static incoming xrefs: recovered API-contract metadata only, no runtime-use/impact claim. A named Mac function exists, but its long monolithic body/prototype has not been independently verified; no Mac edit.

Changes 1, applied together

  1. Retype variable win 0x006c6b70 Stack[0x4]

    typeint *→char *