REDIVIVUS

Proposals / #1518

Mac SFILE_InitCryptTable: void __cdecl (void)

checked · by KierTaylor · submitted 2026-11-08

It reads no register or stack args (ECX is zeroed at 0x000137fa before use, and there are no [EBP+n] reads). If the global crypt table is NULL it allocates 0x1400 bytes (SMemAlloc 0x00018b0b, line 0x31e) and fills the 5x256 MPQ crypt table with the seed 0x100001 LCG (125*x+3 mod 0x2aaaab). Otherwise it returns at once. Plain RET; EAX holds only a loop pointer or the PC base, so there is no return value. Callers: SFileOpenFileEx 0x00013e6b, SFileOpenArchive 0x0001429c, SFileFileExistsEx 0x00013740.

Changes 1, applied together

  1. Set prototype mac 0x000137af

    signatureundefined SFILE_InitCryptTable(void)→void SFILE_InitCryptTable(void)
    conventionunknown→__cdecl