Function at 0x14021a0d0
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 ebp, dword [rcx + 0x40]
mov rsi, rcx
mov r13d, edx
mov rdi, r8
mov r12, r9
test ebp, ebp
je 0x14021a108
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rcx + 0x20]
test rcx, rcx
je 0x14021a355
mov r8, r12
mov edx, 1
call sym.sqlite3_bind_int64
mov rcx, qword [rsi + 0x20]
call dbg.sqlite3_step
cmp eax, 0x64
je 0x14021a170
mov rcx, qword [rsi + 0x20]
call dbg.sqlite3_reset
mov r11d, dword [rsi + 0x40]
test r11d, r11d
jne 0x14021a0f3
mov dword [rsi + 0x40], eax
test eax, eax
jne 0x14021a0f3
mov r8, r12
lea rdx, str.Node__lld_missing_from_database
mov rcx, rsi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp dbg.rtreeCheckAppendMsg
mov rcx, qword [rsi + 0x20]
xor edx, edx
call sym.sqlite3_column_bytes
mov r14, qword [rsi + 0x20]
xor edx, edx
mov ebx, eax
mov rcx, r14
call dbg.columnMem
mov rcx, rax
call sym.sqlite3_value_blob
mov r15, rax
test r14, r14
je 0x14021a1a3
mov rcx, r14
call sym.columnMallocFailure.part.0
mov r14d, dword [0x140245cf4]
test r14d, r14d
jne 0x14021a4e0
call dbg.sqlite3MutexInit
test eax, eax
jne 0x14021a388
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x14021a388
movsxd r14, ebx
mov rcx, r14
call sym.sqlite3Malloc
test rax, rax
je 0x14021a388
mov r8, r14
mov rdx, r15
mov rcx, rax
mov qword [rsp + 0x30], rax
call sym.memcpy
mov rcx, qword [rsi + 0x20]
call dbg.sqlite3_reset
mov r10d, dword [rsi + 0x40]
test r10d, r10d
mov r10, qword [rsp + 0x30]
je 0x14021a4eb
cmp ebx, 3
jle 0x14021a413
test rdi, rdi
je 0x14021a4a8
movzx eax, word [r10 + 2]
mov edx, dword [rsi + 0x1c]
rol ax, 8
movzx r9d, ax
lea eax, [rdx + 1]
mov ecx, eax
imul ecx, r9d
lea ecx, [rcx*8 + 3]
cmp ecx, ebx
jge 0x14021a480
test r9d, r9d
je 0x14021a432
mov dword [rsp + 0x4c], r9d
mov qword [rsp + 0x40], r10
imul eax, ebp
mov rcx, qword [rsp + 0x40]
xor ebx, ebx
lea eax, [rax*8 + 4]
cdqe
lea r15, [rcx + rax]
mov rax, qword [r15]
bswap rax
mov qword [rsp + 0x38], rax
test edx, edx
jle 0x14021a3cc
mov dword [rsp + 0x48], r13d
mov r14, r15
mov r13, r12
mov r15, rdi
mov r12d, ebp
mov rbp, rsi
jmp 0x14021a304
cmp edi, esi
jg 0x14021a32f
test r15, r15
je 0x14021a2f7
mov eax, dword [r15 + rbx*8]
mov edx, dword [r15 + rbx*8 + 4]
mov ecx, dword [rbp + 0x18]
bswap eax
bswap edx
test ecx, ecx
jne 0x14021a398
movd xmm0, eax
movd xmm2, edi
comiss xmm0, xmm2
ja 0x14021a2e0
movd xmm0, esi
movd xmm3, edx
comiss xmm0, xmm3
jbe 0x14021a2f7
nop
mov qword [rsp + 0x20], r13
mov r9d, r12d
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt_relative_to_parent
mov rcx, rbp
call dbg.rtreeCheckAppendMsg
add rbx, 1
cmp dword [rbp + 0x1c], ebx
jle 0x14021a3b8
mov edi, dword [r14 + rbx*8 + 8]
mov esi, dword [r14 + rbx*8 + 0xc]
mov r8d, ebx
mov r9d, dword [rbp + 0x18]
bswap edi
bswap esi
test r9d, r9d
jne 0x14021a2a0
movd xmm0, edi
movd xmm1, esi
comiss xmm0, xmm1
jbe 0x14021a2a8
mov qword [rsp + 0x20], r13
mov r9d, r12d
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt
mov rcx, rbp
mov dword [rsp + 0x30], r8d
call dbg.rtreeCheckAppendMsg
mov r8d, dword [rsp + 0x30]
jmp 0x14021a2a8
mov r9, qword [rsi + 0x10]
mov r8, qword [rsi + 8]
mov rcx, rsi
lea rdx, str.SELECT_data_FROM__Q._q_node_WHERE_nodeno_
call dbg.rtreeCheckPrepare
mov r15d, dword [rsi + 0x40]
mov qword [rsi + 0x20], rax
mov rcx, rax
test r15d, r15d
je 0x14021a115
jmp 0x14021a0f3
mov dword [rsi + 0x40], 7
jmp 0x14021a130
cmp esi, edx
jg 0x14021a2e0
cmp edi, eax
jl 0x14021a2e0
add rbx, 1
cmp dword [rbp + 0x1c], ebx
jg 0x14021a304
nop dword [rax]
mov rsi, rbp
mov ebp, r12d
mov r12, r13
mov r13d, dword [rsp + 0x48]
mov rdi, r15
mov r15, r14
test r13d, r13d
je 0x14021a450
mov rbx, qword [rsp + 0x38]
mov r9, r12
xor edx, edx
mov rcx, rsi
add ebp, 1
mov r8, rbx
call sym.rtreeCheckMapping
lea edx, [r13 - 1]
mov r9, rbx
lea r8, [r15 + 8]
mov rcx, rsi
call dbg.rtreeCheckNode
mov eax, dword [rsp + 0x4c]
add dword [rsi + 0x3c], 1
cmp ebp, eax
je 0x14021a474
mov edx, dword [rsi + 0x1c]
lea eax, [rdx + 1]
jmp 0x14021a25c
mov r9d, ebx
mov r8, r12
lea rdx, str.Node__lld_is_too_small___d_bytes_
mov rcx, rsi
mov qword [rsp + 0x30], r10
call dbg.rtreeCheckAppendMsg
mov r10, qword [rsp + 0x30]
mov rcx, r10
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3_free
mov r8, qword [rsp + 0x38]
mov r9, r12
mov edx, 1
mov rcx, rsi
add ebp, 1
call sym.rtreeCheckMapping
mov eax, dword [rsp + 0x4c]
add dword [rsi + 0x38], 1
cmp ebp, eax
jne 0x14021a408
mov r10, qword [rsp + 0x40]
jmp 0x14021a432
mov dword [rsp + 0x20], ebx
mov r8, r12
lea rdx, str.Node__lld_is_too_small_for_cell_count_of__d___d_bytes_
mov rcx, rsi
mov qword [rsp + 0x30], r10
call dbg.rtreeCheckAppendMsg
mov r10, qword [rsp + 0x30]
jmp 0x14021a432
movzx r13d, word [r10]
rol r13w, 8
movzx r13d, r13w
cmp r13d, 0x28
jle 0x14021a221
mov r8d, r13d
lea rdx, str.Rtree_depth_out_of_range___d_
mov rcx, rsi
mov qword [rsp + 0x30], r10
call dbg.rtreeCheckAppendMsg
mov r10, qword [rsp + 0x30]
jmp 0x14021a432
lock or qword [rsp], 0
jmp 0x14021a1cd
mov dword [rsi + 0x40], eax
jmp 0x14021a20f