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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [0x468738]
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 0x42d89d
mov esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call esi
movzx eax, ax
push eax
push str.User_default_LangID:_0x_X
push 0x4699dc
xor eax, eax
call fcn.0042c820
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 0x4699dc
xor eax, eax
call fcn.0042c820
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx eax, ax
mov edx, 0x105
cmp ax, dx
je 0x42d890
mov ecx, 0x205
cmp ax, cx
je 0x42d890
call edi
jmp 0x42d8af
call esi
movzx eax, ax
mov dword [ebp - 0x41c], eax
jmp 0x42d8b8
push 0x10
lea ecx, [ebp - 0x420]
push ecx
push eax
call fcn.00439c6d
add esp, 0xc
movzx edx, ax
mov dword [ebp - 0x41c], edx
mov esi, dword [0x46aea8]
mov eax, dword [0x46aeac]
mov edi, dword [ebp - 0x41c]
cmp esi, eax
je 0x42d90e
lea ecx, [ecx]
test bl, bl
jne 0x42dae2
movzx ecx, word [esi + 0x1c]
cmp cx, di
jne 0x42d8ff
push 0
mov word [0x46aeb8], cx
push esi
or eax, 0xffffffff
mov ecx, 0x46aec4
call fcn.004061c0
mov eax, dword [0x46aeac]
mov bl, 1
add esi, 0x20
cmp esi, eax
jne 0x42d8d0
test bl, bl
jne 0x42dae2
mov ecx, 0x403
cmp di, cx
je 0x42d92c
mov edx, 0x42d
cmp di, dx
je 0x42d92c
mov ecx, 0x456
cmp di, cx
jne 0x42d981
mov esi, dword [0x46aea8]
mov dword [ebp - 0x41c], 0xc0a
cmp esi, eax
je 0x42d981
test bl, bl
jne 0x42dae2
mov edx, 0xc0a
cmp word [esi + 0x1c], dx
jne 0x42d972
mov eax, edx
push 0
mov word [0x46aeb8], ax
push esi
or eax, 0xffffffff
mov ecx, 0x46aec4
call fcn.004061c0
mov eax, dword [0x46aeac]
mov bl, 1
add esi, 0x20
cmp esi, eax
jne 0x42d940
test bl, bl
jne 0x42dae2
mov esi, dword [0x46aea8]
cmp esi, eax
je 0x42da36
nop
test bl, bl
jne 0x42dae2
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 0x42da1e
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.00439375
add esp, 8
test eax, eax
jne 0x42da1e
mov dx, word [esi + 0x1c]
push eax
push esi
or eax, 0xffffffff
mov ecx, 0x46aec4
mov word [0x46aeb8], dx
call fcn.004061c0
mov bl, 1
mov eax, dword [0x46aeac]
add esi, 0x20
cmp esi, eax
jne 0x42d990
test bl, bl
jne 0x42dae2
mov esi, dword [0x46aea8]
cmp esi, eax
je 0x42db08
test bl, bl
jne 0x42dae2
mov dx, word [esi + 0x1c]
mov ecx, dword [ebp - 0x41c]
xor dx, cx
mov edi, 0x3ff
test di, dx
jne 0x42dad3
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.00439375
add esp, 8
test eax, eax
jne 0x42dace
mov ax, word [esi + 0x1c]
push 0
mov word [0x46aeb8], ax
push esi
or eax, 0xffffffff
mov ecx, 0x46aec4
call fcn.004061c0
mov bl, 1
mov eax, dword [0x46aeac]
add esi, 0x20
cmp esi, eax
jne 0x42da44
test bl, bl
je 0x42db08
cmp dword [0x46aed8], 8
mov eax, dword [0x46aec4]
jae 0x42daf5
mov eax, 0x46aec4
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x46aee0], eax
mov bl, 1
jmp 0x42db89
mov esi, dword [0x46aea8]
mov ecx, 0x409
mov word [0x46aeb8], cx
cmp esi, eax
je 0x42db83
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, 8
lea esp, [esp]
cmp byte [ebp - 0x415], 0
jne 0x42db83
mov dx, word [0x46aeb8]
cmp word [esi + 0x1c], dx
jne 0x42db7c
push 0
push esi
or eax, 0xffffffff
mov ecx, 0x46aec4
call fcn.004061c0
mov eax, dword [0x46aec4]
cmp dword [0x46aed8], ebx
jae 0x42db68
mov eax, 0x46aec4
push eax
call edi
mov dword [0x46aee0], eax
mov eax, dword [0x46aeac]
mov byte [ebp - 0x415], 1
add esi, 0x20
cmp esi, eax
jne 0x42db30
mov bl, byte [ebp - 0x415]
movzx eax, word [0x46aeb8]
push 4
push 0x46aeba
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.004377c1
mov esp, ebp
pop ebp
ret 4