Function at 0x1401dd680
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 0x1401dd6c0
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 0x1401dd92b
xor edx, edx
mov rcx, rbx
call sym.vdbeUnbind
test eax, eax
jne 0x1401dd70c
mov rcx, qword [rbx + 0x80]
test word [rcx + 0x14], 0x9000
jne 0x1401dd91e
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 0x1401dd70c
call qword [0x1402b20f0]
mov rcx, qword [rsi + 0x20]
call sym.sqlite3_step
cmp eax, 0x64
je 0x1401dd760
mov rcx, qword [rsi + 0x20]
call sym.sqlite3_reset
mov ebx, dword [rsi + 0x40]
test ebx, ebx
jne 0x1401dd6a5
test eax, eax
mov dword [rsi + 0x40], eax
jne 0x1401dd6a5
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 0x1401dd968
movsxd rbp, ebx
mov rcx, rbp
call sym.sqlite3Malloc
test rax, rax
je 0x1401dd968
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 0x1401ddbeb
cmp ebx, 3
jle 0x1401dda28
test r15, r15
je 0x1401ddab8
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 0x1401dda90
test r9d, r9d
je 0x1401dda47
test r15, r15
je 0x1401ddaf0
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 0x1401dd9b3
mov dword [rsp + 0x30], r13d
mov rbp, rsi
mov r14, rdi
mov r13, r15
mov qword [rsp + 0x38], rax
jmp 0x1401dd8f2
cmp edi, esi
setg al
test al, al
mov r15d, ebx
jne 0x1401dda07
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 0x1401dd978
movd xmm0, eax
movd xmm2, edi
comiss xmm0, xmm2
ja 0x1401dd8c8
movd xmm0, esi
movd xmm4, edx
comiss xmm0, xmm4
jbe 0x1401dd8e4
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 0x1401dd9a0
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 0x1401dd880
movd xmm0, edi
movd xmm1, esi
comiss xmm0, xmm1
seta al
jmp 0x1401dd885
mov rdx, r12
call sym.vdbeReleaseAndSetInt64
jmp 0x1401dd6fa
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 0x1401dd6a5
xor edx, edx
mov rcx, rbx
call sym.vdbeUnbind
test eax, eax
jne 0x1401dd70c
jmp 0x1401dd6db
mov dword [rsi + 0x40], 7
jmp 0x1401dd71a
cmp esi, edx
jg 0x1401dd8c8
cmp edi, eax
jl 0x1401dd8c8
add rbx, 1
cmp dword [r14 + 0x1c], ebx
jg 0x1401dd8f2
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 0x1401dda60
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 0x1401dda88
mov ecx, dword [rdi + 0x1c]
lea eax, [rcx + 1]
jmp 0x1401dd841
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 0x1401dd890
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 0x1401dd9fc
mov r10, qword [rsp + 0x40]
jmp 0x1401dda47
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 0x1401dda47
movzx r14d, word [r10]
rol r14w, 8
movzx r14d, r14w
cmp r14d, 0x28
jle 0x1401dd7f2
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 0x1401dda47
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 0x1401ddb84
xor ebx, ebx
jmp 0x1401ddb3a
cmp edx, eax
setl al
test al, al
jne 0x1401ddb61
add rbx, 1
cmp dword [rdi + 0x1c], ebx
jle 0x1401ddb84
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 0x1401ddb28
movd xmm0, eax
movd xmm3, edx
comiss xmm0, xmm3
seta al
jmp 0x1401ddb2d
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 0x1401ddb3a
test r14d, r14d
mov r9, r12
mov r8, rbp
je 0x1401ddbd0
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 0x1401ddbe3
mov ecx, dword [rdi + 0x1c]
lea eax, [rcx + 1]
jmp 0x1401ddb03
mov edx, 1
mov rcx, rdi
call sym.rtreeCheckMapping
add dword [rdi + 0x38], 1
jmp 0x1401ddbb0
mov r10, rsi
jmp 0x1401dda47
mov dword [rsi + 0x40], eax
jmp 0x1401dd7e0