Function at 0x43fa10
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword [0x13d411c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x43fcc0
sub esp, 0x28
mov eax, dword [0x13d411c]
mov eax, dword fs:[eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
nop
inc dword [ecx + 0x7c]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1c], eax
movzx ecx, byte [esp + 0x31]
test cl, cl
jne 0x43fa62
nop
nop
lea eax, [0x13b6698]
mov dword [esp], eax
call fcn.0040a8d0
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x31]
mov edx, dword [esp + 0x2c]
test edx, edx
jne 0x43faa2
movzx edx, byte [esp + 0x30]
test dl, dl
jne 0x43fca9
mov dword [esp], 0
mov dword [esp + 4], 0
call fcn.004485d0
mov eax, dword [esp + 8]
test eax, eax
je 0x43fc1d
movzx ecx, byte [esp + 0x31]
mov edx, eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [0x13b669c]
nop
test ebx, ebx
je 0x43fac1
mov ebp, dword [ebx + 0xb4]
mov dword [0x13b669c], ebp
dec dword [0x13b66a0]
test ebx, ebx
mov dword [esp + 0x20], edx
je 0x43fb7c
mov dword [esp + 0x24], ebx
test cl, cl
jne 0x43faef
nop
nop
lea eax, [0x13b6698]
mov dword [esp], eax
call fcn.0040aaf0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
movzx ecx, byte [ebx + 0x88]
test cl, cl
jne 0x43fc93
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
jne 0x43fc7d
movzx ecx, byte [esp + 0x30]
test cl, cl
je 0x43fb34
mov dword [esp], edx
call fcn.004487d0
movzx eax, byte [esp + 4]
test al, al
je 0x43fc67
movzx ecx, byte [esp + 0x30]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov byte [ebx + 0x88], cl
lea eax, [ebx + 0xac]
mov dword [ebx + 0x5c], edx
mov dword [esp], eax
call fcn.0040abf0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x7c]
lea edx, [ecx - 1]
nop
mov ebx, dword [0x13d411c]
mov ebx, dword fs:[ebx]
mov ebx, dword [ebx]
mov dword [eax + 0x7c], edx
cmp ecx, 1
jne 0x43fb78
movzx eax, byte [ebx + 0x69]
test al, al
je 0x43fb78
mov dword [ebx + 8], 0xfffffade
add esp, 0x28
ret
call fcn.0043c420
mov eax, dword [esp]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x18], ecx
nop
nop
lea edx, [0x13b6698]
mov dword [esp], edx
call fcn.0040aaf0
movzx eax, byte [esp + 0x30]
test al, al
je 0x43fbb1
lea eax, [0x8c7ae4]
jmp 0x43fbb3
xor eax, eax
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
call fcn.0043f440
movzx eax, byte [esp + 0x31]
test al, al
je 0x43fbec
nop
nop
lea eax, [0x13b6698]
mov dword [esp], eax
call fcn.0040a8d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x7c]
lea edx, [ecx - 1]
nop
mov ebx, dword [0x13d411c]
mov ebx, dword fs:[ebx]
mov ebx, dword [ebx]
mov dword [eax + 0x7c], edx
cmp ecx, 1
jne 0x43fc19
movzx eax, byte [ebx + 0x69]
test al, al
je 0x43fc19
mov dword [ebx + 8], 0xfffffade
add esp, 0x28
ret
movzx eax, byte [esp + 0x31]
test al, al
jne 0x43fc36
nop
nop
lea eax, [0x13b6698]
mov dword [esp], eax
call fcn.0040aaf0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x7c]
lea edx, [ecx - 1]
nop
mov ebx, dword [0x13d411c]
mov ebx, dword fs:[ebx]
mov ebx, dword [ebx]
mov dword [eax + 0x7c], edx
cmp ecx, 1
jne 0x43fc63
movzx eax, byte [ebx + 0x69]
test al, al
je 0x43fc63
mov dword [ebx + 8], 0xfffffade
add esp, 0x28
ret
lea eax, [0x8a77e0]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.0046daf0
lea eax, [0x89f3cb]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.0046daf0
lea eax, [0x8a4399]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call fcn.0046daf0
lea eax, [0x8af737]
mov dword [esp], eax
mov dword [esp + 4], 0x24
call fcn.0046daf0
nop
call fcn.004730d0
jmp fcn.0043fa10