Function at 0x140056e60
Capabilities:
Get geographical location

Disassembly:
lea r12, [rsp - 0x50]
cmp r12, qword [r14 + 0x10]
jbe 0x14005748b
push rbp
mov rbp, rsp
sub rsp, 0xc8
mov rdx, qword [rax + 0x18]
nop
test rdx, rdx
je 0x14005715a
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.140059f00
mov rdi, qword [rsp + 0x48]
cmp rax, rdi
jne 0x140056ec5
mov eax, 0xffffffff
jmp 0x140056eea
dec rdi
mov qword [rsp + 0x48], rdi
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov ecx, 1
nop
call fcn.14005b0c0
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 0x140056fba
mov rsi, qword [rsp + 0x80]
cmp byte [rsi + 0x2b], 1
ja 0x140056f2f
mov r9, qword [rsp + 0x78]
xor r8d, r8d
jmp 0x140056f63
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 0x1400573db
mov r10d, dword [r8]
test r10d, r10d
jle 0x1400573db
mov edx, dword [r8 + 4]
test edx, edx
jle 0x140056fb4
mov qword [rsp + 0xb8], r8
test eax, eax
jl 0x14005730a
cmp r10d, eax
jle 0x14005730a
lea ebx, [rdx + 7]
sar ebx, 3
imul ebx, eax
movsxd rbx, ebx
lea rbx, [r8 + rbx]
lea rbx, [rbx + 8]
jmp 0x140056fbe
xor edx, edx
xor ebx, ebx
jmp 0x140056fbe
xor edx, edx
xor ebx, ebx
mov qword [rsp + 0xc0], rbx
mov dword [rsp + 0x24], edx
mov rax, rcx
call fcn.140056b80
test eax, eax
jle 0x14005709c
test rbx, rbx
je 0x140056ff4
mov rdx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x78]
mov r12d, eax
jmp 0x1400570ac
mov rdx, qword [rsp + 0x80]
cmp byte [rdx + 0x2b], 0
ja 0x14005700c
mov r11, qword [rsp + 0x78]
xor r10d, r10d
jmp 0x140057040
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 0x14005725b
mov r12d, dword [r10]
test r12d, r12d
jle 0x14005725b
mov qword [rsp + 0xb0], r10
mov r13d, dword [rsp + 0x20]
test r13d, r13d
jl 0x14005717e
cmp r12d, r13d
jle 0x14005717e
mov r12d, dword [r10 + 4]
test r12d, r12d
jne 0x140057082
xor r12d, r12d
jmp 0x1400570ac
lea r15d, [r12 + 7]
sar r15d, 3
imul r13d, r15d
movsxd r13, r13d
lea rbx, [r10 + r13]
lea rbx, [rbx + 8]
jmp 0x1400570ac
mov rdx, qword [rsp + 0x80]
mov r11, qword [rsp + 0x78]
mov r12d, eax
test cl, cl
je 0x1400570bf
mov r10d, 1
lea r11, [0x1416f9890]
jmp 0x140057136
cmp byte [rdx + 0x2b], 2
ja 0x1400570c9
xor edx, edx
jmp 0x1400570f6
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 0x140057130
mov r10, qword [rdx]
nop
nop
test r10, r10
jl 0x140057179
mov qword [rsp + 0xa8], rdx
mov eax, 0x10
mul r10
jo 0x140057174
mov rdx, qword [rsp + 0xa8]
add rdx, 8
mov r11, rdx
neg rdx
cmp rax, rdx
jbe 0x140057136
jmp 0x140057174
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.140067240
call fcn.140067240
movsxd rcx, r13d
mov qword [rsp + 0x70], rcx
mov ebx, dword [rdx + 4]
mov rax, r11
call fcn.14005a020
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.14003f2a0
lea rax, [0x140af061b]
mov ebx, 0x13
nop
call fcn.14003fb20
mov rax, qword [rsp + 0x70]
call fcn.14003f940
lea rax, [0x140adbfb1]
mov ebx, 5
nop dword [rax + rax]
call fcn.14003fb20
mov rax, qword [rsp + 0x68]
call fcn.14003f940
lea rax, [0x140afdc57]
mov ebx, 0x1c
nop dword [rax + rax]
call fcn.14003fb20
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x28]
call fcn.14003fb20
lea rax, [0x140ae5263]
mov ebx, 0xb
call fcn.14003fb20
mov rax, qword [rsp + 0x48]
call fcn.14003f9a0
lea rax, [0x140ada3b5]
mov ebx, 2
nop
call fcn.14003fb20
call fcn.14003f300
lea rax, [0x140aec2af]
mov ebx, 0x10
call fcn.14003d800
shl eax, 3
movsxd rcx, eax
mov qword [rsp + 0x60], rcx
mov ebx, dword [rdx + 4]
mov rax, r11
call fcn.14005a020
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.14003f2a0
lea rax, [0x140aeac76]
mov ebx, 0xf
call fcn.14003fb20
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x30]
call fcn.14003fb20
lea rax, [0x140ae963b]
mov ebx, 0xe
call fcn.14003fb20
mov rax, qword [rsp + 0x58]
call fcn.14003f9a0
lea rax, [0x141031ea8]
mov ebx, 1
nop
call fcn.14003fb20
mov rax, qword [rsp + 0x60]
call fcn.14003f9a0
call fcn.14003f4e0
call fcn.14003f300
lea rax, [0x140aec29f]
mov ebx, 0x10
call fcn.14003d800
movsxd rcx, eax
mov qword [rsp + 0x70], rcx
mov ebx, dword [rsi + 4]
mov rax, r9
call fcn.14005a020
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.14003f2a0
lea rax, [0x140af061b]
mov ebx, 0x13
call fcn.14003fb20
mov rax, qword [rsp + 0x70]
call fcn.14003f940
lea rax, [0x140adbfb1]
mov ebx, 5
call fcn.14003fb20
mov rax, qword [rsp + 0x68]
call fcn.14003f940
lea rax, [0x140b00fd0]
mov ebx, 0x1e
call fcn.14003fb20
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x38]
call fcn.14003fb20
lea rax, [0x140ae5263]
mov ebx, 0xb
call fcn.14003fb20
mov rax, qword [rsp + 0x48]
call fcn.14003f9a0
lea rax, [0x140ada3b5]
mov ebx, 2
nop
call fcn.14003fb20
call fcn.14003f300
lea rax, [0x140aec2af]
mov ebx, 0x10
call fcn.14003d800
mov ebx, dword [rsi + 4]
mov rax, r9
call fcn.14005a020
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.14003f2a0
lea rax, [0x140aeac76]
mov ebx, 0xf
call fcn.14003fb20
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x40]
call fcn.14003fb20
lea rax, [0x140aec28f]
mov ebx, 0x10
call fcn.14003fb20
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
sub rax, rcx
call fcn.14003f9a0
lea rax, [0x141031ea8]
mov ebx, 1
nop dword [rax + rax]
call fcn.14003fb20
mov rax, qword [rsp + 0x50]
call fcn.14003f9a0
call fcn.14003f4e0
call fcn.14003f300
lea rax, [0x140aec29f]
mov ebx, 0x10
call fcn.14003d800
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
call fcn.14006f0a0
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
jmp fcn.140056e60