Function at 0x4047e0
Capabilities:
Identify system language via api

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x174
mov eax, dword [0x69ea44]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor eax, eax
mov word [ebp - 0xc], ax
mov dword [ebp - 4], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 8], 0
push 0x63ce08
call fcn.00407180
add esp, 4
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x404945
push str.GetThreadPreferredUILanguages
mov ecx, dword [ebp - 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x404945
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
xor edx, edx
mov word [ebp - 0x160], dx
push 0xc8
push 0
lea eax, [ebp - 0x15e]
push eax
call fcn.005f49b0
add esp, 0xc
mov dword [ebp - 0x164], 0x65
lea ecx, [ebp - 0x164]
push ecx
lea edx, [ebp - 0x160]
push edx
lea eax, [ebp - 0x90]
push eax
push 0x34
call dword [ebp - 0x88]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x404945
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x168]
movzx eax, word [edx]
test eax, eax
je 0x404945
cmp dword [ebp - 8], 0x14
jge 0x404945
push 0x10
push 0
mov ecx, dword [ebp - 0x168]
push ecx
call fcn.005f7790
add esp, 0xc
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0
je 0x404924
call fcn.005f7380
cmp dword [eax], 0x22
je 0x404924
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x16c]
mov dword [ebp + edx*4 - 0x78], eax
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x168]
push edx
call fcn.005f72a0
add esp, 4
mov ecx, dword [ebp - 0x168]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x168], edx
jmp 0x4048cf
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov word [ebp - 0xc], ax
movzx eax, word [ebp - 0xc]
and eax, 0x3ff
mov dword [ebp - 4], eax
movzx ecx, word [ebp - 0xc]
sar ecx, 0xa
mov dword [ebp - 0x84], ecx
movzx edx, word [ebp - 0x84]
shl edx, 0xa
movzx eax, word [ebp - 4]
or edx, eax
movzx ecx, dx
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_ConvertDefaultLocale]
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x78], eax
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
movzx eax, word [ebp - 4]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_ConvertDefaultLocale]
mov edx, dword [ebp - 8]
mov dword [ebp + edx*4 - 0x78], eax
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov word [ebp - 0xc], ax
movzx ecx, word [ebp - 0xc]
and ecx, 0x3ff
mov dword [ebp - 4], ecx
movzx edx, word [ebp - 0xc]
sar edx, 0xa
mov dword [ebp - 0x84], edx
movzx eax, word [ebp - 0x84]
shl eax, 0xa
movzx ecx, word [ebp - 4]
or eax, ecx
movzx edx, ax
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_ConvertDefaultLocale]
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x78], eax
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
movzx eax, word [ebp - 4]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_ConvertDefaultLocale]
mov edx, dword [ebp - 8]
mov dword [ebp + edx*4 - 0x78], eax
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [0x6a0030], 0
jne 0x404a4b
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x78], 0x800
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
mov dword [ebp - 0x170], 0
jmp 0x404a66
mov eax, dword [ebp - 0x170]
add eax, 1
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
cmp ecx, dword [ebp - 8]
jge 0x404aa5
mov edx, dword [ebp - 0x170]
mov eax, dword [ebp + edx*4 - 0x78]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00404ac0
add esp, 0xc
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0
je 0x404aa3
mov eax, dword [ebp - 0x174]
jmp 0x404aa7
jmp 0x404a57
xor eax, eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005f3100
mov esp, ebp
pop ebp
ret 8