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

Disassembly:
sub esp, 0x428
mov eax, dword [0x4563c4]
xor eax, esp
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x42c]
push ebx
push ebp
xor bl, bl
test eax, eax
push esi
push edi
mov dword [esp + 0x1c], 0
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], bl
jne 0x41db24
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
mov dword [esp + 0x18], eax
jmp 0x41db3b
push 0x10
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.004242cd
movzx edx, ax
add esp, 0xc
mov dword [esp + 0x18], edx
mov esi, dword [0x459dc4]
cmp esi, dword [0x459dc8]
jbe 0x41db4e
call fcn.004228be
mov eax, 0x459dc0
mov ebp, eax
jmp 0x41db60
mov edi, dword [0x459dc8]
cmp dword [0x459dc4], edi
jbe 0x41db73
call fcn.004228be
test ebp, ebp
je 0x41db7f
cmp ebp, 0x459dc0
je 0x41db84
call fcn.004228be
cmp esi, edi
je 0x41dbf8
test bl, bl
jne 0x41de51
test ebp, ebp
jne 0x41db99
call fcn.004228be
cmp esi, dword [ebp + 8]
jb 0x41dba3
call fcn.004228be
mov ax, word [esi + 0x1c]
cmp ax, word [esp + 0x18]
jne 0x41dbe6
cmp esi, dword [ebp + 8]
jb 0x41dbb8
call fcn.004228be
mov cx, word [esi + 0x1c]
mov word [0x459dd0], cx
cmp esi, dword [ebp + 8]
jb 0x41dbcd
call fcn.004228be
push 0xffffffffffffffff
push 0
mov eax, esi
mov ecx, 0x459ddc
call fcn.00403460
mov byte [esp + 0x16], 1
mov bl, byte [esp + 0x16]
cmp esi, dword [ebp + 8]
jb 0x41dbf0
call fcn.004228be
add esi, 0x20
jmp 0x41db60
test bl, bl
jne 0x41de51
mov esi, dword [0x459dc4]
cmp esi, dword [0x459dc8]
jbe 0x41dc13
call fcn.004228be
mov ebx, dword [sym.imp.KERNEL32.dll_ConvertDefaultLocale]
mov ebp, 0x459dc0
mov edi, edi
mov edi, dword [0x459dc8]
cmp dword [0x459dc4], edi
jbe 0x41dc33
call fcn.004228be
test ebp, ebp
je 0x41dc3f
cmp ebp, 0x459dc0
je 0x41dc44
call fcn.004228be
cmp esi, edi
je 0x41dd22
cmp byte [esp + 0x16], 0
jne 0x41de51
test ebp, ebp
jne 0x41dc60
call fcn.004228be
cmp esi, dword [ebp + 8]
jb 0x41dc6a
call fcn.004228be
movzx edi, word [esp + 0x18]
mov edx, edi
and edx, 0x3ff
push edx
call ebx
movzx ecx, word [esi + 0x1c]
cmp ecx, eax
jne 0x41dd10
push 0x104
lea edx, [esp + 0x22c]
push edx
push 0x1004
push edi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp esi, dword [ebp + 8]
jb 0x41dca9
call fcn.004228be
movzx ecx, word [esi + 0x1c]
push 0x104
lea eax, [esp + 0x24]
push eax
push 0x1004
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x22c]
push eax
call fcn.00422dfe
add esp, 8
test eax, eax
jne 0x41dd10
cmp esi, dword [ebp + 8]
jb 0x41dce6
call fcn.004228be
mov cx, word [esi + 0x1c]
mov word [0x459dd0], cx
cmp esi, dword [ebp + 8]
jb 0x41dcfb
call fcn.004228be
push 0xffffffffffffffff
push 0
mov eax, esi
mov ecx, 0x459ddc
call fcn.00403460
mov byte [esp + 0x16], 1
cmp esi, dword [ebp + 8]
jb 0x41dd1a
call fcn.004228be
add esi, 0x20
jmp 0x41dc20
mov bl, byte [esp + 0x16]
test bl, bl
jne 0x41de51
mov esi, dword [0x459dc4]
cmp esi, dword [0x459dc8]
jbe 0x41dd41
call fcn.004228be
mov eax, 0x459dc0
mov edi, eax
jmp 0x41dd50
mov ebp, dword [0x459dc8]
cmp dword [0x459dc4], ebp
jbe 0x41dd63
call fcn.004228be
test edi, edi
je 0x41dd6f
cmp edi, 0x459dc0
je 0x41dd74
call fcn.004228be
cmp esi, ebp
je 0x41de4d
test bl, bl
jne 0x41de51
test edi, edi
jne 0x41dd8d
call fcn.004228be
cmp esi, dword [edi + 8]
jb 0x41dd97
call fcn.004228be
mov dx, word [esi + 0x1c]
xor dx, word [esp + 0x18]
test dx, 0x3ff
jne 0x41de3b
movzx ecx, word [esp + 0x18]
mov ebp, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push 0x104
lea eax, [esp + 0x22c]
push eax
push 0x1004
push ecx
call ebp
cmp esi, dword [edi + 8]
jb 0x41ddd5
call fcn.004228be
movzx eax, word [esi + 0x1c]
push 0x104
lea edx, [esp + 0x24]
push edx
push 0x1004
push eax
call ebp
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x22c]
push edx
call fcn.00422dfe
add esp, 8
test eax, eax
jne 0x41de3b
cmp esi, dword [edi + 8]
jb 0x41de0e
call fcn.004228be
mov ax, word [esi + 0x1c]
mov word [0x459dd0], ax
cmp esi, dword [edi + 8]
jb 0x41de22
call fcn.004228be
push 0xffffffffffffffff
push 0
mov eax, esi
mov ecx, 0x459ddc
call fcn.00403460
mov byte [esp + 0x16], 1
mov bl, byte [esp + 0x16]
cmp esi, dword [edi + 8]
jb 0x41de45
call fcn.004228be
add esi, 0x20
jmp 0x41dd50
test bl, bl
je 0x41de77
cmp dword [0x459df4], 8
mov eax, dword [0x459de0]
jae 0x41de64
mov eax, 0x459de0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x459df8], eax
mov bl, 1
jmp 0x41df57
mov esi, dword [0x459dc4]
cmp esi, dword [0x459dc8]
jbe 0x41de8a
call fcn.004228be
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov eax, 0x459dc0
mov ebp, eax
jmp 0x41dea0
mov edi, dword [0x459dc8]
cmp dword [0x459dc4], edi
jbe 0x41deb3
call fcn.004228be
test ebp, ebp
je 0x41debf
cmp ebp, 0x459dc0
je 0x41dec4
call fcn.004228be
cmp esi, edi
je 0x41df53
cmp byte [esp + 0x17], 0
jne 0x41df53
test ebp, ebp
jne 0x41dee0
call fcn.004228be
cmp esi, dword [ebp + 8]
jb 0x41deea
call fcn.004228be
cmp word [esi + 0x1c], 0x409
jne 0x41df41
cmp esi, dword [ebp + 8]
jb 0x41defc
call fcn.004228be
mov cx, word [esi + 0x1c]
mov word [0x459dd0], cx
cmp esi, dword [ebp + 8]
jb 0x41df11
call fcn.004228be
push 0xffffffffffffffff
push 0
mov eax, esi
mov ecx, 0x459ddc
call fcn.00403460
cmp dword [0x459df4], 8
mov eax, dword [0x459de0]
jae 0x41df34
mov eax, 0x459de0
push eax
call ebx
mov dword [0x459df8], eax
mov byte [esp + 0x17], 1
cmp esi, dword [ebp + 8]
jb 0x41df4b
call fcn.004228be
add esi, 0x20
jmp 0x41dea0
mov bl, byte [esp + 0x17]
movzx edx, word [0x459dd0]
push 4
push 0x459dd2
push 3
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov ecx, dword [esp + 0x434]
pop edi
pop esi
pop ebp
mov al, bl
pop ebx
xor ecx, esp
call fcn.00422b23
add esp, 0x428
ret 4