Function at 0x427040
Capabilities:
Get geographical location

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x427533
sub rsp, 0xb8
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xd0], rcx
test byte [rax], al
mov edx, dword [0x011264e8]
mov dword [rsp + 0x18], edx
mov byte [rsp + 0x1c], 0
mov rdx, r8
xor edi, edi
jmp 0x4270ac
lea rsi, [r10 + r8*8]
shl r8, 3
sub r15, r8
mov r8, r15
test r8, r8
jbe 0x427185
mov r9, rsi
shr rsi, 9
nop dword [rax]
cmp rcx, rsi
jbe 0x42752a
mov rsi, qword [rbx + rsi*8]
mov r10, rsi
shr rsi, 0x14
cmp rsi, 0x40
jae 0x42751d
mov rsi, qword [rax + rsi*8 + 0x10198]
test byte [rsi], al
and r10, 0xfffff
mov rsi, qword [rsi + r10*8]
test byte [rsi], al
mov r10, r9
and r9, 0x1ff
mov r11, r9
shr r9, 3
cmp r9, 0x40
ja 0x427510
lea r12, [r9 - 0x40]
mov r13, r12
sar r12, 0x3f
and r12, r9
lea r9, [rsi + r12]
lea r9, [r9 + 0x21000]
neg r13
lea r12, [rsi + r12]
lea r12, [r12 + 0x21040]
mov r15, r8
shr r8, 3
nop
cmp r13, r8
ja 0x427148
mov r8, r13
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x88], r11
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x98], r12
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x80], r10
xor r13d, r13d
nop dword [rax]
jmp 0x427322
mov qword [rsp + 0x30], rdi
nop
cmp byte [rsp + 0x1c], 0
je 0x4272bf
mov byte [rsp + 0x1c], 0
mov ecx, 0xffffffff
lea rbx, [0x011264f0]
lock xadd dword [rbx], ecx
dec ecx
test ecx, ecx
jne 0x4271be
mov ecx, dword [0x011264ec]
test ecx, ecx
setne cl
jmp 0x4271c0
xor ecx, ecx
test cl, cl
je 0x4272bf
nop
cmp dword [0x01154970], 0
jle 0x4272bf
mov rax, qword [0x01154f50]
mov qword [rsp + 0x78], rax
mov rcx, qword [0x01126530]
mov qword [rsp + 0x70], rcx
mov rdx, qword [0x01126520]
mov qword [rsp + 0x68], rdx
movsd xmm0, qword [0x01126538]
movsd qword [rsp + 0x60], xmm0
call fcn.004392e0
lea rax, [0x00acffa9]
mov ebx, 0x1f
call fcn.00439be0
mov rax, qword [rsp + 0x78]
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ac07b4]
mov ebx, 0xe
call fcn.00439be0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
sub rax, rcx
shr rax, 0x14
call fcn.004398e0
lea rax, [0x00ac7b06]
mov ebx, 0x17
nop
call fcn.00439be0
mov rax, qword [rsp + 0x68]
call fcn.004398e0
lea rax, [0x00abe1a3]
mov ebx, 0xa
nop dword [rax + rax]
call fcn.00439be0
movsd xmm0, qword [rsp + 0x60]
call fcn.004395e0
lea rax, [0x00abf2a6]
mov ebx, 0xc
nop dword [rax]
call fcn.00439be0
call fcn.00439360
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x30]
cmp byte [0x011062f0], 0
je 0x4272fc
nop
nop
call fcn.0040c800
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x30]
sub rax, rcx
shl rax, 0xd
call fcn.00456720
nop
nop
mov rax, qword [rsp + 0xc0]
call fcn.0040c5e0
mov rdi, qword [rsp + 0x30]
mov rax, rdi
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
inc r13
mov rdx, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xc8]
cmp r8, r13
jle 0x42709e
lea rdx, [r9 + r13]
mov qword [rsp + 0xa8], rdx
mov dl, byte [rdx]
nop dword [rax]
cmp r8, r13
jbe 0x427505
movzx ebx, byte [r13 + r12]
not ebx
and edx, ebx
test dl, dl
je 0x42730f
mov qword [rsp + 0x40], r13
xor ebx, ebx
nop
jmp 0x427376
lea rbx, [rcx + 1]
mov rcx, qword [rsp + 0xd0]
mov r15, qword [rsp + 0x90]
cmp rbx, 8
jae 0x42730f
mov rcx, rbx
mov r15d, 1
shl r15d, cl
test r15b, dl
je 0x427362
lea r15, [r11 + r13*8]
add r15, rcx
nop word [rax + rax]
nop dword [rax]
cmp r15, 0x200
jae 0x4274f5
mov r15, qword [rsi + r15*8 + 0x20000]
mov r10d, dword [r15 + 0x58]
mov r12d, dword [rsp + 0x18]
add r12d, 0xfffffffe
cmp r10d, r12d
je 0x4273cf
xor r15d, r15d
xor r10d, r10d
jmp 0x42742b
nop
cmp byte [rsp + 0x1c], 0
jne 0x4273ef
mov r10d, 1
lea r12, [0x011264f0]
lock xadd dword [r12], r10d
mov byte [rsp + 0x1c], 1
mov r10d, dword [rsp + 0x18]
lea r12d, [r10 - 2]
dec r10d
mov eax, r12d
lock cmpxchg dword [r15 + 0x58], r10d
sete r10b
test r10b, r10b
je 0x42741d
mov rax, qword [rsp + 0xc0]
mov r10d, 1
jmp 0x42742b
mov rax, qword [rsp + 0xc0]
xor r15d, r15d
xor r10d, r10d
mov qword [rsp + 0x20], r15
test r10b, r10b
je 0x4274e0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rdi
mov rcx, qword [r15 + 0x20]
mov qword [rsp + 0x28], rcx
nop
nop
call fcn.0040c800
lea rax, [rsp + 0x20]
xor ebx, ebx
call fcn.00424900
mov byte [rsp + 0x17], al
nop
nop
mov rax, qword [rsp + 0xc0]
call fcn.0040c5e0
mov rcx, qword [rsp + 0xa8]
mov dl, byte [rcx]
mov rbx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x50]
add rbx, rdi
movzx esi, byte [rsp + 0x17]
movzx esi, sil
test rsi, rsi
cmovne rdi, rbx
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x40]
movzx r8d, byte [rsi + rbx]
not r8d
and edx, r8d
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x58]
mov rbx, rcx
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x88]
mov r13, qword [rsp + 0x40]
mov r10, qword [rsp + 0x80]
mov r12, qword [rsp + 0x98]
jmp 0x427362
mov rax, r15
mov ecx, 0x200
nop dword [rax]
call fcn.00465b80
mov rax, r13
mov rcx, r8
call fcn.00465b60
mov rax, r9
mov ecx, 0x40
call fcn.00465c40
mov rax, rsi
mov ecx, 0x40
call fcn.00465b80
mov rax, rsi
call fcn.00465b80
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.00427040