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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [0x469738]
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 0x42e1cd
mov esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call esi
movzx eax, ax
push eax
push str.User_default_LangID:_0x_X
push 0x46a9d4
xor eax, eax
call fcn.0042d150
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 0x46a9d4
xor eax, eax
call fcn.0042d150
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx eax, ax
mov edx, 0x105
cmp ax, dx
je 0x42e1c0
mov ecx, 0x205
cmp ax, cx
je 0x42e1c0
call edi
jmp 0x42e1df
call esi
movzx eax, ax
mov dword [ebp - 0x41c], eax
jmp 0x42e1e8
push 0x10
lea ecx, [ebp - 0x420]
push ecx
push eax
call fcn.0043a7fd
add esp, 0xc
movzx edx, ax
mov dword [ebp - 0x41c], edx
mov esi, dword [0x46be88]
mov eax, dword [0x46be8c]
mov edi, dword [ebp - 0x41c]
cmp esi, eax
je 0x42e23e
lea ecx, [ecx]
test bl, bl
jne 0x42e412
movzx ecx, word [esi + 0x1c]
cmp cx, di
jne 0x42e22f
push 0
mov word [0x46be98], cx
push esi
or eax, 0xffffffff
mov ecx, 0x46bea4
call fcn.004061d0
mov eax, dword [0x46be8c]
mov bl, 1
add esi, 0x20
cmp esi, eax
jne 0x42e200
test bl, bl
jne 0x42e412
mov ecx, 0x403
cmp di, cx
je 0x42e25c
mov edx, 0x42d
cmp di, dx
je 0x42e25c
mov ecx, 0x456
cmp di, cx
jne 0x42e2b1
mov esi, dword [0x46be88]
mov dword [ebp - 0x41c], 0xc0a
cmp esi, eax
je 0x42e2b1
test bl, bl
jne 0x42e412
mov edx, 0xc0a
cmp word [esi + 0x1c], dx
jne 0x42e2a2
mov eax, edx
push 0
mov word [0x46be98], ax
push esi
or eax, 0xffffffff
mov ecx, 0x46bea4
call fcn.004061d0
mov eax, dword [0x46be8c]
mov bl, 1
add esi, 0x20
cmp esi, eax
jne 0x42e270
test bl, bl
jne 0x42e412
mov esi, dword [0x46be88]
cmp esi, eax
je 0x42e366
nop
test bl, bl
jne 0x42e412
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 0x42e34e
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.00439f05
add esp, 8
test eax, eax
jne 0x42e34e
mov dx, word [esi + 0x1c]
push eax
push esi
or eax, 0xffffffff
mov ecx, 0x46bea4
mov word [0x46be98], dx
call fcn.004061d0
mov bl, 1
mov eax, dword [0x46be8c]
add esi, 0x20
cmp esi, eax
jne 0x42e2c0
test bl, bl
jne 0x42e412
mov esi, dword [0x46be88]
cmp esi, eax
je 0x42e438
test bl, bl
jne 0x42e412
mov dx, word [esi + 0x1c]
mov ecx, dword [ebp - 0x41c]
xor dx, cx
mov edi, 0x3ff
test di, dx
jne 0x42e403
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.00439f05
add esp, 8
test eax, eax
jne 0x42e3fe
mov ax, word [esi + 0x1c]
push 0
mov word [0x46be98], ax
push esi
or eax, 0xffffffff
mov ecx, 0x46bea4
call fcn.004061d0
mov bl, 1
mov eax, dword [0x46be8c]
add esi, 0x20
cmp esi, eax
jne 0x42e374
test bl, bl
je 0x42e438
cmp dword [0x46beb8], 8
mov eax, dword [0x46bea4]
jae 0x42e425
mov eax, 0x46bea4
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x46bec0], eax
mov bl, 1
jmp 0x42e4b9
mov esi, dword [0x46be88]
mov ecx, 0x409
mov word [0x46be98], cx
cmp esi, eax
je 0x42e4b3
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, 8
lea esp, [esp]
cmp byte [ebp - 0x415], 0
jne 0x42e4b3
mov dx, word [0x46be98]
cmp word [esi + 0x1c], dx
jne 0x42e4ac
push 0
push esi
or eax, 0xffffffff
mov ecx, 0x46bea4
call fcn.004061d0
mov eax, dword [0x46bea4]
cmp dword [0x46beb8], ebx
jae 0x42e498
mov eax, 0x46bea4
push eax
call edi
mov dword [0x46bec0], eax
mov eax, dword [0x46be8c]
mov byte [ebp - 0x415], 1
add esi, 0x20
cmp esi, eax
jne 0x42e460
mov bl, byte [ebp - 0x415]
movzx eax, word [0x46be98]
push 4
push 0x46be9a
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.00438351
mov esp, ebp
pop ebp
ret 4