Mac CloseSocket: void __fastcc (D2QSSocketStrc* pQServer ECX)
ECX -> ESI is the socket object: it is NULL-checked, then its +0x110 socket block is checked (+0 and +8 set) and the critical section at +0xc is entered around the close. There are no stack-arg reads. The caller is QSSOCKET_ReceiveLoop 0x002edbc6. The function is already __fastcc; this adds the parameter and void return of the Windows twin 0x006bc310 (D2QSSocketStrc* pQServer).
Changes 1, applied together
Set prototype
mac 0x002edbeasignatureundefined CloseSocket(void)→void CloseSocket(D2QSSocketStrc* pQServer)convention__fastcc