Type the DT1 cache-export allocated-header output
Ghidra v1804 · 39698f0
Win 00609d60 Stack[8] is void* ppOutBuffer but receives a D2TileLibraryHeaderStrc*. Empty input stores NULL through it. Success allocates and zeros 0x114 bytes, writes version 7, sets nTiles+268 and allocates pTiles+272 as count*96-byte D2TileLibraryEntryStrc records; each is filled by the exact typed serializer. The allocated header base stays in EDI and is stored through the original output at 00609e77. Retype only ppOutBuffer to D2TileLibraryHeaderStrc**; its selected name already fits. Preserve the first input, custom ESI nErrLine slot, undefined4 result, stdcall and RET8. Full target/serializer/allocator bytes match original Game.exe. No incoming xrefs exist, so this is API-contract metadata only, with no runtime invocation claim.
Changes 1, applied together
Retype variable
win 0x00609d60 Stack[0x8]typevoid *→D2TileLibraryHeaderStrc **