Function at 0x140025600
Capabilities:
Get geographical location

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x140025917
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rsp + 0x60], rcx
lea rdx, [rcx - 1]
nop dword [rax + rax]
test rcx, rdx
jne 0x1400258d6
test rcx, rcx
je 0x1400258d6
cmp rcx, 0x40
ja 0x140025896
nop dword [rax]
test rdi, rdi
jne 0x14002564a
mov rdx, rcx
jmp 0x140025662
lea rdx, [rdi + rcx]
lea rdx, [rdx - 1]
mov rsi, rcx
neg rsi
nop
and rsi, rdx
mov rdx, rcx
mov rcx, rsi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rcx
shr rbx, 6
jmp 0x140025689
mov rbx, qword [rsp + 0x20]
dec rbx
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x20], rbx
test rbx, rbx
jl 0x1400256d5
cmp rbx, 8
jae 0x140025889
test byte [rax], al
mov rcx, qword [rax + rbx*8]
or rcx, qword [rax + rbx*8 + 0x40]
mov rax, rcx
mov rbx, rdx
call fcn.140025460
cmp rax, 0xffffffffffffffff
je 0x140025672
mov rax, qword [rsp + 0x20]
test rax, rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x20]
jl 0x140025785
nop dword [rax + rax]
cmp rbx, 8
jae 0x14002587c
test byte [rax], al
mov rcx, qword [rax + rbx*8]
or rcx, qword [rax + rbx*8 + 0x40]
mov rax, rcx
mov rbx, rdx
nop dword [rax + rax]
call fcn.140025460
mov rcx, rax
not rax
mov rdx, qword [rsp + 0x20]
mov rsi, rdx
shl rdx, 6
bsr rdi, rax
mov r8, 0xffffffffffffffff
cmove rdi, r8
lea r9, [rdi - 0x3f]
neg r9
lea r10, [rdi + 1]
neg r10
mov rax, rcx
mov rcx, r10
shl rax, cl
lea rcx, [rdi + rdx]
lea rcx, [rcx + 1]
lea rdx, [rdi + rdx]
lea rdx, [rdx + 1]
cmp r9, 0x40
sbb r9, r9
and rax, r9
test rax, rax
je 0x140025773
bsr rsi, rax
cmove rsi, r8
add rsi, 0xffffffffffffffc1
neg rsi
mov rdi, rsi
jmp 0x140025803
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdx
inc rdi
dec rsi
jmp 0x1400257ac
xor eax, eax
mov rbx, rax
add rsp, 0x40
pop rbp
ret
mov rsi, qword [rsp + 0x18]
dec rsi
mov rdx, qword [rsp + 0x30]
mov r8, 0xffffffffffffffff
mov rdi, rcx
mov rcx, qword [rsp + 0x28]
test rsi, rsi
jl 0x140025803
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x10], rdi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + rsi*8]
or rax, qword [rcx + rsi*8 + 0x40]
mov rbx, qword [rsp + 0x60]
call fcn.140025460
bsr rcx, rax
mov rdx, 0xffffffffffffffff
cmove rcx, rdx
inc rcx
mov rsi, qword [rsp + 0x10]
sub rsi, rcx
lea rcx, [rsi + 0x40]
test rax, rax
je 0x140025790
mov rdx, qword [rsp + 0x30]
mov rdi, rcx
mov rcx, qword [rsp + 0x28]
mov rsi, qword [0x1407f2ce0]
mov r8, qword [rsp + 0x38]
cmp r8, rdi
mov r9, rdi
cmovb rdi, r8
mov r8, rdx
sub rdx, rdi
nop
cmp rsi, 0x2000
jbe 0x14002586d
cmp qword [0x1407f2cd8], rsi
jae 0x140025868
shr rsi, 0xd
lea r10, [rdx + rsi]
lea r10, [r10 - 1]
neg rsi
and r10, rsi
nop
cmp rcx, r10
jb 0x140025863
sub r8, r9
and rsi, rdx
nop
cmp rsi, r8
jb 0x14002585e
sub rdx, rsi
add rdi, rdx
jmp 0x140025870
mov rsi, rdx
jmp 0x140025870
mov rsi, rdx
jmp 0x140025870
mov rsi, rdx
jmp 0x140025870
mov rsi, rdx
mov rax, rsi
mov rbx, rdi
add rsp, 0x40
pop rbp
ret
mov rax, rbx
mov ecx, 8
call fcn.14006d1c0
mov rax, rbx
mov ecx, 8
call fcn.14006d1c0
call fcn.14003b740
lea rax, [0x140491847]
mov ebx, 0xf
call fcn.14003bfc0
mov rax, qword [rsp + 0x60]
call fcn.14003bd00
call fcn.14003b980
nop dword [rax + rax]
call fcn.14003b7a0
lea rax, [0x14049039e]
mov ebx, 0xd
call fcn.140039ca0
call fcn.14003b740
lea rax, [0x140491847]
mov ebx, 0xf
call fcn.14003bfc0
mov rax, qword [rsp + 0x60]
call fcn.14003bd00
call fcn.14003b980
nop dword [rax + rax]
call fcn.14003b7a0
lea rax, [0x14049db4f]
mov ebx, 0x21
call fcn.140039ca0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.14006aec0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.140025600