Function at 0x4413f0
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4416ec
sub esp, 0x30
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
cmp dword [ecx + 0x4c], eax
jne 0x4416d5
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00441920
movzx eax, byte [esp + 4]
test al, al
jne 0x4416d1
call fcn.004337d0
mov eax, dword [esp]
mov dword [esp + 0x20], eax
nop
mov ecx, dword [esp + 0x34]
mov edx, ecx
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
shr ecx, 3
mov ebx, eax
mov eax, 0x828cbfbf
mov ebp, edx
mul ecx
shr edx, 7
imul eax, edx, 0xfb
sub ecx, eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x3c]
test eax, 1
je 0x4414c8
mov edx, dword [0xb5335c]
test edx, edx
sete dl
xchg esi, ebx
seta bl
xchg esi, ebx
mov edi, dword [0xb53358]
test edi, edi
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, edx
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4416a2
xor edx, edx
xor esi, esi
test eax, 2
je 0x44151e
mov eax, dword [0xb53378]
test eax, eax
seta al
mov edi, dword [0xb5337c]
test edi, edi
xchg edi, ebx
seta bl
xchg edi, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, eax
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x44151e
test edx, edx
sete al
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x441689
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
shl ecx, 6
mov dword [esp + 0x18], ecx
lea eax, [0xb472c0]
lea ebp, [eax + ecx]
mov dword [esp + 0x24], ebp
jmp 0x441546
lea eax, [0xb472c0]
mov ecx, dword [esp + 0x18]
lea edx, [eax + ecx]
mov dword [esp + 0x2c], edx
mov dword [esp], edx
call fcn.004089b0
mov eax, dword [esp + 0x18]
lea ecx, [0xb472c0]
lea edx, [ecx + eax + 8]
mov dword [esp + 0x28], edx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.004020f0
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00441920
movzx eax, byte [esp + 4]
test al, al
jne 0x441660
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 8], edx
movzx ebx, byte [esp + 0x38]
mov byte [esp + 0xc], bl
call fcn.00441980
lea eax, [0x806108]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov word [esp + 8], 0x1912
mov ecx, dword [esp + 0x40]
lea edx, [ecx + 4]
mov dword [esp + 0xc], edx
call fcn.00433640
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x441649
mov ecx, 1
test cl, cl
je 0x44153c
mov ecx, dword [eax + 0x20]
test ecx, ecx
setg dl
sete bl
mov ebp, dword [eax + 0x1c]
test ebp, ebp
xchg esi, ebx
seta bl
xchg esi, ebx
and ebx, esi
or edx, ebx
test dl, dl
jne 0x441620
mov dword [esp], eax
call fcn.00433ae0
add esp, 0x30
ret
mov eax, dword [esp + 0x10]
sub ebp, eax
mov dword [esp], ebp
mov eax, dword [esp + 0x14]
sbb ecx, eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x40]
add eax, 3
mov dword [esp + 8], eax
call fcn.00428b60
mov eax, dword [esp + 0x20]
jmp 0x441614
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00441920
movzx ecx, byte [esp + 4]
mov eax, dword [esp + 0x20]
jmp 0x4415ed
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call fcn.004020f0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00408b90
mov eax, dword [esp + 0x20]
jmp 0x4415f5
call fcn.00459210
mov edx, dword [esp]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
jmp 0x441518
call fcn.00459210
mov edx, dword [esp]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x20]
mov dword [ebx + 0x1c], 0xffffffff
mov dword [ebx + 0x20], 0xffffffff
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x34]
jmp 0x4414cc
add esp, 0x30
ret
lea eax, [0x7f3f27]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call fcn.00430c90
nop
call fcn.00457de0
jmp fcn.004413f0