Function at 0x44e670
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword [0xf335f8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44ea24
sub esp, 0x50
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
jmp 0x44e6a1
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x44e89c
test ebx, ebx
je 0x44e6b5
lea edi, [esi - 1]
jmp 0x44e9c7
mov dword [esp + 0x14], esi
mov dword [esp + 0x40], ebp
mov dword [esp], ebp
mov dword [esp + 4], esi
mov byte [esp + 8], 0x2c
call fcn.00406f40
mov ecx, dword [esp + 0xc]
test ecx, ecx
jge 0x44e6e4
mov edx, dword [esp + 0x40]
xor ebx, ebx
xor eax, eax
mov ecx, dword [esp + 0x14]
jmp 0x44e70d
mov edx, dword [esp + 0x14]
cmp edx, ecx
jb 0x44e9c1
lea eax, [ecx + 1]
cmp edx, eax
jb 0x44e9ba
sub edx, ecx
dec edx
mov ebx, edx
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x44], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x3d
call fcn.00406f40
mov ecx, dword [esp + 0xc]
test ecx, ecx
jl 0x44e695
mov edx, dword [esp + 0x1c]
cmp edx, ecx
jb 0x44e9b5
lea eax, [ecx + 1]
cmp edx, eax
jb 0x44e9ae
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], eax
lea eax, [0x995cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 8], edx
call fcn.00414780
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
sub eax, ecx
dec eax
mov edx, eax
neg eax
sar eax, 0x1f
mov ebx, dword [esp + 0x28]
and ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mov ebp, dword [esp + 0x44]
add ebx, ebp
test al, al
jne 0x44e695
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], ebx
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x44e7ed
lea eax, [0x995cc0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
call fcn.00414e10
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov eax, dword [esp + 0x5c]
test eax, eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x44]
mov esi, eax
je 0x44e7f3
xor eax, eax
jmp 0x44e82f
cmp ecx, 0xe
je 0x44e7fc
xor eax, eax
jmp 0x44e82f
mov dword [esp], ebp
lea eax, [0xa21ee9]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xe
call fcn.00406ed0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x5c]
test al, al
jne 0x44e857
mov edi, dword [0xefd0e0]
mov dword [esp + 0x48], edi
mov eax, dword [0xefd0e4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
jmp 0x44e8d2
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.00456b30
mov eax, dword [esp + 8]
mov ecx, eax
sar eax, 0x1f
cmp dword [esp + 8], ecx
sete dl
cmp dword [esp + 0xc], eax
sete al
and eax, edx
test al, al
je 0x44e695
movzx ebx, byte [esp + 0x10]
test bl, bl
je 0x44e695
mov dword [0xeb2ebc], ecx
jmp 0x44e695
cmp dword [0xf33e60], 1
jg 0x44e8a9
add esp, 0x50
ret
lea eax, [0xa77e86]
mov dword [esp], eax
mov dword [esp + 4], 0x66
call fcn.0043d060
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
cmp ebx, eax
jge 0x44e695
mov edx, dword [edi + ebx*4]
mov esi, dword [edx + 4]
cmp esi, ecx
jne 0x44e8bf
mov dword [esp + 0x3c], edx
mov eax, dword [edx]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00406ed0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x44e91d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
jmp 0x44e8bf
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
call fcn.00456b30
mov eax, dword [esp + 8]
mov ecx, eax
sar eax, 0x1f
cmp dword [esp + 8], ecx
sete dl
cmp dword [esp + 0xc], eax
sete al
and edx, eax
test dl, dl
jne 0x44e950
xor ecx, ecx
movzx ebx, byte [esp + 0x10]
and ebx, edx
test bl, bl
je 0x44e991
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x44e969
mov ebp, dword [esp + 0x3c]
jmp 0x44e978
mov ebp, dword [esp + 0x3c]
mov esi, dword [ebp + 8]
test esi, esi
je 0x44e978
mov dword [esi], ecx
jmp 0x44e995
mov ebp, dword [ebp + 0xc]
test ebp, ebp
je 0x44e995
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.004065c0
mov ebx, dword [esp + 0x5c]
jmp 0x44e995
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
jmp 0x44e8bf
mov ecx, edx
call fcn.0046d7c0
call fcn.0046d780
mov ecx, edx
call fcn.0046d7c0
call fcn.0046d780
dec edi
test edi, edi
jl 0x44e9f7
cmp edi, esi
jae 0x44ea1a
lea eax, [ebp + edi]
cmp byte [eax], 0x2c
jne 0x44e9c6
test edi, edi
jl 0x44e9f7
cmp edi, esi
ja 0x44ea11
lea eax, [edi + 1]
cmp esi, eax
jb 0x44ea0a
sub esi, edi
dec esi
mov ecx, esi
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, ebp
jmp 0x44e9fd
xor edi, edi
mov eax, ebp
xor ebp, ebp
mov ecx, esi
mov edx, eax
mov ebx, edi
mov eax, ebp
jmp 0x44e70d
mov ecx, esi
call fcn.0046d7c0
mov ecx, edi
mov edx, esi
call fcn.0046d780
mov eax, edi
mov ecx, esi
call fcn.0046d760
nop
call fcn.0046c2f0
jmp fcn.0044e670