Function at 0x42e030
Capabilities:
Get geographical location
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [0x468744]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
xor bl, bl
push esi
push edi
mov dword [ebp - 0x420], 0
mov byte [ebp - 0x415], bl
test eax, eax
jne 0x42e0cd
mov esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call esi
movzx eax, ax
push eax
push str.User_default_LangID:_0x_X
push 0x4699d4
xor eax, eax
call fcn.0042d020
mov edi, dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
add esp, 0xc
call edi
movzx ecx, ax
push ecx
push str.User_default_UI_language:_0x_X
push 0x4699d4
xor eax, eax
call fcn.0042d020
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx eax, ax
mov edx, 0x105
cmp ax, dx
je 0x42e0c0
mov ecx, 0x205
cmp ax, cx
je 0x42e0c0
call edi
jmp 0x42e0df
call esi
movzx eax, ax
mov dword [ebp - 0x41c], eax
jmp 0x42e0e8
push 0x10
lea ecx, [ebp - 0x420]
push ecx
push eax
call fcn.0043ac3d
add esp, 0xc
movzx edx, ax
mov dword [ebp - 0x41c], edx
mov esi, dword [0x46af88]
mov eax, dword [0x46af8c]
mov edi, dword [ebp - 0x41c]
cmp esi, eax
je 0x42e13e
lea ecx, [ecx]
test bl, bl
jne 0x42e312
movzx ecx, word [esi + 0x1c]
cmp cx, di
jne 0x42e12f
push 0
mov word [0x46af98], cx
push esi
or eax, 0xffffffff
mov ecx, 0x46afa4
call fcn.004061f0
mov eax, dword [0x46af8c]
mov bl, 1
add esi, 0x20
cmp esi, eax
jne 0x42e100
test bl, bl
jne 0x42e312
mov ecx, 0x403
cmp di, cx
je 0x42e15c
mov edx, 0x42d
cmp di, dx
je 0x42e15c
mov ecx, 0x456
cmp di, cx
jne 0x42e1b1
mov esi, dword [0x46af88]
mov dword [ebp - 0x41c], 0xc0a
cmp esi, eax
je 0x42e1b1
test bl, bl
jne 0x42e312
mov edx, 0xc0a
cmp word [esi + 0x1c], dx
jne 0x42e1a2
mov eax, edx
push 0
mov word [0x46af98], ax
push esi
or eax, 0xffffffff
mov ecx, 0x46afa4
call fcn.004061f0
mov eax, dword [0x46af8c]
mov bl, 1
add esi, 0x20
cmp esi, eax
jne 0x42e170
test bl, bl
jne 0x42e312
mov esi, dword [0x46af88]
cmp esi, eax
je 0x42e266
nop
test bl, bl
jne 0x42e312
movzx edi, word [ebp - 0x41c]
mov ecx, edi
and ecx, 0x3ff
push ecx
call dword [sym.imp.KERNEL32.dll_ConvertDefaultLocale]
movzx edx, word [esi + 0x1c]
cmp edx, eax
jne 0x42e24e
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x1004
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
call edi
movzx edx, word [esi + 0x1c]
push 0x104
lea ecx, [ebp - 0x414]
push ecx
push 0x1004
push edx
call edi
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0043a345
add esp, 8
test eax, eax
jne 0x42e24e
mov dx, word [esi + 0x1c]
push eax
push esi
or eax, 0xffffffff
mov ecx, 0x46afa4
mov word [0x46af98], dx
call fcn.004061f0
mov bl, 1
mov eax, dword [0x46af8c]
add esi, 0x20
cmp esi, eax
jne 0x42e1c0
test bl, bl
jne 0x42e312
mov esi, dword [0x46af88]
cmp esi, eax
je 0x42e338
test bl, bl
jne 0x42e312
mov dx, word [esi + 0x1c]
mov ecx, dword [ebp - 0x41c]
xor dx, cx
mov edi, 0x3ff
test di, dx
jne 0x42e303
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push 0x104
lea eax, [ebp - 0x20c]
push eax
movzx ecx, cx
push 0x1004
push ecx
call edi
movzx eax, word [esi + 0x1c]
push 0x104
lea edx, [ebp - 0x414]
push edx
push 0x1004
push eax
call edi
lea ecx, [ebp - 0x414]
push ecx
lea edx, [ebp - 0x20c]
push edx
call fcn.0043a345
add esp, 8
test eax, eax
jne 0x42e2fe
mov ax, word [esi + 0x1c]
push 0
mov word [0x46af98], ax
push esi
or eax, 0xffffffff
mov ecx, 0x46afa4
call fcn.004061f0
mov bl, 1
mov eax, dword [0x46af8c]
add esi, 0x20
cmp esi, eax
jne 0x42e274
test bl, bl
je 0x42e338
cmp dword [0x46afb8], 8
mov eax, dword [0x46afa4]
jae 0x42e325
mov eax, 0x46afa4
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x46afc0], eax
mov bl, 1
jmp 0x42e3b9
mov esi, dword [0x46af88]
mov ecx, 0x409
mov word [0x46af98], cx
cmp esi, eax
je 0x42e3b3
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, 8
lea esp, [esp]
cmp byte [ebp - 0x415], 0
jne 0x42e3b3
mov dx, word [0x46af98]
cmp word [esi + 0x1c], dx
jne 0x42e3ac
push 0
push esi
or eax, 0xffffffff
mov ecx, 0x46afa4
call fcn.004061f0
mov eax, dword [0x46afa4]
cmp dword [0x46afb8], ebx
jae 0x42e398
mov eax, 0x46afa4
push eax
call edi
mov dword [0x46afc0], eax
mov eax, dword [0x46af8c]
mov byte [ebp - 0x415], 1
add esi, 0x20
cmp esi, eax
jne 0x42e360
mov bl, byte [ebp - 0x415]
movzx eax, word [0x46af98]
push 4
push 0x46af9a
push 3
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov al, bl
xor ecx, ebp
pop ebx
call fcn.00438786
mov esp, ebp
pop ebp
ret 4