Function at 0x140208400
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 0x140208438
add rsp, 0x68
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 0x1402084a0
mov r8, rbp
mov edx, 1
call sym.sqlite3_bind_int64
mov rcx, qword [r12 + 0x20]
call dbg.sqlite3_step
cmp eax, 0x64
je 0x1402084d8
mov rcx, qword [r12 + 0x20]
call dbg.sqlite3_reset
mov edx, dword [r12 + 0x40]
test edx, edx
jne 0x140208424
mov dword [r12 + 0x40], eax
test eax, eax
jne 0x140208424
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 dbg.rtreeCheckAppendMsg
mov r9, qword [r12 + 0x10]
mov r8, qword [r12 + 8]
mov rcx, r12
lea rdx, str.SELECT_data_FROM__Q._q_node_WHERE_nodeno_
call dbg.rtreeCheckPrepare
mov r13d, dword [r12 + 0x40]
mov qword [r12 + 0x20], rax
mov rcx, rax
test r13d, r13d
je 0x140208441
jmp 0x140208424
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 dbg.columnMem
mov rcx, rax
call sym.sqlite3_value_blob
mov r13, rax
test r14, r14
je 0x14020850d
mov rcx, r14
call sym.columnMallocFailure.part.0
mov esi, dword [0x140241cd4]
test esi, esi
jne 0x140208815
call dbg.sqlite3MutexInit
test eax, eax
jne 0x1402086c4
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x1402086c4
movsxd rsi, ebx
mov rcx, rsi
call sym.sqlite3Malloc
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1402086c4
mov r8, rsi
mov rdx, r13
mov rcx, rax
call sym.memcpy
mov rcx, qword [r12 + 0x20]
call dbg.sqlite3_reset
mov r11d, dword [r12 + 0x40]
test r11d, r11d
je 0x14020881d
cmp ebx, 3
jle 0x140208771
test r15, r15
je 0x1402087e0
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 0x1402087c0
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 0x140208786
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 0x1402086f5
mov qword [rsp + 0x30], rbp
mov rbp, r13
jmp 0x140208692
cmp r13d, esi
setg al
test al, al
jne 0x140208746
test r12, r12
je 0x140208688
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 0x1402086d8
movd xmm0, eax
movd xmm2, r13d
comiss xmm0, xmm2
ja 0x140208670
movd xmm0, esi
movd xmm3, edx
comiss xmm0, xmm3
jbe 0x140208688
nop word [rax + rax]
mov rax, qword [rsp + 0x30]
mov r9d, edi
mov rdx, r14
mov rcx, r15
mov qword [rsp + 0x20], rax
call dbg.rtreeCheckAppendMsg
add rbx, 1
cmp dword [r15 + 0x1c], ebx
jle 0x1402086f0
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 0x140208620
movd xmm0, r13d
movd xmm1, esi
comiss xmm0, xmm1
seta al
jmp 0x140208626
mov dword [r12 + 0x40], 7
jmp 0x14020845d
cmp esi, edx
jg 0x140208670
cmp r13d, eax
jl 0x140208670
add rbx, 1
cmp dword [r15 + 0x1c], ebx
jg 0x140208692
nop dword [rax + rax]
mov rbp, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x3c]
test r10d, r10d
je 0x1402087a0
mov rsi, qword [rsp + 0x48]
mov r9, rbp
xor edx, edx
mov rcx, r15
mov r8, rsi
call dbg.rtreeCheckMapping
mov r8, qword [rsp + 0x50]
mov r9, rsi
mov rcx, r15
mov edx, dword [rsp + 0x5c]
call dbg.rtreeCheckNode
add dword [r15 + 0x3c], 1
add edi, 1
cmp edi, dword [rsp + 0x58]
je 0x140208786
mov edx, dword [r15 + 0x1c]
lea eax, [rdx + 1]
jmp 0x1402085dc
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 dbg.rtreeCheckAppendMsg
mov r8d, dword [rsp + 0x38]
jmp 0x14020862e
mov r9d, ebx
mov r8, rbp
lea rdx, str.Node__lld_is_too_small___d_bytes_
mov rcx, r12
call dbg.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 dbg.rtreeCheckMapping
add dword [r15 + 0x38], 1
jmp 0x140208731
mov dword [rsp + 0x20], ebx
mov r9d, dword [rsp + 0x58]
mov r8, rbp
mov rcx, r12
lea rdx, str.Node__lld_is_too_small_for_cell_count_of__d___d_bytes_
call dbg.rtreeCheckAppendMsg
jmp 0x140208786
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 0x140208586
mov r8d, eax
lea rdx, str.Rtree_depth_out_of_range___d_
mov rcx, r12
call dbg.rtreeCheckAppendMsg
jmp 0x140208786
mfence
jmp 0x140208535
mov dword [r12 + 0x40], eax
jmp 0x140208574