; ; getSystemCP from 0x18013a2a8 to 0x18013a325 (125 bytes) ; ; 3 xrefs: ; > setmbcp_internal @ 0x18013a5c7 ; > _setmbcp_nolock @ 0x18013a8b6 ; > @ 0x18020383c ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; push rbx ; +0x0, 0x18013a2a8 sub rsp, 40h ; +0x2, 0x18013a2aa mov ebx, ecx ; +0x6, 0x18013a2ae xor edx, edx; struct __crt_locale_pointers * ; +0x8, 0x18013a2b0 lea rcx, [rsp+48h+var_28]; this ; +0xa, 0x18013a2b2 call ??0_LocaleUpdate@@QEAA@QEAU__crt_locale_pointers@@@Z ; +0xf, 0x18013a2b7 and cs:dword_1801F55D8, 0 ; +0x14, 0x18013a2bc cmp ebx, 0FFFFFFFEh ; +0x1b, 0x18013a2c3 jnz short loc_18013A2DA ; +0x1e, 0x18013a2c6 mov cs:dword_1801F55D8, 1 ; +0x20, 0x18013a2c8 call cs:GetOEMCP ; +0x2a, 0x18013a2d2 jmp short loc_18013A2EF ; +0x30, 0x18013a2d8 cmp ebx, 0FFFFFFFDh ; +0x32, 0x18013a2da jnz short loc_18013A2F3 ; +0x35, 0x18013a2dd mov cs:dword_1801F55D8, 1 ; +0x37, 0x18013a2df call cs:GetACP ; +0x41, 0x18013a2e9 mov ebx, eax ; +0x47, 0x18013a2ef jmp short loc_18013A30A ; +0x49, 0x18013a2f1 cmp ebx, 0FFFFFFFCh ; +0x4b, 0x18013a2f3 jnz short loc_18013A30A ; +0x4e, 0x18013a2f6 mov rax, [rsp+48h+var_20] ; +0x50, 0x18013a2f8 mov cs:dword_1801F55D8, 1 ; +0x55, 0x18013a2fd mov ebx, [rax+0Ch] ; +0x5f, 0x18013a307 cmp [rsp+48h+var_10], 0 ; +0x62, 0x18013a30a jz short loc_18013A31D ; +0x67, 0x18013a30f mov rcx, [rsp+48h+var_28] ; +0x69, 0x18013a311 and dword ptr [rcx+3A8h], 0FFFFFFFDh ; +0x6e, 0x18013a316 mov eax, ebx ; +0x75, 0x18013a31d add rsp, 40h ; +0x77, 0x18013a31f pop rbx ; +0x7b, 0x18013a323 retn ; +0x7c, 0x18013a324