Function at 0x405ab0
Capabilities:
Get geographical location

Disassembly:
mov eax, dword [0x412010]
sub esp, 0x42c
test eax, eax
push ebx
push esi
push edi
je 0x405e30
test byte [eax + 8], 8
je 0x405d87
test dword [eax + 4], 0x3f27e000
jne 0x405d87
mov ecx, dword [0x413224]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esp + 0xc]
mov edi, 1
push eax
push 0
push 0x1074
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], 0x412dc0
call esi
mov eax, dword [0x412010]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0x101
mov edx, dword [eax + 0x60]
add edx, eax
lea eax, [esp + 0x238]
push edx
push eax
call ebx
mov eax, dword [0x413224]
lea edx, [esp + 0xc]
push edx
push edi
lea ecx, [esp + 0x23c]
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ecx
call esi
mov ecx, dword [0x412010]
mov eax, dword [ecx + 0x5c]
add eax, ecx
cmp word [eax], 0x5c
jne 0x405b66
cmp word [eax + 2], 0x5c
jne 0x405b66
add eax, 4
push 0x10
lea ecx, [esp + 0x38]
push eax
push ecx
call ebx
mov ecx, dword [0x413224]
lea eax, [esp + 0xc]
push eax
push 2
lea edx, [esp + 0x3c]
push 0x1074
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], edx
call esi
mov eax, dword [0x4123c0]
cmp eax, 0xc9
je 0x405d3f
cmp eax, 0xcb
je 0x405d3f
cmp eax, 0xca
je 0x405d3f
cmp eax, 0xcc
je 0x405d3f
cmp eax, 0x192
je 0x405d3f
cmp eax, 0x193
je 0x405d3f
cmp eax, 0x195
je 0x405d3f
mov eax, dword [0x412010]
test eax, eax
je 0x405c25
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x405c25
mov eax, dword [0x413224]
lea edx, [esp + 0xc]
push edx
push 3
mov ebx, 0x412098
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0xc]
jmp 0x405ebd
mov ecx, dword [0x40f160]
mov ebx, 0x412098
test ecx, ecx
jne 0x405c7d
mov ecx, dword [eax + 0x48]
test ecx, ecx
jne 0x405c49
mov ecx, dword [eax + 0x50]
test ecx, ecx
jne 0x405c49
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x405c7d
mov eax, dword [0x4126c0]
lea ecx, [esp + 0x54]
push eax
push ecx
call fcn.00408930
mov ecx, dword [0x413224]
add esp, 8
lea eax, [esp + 0xc]
lea edx, [esp + 0x54]
push eax
push 3
push 0x1074
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], edx
push ecx
jmp 0x405c97
mov eax, dword [0x413224]
lea edx, [esp + 0xc]
push edx
push 3
push 0x1074
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], ebx
push eax
call esi
mov eax, dword [0x40f160]
test eax, eax
jne 0x405d2e
mov eax, dword [0x412010]
mov ecx, dword [eax + 0x48]
test ecx, ecx
jne 0x405cc0
mov ecx, dword [eax + 0x50]
test ecx, ecx
jne 0x405cc0
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x405d2e
lea ecx, [esp + 0x194]
push 0xa0
push ecx
push 0x1003
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea edx, [esp + 0xf4]
push 0xa0
lea eax, [esp + 0x198]
push edx
push eax
push 0x412380
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
mov eax, dword [0x413224]
lea edx, [esp + 0xc]
push edx
push 4
lea ecx, [esp + 0xfc]
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ecx
call esi
pop edi
pop esi
pop ebx
add esp, 0x42c
ret
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0xc]
jmp 0x405ebd
mov ecx, dword [0x413224]
lea eax, [esp + 0xc]
push eax
push 3
mov ebx, 0x412098
push 0x1074
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov eax, dword [0x413224]
lea edx, [esp + 0xc]
push edx
push 4
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
pop edi
pop esi
pop ebx
add esp, 0x42c
ret
mov edx, dword [0x413224]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0xc]
mov edi, 1
push ecx
push 0
mov ebx, 0x412098
push 0x1074
push edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov ecx, dword [0x413224]
lea eax, [esp + 0xc]
push eax
push edi
push 0x1074
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov eax, dword [0x413224]
lea edx, [esp + 0xc]
push edx
push 2
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov edx, dword [0x413224]
lea ecx, [esp + 0xc]
push ecx
push 3
push 0x1074
push edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov ecx, dword [0x413224]
lea eax, [esp + 0xc]
push eax
push 4
push 0x1074
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
pop edi
pop esi
pop ebx
add esp, 0x42c
ret
mov eax, dword [0x413224]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
lea edx, [esp + 0xc]
mov edi, 1
push edx
push 0
mov ebx, 0x412098
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov edx, dword [0x413224]
lea ecx, [esp + 0xc]
push ecx
push edi
push 0x1074
push edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov ecx, dword [0x413224]
lea eax, [esp + 0xc]
push eax
push 2
push 0x1074
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov eax, dword [0x413224]
lea edx, [esp + 0xc]
push edx
push 3
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0xc]
mov edx, dword [0x413224]
push ecx
push 4
push 0x1074
push edx
call esi
pop edi
pop esi
pop ebx
add esp, 0x42c
ret