Function at 0x444370
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 0xc]
jbe 0x444610
sub esp, 0x3c
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov ebx, dword [edx + 0x18]
cmp dword [ebx], edx
jne 0x4445f9
mov edx, dword [esp + 0x40]
lea ebp, [edx - 1]
test edx, ebp
jne 0x4445e3
mov ebp, dword [0xb5364c]
test ebp, ebp
jne 0x444557
cmp edx, 0x8000
jae 0x4444a8
mov eax, edx
xor ecx, ecx
jmp 0x4443d3
inc ecx
shr edx, 1
cmp edx, 0x1000
ja 0x4443d0
mov edx, dword [ebx + 0xbc]
test edx, edx
je 0x4443ec
mov ebx, dword [ebx + 0x74]
test ebx, ebx
je 0x44444b
movzx edx, cl
cmp edx, 3
jae 0x4445c1
mov byte [esp + 0x13], cl
shl edx, 6
lea eax, [0xb41920]
lea eax, [eax + edx]
mov dword [esp + 0x38], eax
mov dword [esp], eax
call fcn.004089b0
movzx eax, byte [esp + 0x13]
mov byte [esp], al
call fcn.00443de0
mov eax, dword [esp + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
call fcn.00408b90
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x40]
add eax, ecx
mov dword [esp + 0x48], eax
add esp, 0x3c
ret
movzx ebx, cl
cmp ebx, 3
jae 0x4445b5
lea ebp, [edx + ebx*8 + 0x22c]
mov esi, dword [ebp]
mov edi, esi
test esi, esi
je 0x44447b
mov ecx, edi
mov esi, dword [edi]
mov dword [ebp], esi
lea edx, [edx + ebx*8 + 0x230]
sub dword [edx], eax
mov eax, ecx
jmp 0x444439
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], ebp
mov dword [esp], edx
mov byte [esp + 4], cl
call fcn.004440c0
mov ebp, dword [esp + 0x34]
mov edi, dword [ebp]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
jmp 0x444467
shr edx, 0xd
mov dword [esp + 0x1c], edx
mov dword [esp], edx
call fcn.00443db0
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
lea ecx, [0xb41880]
mov dword [esp], ecx
call fcn.004089b0
mov eax, dword [esp + 0x20]
cmp eax, 0x13
jae 0x4445ab
lea ecx, [0xb41884]
lea edx, [ecx + eax*8]
mov edx, dword [edx]
test edx, edx
jne 0x44453e
xor eax, eax
mov dword [esp + 0x28], eax
lea ecx, [0xb41880]
mov dword [esp], ecx
call fcn.00408b90
mov eax, dword [esp + 0x28]
test eax, eax
je 0x44450d
mov eax, dword [eax + 0xc]
jmp 0x444439
lea eax, [0xb44d20]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
lea eax, [0xb55520]
mov dword [esp + 8], eax
call fcn.004220a0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x444595
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x40], ecx
jmp 0x444505
mov dword [esp + 0x30], edx
lea eax, [ecx + eax*8]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00423240
mov eax, dword [esp + 0x30]
jmp 0x4444eb
mov eax, dword [0xb532ec]
lea ecx, [edx + eax - 1]
neg eax
and ecx, eax
mov dword [esp + 0x14], ecx
mov dword [esp], ecx
lea eax, [0xb55528]
mov dword [esp + 4], eax
call fcn.00414140
mov eax, dword [esp + 8]
test eax, eax
je 0x4445cd
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x48], eax
add esp, 0x3c
ret
lea eax, [0x7e819d]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.00430c90
mov ecx, 0x13
call fcn.004596a0
mov eax, ebx
mov ecx, 3
call fcn.004596a0
mov eax, edx
mov ecx, 3
call fcn.004596a0
lea eax, [0x7f1e92]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call fcn.00430c90
lea eax, [0x7f29ab]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call fcn.00430c90
lea eax, [0x7f65ed]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00430c90
nop
call fcn.00446970
jmp fcn.00444370