Function at 0x409460
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46206c
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x474860]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], 0
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x3c], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 1
ja 0x4094c5
sbb eax, 0xd69cafb9
xlatb
mov esi, 0x63e86978
test dword gs:[ebp - 0xd], ecx
mov dh, 0x3e
popal
cmp byte [ecx + 0x47ad28], ah
mov eax, dword [0x47ad28]
test al, 1
jne 0x4094fd
or eax, 1
mov dword [0x47ad28], eax
push 0x46cd04
mov ecx, 0x47ad2c
mov dword [ebp - 4], 1
call fcn.00402480
push 0x4652c0
call fcn.0044857e
add esp, 4
mov byte [ebp - 4], 0
cmp dword [0x47ad3c], 0
jne 0x4097ef
mov edi, dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
xor eax, eax
mov word [ebp - 0x24], ax
mov word [ebp - 0x12], ax
push 0x14
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
push 0x59
movq qword [ebp - 0x22], xmm0
movq qword [ebp - 0x1a], xmm0
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push eax
call esi
xor eax, eax
mov word [ebp - 0x38], ax
mov word [ebp - 0x26], ax
push 0x14
lea eax, [ebp - 0x38]
xorps xmm0, xmm0
push eax
push 0x5a
movq qword [ebp - 0x36], xmm0
movq qword [ebp - 0x2e], xmm0
call edi
push eax
call esi
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x118]
call fcn.00402480
mov edi, eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0xe8]
mov dword [ebp - 4], 2
call fcn.00402480
mov esi, eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 3
call fcn.00402480
push eax
mov byte [ebp - 4], 4
call fcn.0042fdc0
mov edx, eax
lea ecx, [ebp - 0x9c]
call fcn.0040d3a0
push 0x46cf58
mov edx, eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 5
call fcn.00402bd0
push esi
mov edx, eax
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 6
call fcn.00402c20
push 0x46cf54
mov edx, eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 7
call fcn.00402bd0
push edi
mov edx, eax
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 8
call fcn.00402c20
mov byte [ebp - 4], 9
push 0x46cf40
mov edx, eax
lea ecx, [ebp - 0x84]
call fcn.00402bd0
mov esi, eax
add esp, 0x18
cmp esi, 0x47ad2c
je 0x40965c
cmp dword [0x47ad40], 8
jb 0x409635
push dword [0x47ad2c]
call fcn.00447bb4
add esp, 4
xor eax, eax
push esi
mov ecx, 0x47ad2c
mov dword [0x47ad40], 7
mov dword [0x47ad3c], 0
mov word [0x47ad2c], ax
call fcn.00401d30
cmp dword [ebp - 0x70], 8
jb 0x409670
push dword [ebp - 0x84]
call fcn.00447bb4
add esp, 4
xor eax, eax
cmp dword [ebp - 0xbc], 8
mov dword [ebp - 0x70], 7
mov dword [ebp - 0x74], 0
mov word [ebp - 0x84], ax
jb 0x40969e
push dword [ebp - 0xd0]
call fcn.00447bb4
add esp, 4
xor eax, eax
cmp dword [ebp - 0x40], 8
mov dword [ebp - 0xbc], 7
mov dword [ebp - 0xc0], 0
mov word [ebp - 0xd0], ax
jb 0x4096cc
push dword [ebp - 0x54]
call fcn.00447bb4
add esp, 4
xor eax, eax
cmp dword [ebp - 0xec], 8
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x44], 0
mov word [ebp - 0x54], ax
jb 0x4096f7
push dword [ebp - 0x100]
call fcn.00447bb4
add esp, 4
xor eax, eax
cmp dword [ebp - 0x58], 8
mov dword [ebp - 0xec], 7
mov dword [ebp - 0xf0], 0
mov word [ebp - 0x100], ax
jb 0x409725
push dword [ebp - 0x6c]
call fcn.00447bb4
add esp, 4
xor eax, eax
cmp dword [ebp - 0x88], 8
mov dword [ebp - 0x58], 7
mov dword [ebp - 0x5c], 0
mov word [ebp - 0x6c], ax
jb 0x409750
push dword [ebp - 0x9c]
call fcn.00447bb4
add esp, 4
xor eax, eax
cmp dword [ebp - 0xa4], 8
mov dword [ebp - 0x88], 7
mov dword [ebp - 0x8c], 0
mov word [ebp - 0x9c], ax
jb 0x409784
push dword [ebp - 0xb8]
call fcn.00447bb4
add esp, 4
xor eax, eax
cmp dword [ebp - 0xd4], 8
mov dword [ebp - 0xa4], 7
mov dword [ebp - 0xa8], 0
mov word [ebp - 0xb8], ax
jb 0x4097b8
push dword [ebp - 0xe8]
call fcn.00447bb4
add esp, 4
xor eax, eax
mov byte [ebp - 4], al
cmp dword [ebp - 0x104], 8
mov dword [ebp - 0xd4], 7
mov dword [ebp - 0xd8], 0
mov word [ebp - 0xe8], ax
jb 0x4097ef
push dword [ebp - 0x118]
call fcn.00447bb4
add esp, 4
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
push 0x47ad2c
mov ecx, ebx
mov word [ebx], ax
call fcn.00401f90
mov dword [ebp - 4], 0
mov dword [ebp - 0x3c], 1
call fcn.0042fea0
mov edx, eax
cmp word [edx], 0
jne 0x409830
xor ecx, ecx
jmp 0x409844
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x409835
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, ebx
call fcn.00402d90
call fcn.00430000
mov edx, eax
cmp word [edx], 0
jne 0x40985e
xor eax, eax
jmp 0x409872
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x409863
sub eax, esi
sar eax, 1
push eax
push edx
mov ecx, ebx
call fcn.00402d90
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00447bb9
mov esp, ebp
pop ebp
ret 8