Function at 0x42eb8c
Capabilities:
Identify system language via api

Disassembly:
mov eax, 0x431ccc
call fcn.0042f2d0
sub esp, 0xc
push ebx
push esi
push edi
xor ebx, ebx
push 0xcd75ffff
push 0xfc31ffff
mov dword [ebp - 4], ebx
call fcn.0041181a
pop ecx
mov byte [0x43abcb], al
pop ecx
push 0xc517ffff
call dword [sym.imp.KERNEL32.dll_IsBadCodePtr]
add dword [0x43ac08], eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov edi, dword [ebp + 8]
add word [0x43abe4], ax
sub dword [0x43ac08], 0x52fffff
cmp edi, ebx
mov dword [ebp - 0x18], ebx
jne 0x42ebf3
push 0x80004003
call fcn.0042f700
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
call fcn.0042f182
mov eax, dword [0x43abe8]
mov byte [ebp - 4], 1
and eax, dword [0x43ac08]
add word [0x43abe4], ax
cmp dword [ebp - 0x14], ebx
je 0x42ed67
push dword [0x43abf4]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov esi, dword [ebp + 0xc]
mov byte [0x43abce], al
mov al, byte [esi]
add al, 0x76
movzx eax, al
add eax, 3
and al, 0xfc
call fcn.0042f2f0
mov ecx, esp
mov edx, esi
call fcn.0042b788
push ecx
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call fcn.004101fd
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x14]
push eax
mov byte [ebp - 4], 1
call fcn.0041012f
mov ecx, eax
call fcn.0042f1b4
xor eax, eax
cmp dword [0x43ac04], ebx
mov byte [ebp - 4], 3
setne al
add byte [0x43abce], al
cmp dword [ebp - 0x10], ebx
je 0x42ed56
movsx eax, byte [0x43abcd]
push eax
movsx eax, byte [0x43abc9]
push eax
call fcn.004118af
pop ecx
mov dword [0x43abf4], eax
pop ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [ebp - 0x10], ebx
push 1
pop edi
mov byte [0x43abcb], al
mov dword [0x43abf8], edi
jne 0x42eccb
push 0x80004003
call fcn.0042f700
mov ecx, dword [ebp - 0x10]
lea eax, [ebp + 0xc]
push eax
call fcn.0040fb65
mov ecx, dword [eax]
mov byte [ebp - 4], 4
cmp ecx, ebx
je 0x42ecea
call fcn.00410363
mov esi, eax
jmp 0x42ecec
xor esi, esi
push esi
call sub.MSVCRT.dll_strlen
pop ecx
mov ecx, dword [ebp + 0x10]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov ecx, dword [ebp + 0xc]
mov byte [ebp - 4], 3
cmp ecx, ebx
je 0x42ed11
call fcn.00410336
mov dword [ebp + 0xc], ebx
push 0x61e5ffff
push 0xaae7ffff
call fcn.00411864
add word [0x43abda], ax
movsx eax, word [0x43abe2]
push eax
push 0x167dffff
call fcn.004117b3
add byte [0x43abcb], al
add esp, 0x10
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_IsCharAlphaA]
add dword [0x43abf8], eax
mov dword [ebp - 0x18], edi
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x42ed67
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 0x88abffff
push 0xaba3ffff
call fcn.00411738
mov word [0x43abe4], ax
mov al, byte [0x43abe0]
inc al
pop ecx
mov byte [0x43abcb], al
pop ecx
movsx eax, word [0x43abda]
and eax, 0xdc71ffff
mov byte [ebp - 4], bl
mov dword [0x43abf0], eax
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x42edab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
cmp edi, ebx
je 0x42edb9
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
lea esp, [ebp - 0x24]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret