Function at 0x140238190
Capabilities:
Get geographical location

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rdi, rdx
mov rsi, rcx
mov r10, qword [rdx + 0x20]
mov rax, qword [rdx + 0x28]
cmp rax, r10
jae 0x140238216
lea r14, [rdi + 0x18]
mov rdx, qword [rdi + 0x18]
inc rax
mov r8, r10
neg r8
movabs rbx, 0x100002600
nop word cs:[rax + rax]
movzx r9d, byte [rdx + rax - 1]
cmp r9, 0x20
ja 0x140238223
bt rbx, r9
jae 0x140238223
mov qword [rdi + 0x28], rax
lea r9, [r8 + rax]
inc r9
inc rax
cmp r9, 1
jne 0x1402381f0
mov qword [rbp - 0x28], 5
jmp 0x1402388fb
cmp r9d, 0x5b
je 0x140238743
cmp r9d, 0x7b
jne 0x14023898d
dec byte [rdi + 0x30]
je 0x1402388f3
mov qword [rdi + 0x28], rax
cmp rax, r10
jae 0x140238736
mov cx, 2
mov dword [rbp + 8], ecx
mov dword [rbp - 0x40], 2
mov r15d, 2
xor r12d, r12d
lea rcx, [rbp - 0x28]
xor edx, edx
mov qword [rbp - 8], rdx
mov qword [rbp], rdx
mov dword [rbp - 0x3c], 2
mov qword [rbp - 0x10], rdx
xor edx, edx
mov r8, qword [r14]
nop word cs:[rax + rax]
movzx r9d, byte [r8 + rax]
cmp r9, 0x2c
ja 0x140238310
bt rbx, r9
jae 0x1402382c0
inc rax
mov qword [rdi + 0x28], rax
cmp r10, rax
jne 0x140238290
jmp 0x140238736
cmp r9, 0x2c
jne 0x140238310
test dl, 1
je 0x140238c75
inc rax
mov qword [rdi + 0x28], rax
cmp rax, r10
jae 0x14023894a
nop
movzx r9d, byte [r8 + rax]
cmp r9, 0x20
ja 0x140238323
bt rbx, r9
jae 0x140238323
inc rax
mov qword [rdi + 0x28], rax
cmp r10, rax
jne 0x1402382e0
jmp 0x14023894a
cmp r9d, 0x7d
je 0x1402387ca
test dl, 1
jne 0x140238c97
cmp r9b, 0x22
jne 0x140238c2c
inc rax
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x10], 0
mov r13, rcx
mov rdx, r14
mov r8, rdi
call fcn.14046dc20
cmp dword [rbp - 0x28], 2
mov rdx, qword [rbp - 0x20]
je 0x140238a96
mov r8, qword [rbp - 0x18]
lea rcx, [rbp - 0x38]
call fcn.1402b3400
cmp byte [rbp - 0x38], 0
jne 0x1402389a8
movzx eax, byte [rbp - 0x37]
cmp rax, 5
ja case.default.0x140238387
lea rcx, [0x1404d94dc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp r12, 1
je 0x140238cc1
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
cmp rax, rcx
jae 0x140238736
mov rdx, qword [r14]
inc rax
neg rcx
nop dword [rax]
movzx r8d, byte [rdx + rax - 1]
cmp r8, 0x3a
ja 0x1402389ae
bt rbx, r8
jae 0x1402385d3
mov qword [rdi + 0x28], rax
lea r8, [rcx + rax]
inc r8
inc rax
cmp r8, 1
jne 0x1402383b0
jmp 0x140238736
mov rcx, rdi
call fcn.140223190
test rax, rax
je 0x140238720
jmp 0x1402389c2
cmp qword [rbp - 8], 1
je 0x140238ccf
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
cmp rax, rcx
jae 0x140238736
mov rdx, qword [r14]
inc rax
neg rcx
nop
movzx r8d, byte [rdx + rax - 1]
cmp r8, 0x3a
ja 0x1402389ae
bt rbx, r8
jae 0x14023860b
mov qword [rdi + 0x28], rax
lea r8, [rcx + rax]
inc r8
inc rax
cmp r8, 1
jne 0x140238420
jmp 0x140238736
cmp r15, 2
jne 0x140238cdd
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
cmp rax, rcx
jae 0x140238736
mov rdx, qword [r14]
inc rax
neg rcx
nop word [rax + rax]
movzx r8d, byte [rdx + rax - 1]
cmp r8, 0x3a
ja 0x1402389ae
bt rbx, r8
jae 0x140238646
mov qword [rdi + 0x28], rax
lea r8, [rcx + rax]
inc r8
inc rax
cmp r8, 1
jne 0x140238480
jmp 0x140238736
cmp dword [rbp - 0x40], 2
jne 0x140238ceb
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
cmp rax, rcx
jae 0x140238736
mov rdx, qword [r14]
inc rax
neg rcx
nop word [rax + rax]
movzx r8d, byte [rdx + rax - 1]
cmp r8, 0x3a
ja 0x1402389ae
bt rbx, r8
jae 0x14023867b
mov qword [rdi + 0x28], rax
lea r8, [rcx + rax]
inc r8
inc rax
cmp r8, 1
jne 0x1402384e0
jmp 0x140238736
cmp word [rbp + 8], 2
jne 0x140238cf9
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
cmp rax, rcx
jae 0x140238736
mov rdx, qword [r14]
inc rax
neg rcx
nop dword [rax + rax]
movzx r8d, byte [rdx + rax - 1]
cmp r8, 0x3a
ja 0x1402389ae
bt rbx, r8
jae 0x1402386ae
mov qword [rdi + 0x28], rax
lea r8, [rcx + rax]
inc r8
inc rax
cmp r8, 1
jne 0x140238540
jmp 0x140238736
cmp dword [rbp - 0x3c], 2
jne 0x140238d07
mov rcx, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
cmp rax, rcx
jae 0x140238736
mov rdx, qword [r14]
inc rax
neg rcx
nop word [rax + rax]
movzx r8d, byte [rdx + rax - 1]
cmp r8, 0x3a
ja 0x1402389ae
bt rbx, r8
jae 0x1402386e4
mov qword [rdi + 0x28], rax
lea r8, [rcx + rax]
inc r8
inc rax
cmp r8, 1
jne 0x1402385a0
jmp 0x140238736
cmp r8, 0x3a
jne 0x1402389ae
mov qword [rdi + 0x28], rax
lea rcx, [rbp - 0x38]
mov rdx, rdi
call fcn.14022e760
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x50], rax
cmp qword [rbp - 0x38], 0
jne 0x140238c42
mov r12d, 1
jmp 0x140238720
cmp r8, 0x3a
jne 0x1402389ae
mov qword [rdi + 0x28], rax
lea rcx, [rbp - 0x38]
mov rdx, rdi
call fcn.14022e760
mov rax, qword [rbp - 0x30]
cmp qword [rbp - 0x38], 0
jne 0x140238c51
mov ecx, 1
mov qword [rbp - 8], rcx
mov qword [rbp - 0x60], rax
jmp 0x140238720
cmp r8, 0x3a
jne 0x1402389ae
mov qword [rdi + 0x28], rax
lea rcx, [rbp - 0x38]
mov rdx, rdi
call fcn.1402eabe0
mov r15, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
cmp r15, 2
je 0x140238c63
mov qword [rbp - 0x58], rcx
jmp 0x140238720
cmp r8, 0x3a
jne 0x1402389ae
mov qword [rdi + 0x28], rax
lea rcx, [rbp - 0x38]
mov rdx, rdi
call fcn.1402e6800
cmp dword [rbp - 0x38], 0
jne 0x1402389a8
mov eax, dword [rbp - 0x34]
mov dword [rbp - 0x40], eax
mov eax, dword [rbp - 0x30]
mov qword [rbp], rax
jmp 0x140238720
cmp r8, 0x3a
jne 0x1402389ae
mov qword [rdi + 0x28], rax
lea rcx, [rbp - 0x38]
mov rdx, rdi
call fcn.1402e96d0
cmp word [rbp - 0x38], 0
jne 0x1402389a8
movzx eax, word [rbp - 0x36]
mov dword [rbp + 8], eax
movzx eax, word [rbp - 0x34]
mov word [rbp - 0x42], ax
jmp 0x140238720
cmp r8, 0x3a
jne 0x1402389ae
mov qword [rdi + 0x28], rax
lea rcx, [rbp - 0x38]
mov rdx, rdi
call fcn.1402e6800
cmp dword [rbp - 0x38], 0
jne 0x1402389a8
mov eax, dword [rbp - 0x34]
mov dword [rbp - 0x3c], eax
mov eax, dword [rbp - 0x30]
mov qword [rbp - 0x10], rax
nop word cs:[rax + rax]
mov r10, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
mov dl, 1
cmp rax, r10
mov rcx, r13
jb 0x14023827f
mov qword [rbp - 0x28], 3
jmp 0x1402389b6
dec byte [rdi + 0x30]
je 0x1402388f3
mov qword [rdi + 0x28], rax
mov qword [rbp - 0x38], rdi
mov byte [rbp - 0x30], 1
lea rcx, [rbp - 0x28]
lea rdx, [rbp - 0x38]
call fcn.1402271a0
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
cmp rax, 1
mov qword [rbp - 0x50], rcx
je 0x140238795
cmp eax, 2
jne 0x140238a73
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], rax
mov qword [rbp], rax
mov qword [rbp + 8], rcx
jmp 0x140238b5e
lea rcx, [rbp - 0x28]
lea rdx, [rbp - 0x38]
call fcn.1402271a0
mov rax, qword [rbp - 0x28]
mov r13, qword [rbp - 0x20]
cmp rax, 1
je 0x140238841
cmp eax, 2
jne 0x140238ab5
mov qword [rbp - 8], rax
mov qword [rbp + 8], r13
jmp 0x140238b56
test r12, r12
je 0x140238a88
cmp qword [rbp - 8], 0
je 0x140238a9f
xor eax, eax
cmp r15, 2
mov ecx, 0
cmovne rcx, r15
mov qword [rbp - 8], rcx
mov r15d, dword [rbp - 0x40]
cmp r15d, 2
cmove r15d, eax
mov dword [rbp - 0x40], r15d
mov rcx, qword [rbp]
cmove ecx, eax
mov qword [rbp], rcx
mov r14d, dword [rbp + 8]
cmp r14w, 2
cmove r14d, eax
mov r12d, dword [rbp - 0x3c]
cmp r12d, 2
cmove r12d, eax
mov dword [rbp - 0x3c], r12d
mov rcx, qword [rbp - 0x10]
cmove ecx, eax
mov qword [rbp - 0x10], rcx
mov rax, qword [rbp - 0x58]
mov qword [rbp + 8], rax
jmp 0x1402389d7
mov rdx, qword [rbp - 0x38]
mov r8, qword [rdx + 0x20]
mov rax, qword [rdx + 0x28]
cmp rax, r8
jae 0x14023888a
mov rcx, qword [rdx + 0x18]
inc rax
mov r10, r8
neg r10
nop
movzx r9d, byte [rcx + rax - 1]
cmp r9, 0x2c
ja 0x14023890c
bt rbx, r9
jae 0x140238897
mov qword [rdx + 0x28], rax
lea r9, [r10 + rax]
inc r9
inc rax
cmp r9, 1
jne 0x140238860
mov qword [rbp - 0x28], 2
jmp 0x140238b3a
cmp r9, 0x2c
jne 0x14023890c
cmp byte [rbp - 0x30], 0
jne 0x140238920
mov qword [rdx + 0x28], rax
cmp rax, r8
jae 0x1402388e6
inc rax
mov r10d, 1
sub r10, r8
nop dword [rax + rax]
movzx r9d, byte [rcx + rax - 1]
cmp r9, 0x20
ja 0x140238924
bt rbx, r9
jae 0x140238924
mov qword [rdx + 0x28], rax
lea r8, [r10 + rax]
inc r8
inc rax
cmp r8, 2
jne 0x1402388c0
mov qword [rbp - 0x28], 5
jmp 0x140238b3a
mov qword [rbp - 0x28], 0x18
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.1404c25b0
jmp 0x140238be8
cmp r9d, 0x5d
je 0x140238b18
cmp byte [rbp - 0x30], 0
je 0x140238b32
mov byte [rbp - 0x30], 0
cmp r9b, 0x5d
je 0x140238b0e
lea rcx, [rbp - 0x28]
call fcn.1402eabe0
mov rbx, qword [rbp - 0x28]
cmp rbx, 2
jne 0x140238954
mov rax, qword [rbp - 0x20]
jmp 0x140238b49
mov qword [rbp - 0x28], 5
jmp 0x1402389b6
mov r15, qword [rbp - 0x20]
lea rcx, [rbp - 0x28]
lea rdx, [rbp - 0x38]
call fcn.14022bcf0
cmp dword [rbp - 0x28], 0
mov rax, qword [rbp - 0x20]
mov qword [rbp], rax
mov ecx, 2
je 0x140238a40
mov qword [rbp - 8], rcx
mov qword [rbp - 0x10], rcx
mov qword [rbp + 8], rax
jmp 0x140238b5e
lea r8, [0x1404d8818]
lea rdx, [rbp - 0x43]
mov rcx, rdi
call fcn.1404c2620
mov rcx, rax
jmp 0x140238be0
mov rax, qword [rbp - 0x30]
jmp 0x1402389c2
mov qword [rbp - 0x28], 6
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.1404c25b0
mov qword [rbp + 8], rax
mov eax, 2
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp - 0x10], rax
inc byte [rdi + 0x30]
mov rcx, rdi
call fcn.1401c0cb0
mov rcx, rax
mov rdx, qword [rbp - 8]
cmp rdx, 2
mov rbx, qword [rbp - 0x60]
movzx r15d, word [rbp - 0x42]
je 0x140238a0e
test rcx, rcx
mov r12d, dword [rbp - 0x40]
mov r13d, dword [rbp - 0x3c]
je 0x140238b7a
jmp 0x140238be0
test rcx, rcx
je 0x140238bdc
mov qword [rbp], rcx
call fcn.14021ec50
mov rbx, qword [rbp + 8]
mov edx, 0x28
mov r8d, 8
mov rcx, qword [rbp]
call fcn.1403040a0
mov rcx, rbx
jmp 0x140238be0
mov qword [rbp - 8], rcx
mov r12d, dword [rbp - 0x24]
cmp r12d, 2
je 0x140238c82
lea rcx, [rbp - 0x28]
lea rdx, [rbp - 0x38]
call fcn.1402281a0
cmp word [rbp - 0x28], 0
je 0x140238aca
mov rax, qword [rbp - 0x20]
mov qword [rbp + 8], rax
jmp 0x140238b56
lea rdx, [0x1404d76e0]
lea r8, [0x1404d6a60]
xor ecx, ecx
jmp 0x140238b2b
lea rcx, str.longitudelatitudehorizontal_accuracylive_periodheadingproximity_alert_radiusstruct_Location_with_6_elements
mov edx, 9
jmp 0x140238aab
mov qword [rbp + 8], rdx
jmp 0x1402389c6
lea rcx, [0x1404d7679]
mov edx, 8
call fcn.1404c3010
jmp 0x1402389c2
lea rdx, [0x1404d76e0]
lea r8, [0x1404d6a60]
mov ecx, 1
jmp 0x140238b2b
movzx r14d, word [rbp - 0x26]
cmp r14w, 2
je 0x140238ca4
mov qword [rbp + 8], r15
movzx r15d, word [rbp - 0x24]
lea rcx, [rbp - 0x28]
lea rdx, [rbp - 0x38]
call fcn.14022bcf0
cmp dword [rbp - 0x28], 0
mov rcx, qword [rbp - 0x20]
je 0x140238c0a
mov qword [rbp], rax
mov rax, rcx
mov qword [rbp - 0x10], rcx
jmp 0x14023878c
mov qword [rbp - 0x28], 0x15
jmp 0x140238b3a
lea rdx, [0x1404d76e0]
lea r8, [0x1404d6a60]
mov ecx, 2
call fcn.1404c3080
jmp 0x140238b49
mov qword [rbp - 0x28], 7
lea rax, [rbp - 0x28]
mov rcx, rdx
mov rdx, rax
call fcn.1404c25b0
mov qword [rbp + 8], rax
mov eax, 2
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], rax
mov qword [rbp], rax
inc byte [rdi + 0x30]
mov rcx, rdi
call fcn.1401c0d50
mov rdx, qword [rbp - 8]
cmp edx, 2
je 0x140238bb3
mov rcx, rax
test rax, rax
jne 0x140238be0
mov qword [rsi], rdx
mov rax, qword [rbp + 8]
mov qword [rsi + 8], rax
mov dword [rsi + 0x10], r12d
mov rax, qword [rbp]
mov dword [rsi + 0x14], eax
mov dword [rsi + 0x18], r13d
mov rax, qword [rbp - 0x10]
mov dword [rsi + 0x1c], eax
mov rax, qword [rbp - 0x50]
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rbx
mov word [rsi + 0x30], r14w
mov word [rsi + 0x32], r15w
jmp 0x140238bf3
mov rcx, qword [rbp + 8]
test rax, rax
je 0x140238be0
mov rcx, rax
mov qword [rbp], rax
call fcn.14021ec50
mov edx, 0x28
mov r8d, 8
mov rcx, qword [rbp]
call fcn.1403040a0
mov rcx, qword [rbp + 8]
mov rdx, rdi
call fcn.1404c2f80
mov qword [rsi + 8], rax
mov qword [rsi], 2
mov rax, rsi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp - 0x10], rcx
mov ecx, dword [rbp - 0x24]
cmp ecx, 2
je 0x140238d1d
mov rdx, rbx
mov rbx, r13
mov r13d, ecx
mov qword [rbp - 8], rdx
jmp 0x140238b5e
movzx eax, r9b
cmp eax, 0x7d
jne 0x140238c75
mov qword [rbp - 0x28], 0x15
jmp 0x1402389b6
mov eax, 2
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x50]
jmp 0x140238c5a
mov ecx, 2
mov qword [rbp - 8], rcx
mov qword [rbp + 8], rax
jmp 0x1402389cf
mov eax, 2
mov qword [rbp - 8], rax
mov qword [rbp + 8], rcx
jmp 0x1402389cf
mov qword [rbp - 0x28], 0x11
jmp 0x1402389b6
lea rdx, [0x1404d76e0]
lea r8, [0x1404d6a60]
mov ecx, 3
jmp 0x140238cb7
mov qword [rbp - 0x28], 8
jmp 0x1402389b6
lea rdx, [0x1404d76e0]
lea r8, [0x1404d6a60]
mov ecx, 4
call fcn.1404c3080
jmp 0x140238a6a
lea rcx, str.longitudelatitudehorizontal_accuracylive_periodheadingproximity_alert_radiusstruct_Location_with_6_elements
mov edx, 9
jmp 0x140238d13
lea rcx, [0x1404d7679]
mov edx, 8
jmp 0x140238d13
lea rcx, [0x1404d7681]
mov edx, 0x13
jmp 0x140238d13
lea rcx, [0x1404d7694]
mov edx, 0xb
jmp 0x140238d13
lea rcx, [0x1404d769f]
mov edx, 7
jmp 0x140238d13
lea rcx, [0x1404d76a6]
mov edx, 0x16
call fcn.1404c3110
jmp 0x1402389c2
lea rdx, [0x1404d76e0]
lea r8, [0x1404d6a60]
mov ecx, 5
call fcn.1404c3080
mov rcx, rax
jmp 0x140238afe