Function at 0x45c960
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5732b8
mov eax, dword fs:[0]
push eax
sub esp, 0x540
mov eax, dword [0x5c3678]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
xor ebx, ebx
push 0x40f
mov dword [ebp - 0x50c], eax
lea eax, [ebp - 0x42b]
push ebx
push eax
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x508], edx
mov byte [ebp - 0x42c], bl
call fcn.00544310
add esp, 0xc
push SysReAllocString
lea ecx, [ebp - 0x504]
push ecx
lea edx, [ebp - 0x42c]
push edx
mov ecx, 0x58c510
mov edx, str.UserProfile
mov dword [ebp - 0x504], 0x410
call fcn.004620c0
add esp, 0xc
test al, al
je 0x45ca9e
mov eax, dword [ebp - 0x504]
cmp eax, ebx
je 0x45ca9e
dec eax
push eax
lea eax, [ebp - 0x42c]
mov edi, 0xf
push eax
lea ecx, [ebp - 0x464]
mov dword [ebp - 0x44c], edi
mov dword [ebp - 0x450], ebx
mov byte [ebp - 0x460], bl
call fcn.00422b90
lea ecx, [ebp - 0x448]
push ecx
xor ecx, ecx
lea edx, [ebp - 0x464]
mov dword [ebp - 4], ebx
call fcn.0045bd20
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x434], ebx
jne 0x45cabc
mov esi, 0x10
cmp dword [ebp - 0x430], esi
jb 0x45ca75
mov edx, dword [ebp - 0x444]
push edx
call fcn.0053c152
add esp, 4
mov dword [ebp - 0x430], edi
mov dword [ebp - 0x434], ebx
mov byte [ebp - 0x444], bl
cmp dword [ebp - 0x44c], esi
jb 0x45ca9e
mov eax, dword [ebp - 0x460]
push eax
call fcn.0053c152
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0053c15d
mov esp, ebp
pop ebp
ret
and dword [ebp - 0x524], 0xfffffe00
mov byte [ebp - 0x4fd], bl
mov dword [ebp - 0x520], ebx
mov dword [ebp - 0x51c], ebx
mov dword [ebp - 0x518], ebx
lea ecx, [ebp - 0x4fc]
push ecx
mov byte [ebp - 4], 4
call fcn.005298a0
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x444]
mov esi, 0x10
cmp dword [ebp - 0x430], esi
jae 0x45cb0b
lea eax, [ebp - 0x444]
push eax
lea ecx, [ebp - 0x548]
call fcn.00422c70
lea edx, [ebp - 0x548]
push edx
lea ecx, [ebp - 0x52c]
lea edi, [ebp - 0x4fc]
mov byte [ebp - 4], 6
call fcn.00529980
cmp al, 1
sete byte [ebp - 0x4fe]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x530], esi
jb 0x45cb57
mov eax, dword [ebp - 0x544]
push eax
call fcn.0053c152
add esp, 4
cmp byte [ebp - 0x4fe], bl
je 0x45cc13
lea ecx, [ebp - 0x548]
push ecx
mov esi, 0x58c520
lea edi, [ebp - 0x52c]
call fcn.00466670
add esp, 4
mov ecx, dword [ebp - 0x50c]
push 0xffffffffffffffff
push ebx
push eax
mov byte [ebp - 4], 7
call fcn.00423020
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 5
call fcn.004231c0
lea edx, [ebp - 0x548]
push edx
mov esi, str.country_code
call fcn.00466670
add esp, 4
mov ecx, dword [ebp - 0x510]
push 0xffffffffffffffff
push ebx
push eax
mov byte [ebp - 4], 8
call fcn.00423020
lea ecx, [ebp - 0x548]
mov byte [ebp - 4], 5
call fcn.004231c0
lea eax, [ebp - 0x548]
push eax
mov esi, 0x58b570
call fcn.00466670
add esp, 4
mov ecx, dword [ebp - 0x508]
push 0xffffffffffffffff
push ebx
push eax
mov byte [ebp - 4], 9
call fcn.00423020
lea ecx, [ebp - 0x548]
call fcn.004231c0
mov byte [ebp - 0x4fd], 1
mov esi, 0x10
lea edi, [ebp - 0x4fc]
call fcn.00402490
lea ecx, [ebp - 0x52c]
mov byte [ebp - 4], 2
call fcn.00527890
jmp 0x45cc3c
cmp dword [ebp - 0x430], esi
jb 0x45cc53
mov ecx, dword [ebp - 0x444]
push ecx
call fcn.0053c152
add esp, 4
mov dword [ebp - 0x430], 0xf
mov dword [ebp - 0x434], ebx
mov byte [ebp - 0x444], bl
cmp dword [ebp - 0x44c], esi
jb 0x45cc80
mov edx, dword [ebp - 0x460]
push edx
call fcn.0053c152
add esp, 4
mov al, byte [ebp - 0x4fd]
jmp 0x45caa0