Function at 0x1001a791
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x24]
push ebx
push ebp
push esi
push edi
xor ebx, ebx
mov dword [esp + 0x20], 0
add eax, eax
mov dword [esp + 0x24], 0
push eax
push ebx
push dword [esp + 0x38]
mov edi, ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
call fcn.10045430
mov esi, dword [esp + 0x38]
xor eax, eax
mov dword [edi + 0x56], eax
add esp, 0xc
mov word [edi + 0x54], ax
mov dword [edi + 0xe0], eax
movzx eax, word [esi]
cmp eax, 0x3b
je 0x1001a4c1
lea ebx, [ebx]
test ax, ax
je 0x1001a4c1
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x3b
jne 0x1001a4b0
movzx eax, word [esi]
mov ebp, dword [esp + 0x3c]
test ax, ax
je 0x1001a618
cmp ax, 0x20
jne 0x1001a4e0
add esi, 2
cmp word [esi], 0x20
je 0x1001a4d7
cmp word [esi], 0x3b
jne 0x1001a614
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x1001a614
cmp eax, 0x20
jne 0x1001a509
nop
add esi, 2
cmp word [esi], 0x20
je 0x1001a500
movzx eax, word [esi]
test ax, ax
je 0x1001a614
mov ebp, esi
cmp ax, 0x3d
je 0x1001a531
cmp ax, 0x20
je 0x1001a531
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x1001a517
jmp 0x1001a537
cmp word [esi], 0
jne 0x1001a54b
mov ebx, dword [esp + 0x3c]
mov ecx, ebx
push 1
push 0xfffffc15
call fcn.1001c540
jmp 0x1001a54f
mov ebx, dword [esp + 0x3c]
mov edi, esi
sub edi, ebp
sar edi, 1
cmp word [esi], 0x20
jne 0x1001a569
jmp 0x1001a560
add esi, 2
cmp word [esi], 0x20
je 0x1001a560
cmp word [esi], 0x3d
jne 0x1001a578
add esi, 2
cmp word [esi], 0
jne 0x1001a586
push 1
push 0xfffffc15
mov ecx, ebx
call fcn.1001c540
cmp word [esi], 0x20
mov ebx, esi
jne 0x1001a599
mov edi, edi
add esi, 2
cmp word [esi], 0x20
je 0x1001a590
cmp dword [esp + 0x18], 0
jne 0x1001a672
push 3
push ebp
push 0x10001f18
call fcn.100440b0
add esp, 0xc
test eax, eax
jne 0x1001a672
cmp edi, 3
jne 0x1001a672
movzx eax, word [ebx]
xor ecx, ecx
mov dword [esp + 0x18], 1
mov esi, ebx
test ax, ax
je 0x1001a7f7
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
cmp ax, 0x3b
je 0x1001a7f7
cmp ax, 0x5c
jne 0x1001a5fc
cmp word [esi + 2], 0
je 0x1001a65b
cmp ecx, edx
jge 0x1001a65b
add esi, 2
mov word [ebx + ecx*2], ax
inc ecx
movzx eax, word [esi]
test ax, ax
jne 0x1001a5e5
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x10]
test byte [ebp], 8
jne 0x1001a841
cmp dword [esp + 0x38], 0
jne 0x1001a841
cmp dword [esp + 0x1c], 0
jne 0x1001a841
cmp dword [esp + 0x20], 0
jne 0x1001a810
push 1
push 0xfffffbdb
mov ecx, ebp
call fcn.1001c540
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x14
mov ebp, dword [esp + 0x3c]
mov ecx, ebp
push 1
push 0xfffff88f
call fcn.1001c540
jmp case.default.0x1001a765
cmp word [esi], 0
jne 0x1001a68f
mov ebp, dword [esp + 0x3c]
mov ecx, ebp
push 1
push 0xfffffc15
call fcn.1001c540
jmp case.default.0x1001a765
push 6
push ebp
push 0x10001f20
call fcn.100440b0
add esp, 0xc
test eax, eax
jne 0x1001a6ac
cmp edi, 6
jne 0x1001a6ac
xor edi, edi
jmp 0x1001a72a
push 2
push ebp
push 0x10001f30
call fcn.100440b0
add esp, 0xc
test eax, eax
jne 0x1001a6ca
cmp edi, 2
jne 0x1001a6ca
lea edi, [eax + 1]
jmp 0x1001a72a
push 7
push ebp
push 0x10001f38
call fcn.100440b0
add esp, 0xc
test eax, eax
jne 0x1001a6e8
cmp edi, 7
jne 0x1001a6e8
lea edi, [eax + 2]
jmp 0x1001a72a
push 4
push ebp
push 0x10001f48
call fcn.100440b0
add esp, 0xc
test eax, eax
jne 0x1001a706
cmp edi, 4
jne 0x1001a706
lea edi, [eax + 3]
jmp 0x1001a72a
push 7
push ebp
push 0x10001f54
call fcn.100440b0
add esp, 0xc
test eax, eax
jne 0x1001a7ce
cmp edi, 7
jne 0x1001a7ce
lea edi, [eax + 4]
push 0
lea eax, [esp + 0x30]
push eax
push esi
call fcn.10045cae
mov ecx, dword [esp + 0x38]
add esp, 0xc
mov ebp, dword [esp + 0x3c]
mov ebx, eax
cmp esi, ecx
jne 0x1001a75a
push 1
push 0xfffffc15
mov ecx, ebp
call fcn.1001c540
mov ecx, dword [esp + 0x2c]
mov esi, ecx
cmp edi, 3
ja case.default.0x1001a765
jmp dword [edi*4 + 0x1001a84c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], 1
mov word [eax + 0x56], bx
jmp case.default.0x1001a765
mov eax, dword [esp + 0x14]
mov word [eax + 0x58], bx
mov ebx, 1
mov dword [esp + 0x10], ebx
jmp 0x1001a7ff
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], 1
mov word [eax + 0x54], bx
jmp case.default.0x1001a765
mov edi, dword [esp + 0x14]
mov eax, 1
push ebx
mov dword [edi + 0xe0], ebx
mov word [edi + 0x56], bx
mov word [edi + 0x54], ax
call fcn.10032ab0
mov word [edi + 0x58], ax
mov dword [esp + 0x1c], 1
jmp case.default.0x1001a765
movzx eax, word [esi]
test ax, ax
je 0x1001a610
lea ebx, [ebx]
cmp ax, 0x3b
je 0x1001a7f7
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x1001a7e0
jmp 0x1001a610
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x10]
movzx eax, word [esi]
test ax, ax
jne 0x1001a4d1
jmp 0x1001a618
cmp dword [esp + 0x24], 0
jne 0x1001a82f
push 1
push 0xfffffbda
mov ecx, ebp
call fcn.1001c540
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x14
test ebx, ebx
jne 0x1001a841
push 1
push 0xfffffbd9
mov ecx, ebp
call fcn.1001c540
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x14