Type the DT1 deep-copy header input and allocated header output
Ghidra v1804 · 39698f0
Win 0060a750 takes pSrcTileCmpHdr and ppDstTileCmpHdr, both uint32_t*. It allocates and copies 0x114 bytes, reads tile count+0x10c and the tile pointer+0x110, allocates count*0x60 records, and separately copies/recompresses each tile's20-byte subtiles. These are the existing D2TileLibraryHeaderStrc/Entry layouts. On every normal return it loads the output argument and stores the allocated header base through it at 0060a8f3. Retype source to D2TileLibraryHeaderStrc* and output to D2TileLibraryHeaderStrc**. Both selected names fit. Preserve the callback/context argument, void result, stdcall, RET 0xc and all storage. Full original bytes checked. No incoming xrefs exist: API-contract proof only, no runtime invocation claim.
Changes 2, applied together
Retype variable
win 0x0060a750 Stack[0x4]typeuint32_t *→D2TileLibraryHeaderStrc *Retype variable
win 0x0060a750 Stack[0x8]typeuint32_t *→D2TileLibraryHeaderStrc **