Mac LINKEDLIST_UnlinkFreeAndGetCount: void* __cdecl (void* pList, void* pNode)
There are two cdecl stack args. [EBP+8] = the list (+4 head link used when the node is NULL). [EBP+0xc] -> EBX = the node: its next link (+4) is kept in EDI, it is unlinked twice via TSLINK_Unlink 0x00011e36 and freed with SMemFree 0x00018c44 (line -2). It deliberately returns the next node (CMOVZ ESI,EDI; MOV EAX,ESI at 0x00011e2c). This is the same template as WND_RemoveAndFreeRecord 0x00019464. Callers: SEvtDispatch 0x00011332 / 0x000114e7.
Changes 1, applied together
Set prototype
mac 0x00011dc6signatureundefined LINKEDLIST_UnlinkFreeAndGetCount(void)→void* LINKEDLIST_UnlinkFreeAndGetCount(void* pList, void* pNode)conventionunknown→__cdecl