Function at 0x407560
Capabilities:
Get geographical location

Disassembly:
mov eax, dword [0x41a13c]
sub esp, 0x42c
test eax, eax
push ebx
push esi
push edi
je 0x407868
test byte [eax + 8], 8
je 0x4077c0
test dword [eax + 4], 0x3f2fe000
jne 0x4077c0
mov ecx, dword [0x41b644]
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], 0x41b1e0
call esi
mov eax, dword [0x41a13c]
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 [0x41b644]
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 [0x41a13c]
mov eax, dword [ecx + 0x5c]
add eax, ecx
cmp word [eax], 0x5c
jne 0x407616
cmp word [eax + 2], 0x5c
jne 0x407616
add eax, 4
push 0x10
lea ecx, [esp + 0x38]
push eax
push ecx
call ebx
mov ecx, dword [0x41b644]
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 [0x41a4e0]
cmp eax, 0xc9
je 0x407778
cmp eax, 0xcb
je 0x407778
cmp eax, 0xca
je 0x407778
cmp eax, 0xcc
je 0x407778
cmp eax, 0x192
je 0x407778
cmp eax, 0x193
je 0x407778
cmp eax, 0x195
je 0x407778
mov eax, dword [0x41a13c]
test eax, eax
je 0x4076eb
mov ecx, dword [eax + 0x34]
test ecx, ecx
jne 0x4076eb
mov eax, dword [0x41b644]
lea edx, [esp + 0xc]
push edx
push 3
mov ebx, 0x41a1c0
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov edx, dword [0x41b644]
lea ecx, [esp + 0xc]
push ecx
push 4
push 0x1074
push edx
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 [0x41a7e0]
lea ecx, [esp + 0x54]
push eax
push ecx
call fcn.0040a730
mov ecx, dword [0x41b644]
add esp, 8
lea eax, [esp + 0xc]
lea edx, [esp + 0x54]
push eax
push 3
push 0x1074
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], edx
call esi
lea edx, [esp + 0x194]
push 0xa0
push edx
push 0x1003
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [esp + 0xf4]
push 0xa0
lea ecx, [esp + 0x198]
push eax
push ecx
push 0x41a4b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
lea edx, [esp + 0xf4]
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edx
lea eax, [esp + 0xc]
jmp 0x4078f6
mov eax, dword [0x41b644]
lea edx, [esp + 0xc]
push edx
push 3
mov ebx, 0x41a1c0
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov edx, dword [0x41b644]
lea ecx, [esp + 0xc]
push ecx
push 4
push 0x1074
push edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
pop edi
pop esi
pop ebx
add esp, 0x42c
ret
mov ecx, dword [0x41b644]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esp + 0xc]
mov edi, 1
push eax
push 0
mov ebx, 0x41a1c0
push 0x1074
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov eax, dword [0x41b644]
lea edx, [esp + 0xc]
push edx
push edi
push 0x1074
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov edx, dword [0x41b644]
lea ecx, [esp + 0xc]
push ecx
push 2
push 0x1074
push edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov ecx, dword [0x41b644]
lea eax, [esp + 0xc]
push eax
push 3
push 0x1074
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov eax, dword [0x41b644]
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 [0x41b644]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0xc]
mov edi, 1
push ecx
push 0
mov ebx, 0x41a1c0
push 0x1074
push edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebx
call esi
mov ecx, dword [0x41b644]
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 [0x41b644]
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 [0x41b644]
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 dword [esp + 0x14], edi
mov dword [esp + 0x20], ebx
lea eax, [esp + 0xc]
mov ecx, dword [0x41b644]
push eax
push 4
push 0x1074
push ecx
call esi
pop edi
pop esi
pop ebx
add esp, 0x42c
ret