Type SOUND_LocalizeSoundPath custom ESI output as characters
Ghidra v1804 · 39698f0
Custom ESI pszOutPath is the same byte-string destination/filename on every path. The complete180-byte function passes ESI as sprintf destination at all three format sites, then as SFileOpenFileEx char* filename at each corresponding open. The two incoming calls from ExitGamePlayCutScene LEA the same260-byte stack buffer at EBP-0x218 into ESI. Its EBX format literal is %s\video\%s\%s; alternate caller branches format the same buffer directly, and downstream cutscene playback consumes it as char*. Complete target and1033-byte caller ranges match original Windows bytes; both LEAs are the sole ESI reaching definitions. Retype only existing pszOutPath uint* to char*. Preserve its chosen name, custom ESI slot, szFormat@EBX, pTmp@EDI, cdecl and void return. All three physical exits are bare RET, and no stack formal or return is added. No function rename, allocation change or runtime/build benefit is claimed.
Changes 1, applied together
Retype variable
win 0x00482e30 ESItypeuint *→char *