Function at 0x1401e4950
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 r13d, dword [rcx + 0x40]
test r13d, r13d
mov rsi, rcx
mov r14d, edx
mov r15, r8
mov r12, r9
je 0x1401e4990
add rsp, 0x58
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 0x1401e4bfb
xor edx, edx
mov rcx, rbx
call sym.vdbeUnbind
test eax, eax
jne 0x1401e49dc
mov rcx, qword [rbx + 0x80]
test word [rcx + 0x14], 0x9000
jne 0x1401e4bee
mov edi, 4
mov qword [rcx], r12
mov word [rcx + 0x14], di
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401e49dc
call qword [0x1402b9130]
mov rcx, qword [rsi + 0x20]
call sym.sqlite3_step
cmp eax, 0x64
je 0x1401e4a30
mov rcx, qword [rsi + 0x20]
call sym.sqlite3_reset
mov ebx, dword [rsi + 0x40]
test ebx, ebx
jne 0x1401e4975
test eax, eax
mov dword [rsi + 0x40], eax
jne 0x1401e4975
lea rdx, str.Node__lld_missing_from_database
mov r8, r12
mov rcx, rsi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.rtreeCheckAppendMsg
mov rcx, qword [rsi + 0x20]
xor edx, edx
call sym.sqlite3_column_bytes
mov rbp, qword [rsi + 0x20]
xor edx, edx
mov ebx, eax
mov rcx, rbp
call sym.columnMem
mov rcx, rax
call sym.sqlite3_value_blob
mov rcx, rbp
mov rdi, rax
call sym.columnMallocFailure
call sym.sqlite3_initialize
test eax, eax
mov r13d, eax
jne 0x1401e4c38
movsxd rbp, ebx
mov rcx, rbp
call sym.sqlite3Malloc
test rax, rax
je 0x1401e4c38
mov r8, rbp
mov rdx, rdi
mov rcx, rax
mov qword [rsp + 0x30], rax
call sym.memcpy
mov rcx, qword [rsi + 0x20]
call sym.sqlite3_reset
mov r11d, dword [rsi + 0x40]
mov r10, qword [rsp + 0x30]
test r11d, r11d
je 0x1401e4ebb
cmp ebx, 3
jle 0x1401e4cf8
test r15, r15
je 0x1401e4d88
movzx edx, word [r10 + 2]
mov ecx, dword [rsi + 0x1c]
rol dx, 8
lea eax, [rcx + 1]
movzx r9d, dx
mov r8d, eax
imul r8d, r9d
lea r8d, [r8*8 + 3]
cmp r8d, ebx
jge 0x1401e4d60
test r9d, r9d
je 0x1401e4d17
test r15, r15
je 0x1401e4dc0
mov dword [rsp + 0x4c], r9d
mov rdi, rsi
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x48], r14d
imul eax, r13d
mov rsi, qword [rsp + 0x40]
xor ebx, ebx
lea eax, [rax*8 + 4]
cdqe
add rsi, rax
test ecx, ecx
mov rax, qword [rsi]
bswap rax
mov rbp, rax
jle 0x1401e4c83
mov dword [rsp + 0x30], r13d
mov rbp, rsi
mov r14, rdi
mov r13, r15
mov qword [rsp + 0x38], rax
jmp 0x1401e4bc2
cmp edi, esi
setg al
test al, al
mov r15d, ebx
jne 0x1401e4cd7
mov ecx, dword [r14 + 0x18]
mov eax, dword [r13 + rbx*8]
mov edx, dword [r13 + rbx*8 + 4]
test ecx, ecx
bswap eax
bswap edx
jne 0x1401e4c48
movd xmm0, eax
movd xmm2, edi
comiss xmm0, xmm2
ja 0x1401e4b98
movd xmm0, esi
movd xmm4, edx
comiss xmm0, xmm4
jbe 0x1401e4bb4
nop dword [rax]
mov r9d, dword [rsp + 0x30]
mov qword [rsp + 0x20], r12
mov r8d, r15d
mov rcx, r14
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt_relative_to_parent
call sym.rtreeCheckAppendMsg
add rbx, 1
cmp dword [r14 + 0x1c], ebx
jle 0x1401e4c70
mov r8d, dword [r14 + 0x18]
mov edi, dword [rbp + rbx*8 + 8]
mov esi, dword [rbp + rbx*8 + 0xc]
test r8d, r8d
bswap edi
bswap esi
jne 0x1401e4b50
movd xmm0, edi
movd xmm1, esi
comiss xmm0, xmm1
seta al
jmp 0x1401e4b55
mov rdx, r12
call sym.vdbeReleaseAndSetInt64
jmp 0x1401e49ca
mov r9, qword [rcx + 0x10]
lea rdx, str.SELECT_data_FROM__Q._q_node_WHERE_nodeno_
mov r8, qword [rcx + 8]
call sym.rtreeCheckPrepare
mov ebp, dword [rsi + 0x40]
mov rbx, rax
mov qword [rsi + 0x20], rax
test ebp, ebp
jne 0x1401e4975
xor edx, edx
mov rcx, rbx
call sym.vdbeUnbind
test eax, eax
jne 0x1401e49dc
jmp 0x1401e49ab
mov dword [rsi + 0x40], 7
jmp 0x1401e49ea
cmp esi, edx
jg 0x1401e4b98
cmp edi, eax
jl 0x1401e4b98
add rbx, 1
cmp dword [r14 + 0x1c], ebx
jg 0x1401e4bc2
nop word cs:[rax + rax]
mov rsi, rbp
mov r15, r13
mov rbp, qword [rsp + 0x38]
mov rdi, r14
mov r13d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x48]
test r9d, r9d
je 0x1401e4d30
xor edx, edx
mov r9, r12
mov r8, rbp
mov rcx, rdi
add r13d, 1
call sym.rtreeCheckMapping
mov eax, dword [rsp + 0x48]
mov r9, rbp
mov rcx, rdi
lea r8, [rsi + 8]
lea edx, [rax - 1]
call sym.rtreeCheckNode
mov eax, dword [rsp + 0x4c]
add dword [rdi + 0x3c], 1
cmp r13d, eax
je 0x1401e4d58
mov ecx, dword [rdi + 0x1c]
lea eax, [rcx + 1]
jmp 0x1401e4b11
mov r9d, dword [rsp + 0x30]
mov qword [rsp + 0x20], r12
mov r8d, ebx
mov rcx, r14
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt
call sym.rtreeCheckAppendMsg
jmp 0x1401e4b60
mov r9d, ebx
mov r8, r12
mov rcx, rsi
mov qword [rsp + 0x30], r10
lea rdx, str.Node__lld_is_too_small___d_bytes_
call sym.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 r9, r12
mov r8, rbp
mov edx, 1
mov rcx, rdi
add r13d, 1
call sym.rtreeCheckMapping
mov eax, dword [rsp + 0x4c]
add dword [rdi + 0x38], 1
cmp r13d, eax
jne 0x1401e4ccc
mov r10, qword [rsp + 0x40]
jmp 0x1401e4d17
mov dword [rsp + 0x20], ebx
lea rdx, str.Node__lld_is_too_small_for_cell_count_of__d___d_bytes_
mov r8, r12
mov rcx, rsi
mov qword [rsp + 0x30], r10
call sym.rtreeCheckAppendMsg
mov r10, qword [rsp + 0x30]
jmp 0x1401e4d17
movzx r14d, word [r10]
rol r14w, 8
movzx r14d, r14w
cmp r14d, 0x28
jle 0x1401e4ac2
mov r8d, r14d
mov rcx, rsi
mov qword [rsp + 0x30], r10
lea rdx, str.Rtree_depth_out_of_range___d_
call sym.rtreeCheckAppendMsg
mov r10, qword [rsp + 0x30]
jmp 0x1401e4d17
lea edi, [r14 - 1]
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x48], edi
mov rdi, rsi
mov rsi, r10
imul eax, r13d
test ecx, ecx
lea r10d, [rax*8 + 4]
movsxd r10, r10d
lea r15, [rsi + r10]
mov rbp, qword [r15]
bswap rbp
jle 0x1401e4e54
xor ebx, ebx
jmp 0x1401e4e0a
cmp edx, eax
setl al
test al, al
jne 0x1401e4e31
add rbx, 1
cmp dword [rdi + 0x1c], ebx
jle 0x1401e4e54
mov r10d, dword [rdi + 0x18]
mov eax, dword [r15 + rbx*8 + 8]
mov edx, dword [r15 + rbx*8 + 0xc]
test r10d, r10d
bswap eax
bswap edx
jne 0x1401e4df8
movd xmm0, eax
movd xmm3, edx
comiss xmm0, xmm3
seta al
jmp 0x1401e4dfd
mov r8d, ebx
mov qword [rsp + 0x20], r12
mov r9d, r13d
mov rcx, rdi
lea rdx, str.Dimension__d_of_cell__d_on_node__lld_is_corrupt
add rbx, 1
call sym.rtreeCheckAppendMsg
cmp dword [rdi + 0x1c], ebx
jg 0x1401e4e0a
test r14d, r14d
mov r9, r12
mov r8, rbp
je 0x1401e4ea0
xor edx, edx
mov rcx, rdi
call sym.rtreeCheckMapping
mov edx, dword [rsp + 0x48]
mov r9, rbp
mov rcx, rdi
lea r8, [r15 + 8]
call sym.rtreeCheckNode
add dword [rdi + 0x3c], 1
add r13d, 1
cmp dword [rsp + 0x30], r13d
je 0x1401e4eb3
mov ecx, dword [rdi + 0x1c]
lea eax, [rcx + 1]
jmp 0x1401e4dd3
mov edx, 1
mov rcx, rdi
call sym.rtreeCheckMapping
add dword [rdi + 0x38], 1
jmp 0x1401e4e80
mov r10, rsi
jmp 0x1401e4d17
mov dword [rsi + 0x40], eax
jmp 0x1401e4ab0