Function at 0x14011f820
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 0x14011f858
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 0x14011faa5
mov r8, r12
mov edx, 1
call sym.sqlite3_bind_int64
mov rcx, qword [rsi + 0x20]
call sym.sqlite3_step
cmp eax, 0x64
je 0x14011f8c0
mov rcx, qword [rsi + 0x20]
call sym.sqlite3_reset
mov r11d, dword [rsi + 0x40]
test r11d, r11d
jne 0x14011f843
mov dword [rsi + 0x40], eax
test eax, eax
jne 0x14011f843
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 sym.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 sym.columnMem
mov rcx, rax
call sym.sqlite3_value_blob
mov r15, rax
test r14, r14
je 0x14011f8f3
mov rcx, r14
call sym.columnMallocFailure.part.0
mov r14d, dword [0x14014efd4]
test r14d, r14d
jne 0x14011fc30
call sym.sqlite3MutexInit
test eax, eax
jne 0x14011fad8
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x14011fad8
movsxd r14, ebx
mov rcx, r14
call sym.sqlite3Malloc
test rax, rax
je 0x14011fad8
mov r8, r14
mov rdx, r15
mov rcx, rax
mov qword [rsp + 0x30], rax
call sym.memcpy
mov rcx, qword [rsi + 0x20]
call sym.sqlite3_reset
mov r10d, dword [rsi + 0x40]
test r10d, r10d
mov r10, qword [rsp + 0x30]
je 0x14011fc3b
cmp ebx, 3
jle 0x14011fb63
test rdi, rdi
je 0x14011fbf8
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 0x14011fbd0
test r9d, r9d
je 0x14011fb82
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 0x14011fb1c
mov dword [rsp + 0x48], r13d
mov r14, r15
mov r13, r12
mov r15, rdi
mov r12d, ebp
mov rbp, rsi
jmp 0x14011fa54
cmp edi, esi
jg 0x14011fa7f
test r15, r15
je 0x14011fa47
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 0x14011fae8
movd xmm0, eax
movd xmm2, edi
comiss xmm0, xmm2
ja 0x14011fa30
movd xmm0, esi
movd xmm3, edx
comiss xmm0, xmm3
jbe 0x14011fa47
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 sym.rtreeCheckAppendMsg
add rbx, 1
cmp dword [rbp + 0x1c], ebx
jle 0x14011fb08
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 0x14011f9f0
movd xmm0, edi
movd xmm1, esi
comiss xmm0, xmm1
jbe 0x14011f9f8
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 sym.rtreeCheckAppendMsg
mov r8d, dword [rsp + 0x30]
jmp 0x14011f9f8
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 sym.rtreeCheckPrepare
mov r15d, dword [rsi + 0x40]
mov qword [rsi + 0x20], rax
mov rcx, rax
test r15d, r15d
je 0x14011f865
jmp 0x14011f843
mov dword [rsi + 0x40], 7
jmp 0x14011f880
cmp esi, edx
jg 0x14011fa30
cmp edi, eax
jl 0x14011fa30
add rbx, 1
cmp dword [rbp + 0x1c], ebx
jg 0x14011fa54
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 0x14011fba0
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 sym.rtreeCheckNode
mov eax, dword [rsp + 0x4c]
add dword [rsi + 0x3c], 1
cmp ebp, eax
je 0x14011fbc4
mov edx, dword [rsi + 0x1c]
lea eax, [rdx + 1]
jmp 0x14011f9ac
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 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 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 0x14011fb58
mov r10, qword [rsp + 0x40]
jmp 0x14011fb82
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 sym.rtreeCheckAppendMsg
mov r10, qword [rsp + 0x30]
jmp 0x14011fb82
movzx r13d, word [r10]
rol r13w, 8
movzx r13d, r13w
cmp r13d, 0x28
jle 0x14011f971
mov r8d, r13d
lea rdx, str.Rtree_depth_out_of_range___d_
mov rcx, rsi
mov qword [rsp + 0x30], r10
call sym.rtreeCheckAppendMsg
mov r10, qword [rsp + 0x30]
jmp 0x14011fb82
lock or qword [rsp], 0
jmp 0x14011f91d
mov dword [rsi + 0x40], eax
jmp 0x14011f95f