Function at 0x487b70
Capabilities:
Get geographical location

Disassembly:
push 0xffffffffffffffff
push 0x58c9d3
mov eax, dword fs:[0]
push eax
sub esp, 0x184
mov eax, dword [0x5ea2c4]
xor eax, esp
mov dword [esp + 0x180], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5ea2c4]
xor eax, esp
push eax
lea eax, [esp + 0x198]
mov dword fs:[0], eax
mov eax, dword [esp + 0x1a8]
mov ebp, dword [esp + 0x1ac]
xor ebx, ebx
mov dword [esp + 0x20], ebx
push ebx
xor edx, edx
mov edi, 7
push 0x59b2fc
lea esi, [esp + 0xf0]
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x44], ecx
mov dword [esp + 0x108], edi
mov dword [esp + 0x104], ebx
mov word [esp + 0xf4], dx
call fcn.00406150
mov dword [esp + 0x1a0], 1
mov eax, dword [0x5ef5f4]
test eax, eax
jne 0x487c13
call fcn.00404b70
mov ecx, dword [0x5ef5f4]
push 0xf
push ecx
lea esi, [esp + 0xd4]
call fcn.0047ace0
mov byte [esp + 0x1a0], 2
mov edx, dword [esp + 0xd0]
mov esi, 0x10
cmp dword [esp + 0xe4], esi
jae 0x487c4c
lea edx, [esp + 0xd0]
push ebx
mov ecx, 0x59b313
call fcn.004056f0
add esp, 4
cmp eax, ebx
jne 0x487cdb
xor eax, eax
cmp dword [esp + 0xe0], ebx
setne al
cmp eax, ebx
jne 0x487cdb
push ebx
xor edx, edx
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], ebx
push 0x59b2fc
mov esi, ebp
mov word [ebp + 4], dx
call fcn.00406150
cmp dword [esp + 0xe4], 0x10
jb 0x487ca1
mov eax, dword [esp + 0xd0]
push eax
call fcn.005273b8
add esp, 4
cmp dword [esp + 0x100], 8
mov dword [esp + 0xe4], 0xf
mov dword [esp + 0xe0], ebx
mov byte [esp + 0xd0], bl
jb 0x487cd4
mov ecx, dword [esp + 0xec]
push ecx
call fcn.005273b8
add esp, 4
mov eax, ebp
jmp 0x488102
push 0x90
call fcn.0052747b
add esp, 4
mov dword [esp + 0x18], eax
mov byte [esp + 0x1a0], 3
cmp eax, ebx
je 0x487d02
push eax
call fcn.004a0fb0
mov ebp, eax
jmp 0x487d04
xor ebp, ebp
mov byte [esp + 0x1a0], 2
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0xe4], esi
jae 0x487d23
lea eax, [esp + 0xd0]
push eax
mov ecx, ebp
call fcn.004a11c0
mov esi, dword [ebp + 0x88]
mov eax, dword [esi + 0x1c]
sub eax, dword [esi + 0x18]
jne 0x487d3e
mov eax, 1
lea edi, [eax + 1]
push edi
call fcn.0052680d
add esp, 4
push edi
push ebx
push eax
mov dword [esp + 0x24], eax
call fcn.0052e300
mov eax, dword [esi + 0x1c]
add esp, 0xc
xor edi, edi
sub eax, dword [esi + 0x18]
je 0x487d84
cmp edi, eax
jb 0x487d6c
call fcn.00527d8a
mov edx, dword [esi + 0x18]
mov al, byte [edi + edx]
mov ecx, dword [esp + 0x18]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x1c]
sub eax, dword [esi + 0x18]
inc edi
cmp edi, eax
jb 0x487d6c
mov edx, dword [ebp]
mov eax, dword [edx]
push 1
mov ecx, ebp
call eax
mov ebp, dword [esp + 0x18]
push ebp
call fcn.00492110
add esp, 4
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x108]
push edx
mov esi, eax
mov byte [esp + 0x1c], 1
mov byte [esp + 0x1d], bl
call fcn.004a26e0
and dword [esp + 0x2c], 0xfffffe00
mov dword [esp + 0x30], ebx
mov byte [esp + 0x1a0], 6
mov eax, esi
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x487de2
sub eax, edi
push eax
push esi
lea ecx, [esp + 0x48]
call fcn.00405bb0
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x150]
mov byte [esp + 0x1ac], 7
call fcn.00405870
mov eax, dword [esp + 0x148]
mov edi, 0x10
cmp dword [esp + 0x15c], edi
jae 0x487e2e
lea eax, [esp + 0x148]
mov ecx, dword [esp + 0x158]
lea edx, [esp + 0x24]
push edx
add ecx, eax
push ecx
push eax
lea eax, [esp + 0x110]
push eax
call fcn.004a27e0
mov byte [esp + 0x1a0], 6
mov byte [esp + 0x14], al
cmp dword [esp + 0x58], edi
jb 0x487e6a
mov ecx, dword [esp + 0x44]
push ecx
call fcn.005273b8
add esp, 4
cmp byte [esp + 0x14], bl
jne 0x487ea1
cmp ebp, ebx
je 0x487e7d
push ebp
call fcn.0052744f
add esp, 4
mov esi, dword [esp + 0x1c]
push ebx
xor edx, edx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push 0x59b2fc
mov word [esi + 4], dx
call fcn.00406150
jmp 0x48808e
push str.position
lea edx, [esp + 0x28]
push edx
call fcn.004a6850
cmp byte [eax + 8], bl
je 0x48803f
push str.position
lea eax, [esp + 0x28]
push eax
call fcn.004a6850
push str.cityname
push eax
call fcn.004a6850
cmp byte [eax + 8], bl
je 0x487f79
push str.position
lea ecx, [esp + 0x28]
push ecx
call fcn.004a6850
push str.cityname
push eax
call fcn.004a6850
lea esi, [esp + 0xb0]
mov ecx, eax
call fcn.004a6160
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x1a4], 8
call fcn.00490630
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea eax, [esp + 0xf4]
mov byte [esp + 0x1ac], 9
call fcn.00405d70
cmp dword [esp + 0x74], 8
jb 0x487f45
mov edx, dword [esp + 0x60]
push edx
call fcn.005273b8
add esp, 4
xor eax, eax
mov byte [esp + 0x1a0], 6
mov dword [esp + 0x74], 7
mov dword [esp + 0x70], ebx
mov word [esp + 0x60], ax
cmp dword [esp + 0xc8], edi
jb 0x487f79
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.005273b8
add esp, 4
push str.position
lea edx, [esp + 0x28]
push edx
call fcn.004a6850
push str.provname
push eax
call fcn.004a6850
cmp byte [eax + 8], bl
je 0x48803f
push str.position
lea eax, [esp + 0x28]
push eax
call fcn.004a6850
push str.provname
push eax
call fcn.004a6850
lea esi, [esp + 0x94]
mov ecx, eax
call fcn.004a6160
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0x1a4], 0xa
call fcn.00490630
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
mov eax, dword [esp + 0x48]
mov byte [esp + 0x1ac], 0xb
call fcn.00405d70
cmp dword [esp + 0x90], 8
jb 0x488005
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.005273b8
add esp, 4
xor edx, edx
mov byte [esp + 0x1a0], 6
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], ebx
mov word [esp + 0x7c], dx
cmp dword [esp + 0xac], edi
jb 0x48803f
mov eax, dword [esp + 0x98]
push eax
call fcn.005273b8
add esp, 4
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x488044
mov ecx, dword [esp + 0x38]
sub eax, edx
push eax
push ebp
add ecx, 0x48
call fcn.00405bb0
cmp ebp, ebx
je 0x488068
push ebp
call fcn.0052744f
add esp, 4
mov esi, dword [esp + 0x1c]
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xf0]
xor ecx, ecx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], ebx
push edx
mov eax, esi
mov word [esi + 4], cx
call fcn.00405d70
lea eax, [esp + 0x24]
mov dword [esp + 0x20], 1
mov byte [esp + 0x1a0], 4
call fcn.004a6000
lea edi, [esp + 0x104]
call fcn.0047f4e0
cmp dword [esp + 0xe4], 0x10
jb 0x4880cd
mov eax, dword [esp + 0xd0]
push eax
call fcn.005273b8
add esp, 4
cmp dword [esp + 0x100], 8
mov byte [esp + 0xd0], bl
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], 0xf
jb 0x488100
mov ecx, dword [esp + 0xec]
push ecx
call fcn.005273b8
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x198]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x180]
xor ecx, esp
call fcn.005273c3
add esp, 0x190
ret 8