REDIVIVUS

Proposals / #1547

Mac LOCALE_BuildLangIdFromMac: uint16_t __cdecl (void)

checked · by KierTaylor · submitted 2026-11-08

It reads no register or stack args. It calls GetLanguage 0x0002b068 (ESI) and GetUserDefaultLangID 0x0002b06f (ECX), and if both are in range (<=0x94, <=0x6a) it builds a Win32 LANGID as (subLang[region] << 10) | primLang[lang] from two static tables. Otherwise it returns 0x409 (en-US). It returns MOVZX EAX,AX (0x0002b099). It is reached by tail JMP from LOCALE_GetUserLocaleId 0x0002b17b.

Changes 1, applied together

  1. Set prototype mac 0x0002b05d

    signatureundefined LOCALE_BuildLangIdFromMac(void)→uint16_t LOCALE_BuildLangIdFromMac(void)
    conventionunknown→__cdecl