Mac LOCALE_BuildLangIdFromMac: uint16_t __cdecl (void)
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
Set prototype
mac 0x0002b05dsignatureundefined LOCALE_BuildLangIdFromMac(void)→uint16_t LOCALE_BuildLangIdFromMac(void)conventionunknown→__cdecl