Function at 0x1401e21a0
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov edi, dword [rcx + 0x40]
mov dword [rsp + 0x3c], edx
mov r12, rcx
mov r15, r8
mov rbp, r9
test edi, edi
je 0x1401e21d8
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, qword [rcx + 0x20]
test rbx, rbx
je 0x1401e2455
xor edx, edx
mov rcx, rbx
call sym.vdbeUnbind
test eax, eax
jne 0x1401e2224
mov rcx, qword [rbx + 0x80]
test word [rcx + 0x14], 0x9000
jne 0x1401e2448
mov esi, 4
mov qword [rcx], rbp
mov word [rcx + 0x14], si
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401e2224
call qword [0x1402ba750]
mov rcx, qword [r12 + 0x20]
call sym.sqlite3_step
cmp eax, 0x64
je 0x1401e2280
mov rcx, qword [r12 + 0x20]
call sym.sqlite3_reset
mov edx, dword [r12 + 0x40]
test edx, edx
jne 0x1401e21c4
mov dword [r12 + 0x40], eax
test eax, eax
jne 0x1401e21c4
mov r8, rbp
lea rdx, str.Node__lld_missing_from_database
mov rcx, r12
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.rtreeCheckAppendMsg
mov rcx, qword [r12 + 0x20]
xor edx, edx
call sym.sqlite3_column_bytes
mov r14, qword [r12 + 0x20]
xor edx, edx
mov ebx, eax
mov rcx, r14
call sym.columnMem
mov rcx, rax
call sym.sqlite3_value_blob
mov rcx, r14
mov r13, rax
call sym.columnMallocFailure
call sym.sqlite3_initialize
test eax, eax
jne 0x1401e2496
movsxd rsi, ebx
mov rcx, rsi
call sym.sqlite3Malloc
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1401e2496
mov r8, rsi
mov rdx, r13
mov rcx, rax
call sym.memcpy
mov rcx, qword [r12 + 0x20]
call sym.sqlite3_reset
mov r11d, dword [r12 + 0x40]
test r11d, r11d
je 0x1401e2605
cmp ebx, 3
jle 0x1401e2558
test r15, r15
je 0x1401e25d0
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx + 2]
movzx edx, byte [rcx + 3]
shl eax, 8
lea esi, [rax + rdx]
mov edx, dword [r12 + 0x1c]
mov ecx, esi
mov dword [rsp + 0x58], esi
lea eax, [rdx + 1]
imul ecx, eax
lea ecx, [rcx*8 + 3]
cmp ecx, ebx
jge 0x1401e25b0
mov ecx, dword [rsp + 0x3c]
lea r14, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt_relative_to_parent
sub ecx, 1
mov dword [rsp + 0x5c], ecx
test esi, esi
je 0x1401e256d
mov rcx, r15
mov r15, r12
mov r12, rcx
imul eax, edi
xor ebx, ebx
lea r10d, [rax*8 + 4]
mov rax, qword [rsp + 0x40]
movsxd r10, r10d
lea r13, [rax + r10]
mov rax, qword [r13]
bswap rax
mov qword [rsp + 0x48], rax
lea rax, [r13 + 8]
mov qword [rsp + 0x50], rax
test edx, edx
jle 0x1401e24d5
mov qword [rsp + 0x30], rbp
mov rbp, r13
jmp 0x1401e2416
cmp r13d, esi
setg al
test al, al
jne 0x1401e2526
test r12, r12
je 0x1401e2408
mov eax, dword [r12 + rbx*8]
mov edx, dword [r12 + rbx*8 + 4]
mov ecx, dword [r15 + 0x18]
bswap eax
bswap edx
test ecx, ecx
jne 0x1401e24a8
movd xmm0, eax
movd xmm2, r13d
comiss xmm0, xmm2
ja 0x1401e23f0
movd xmm0, esi
movd xmm3, edx
comiss xmm0, xmm3
jbe 0x1401e2408
nop
mov rax, qword [rsp + 0x30]
mov r9d, edi
mov rdx, r14
mov rcx, r15
mov qword [rsp + 0x20], rax
call sym.rtreeCheckAppendMsg
add rbx, 1
cmp dword [r15 + 0x1c], ebx
jle 0x1401e24d0
mov r13d, dword [rbp + rbx*8 + 8]
mov esi, dword [rbp + rbx*8 + 0xc]
mov r8d, ebx
mov r9d, dword [r15 + 0x18]
bswap r13d
bswap esi
test r9d, r9d
jne 0x1401e23a8
movd xmm0, r13d
movd xmm1, esi
comiss xmm0, xmm1
seta al
jmp 0x1401e23ae
mov rdx, rbp
call sym.vdbeReleaseAndSetInt64
jmp 0x1401e2212
mov r9, qword [rcx + 0x10]
mov r8, qword [rcx + 8]
lea rdx, str.SELECT_data_FROM__Q._q_node_WHERE_nodeno_
call sym.rtreeCheckPrepare
mov r13d, dword [r12 + 0x40]
mov qword [r12 + 0x20], rax
mov rbx, rax
test r13d, r13d
jne 0x1401e21c4
xor edx, edx
mov rcx, rbx
call sym.vdbeUnbind
test eax, eax
jne 0x1401e2224
jmp 0x1401e21f3
mov dword [r12 + 0x40], 7
jmp 0x1401e2233
cmp esi, edx
jg 0x1401e23f0
cmp r13d, eax
jl 0x1401e23f0
add rbx, 1
cmp dword [r15 + 0x1c], ebx
jg 0x1401e2416
nop word [rax + rax]
mov rbp, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x3c]
test r10d, r10d
je 0x1401e2590
mov rsi, qword [rsp + 0x48]
mov r9, rbp
xor edx, edx
mov rcx, r15
mov r8, rsi
call sym.rtreeCheckMapping
mov r8, qword [rsp + 0x50]
mov r9, rsi
mov rcx, r15
mov edx, dword [rsp + 0x5c]
call sym.rtreeCheckNode
add dword [r15 + 0x3c], 1
add edi, 1
cmp edi, dword [rsp + 0x58]
je 0x1401e256d
mov edx, dword [r15 + 0x1c]
lea eax, [rdx + 1]
jmp 0x1401e2364
mov rax, qword [rsp + 0x30]
mov r9d, edi
mov rcx, r15
mov dword [rsp + 0x38], r8d
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt
mov qword [rsp + 0x20], rax
call sym.rtreeCheckAppendMsg
mov r8d, dword [rsp + 0x38]
jmp 0x1401e23b6
mov r9d, ebx
mov r8, rbp
lea rdx, str.Node__lld_is_too_small___d_bytes_
mov rcx, r12
call sym.rtreeCheckAppendMsg
mov rcx, qword [rsp + 0x40]
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3_free
mov r8, qword [rsp + 0x48]
mov r9, rbp
mov edx, 1
mov rcx, r15
call sym.rtreeCheckMapping
add dword [r15 + 0x38], 1
jmp 0x1401e2511
mov dword [rsp + 0x20], ebx
mov r9d, esi
mov r8, rbp
mov rcx, r12
lea rdx, str.Node__lld_is_too_small_for_cell_count_of__d___d_bytes_
call sym.rtreeCheckAppendMsg
jmp 0x1401e256d
mov rcx, qword [rsp + 0x40]
movzx eax, byte [rcx]
movzx edx, byte [rcx + 1]
shl eax, 8
add eax, edx
mov dword [rsp + 0x3c], eax
cmp eax, 0x28
jle 0x1401e230e
mov r8d, eax
lea rdx, str.Rtree_depth_out_of_range___d_
mov rcx, r12
call sym.rtreeCheckAppendMsg
jmp 0x1401e256d
mov dword [r12 + 0x40], eax
jmp 0x1401e22fc