Function at 0x140053300
Capabilities:
Get geographical location

Disassembly:
lea r12, [rsp - 0x50]
cmp r12, qword [r14 + 0x10]
jbe 0x14005392b
push rbp
mov rbp, rsp
sub rsp, 0xc8
mov rdx, qword [rax + 0x18]
nop
test rdx, rdx
je 0x1400535fa
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x48], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x80], rcx
mov rdx, qword [rax + 8]
mov qword [rsp + 0x78], rdx
mov ebx, dword [rcx]
mov rax, rdx
call fcn.1400563a0
mov rdi, qword [rsp + 0x48]
cmp rax, rdi
jne 0x140053365
mov eax, 0xffffffff
jmp 0x14005338a
dec rdi
mov qword [rsp + 0x48], rdi
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov ecx, 1
nop
call fcn.1400574c0
mov rdi, qword [rsp + 0x48]
mov qword [rsp + 0x48], rdi
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rcx + 0x38]
sub rdx, qword [rcx + 0x28]
cmp eax, 0xffffffff
mov esi, 0
cmove eax, esi
mov dword [rsp + 0x20], eax
test rdx, rdx
jbe 0x14005345a
mov rsi, qword [rsp + 0x80]
cmp byte [rsi + 0x2b], 1
ja 0x1400533cf
mov r9, qword [rsp + 0x78]
xor r8d, r8d
jmp 0x140053403
lea r8, [rsi + 0x2b]
mov r9d, dword [rsi + 0x1c]
lea r8, [r8 + r9*4]
lea r8, [r8 + 5]
mov r8d, dword [r8]
mov r9, qword [rsp + 0x78]
mov r10d, r8d
add r8, qword [r9 + 0x140]
cmp r10d, 0xffffffff
sete r10b
movzx r10d, r10b
dec r10
and r8, r10
mov qword [rsp + 0x50], rdx
test r8, r8
je 0x14005387b
mov r10d, dword [r8]
test r10d, r10d
jle 0x14005387b
mov edx, dword [r8 + 4]
test edx, edx
jle 0x140053454
mov qword [rsp + 0xb8], r8
test eax, eax
jl 0x1400537aa
cmp r10d, eax
jle 0x1400537aa
lea ebx, [rdx + 7]
sar ebx, 3
imul ebx, eax
movsxd rbx, ebx
lea rbx, [r8 + rbx]
lea rbx, [rbx + 8]
jmp 0x14005345e
xor edx, edx
xor ebx, ebx
jmp 0x14005345e
xor edx, edx
xor ebx, ebx
mov qword [rsp + 0xc0], rbx
mov dword [rsp + 0x24], edx
mov rax, rcx
call fcn.140053020
test eax, eax
jle 0x14005353c
test rbx, rbx
je 0x140053494
mov rdx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x78]
mov r12d, eax
jmp 0x14005354c
mov rdx, qword [rsp + 0x80]
cmp byte [rdx + 0x2b], 0
ja 0x1400534ac
mov r11, qword [rsp + 0x78]
xor r10d, r10d
jmp 0x1400534e0
lea r10, [rdx + 0x2b]
mov r11d, dword [rdx + 0x1c]
lea r10, [r10 + r11*4]
lea r10, [r10 + 1]
mov r10d, dword [r10]
mov r11, qword [rsp + 0x78]
mov r12d, r10d
add r10, qword [r11 + 0x140]
cmp r12d, 0xffffffff
sete r12b
movzx r12d, r12b
dec r12
and r10, r12
test r10, r10
je 0x1400536fb
mov r12d, dword [r10]
test r12d, r12d
jle 0x1400536fb
mov qword [rsp + 0xb0], r10
mov r13d, dword [rsp + 0x20]
test r13d, r13d
jl 0x14005361e
cmp r12d, r13d
jle 0x14005361e
mov r12d, dword [r10 + 4]
test r12d, r12d
jne 0x140053522
xor r12d, r12d
jmp 0x14005354c
lea r15d, [r12 + 7]
sar r15d, 3
imul r13d, r15d
movsxd r13, r13d
lea rbx, [r10 + r13]
lea rbx, [rbx + 8]
jmp 0x14005354c
mov rdx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x78]
mov r12d, eax
test cl, cl
je 0x14005355f
mov r10d, 1
lea r11, [0x1407f30e0]
jmp 0x1400535d6
cmp byte [rdx + 0x2b], 2
ja 0x140053569
xor edx, edx
jmp 0x140053596
lea r10, [rdx + 0x2b]
mov edx, dword [rdx + 0x1c]
lea rdx, [r10 + rdx*4]
lea rdx, [rdx + 9]
mov edx, dword [rdx]
mov r10d, edx
add rdx, qword [r11 + 0x140]
cmp r10d, 0xffffffff
sete r10b
movzx r10d, r10b
dec r10
and rdx, r10
test rdx, rdx
je 0x1400535d0
mov r10, qword [rdx]
nop
nop
test r10, r10
jl 0x140053619
mov qword [rsp + 0xa8], rdx
mov eax, 0x10
mul r10
jo 0x140053614
mov rdx, qword [rsp + 0xa8]
add rdx, 8
mov r11, rdx
neg rdx
cmp rax, rdx
jbe 0x1400535d6
jmp 0x140053614
xor r10d, r10d
xor r11d, r11d
mov eax, dword [rsp + 0x24]
mov ecx, r12d
mov rdi, rbx
mov rsi, r11
mov r8, r10
mov r9, r8
mov rbx, qword [rsp + 0xc0]
add rsp, 0xc8
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov ecx, eax
mov rdi, rbx
xor esi, esi
xor r8d, r8d
mov r9, r8
add rsp, 0xc8
pop rbp
ret
call fcn.140063640
call fcn.140063640
movsxd rcx, r13d
mov qword [rsp + 0x70], rcx
mov ebx, dword [rdx + 4]
mov rax, r11
call fcn.1400564c0
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x28], rbx
mov rcx, qword [rsp + 0xb0]
movsxd rcx, dword [rcx]
mov qword [rsp + 0x68], rcx
call fcn.14003b740
lea rax, [0x140494537]
mov ebx, 0x13
nop
call fcn.14003bfc0
mov rax, qword [rsp + 0x70]
call fcn.14003bde0
lea rax, [0x14048b792]
mov ebx, 5
nop dword [rax + rax]
call fcn.14003bfc0
mov rax, qword [rsp + 0x68]
call fcn.14003bde0
lea rax, [0x14049acb2]
mov ebx, 0x1c
nop dword [rax + rax]
call fcn.14003bfc0
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x28]
call fcn.14003bfc0
lea rax, [0x14048eaad]
mov ebx, 0xb
call fcn.14003bfc0
mov rax, qword [rsp + 0x48]
call fcn.14003be40
lea rax, [0x14048aa97]
mov ebx, 2
nop
call fcn.14003bfc0
call fcn.14003b7a0
lea rax, [0x1404923c4]
mov ebx, 0x10
call fcn.140039ca0
shl eax, 3
movsxd rcx, eax
mov qword [rsp + 0x60], rcx
mov ebx, dword [rdx + 4]
mov rax, r11
call fcn.1400564c0
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x30], rbx
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x40]
mov qword [rsp + 0x58], rcx
call fcn.14003b740
lea rax, [0x14049190a]
mov ebx, 0xf
call fcn.14003bfc0
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x30]
call fcn.14003bfc0
lea rax, [0x140490fe3]
mov ebx, 0xe
call fcn.14003bfc0
mov rax, qword [rsp + 0x58]
call fcn.14003be40
lea rax, [0x140522b00]
mov ebx, 1
nop
call fcn.14003bfc0
mov rax, qword [rsp + 0x60]
call fcn.14003be40
call fcn.14003b980
call fcn.14003b7a0
lea rax, [0x1404923b4]
mov ebx, 0x10
call fcn.140039ca0
movsxd rcx, eax
mov qword [rsp + 0x70], rcx
mov ebx, dword [rsi + 4]
mov rax, r9
call fcn.1400564c0
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x38], rbx
mov rcx, qword [rsp + 0xb8]
movsxd rcx, dword [rcx]
mov qword [rsp + 0x68], rcx
call fcn.14003b740
lea rax, [0x140494537]
mov ebx, 0x13
call fcn.14003bfc0
mov rax, qword [rsp + 0x70]
call fcn.14003bde0
lea rax, [0x14048b792]
mov ebx, 5
call fcn.14003bfc0
mov rax, qword [rsp + 0x68]
call fcn.14003bde0
lea rax, [0x14049c1cd]
mov ebx, 0x1e
call fcn.14003bfc0
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x38]
call fcn.14003bfc0
lea rax, [0x14048eaad]
mov ebx, 0xb
call fcn.14003bfc0
mov rax, qword [rsp + 0x48]
call fcn.14003be40
lea rax, [0x14048aa97]
mov ebx, 2
nop
call fcn.14003bfc0
call fcn.14003b7a0
lea rax, [0x1404923c4]
mov ebx, 0x10
call fcn.140039ca0
mov ebx, dword [rsi + 4]
mov rax, r9
call fcn.1400564c0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x40], rbx
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x58], rcx
call fcn.14003b740
lea rax, [0x14049190a]
mov ebx, 0xf
call fcn.14003bfc0
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x40]
call fcn.14003bfc0
lea rax, [0x1404923a4]
mov ebx, 0x10
call fcn.14003bfc0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
call fcn.14003be40
lea rax, [0x140522b00]
mov ebx, 1
nop dword [rax + rax]
call fcn.14003bfc0
mov rax, qword [rsp + 0x50]
call fcn.14003be40
call fcn.14003b980
call fcn.14003b7a0
lea rax, [0x1404923b4]
mov ebx, 0x10
call fcn.140039ca0
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
call fcn.14006aec0
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
jmp fcn.140053300