REDIVIVUS

Proposals / #1667

Type Mac NET_SID_CLIENT_DecodeAndValidateBuffer as int32_t __fastcc (char*, uint32_t)

checked · by KierTaylor · submitted 2026-11-08

Register function: ECX -> ESI is the data buffer (decoded in place by 0x0005adf2, then NUL-terminated at the returned length and scanned), EDX -> EDI is the buffer size (passed to the decoder and compared with the decoded length); returns 1 when a non-empty string results, else 0; no stack args, plain RET. Caller NET_SID_CLIENT_LoadAndDecodeCDKeyFile sets ECX/EDX (0x0005b3da/0x0005b3e1) and tests EAX (0x0005b3ef). Windows twin 0x005232b0 is int32_t (int* pnData, uint32_t nDataSize); pn is not an allowed prefix, so the buffer is pData.

Changes 1, applied together

  1. Set prototype mac 0x0005b486

    signatureundefined NET_SID_CLIENT_DecodeAndValidateBuffer(void)→int32_t NET_SID_CLIENT_DecodeAndValidateBuffer(char* pData, uint32_t nDataSize)
    conventionunknown→__fastcc