Function at 0x1401ad3a0
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]
test r14d, r14d
mov rbx, rcx
mov r12d, edx
mov qword [rsp + 0x30], r9
mov r15, r8
jne 0x1401ad6bd
cmp qword [rcx + 0x20], 0
je 0x1401ad3f5
mov rcx, qword [rbx + 0x20]
mov edx, 1
mov r8, qword [rsp + 0x30]
call sym.sqlite3_bind_int64
mov rcx, qword [rbx + 0x20]
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401ad455
jmp 0x1401ad418
mov r9, qword [rcx + 0x10]
lea rdx, str.SELECT_data_FROM__Q._q_node_WHERE_nodeno_
mov r8, qword [rcx + 8]
call sym.rtreeCheckPrepare
cmp dword [rbx + 0x40], 0
mov qword [rbx + 0x20], rax
je 0x1401ad3d2
jmp 0x1401ad6bd
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 0x1401ad45c
mov dword [rbx + 0x40], 7
xor r13d, r13d
xor ebp, ebp
jmp 0x1401ad461
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbx + 0x20]
call sym.sqlite3_reset
cmp dword [rbx + 0x40], 0
jne 0x1401ad4c2
test eax, eax
mov dword [rbx + 0x40], eax
jne 0x1401ad4c2
test rbp, rbp
je 0x1401ad49e
cmp r13d, 3
jg 0x1401ad4cc
mov r8, qword [rsp + 0x30]
lea rdx, str.Node__lld_is_too_small___d_bytes_
mov r9d, r13d
mov rcx, rbx
call sym.rtreeCheckAppendMsg
jmp 0x1401ad6a5
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 0x1401ad47c
jmp 0x1401ad6bd
test r15, r15
jne 0x1401ad4fc
mov r12w, word [rbp]
rol r12w, 8
movzx r12d, r12w
cmp r12d, 0x28
jle 0x1401ad4fc
lea rdx, str.Rtree_depth_out_of_range___d_
mov r8d, r12d
mov rcx, rbx
call sym.rtreeCheckAppendMsg
jmp 0x1401ad6a5
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 0x1401ad5b4
mov r8, qword [rsp + 0x30]
mov dword [rsp + 0x20], r13d
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 0x1401ad6a5
mov edx, dword [rdi + r13*8 + 8]
mov r11d, dword [rdi + r13*8 + 0xc]
cmp dword [rbx + 0x18], 0
bswap edx
mov dword [rsp + 0x38], edx
bswap r11d
je 0x1401ad5e4
cmp edx, r11d
jg 0x1401ad5f8
test r15, r15
jne 0x1401ad62d
inc r13
cmp dword [rbx + 0x1c], r13d
mov r8d, r13d
jg 0x1401ad540
test r12d, r12d
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
je 0x1401ad690
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 0x1401ad6a5
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 0x1401ad572
movss xmm0, dword [rsp + 0x38]
movd xmm1, r11d
comiss xmm0, xmm1
jbe 0x1401ad566
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 0x1401ad566
mov edx, dword [r15 + r13*8]
mov ecx, dword [r15 + r13*8 + 4]
cmp dword [rbx + 0x18], 0
bswap edx
bswap ecx
jne 0x1401ad64d
movd xmm0, edx
comiss xmm0, dword [rsp + 0x38]
ja 0x1401ad66f
jmp 0x1401ad65d
cmp r11d, ecx
jg 0x1401ad66f
cmp dword [rsp + 0x38], edx
jl 0x1401ad66f
jmp 0x1401ad56f
movd xmm0, r11d
movd xmm2, ecx
comiss xmm0, xmm2
jbe 0x1401ad56f
mov rax, qword [rsp + 0x30]
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt_relative_to_parent
mov r9d, r14d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call sym.rtreeCheckAppendMsg
jmp 0x1401ad56f
mov edx, 1
mov rcx, rbx
call sym.rtreeCheckMapping
inc dword [rbx + 0x38]
jmp 0x1401ad5b1
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