Function at 0x14020a970
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov r14d, dword [rcx + 0x40]
mov qword [rsp + 0x30], r9
mov rbx, rcx
mov r12d, edx
mov r15, r8
test r14d, r14d
jne 0x14020ac8d
cmp qword [rcx + 0x20], 0
je 0x14020a9c5
mov rcx, qword [rbx + 0x20]
mov r8, qword [rsp + 0x30]
mov edx, 1
call sym.sqlite3_bind_int64
mov rcx, qword [rbx + 0x20]
call sym.sqlite3_step
cmp eax, 0x64
jne 0x14020aa25
jmp 0x14020a9e8
mov r9, qword [rcx + 0x10]
mov r8, qword [rcx + 8]
lea rdx, str.SELECT_data_FROM__Q._q_node_WHERE_nodeno_
call sym.rtreeCheckPrepare
cmp dword [rbx + 0x40], 0
mov qword [rbx + 0x20], rax
je 0x14020a9a2
jmp 0x14020ac8d
mov rcx, qword [rbx + 0x20]
xor edx, edx
call sym.sqlite3_column_bytes
mov rcx, qword [rbx + 0x20]
xor edx, edx
mov r13d, eax
call sym.sqlite3_column_blob
movsxd rcx, r13d
mov qword [rsp + 0x38], rcx
mov rsi, rax
call sym.sqlite3_malloc64
mov rcx, qword [rsp + 0x38]
test rax, rax
mov rbp, rax
jne 0x14020aa2c
mov dword [rbx + 0x40], 7
xor r13d, r13d
xor ebp, ebp
jmp 0x14020aa31
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbx + 0x20]
call sym.sqlite3_reset
cmp dword [rbx + 0x40], 0
jne 0x14020aa92
mov dword [rbx + 0x40], eax
test eax, eax
jne 0x14020aa92
test rbp, rbp
je 0x14020aa6e
cmp r13d, 3
jg 0x14020aa9c
mov r8, qword [rsp + 0x30]
mov r9d, r13d
lea rdx, str.Node__lld_is_too_small___d_bytes_
mov rcx, rbx
call sym.rtreeCheckAppendMsg
jmp 0x14020ac75
mov r8, qword [rsp + 0x30]
lea rdx, str.Node__lld_missing_from_database
mov rcx, rbx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.rtreeCheckAppendMsg
test rbp, rbp
jne 0x14020aa4c
jmp 0x14020ac8d
test r15, r15
jne 0x14020aacc
mov r12w, word [rbp]
rol r12w, 8
movzx r12d, r12w
cmp r12d, 0x28
jle 0x14020aacc
mov r8d, r12d
lea rdx, str.Rtree_depth_out_of_range___d_
mov rcx, rbx
call sym.rtreeCheckAppendMsg
jmp 0x14020ac75
mov si, word [rbp + 2]
mov eax, dword [rbx + 0x1c]
rol si, 8
inc eax
movzx esi, si
imul eax, esi
lea eax, [rax*8 + 3]
cmp eax, r13d
jl 0x14020ab84
mov dword [rsp + 0x20], r13d
mov r8, qword [rsp + 0x30]
mov r9d, esi
mov rcx, rbx
lea rdx, str.Node__lld_is_too_small_for_cell_count_of__d___d_bytes_
call sym.rtreeCheckAppendMsg
jmp 0x14020ac75
mov edx, dword [rdi + r13*8 + 8]
mov r11d, dword [rdi + r13*8 + 0xc]
cmp dword [rbx + 0x18], 0
bswap edx
bswap r11d
mov dword [rsp + 0x38], edx
je 0x14020abb4
cmp edx, r11d
jg 0x14020abc8
test r15, r15
jne 0x14020abfd
inc r13
mov r8d, r13d
cmp dword [rbx + 0x1c], r13d
jg 0x14020ab10
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
test r12d, r12d
je 0x14020ac60
xor edx, edx
mov rcx, rbx
call sym.rtreeCheckMapping
mov r9, qword [rsp + 0x40]
lea edx, [r12 - 1]
mov rcx, rbx
lea r8, [rdi + 8]
call sym.rtreeCheckNode
inc dword [rbx + 0x3c]
inc r14d
cmp r14d, esi
jge 0x14020ac75
mov eax, dword [rbx + 0x1c]
xor r13d, r13d
inc eax
imul eax, r14d
lea eax, [rax*8 + 4]
cdqe
lea rdi, [rbp + rax]
mov rax, qword [rdi]
bswap rax
mov qword [rsp + 0x40], rax
jmp 0x14020ab42
movss xmm0, dword [rsp + 0x38]
movd xmm1, r11d
comiss xmm0, xmm1
jbe 0x14020ab36
mov rax, qword [rsp + 0x30]
mov r9d, r14d
mov rcx, rbx
mov dword [rsp + 0x4c], r11d
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt
mov dword [rsp + 0x48], r8d
mov qword [rsp + 0x20], rax
call sym.rtreeCheckAppendMsg
mov r11d, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x48]
jmp 0x14020ab36
mov edx, dword [r15 + r13*8]
mov ecx, dword [r15 + r13*8 + 4]
cmp dword [rbx + 0x18], 0
bswap edx
bswap ecx
jne 0x14020ac1d
movd xmm0, edx
comiss xmm0, dword [rsp + 0x38]
ja 0x14020ac3f
jmp 0x14020ac2d
cmp r11d, ecx
jg 0x14020ac3f
cmp dword [rsp + 0x38], edx
jl 0x14020ac3f
jmp 0x14020ab3f
movd xmm0, r11d
movd xmm2, ecx
comiss xmm0, xmm2
jbe 0x14020ab3f
mov rax, qword [rsp + 0x30]
mov r9d, r14d
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt_relative_to_parent
mov rcx, rbx
mov qword [rsp + 0x20], rax
call sym.rtreeCheckAppendMsg
jmp 0x14020ab3f
mov edx, 1
mov rcx, rbx
call sym.rtreeCheckMapping
inc dword [rbx + 0x38]
jmp 0x14020ab81
mov rcx, rbp
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3_free
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret