Function at 0x418340
Capabilities:
Get geographical location

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x418a26
sub rsp, 0x70
mov qword [rsp + 0x68], rbp
lea rbp, [rsp + 0x68]
movzx edx, byte [rax]
shr dl, 1
movsx rdx, dl
cmp rdx, 0x44
jae 0x418a13
mov qword [rsp + 0x78], rax
lea rcx, [0x00938000]
movzx eax, byte [rcx + rdx]
shl rax, 0xd
xor ebx, ebx
call fcn.004257c0
cmp byte [0x0114d490], 0
je 0x418394
call fcn.00456700
mov ecx, dword [0x0116d688]
mov dword [rsp + 0x20], ecx
mov byte [rsp + 0x24], 0
mov ecx, dword [rsp + 0x20]
shr ecx, 1
and ecx, 1
mov dword [rsp + 0x14], ecx
lea rdx, [rcx + rcx*4]
mov qword [rsp + 0x60], rdx
mov rbx, qword [rsp + 0x78]
lea rax, [rbx + rdx*8]
lea rax, [rax + 8]
call fcn.0042f940
test rax, rax
jne 0x4183e5
mov edx, dword [rsp + 0x14]
mov rax, qword [rsp + 0x78]
mov ecx, 0x64
nop
jmp 0x41846d
xor ecx, ecx
mov qword [rsp + 0x38], rax
cmp byte [0x0114d490], 0
je 0x418403
test cl, cl
jne 0x418403
call fcn.00456800
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x38]
movzx edx, word [rax + 0x60]
cmp rcx, rdx
je 0x41844a
mov rbx, qword [rax + 0x30]
cmp rbx, rcx
je 0x41844a
and rbx, 0xffffffffffffffc0
shr rbx, 3
call fcn.00414d60
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x30]
mov rbx, rcx
mov rcx, rdx
shr rbx, cl
mov qword [rax + 0x40], rbx
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
lea rax, [0x00ad5244]
mov ebx, 0x18
call fcn.00437b60
mov rbx, qword [rsp + 0x18]
lea rcx, [rbx - 1]
mov edx, dword [rsp + 0x14]
mov rax, qword [rsp + 0x78]
test rcx, rcx
jl 0x418680
lea ebx, [rdx - 1]
neg ebx
nop dword [rax + rax]
cmp rbx, 2
jae 0x418a07
mov qword [rsp + 0x18], rcx
lea rcx, [rbx + rbx*4]
lea rcx, [rax + rcx*8]
lea rcx, [rcx + 8]
mov rax, rcx
nop
call fcn.0042f940
test rax, rax
je 0x418656
mov edx, dword [rax + 0x58]
mov esi, dword [rsp + 0x20]
add esi, 0xfffffffe
cmp edx, esi
je 0x4184c2
xor ecx, ecx
xor edx, edx
jmp 0x41850d
nop
cmp byte [rsp + 0x24], 0
jne 0x4184df
mov edx, 1
lea rsi, [0x0116d690]
lock xadd dword [rsi], edx
mov byte [rsp + 0x24], 1
mov edx, dword [rsp + 0x20]
lea esi, [rdx - 2]
dec edx
mov rcx, rax
mov eax, esi
lock cmpxchg dword [rcx + 0x58], edx
sete dl
test dl, dl
je 0x418506
mov rax, rcx
mov ecx, 1
mov rdx, rax
jmp 0x41850d
mov rax, rcx
xor ecx, ecx
xor edx, edx
mov qword [rsp + 0x30], rdx
test cl, cl
je 0x41845b
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov ebx, 1
call fcn.00424900
nop
cmp byte [rsp + 0x24], 0
je 0x41864a
mov byte [rsp + 0x24], 0
mov ecx, 0xffffffff
lea rdx, [0x0116d690]
lock xadd dword [rdx], ecx
dec ecx
test ecx, ecx
jne 0x418562
mov ecx, dword [0x0116d68c]
test ecx, ecx
setne cl
jmp 0x418564
xor ecx, ecx
test cl, cl
je 0x41864a
nop
cmp dword [0x0119bd10], 0
jle 0x41864a
mov rax, qword [0x0119c2f0]
mov qword [rsp + 0x58], rax
mov rcx, qword [0x0116d6d0]
mov qword [rsp + 0x50], rcx
mov rdx, qword [0x0116d6c0]
mov qword [rsp + 0x48], rdx
movsd xmm0, qword [0x0116d6d8]
movsd qword [rsp + 0x40], xmm0
call fcn.004392e0
lea rax, [0x00adc2c9]
mov ebx, 0x1f
nop dword [rax]
call fcn.00439be0
mov rax, qword [rsp + 0x58]
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00acbf71]
mov ebx, 0xe
nop
call fcn.00439be0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ad37d2]
mov ebx, 0x17
call fcn.00439be0
mov rax, qword [rsp + 0x48]
call fcn.004398e0
lea rax, [0x00ac9939]
mov ebx, 0xa
call fcn.00439be0
movsd xmm0, qword [rsp + 0x40]
call fcn.004395e0
lea rax, [0x00aca915]
mov ebx, 0xc
nop
call fcn.00439be0
call fcn.00439360
xor ecx, ecx
mov rax, qword [rsp + 0x38]
jmp 0x4183e7
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x18]
mov edx, dword [rsp + 0x14]
jmp 0x418680
mov rbx, qword [rsp + 0x18]
lea rcx, [rbx - 1]
mov rax, qword [rsp + 0x78]
mov edx, dword [rsp + 0x14]
nop dword [rax + rax]
test rcx, rcx
jl 0x41889b
lea ebx, [rdx - 1]
neg ebx
cmp rbx, 2
jae 0x4189fb
mov qword [rsp + 0x18], rcx
lea rcx, [rbx + rbx*4]
lea rcx, [rax + rcx*8]
lea rcx, [rcx + 0x58]
mov rax, rcx
call fcn.0042f940
test rax, rax
je 0x418896
mov edx, dword [rax + 0x58]
mov esi, dword [rsp + 0x20]
add esi, 0xfffffffe
cmp edx, esi
je 0x4186ce
xor ecx, ecx
xor edx, edx
jmp 0x418719
nop
cmp byte [rsp + 0x24], 0
jne 0x4186eb
mov edx, 1
lea rsi, [0x0116d690]
lock xadd dword [rsi], edx
mov byte [rsp + 0x24], 1
mov edx, dword [rsp + 0x20]
lea esi, [rdx - 2]
dec edx
mov rcx, rax
mov eax, esi
lock cmpxchg dword [rcx + 0x58], edx
sete dl
test dl, dl
je 0x418712
mov rax, rcx
mov ecx, 1
mov rdx, rax
jmp 0x418719
mov rax, rcx
xor ecx, ecx
xor edx, edx
mov qword [rsp + 0x28], rdx
nop
test cl, cl
je 0x418666
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x28]
mov ebx, 1
call fcn.00424900
mov rax, qword [rsp + 0x28]
call fcn.00414d80
mov rbx, qword [rsp + 0x28]
cmp qword [rbx + 0x38], rax
jne 0x41876d
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
lea rax, [rdx + rcx*8]
lea rax, [rax + 0x58]
call fcn.0042f7a0
jmp 0x418666
mov qword [rbx + 0x30], rax
nop
cmp byte [rsp + 0x24], 0
je 0x41888a
mov byte [rsp + 0x24], 0
mov ecx, 0xffffffff
lea rdx, [0x0116d690]
lock xadd dword [rdx], ecx
dec ecx
test ecx, ecx
jne 0x4187a5
mov ecx, dword [0x0116d68c]
test ecx, ecx
setne cl
jmp 0x4187a7
xor ecx, ecx
test cl, cl
je 0x41888a
nop
cmp dword [0x0119bd10], 0
jle 0x41888a
mov rax, qword [0x0119c2f0]
mov qword [rsp + 0x58], rax
mov rcx, qword [0x0116d6d0]
mov qword [rsp + 0x50], rcx
mov rdx, qword [0x0116d6c0]
mov qword [rsp + 0x48], rdx
movsd xmm0, qword [0x0116d6d8]
movsd qword [rsp + 0x40], xmm0
call fcn.004392e0
lea rax, [0x00adc2c9]
mov ebx, 0x1f
call fcn.00439be0
mov rax, qword [rsp + 0x58]
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00acbf71]
mov ebx, 0xe
nop
call fcn.00439be0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ad37d2]
mov ebx, 0x17
call fcn.00439be0
mov rax, qword [rsp + 0x48]
call fcn.004398e0
lea rax, [0x00ac9939]
mov ebx, 0xa
call fcn.00439be0
movsd xmm0, qword [rsp + 0x40]
call fcn.004395e0
lea rax, [0x00aca915]
mov ebx, 0xc
nop
call fcn.00439be0
call fcn.00439360
xor ecx, ecx
mov rax, qword [rsp + 0x38]
jmp 0x4183e7
mov rax, qword [rsp + 0x78]
nop
cmp byte [rsp + 0x24], 0
je 0x4189c0
mov byte [rsp + 0x24], 0
mov ecx, 0xffffffff
lea rdx, [0x0116d690]
lock xadd dword [rdx], ecx
dec ecx
nop
test ecx, ecx
jne 0x4188d1
mov ecx, dword [0x0116d68c]
test ecx, ecx
setne cl
jmp 0x4188d3
xor ecx, ecx
test cl, cl
je 0x4189c0
nop
cmp dword [0x0119bd10], 0
jle 0x4189c0
mov rax, qword [0x0119c2f0]
mov qword [rsp + 0x58], rax
mov rcx, qword [0x0116d6d0]
mov qword [rsp + 0x50], rcx
mov rdx, qword [0x0116d6c0]
mov qword [rsp + 0x48], rdx
movsd xmm0, qword [0x0116d6d8]
movsd qword [rsp + 0x40], xmm0
nop dword [rax + rax]
call fcn.004392e0
lea rax, [0x00adc2c9]
mov ebx, 0x1f
call fcn.00439be0
mov rax, qword [rsp + 0x58]
shr rax, 0x14
nop
call fcn.004398e0
lea rax, [0x00acbf71]
mov ebx, 0xe
call fcn.00439be0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ad37d2]
mov ebx, 0x17
call fcn.00439be0
mov rax, qword [rsp + 0x48]
call fcn.004398e0
lea rax, [0x00ac9939]
mov ebx, 0xa
call fcn.00439be0
movsd xmm0, qword [rsp + 0x40]
nop
call fcn.004395e0
lea rax, [0x00aca915]
mov ebx, 0xc
call fcn.00439be0
call fcn.00439360
mov rax, qword [rsp + 0x78]
movzx ecx, byte [0x0114d490]
mov byte [rsp + 0x13], cl
test cl, cl
je 0x4189d9
call fcn.00456800
mov rax, qword [rsp + 0x78]
call fcn.00418b40
nop
test rax, rax
je 0x4189ef
movzx ecx, byte [rsp + 0x13]
jmp 0x4183e7
xor eax, eax
mov rbp, qword [rsp + 0x68]
add rsp, 0x70
ret
mov eax, ebx
mov ecx, 2
call fcn.00465ba0
mov eax, ebx
mov ecx, 2
call fcn.00465ba0
mov rax, rdx
mov ecx, 0x44
nop dword [rax + rax]
call fcn.00465ba0
nop
mov qword [rsp + 8], rax
call fcn.00463480
mov rax, qword [rsp + 8]
jmp fcn.00418340