Function at 0x1002f2f0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x1019a784]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0xc]
call fcn.10026ae0
lea eax, [ebp + 8]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.10027b80
movzx ecx, al
test ecx, ecx
jne 0x1002f906
push 0
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10028200
add esp, 0xc
mov dword [ebp + 8], eax
mov ecx, dword [ebp - 8]
shr ecx, 3
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
sub edx, 1
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x11
ja case.default.0x1002f356
mov eax, dword [ebp - 0x14]
jmp dword [eax*4 + 0x1002f940]
movzx ecx, byte [ebp - 8]
cmp ecx, 8
jne 0x1002f396
lea edx, [ebp - 0xc]
push edx
call fcn.1002c9c0
add esp, 4
lea eax, [ebp + 8]
push eax
call fcn.100282b0
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x14], eax
cmp dword [ebp + 8], 0
jne 0x1002f394
jmp 0x1002f922
jmp 0x1002f3a0
jmp 0x1002f88a
jmp 0x1002f30b
movzx edx, byte [ebp - 8]
cmp edx, 0x15
jne 0x1002f3d7
lea eax, [ebp - 0xc]
push eax
call fcn.1002a930
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002dc10
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x18], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
jmp 0x1002f3e1
jmp 0x1002f88c
jmp 0x1002f30b
movzx ecx, byte [ebp - 8]
cmp ecx, 0x1d
jne 0x1002f418
lea edx, [ebp - 0xc]
push edx
call fcn.1002a8a0
add esp, 4
mov eax, dword [ebp + 8]
push eax
call fcn.1002dc10
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 8]
add edx, 4
mov dword [ebp + 8], edx
jmp 0x1002f422
jmp 0x1002f88e
jmp 0x1002f30b
movzx eax, byte [ebp - 8]
cmp eax, 0x20
jne 0x1002f460
lea ecx, [ebp - 0xc]
push ecx
call fcn.1002a840
add esp, 4
lea edx, [ebp + 8]
push edx
call fcn.100282b0
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x20], eax
cmp dword [ebp + 8], 0
jne 0x1002f45e
jmp 0x1002f924
jmp 0x1002f46a
jmp 0x1002f88e
jmp 0x1002f30b
movzx edx, byte [ebp - 8]
cmp edx, 0x28
jne 0x1002f4a8
lea eax, [ebp - 0xc]
push eax
call fcn.1002a7e0
add esp, 4
lea ecx, [ebp + 8]
push ecx
call fcn.100282b0
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x24], eax
cmp dword [ebp + 8], 0
jne 0x1002f4a6
jmp 0x1002f926
jmp 0x1002f4b2
jmp 0x1002f88e
jmp 0x1002f30b
movzx eax, byte [ebp - 8]
cmp eax, 0x30
jne 0x1002f4f0
lea ecx, [ebp - 0xc]
push ecx
call fcn.1002a810
add esp, 4
lea edx, [ebp + 8]
push edx
call fcn.100282b0
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x28], eax
cmp dword [ebp + 8], 0
jne 0x1002f4ee
jmp 0x1002f926
jmp 0x1002f4fa
jmp 0x1002f88e
jmp 0x1002f30b
movzx edx, byte [ebp - 8]
cmp edx, 0x38
jne 0x1002f538
lea eax, [ebp - 0xc]
push eax
call fcn.1002a900
add esp, 4
lea ecx, [ebp + 8]
push ecx
call fcn.100282b0
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x2c], eax
cmp dword [ebp + 8], 0
jne 0x1002f536
jmp 0x1002f926
jmp 0x1002f542
jmp 0x1002f88e
jmp 0x1002f30b
movzx eax, byte [ebp - 8]
cmp eax, 0x42
jne 0x1002f5a6
mov ecx, dword [ebp - 0x10]
call fcn.1002a2a0
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.10078030
add esp, 0xc
mov dword [ebp + 8], eax
cmp dword [ebp + 8], 0
jne 0x1002f582
jmp 0x1002f926
push 0x1012ddb4
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.10028a00
add esp, 8
movzx edx, al
test edx, edx
jne 0x1002f5a4
jmp 0x1002f926
jmp 0x1002f5b0
jmp 0x1002f88e
jmp 0x1002f30b
movzx eax, byte [ebp - 8]
cmp eax, 0x48
jne 0x1002f5ee
lea ecx, [ebp - 0xc]
push ecx
call fcn.1002a990
add esp, 4
lea edx, [ebp + 8]
push edx
call fcn.100282b0
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x30], eax
cmp dword [ebp + 8], 0
jne 0x1002f5ec
jmp 0x1002f926
jmp 0x1002f5f8
jmp 0x1002f88e
jmp 0x1002f30b
movzx edx, byte [ebp - 8]
cmp edx, 0x50
jne 0x1002f636
lea eax, [ebp - 0xc]
push eax
call fcn.1002a8d0
add esp, 4
lea ecx, [ebp + 8]
push ecx
call fcn.100282b0
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x34], eax
cmp dword [ebp + 8], 0
jne 0x1002f634
jmp 0x1002f926
jmp 0x1002f640
jmp 0x1002f88e
jmp 0x1002f30b
movzx eax, byte [ebp - 8]
cmp eax, 0x58
jne 0x1002f67e
lea ecx, [ebp - 0xc]
push ecx
call fcn.1002a870
add esp, 4
lea edx, [ebp + 8]
push edx
call fcn.100282b0
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x38], eax
cmp dword [ebp + 8], 0
jne 0x1002f67c
jmp 0x1002f926
jmp 0x1002f688
jmp 0x1002f88e
jmp 0x1002f30b
movzx edx, byte [ebp - 8]
cmp edx, 0x60
jne 0x1002f6c6
lea eax, [ebp - 0xc]
push eax
call fcn.1002a960
add esp, 4
lea ecx, [ebp + 8]
push ecx
call fcn.100282b0
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x3c], eax
cmp dword [ebp + 8], 0
jne 0x1002f6c4
jmp 0x1002f926
jmp 0x1002f6d0
jmp 0x1002f88e
jmp 0x1002f30b
movzx eax, byte [ebp - 8]
cmp eax, 0x68
jne 0x1002f70e
lea ecx, [ebp - 0xc]
push ecx
call fcn.100303c0
add esp, 4
lea edx, [ebp + 8]
push edx
call fcn.100282b0
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x40], eax
cmp dword [ebp + 8], 0
jne 0x1002f70c
jmp 0x1002f926
jmp 0x1002f718
jmp 0x1002f88e
jmp 0x1002f30b
movzx edx, byte [ebp - 8]
cmp edx, 0x70
jne 0x1002f756
lea eax, [ebp - 0xc]
push eax
call fcn.100303f0
add esp, 4
lea ecx, [ebp + 8]
push ecx
call fcn.100282b0
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x44], eax
cmp dword [ebp + 8], 0
jne 0x1002f754
jmp 0x1002f926
jmp 0x1002f760
jmp 0x1002f88e
jmp 0x1002f30b
movzx eax, byte [ebp - 8]
cmp eax, 0x78
jne 0x1002f79e
lea ecx, [ebp - 0xc]
push ecx
call fcn.10030450
add esp, 4
lea edx, [ebp + 8]
push edx
call fcn.100282b0
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x48], eax
cmp dword [ebp + 8], 0
jne 0x1002f79c
jmp 0x1002f926
jmp 0x1002f7a8
jmp 0x1002f88e
jmp 0x1002f30b
movzx edx, byte [ebp - 8]
cmp edx, 0x80
jne 0x1002f7e9
lea eax, [ebp - 0xc]
push eax
call fcn.10030480
add esp, 4
lea ecx, [ebp + 8]
push ecx
call fcn.100282b0
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x58], eax
cmp dword [ebp + 8], 0
jne 0x1002f7e7
jmp 0x1002f926
jmp 0x1002f7f3
jmp 0x1002f88e
jmp 0x1002f30b
movzx eax, byte [ebp - 8]
cmp eax, 0x88
jne 0x1002f836
lea ecx, [ebp - 0xc]
push ecx
call fcn.10030360
add esp, 4
lea edx, [ebp + 8]
push edx
call fcn.100282f0
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x50], eax
mov dword [ecx + 0x54], edx
cmp dword [ebp + 8], 0
jne 0x1002f834
jmp 0x1002f926
jmp 0x1002f83a
jmp 0x1002f88e
jmp 0x1002f30b
movzx edx, byte [ebp - 8]
cmp edx, 0x90
jne 0x1002f87b
lea eax, [ebp - 0xc]
push eax
call fcn.10030420
add esp, 4
lea ecx, [ebp + 8]
push ecx
call fcn.100282b0
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x5c], eax
cmp dword [ebp + 8], 0
jne 0x1002f879
jmp 0x1002f926
jmp 0x1002f87f
jmp 0x1002f88e
jmp 0x1002f30b
jmp 0x1002f88e
jmp 0x1002f88e
jmp 0x1002f88e
cmp dword [ebp - 8], 0
je 0x1002f89f
mov eax, dword [ebp - 8]
and eax, 7
cmp eax, 4
jne 0x1002f8b9
cmp dword [ebp + 8], 0
jne 0x1002f8a9
jmp 0x1002f926
mov ecx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.10028470
jmp 0x1002f906
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x10]
add ecx, 4
call fcn.100269f0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 8]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call fcn.10079d90
add esp, 0x14
mov dword [ebp + 8], eax
cmp dword [ebp + 8], 0
jne 0x1002f901
jmp 0x1002f926
jmp 0x1002f30b
mov ecx, dword [ebp - 0x10]
add ecx, 8
mov dword [ebp - 0x24], ecx
lea edx, [ebp - 0xc]
push edx
mov ecx, dword [ebp - 0x24]
call fcn.100281a0
mov eax, dword [ebp + 8]
jmp 0x1002f92f
jmp 0x1002f926
jmp 0x1002f926
mov dword [ebp + 8], 0
jmp 0x1002f906
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006e560
mov esp, ebp
pop ebp
ret 8