REDIVIVUS

Proposals / #1668

Type Mac NET_SID_CLIENT_LoadAndDecodeCDKeyFile as char* __fastcc (char*, uint32_t*)

checked · by KierTaylor · submitted 2026-11-08

Register function: ECX is the file name (first arg of the file loader at 0x00013bad), EDX -> EDI is an in/out size (set to 0x400, passed to the loader, then read as the buffer size); returns the loaded buffer when NET_SID_CLIENT_DecodeAndValidateBuffer succeeds, else frees it and returns NULL; no stack args, plain RET. Windows twin 0x00523480 is uint* (uint* szFileName, DWORD* pdwFileSize); pdw is not an allowed prefix, so the size is pFileSize.

Changes 1, applied together

  1. Set prototype mac 0x0005b3a5

    signatureundefined NET_SID_CLIENT_LoadAndDecodeCDKeyFile(void)→char* NET_SID_CLIENT_LoadAndDecodeCDKeyFile(char* szFileName, uint32_t* pFileSize)
    conventionunknown→__fastcc