Send0x9DAllSocketedItems returns BOOL, not void
The early exits 0053ea62 JE / 0053ea71 JNE / 0053ea78 JE all reach 0053eaca XOR EAX,EAX / 0053ead0 RET 4 (returns 0); after the socket loop the exit is 0053eabe MOV EAX,1 / 0053eac7 RET 4. Callers ignore the value (0053cff4 CALL 0x0053ea50 / 0053cff9 MOV ECX,[EBP-4]; 0053ebe1 CALL 0x0053ea50 / 0053ebe6 MOV ECX,[EBP-4]). Same shape as #999. Return type only. Recompiled with VC8, 0053ea50 then matches byte for byte.
Changes 1, applied together
Set prototype
win 0x0053ea50signaturevoid Send0x9DAllSocketedItems(D2ClientStrc * pClient, D2UnitStrc * pUnit, uint32_t eItemFlags)→BOOL Send0x9DAllSocketedItems(D2ClientStrc * pClient, D2UnitStrc * pUnit, uint32_t eItemFlags)convention__fastcall