Function at 0x5de6f0
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov eax, r8d
mov qword [rsp + 0x110], rcx
mov rbp, rdx
mov rbx, r9
sub eax, 6
mov dword [rsp + 0x120], r8d
cmp eax, 0x61
jbe 0x5de770
cmp r8d, 5
lea rax, str.Too_few_columns_for_an_rtree_table
lea rdx, str.Too_many_columns_for_an_rtree_table
mov r15d, 1
cmovle rdx, rax
lea rcx, [0x00736750]
call dbg.sqlite3_mprintf
mov rbx, qword [rsp + 0x138]
mov qword [rbx], rax
mov eax, r15d
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x110]
mov r8d, 1
mov edx, 1
call dbg.sqlite3_vtab_config
mov rcx, qword [rsp + 0x110]
mov edx, 2
call dbg.sqlite3_vtab_config
mov rcx, qword [rbx + 8]
call sym.strlen
mov rcx, qword [rbx + 0x10]
mov r12, rax
call sym.strlen
mov rsi, rax
call sym.sqlite3_initialize
test eax, eax
jne 0x5dea40
lea eax, [rsi + rsi]
movsxd r12, r12d
cdqe
lea r15, [r12 + rax + 0x3d0]
mov rcx, r15
call sym.sqlite3Malloc
mov rdi, rax
test rax, rax
je 0x5dea40
test rbp, rbp
mov r8, r15
mov rcx, rax
movsxd rsi, esi
setne bpl
setne r14b
xor edx, edx
mov r13d, 4
call sym.memset
mov byte [rdi + 0x26], bpl
mov r8, r12
movzx r14d, r14b
lea rcx, [rdi + 0x3c8]
lea rax, [0x0060a3c0]
mov dword [rdi + 0x48], 1
lea r15, [rcx + r12 + 1]
mov qword [rdi], rax
lea rbp, [rsp + 0x80]
lea rax, [r15 + rsi + 1]
mov qword [rdi + 0x30], rcx
mov qword [rdi + 0x38], r15
mov qword [rdi + 0x40], rax
mov rdx, qword [rbx + 8]
call sym.memcpy
mov rdx, qword [rbx + 0x10]
mov r8, rsi
mov rcx, r15
lea r15, str.__.s_REAL
call sym.memcpy
mov rcx, qword [rdi + 0x40]
mov rdx, qword [rbx + 0x10]
mov r8, rsi
call sym.memcpy
add rsi, qword [rdi + 0x40]
mov edx, 0x65
mov rcx, qword [rsp + 0x110]
mov word [rsi + 4], dx
mov dword [rsi], 0x646f6e5f
call dbg.sqlite3_str_new
mov rsi, qword [rbx + 0x18]
mov rdx, rbp
mov dword [rsp + 0x80], 0
mov r12, rax
mov rcx, rsi
call dbg.sqlite3GetToken
mov r9, rsi
lea rdx, str.CREATE_TABLE_x__.s_INT
mov rcx, r12
mov r8d, eax
call dbg.sqlite3_str_appendf
mov eax, dword [rsp + 0x120]
sub eax, 5
add rax, 5
mov qword [rsp + 0x60], rax
mov rax, r14
mov r14, rdi
mov rdi, rax
jmp 0x5de933
test al, al
jne 0x5de998
add byte [r14 + 0x25], 1
mov rcx, r9
mov rdx, rbp
add r13, 1
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x80], 0
call dbg.sqlite3GetToken
mov rdx, qword [r15 + rdi*8]
mov r9, qword [rsp + 0x58]
mov rcx, r12
mov r8d, eax
call dbg.sqlite3_str_appendf
lea r8d, [rsi + 1]
cmp r13, qword [rsp + 0x60]
je 0x5de998
mov r9, qword [rbx + r13*8]
movzx eax, byte [r14 + 0x29]
mov esi, r13d
mov r8d, r13d
cmp byte [r9], 0x2b
jne 0x5de8e8
add eax, 1
add r9, 1
mov rdx, rbp
add r13, 1
mov byte [r14 + 0x29], al
mov rcx, r9
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x80], 0
call dbg.sqlite3GetToken
mov r9, qword [rsp + 0x58]
lea rdx, str.__.s
mov rcx, r12
mov r8d, eax
call dbg.sqlite3_str_appendf
lea r8d, [rsi + 1]
cmp r13, qword [rsp + 0x60]
jne 0x5de933
nop dword [rax]
lea rdx, [0x0073d176]
mov rcx, r12
mov dword [rsp + 0x58], r8d
mov rdi, r14
call dbg.sqlite3_str_appendf
test r12, r12
mov r8d, dword [rsp + 0x58]
je 0x5dea50
lea rsi, [0x0060aee0]
cmp r12, rsi
je 0x5dea50
mov rcx, r12
mov dword [rsp + 0x58], r8d
call sym.sqlite3_str_finish.part.0
mov r12, rax
test rax, rax
je 0x5dea50
mov r8d, dword [rsp + 0x58]
cmp dword [rsp + 0x120], r8d
jle 0x5dea60
lea rdx, str.Auxiliary_rtree_columns_must_be_last
lea rcx, [0x00736750]
mov r15d, 1
call dbg.sqlite3_mprintf
mov rbx, qword [rsp + 0x138]
mov rcx, r12
mov qword [rbx], rax
call sym.sqlite3_free
nop dword [rax]
sub dword [rdi + 0x48], 1
jne 0x5de757
mov rcx, rdi
call sym.rtreeRelease.part.0
jmp 0x5de757
mov r15d, 7
jmp 0x5de757
xor ecx, ecx
mov r15d, 7
call sym.sqlite3_free
jmp 0x5dea20
mov rcx, qword [rsp + 0x110]
mov rdx, rax
call sym.sqlite3_declare_vtab
mov r15d, eax
test eax, eax
jne 0x5dee73
mov rcx, r12
call sym.sqlite3_free
movzx eax, byte [rdi + 0x25]
mov edx, eax
shr dl, 1
mov byte [rdi + 0x24], dl
je 0x5deec0
cmp al, 0xa
ja 0x5deeb0
lea rdx, str.Wrong_number_of_columns_for_an_rtree_table
test al, 1
je 0x5dead0
lea rcx, [0x00736750]
mov r15d, 1
call dbg.sqlite3_mprintf
mov rbx, qword [rsp + 0x138]
mov qword [rbx], rax
jmp 0x5dea20
lea eax, [rax*4 + 8]
mov rdx, qword [rdi + 0x30]
mov byte [rdi + 0x27], al
mov eax, dword [rsp + 0x140]
test eax, eax
je 0x5def09
lea rcx, str.PRAGMA__Q.page_size
mov dword [rsp + 0x80], 0
call dbg.sqlite3_mprintf
mov r12, rax
test rax, rax
je 0x5deecc
mov rcx, qword [rsp + 0x110]
mov r8, rbp
mov rdx, rax
call sym.getIntFromStmt.part.0
mov r14d, eax
test eax, eax
jne 0x5deed2
mov eax, dword [rsp + 0x80]
lea edx, [rax - 0x40]
movzx eax, byte [rdi + 0x27]
mov dword [rdi + 0x20], edx
imul eax, eax, 0x33
add eax, 4
cmp edx, eax
jle 0x5deb4c
mov dword [rdi + 0x20], eax
mov rcx, r12
call sym.sqlite3_free
mov rax, qword [rsp + 0x110]
mov r13, qword [rbx + 0x10]
mov rbx, qword [rbx + 8]
mov qword [rdi + 0x18], rax
mov rcx, rax
mov qword [rsp + 0x60], r13
call dbg.sqlite3_str_new
mov r9, r13
mov r8, rbx
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov rcx, rax
mov r12, rax
lea r13, str._a_d
call dbg.sqlite3_str_appendf
cmp byte [rdi + 0x29], 0
je 0x5debbb
nop word [rax + rax]
mov r8d, r14d
mov rdx, r13
mov rcx, r12
add r14d, 1
call dbg.sqlite3_str_appendf
movzx eax, byte [rdi + 0x29]
cmp r14d, eax
jl 0x5deba0
mov r14, qword [rsp + 0x60]
mov r8, rbx
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
mov rcx, r12
mov r9, r14
call dbg.sqlite3_str_appendf
mov r9, r14
mov r8, rbx
mov rcx, r12
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
call dbg.sqlite3_str_appendf
mov eax, dword [rdi + 0x20]
mov r9, r14
mov r8, rbx
lea rdx, str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
mov rcx, r12
mov dword [rsp + 0x20], eax
call dbg.sqlite3_str_appendf
test r12, r12
je 0x5def6f
cmp r12, rsi
je 0x5def6f
mov rcx, r12
call sym.sqlite3_str_finish.part.0
mov r12, rax
test rax, rax
je 0x5def6f
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x110]
call dbg.sqlite3_exec
mov rcx, r12
mov r14d, eax
call sym.sqlite3_free
test r14d, r14d
jne 0x5df097
lea rax, [rdi + 0x78]
mov rdx, qword [rdi + 0x30]
xor r9d, r9d
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x80], rax
lea rax, [rdi + 0x80]
mov rcx, qword [rsp + 0x110]
lea r8, str.sqlite_stat1
mov qword [rsp + 0x88], rax
lea rax, [rdi + 0x88]
mov qword [rsp + 0x90], rax
lea rax, [rdi + 0x90]
mov qword [rsp + 0x98], rax
lea rax, [rdi + 0x98]
mov qword [rsp + 0xa0], rax
lea rax, [rdi + 0xa0]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0xa8], rax
lea rax, [rdi + 0xa8]
mov qword [rsp + 0xb0], rax
lea rax, [rdi + 0xb0]
mov qword [rsp + 0xb8], rax
call dbg.sqlite3_table_column_metadata
mov r14d, eax
test eax, eax
je 0x5df0b4
mov qword [rdi + 0x50], 0x100000
cmp eax, 1
je 0x5defdc
cmp byte [rdi + 0x29], 0
je 0x5df097
cmp r14d, 7
je 0x5df097
mov r14, qword [rsp + 0x60]
mov rdx, rbx
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
mov r8, r14
call dbg.sqlite3_mprintf
mov qword [rdi + 0x60], rax
test rax, rax
je 0x5def6f
mov rcx, qword [rsp + 0x110]
lea rbp, [0x00735e93]
call dbg.sqlite3_str_new
mov r8, rbx
mov r9, r14
lea rdx, str.UPDATE___w_.__w_rowid_SET
mov rcx, rax
mov r12, rax
lea rbx, str.a_d__d
call dbg.sqlite3_str_appendf
cmp byte [rdi + 0x29], 0
jne 0x5dedc1
jmp 0x5dede0
mov r8d, 1
mov rdx, rbp
mov rcx, r12
call dbg.sqlite3_str_append
lea r9d, [r15 + 2]
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
call dbg.sqlite3_str_appendf
movzx eax, byte [rdi + 0x29]
add r15d, 1
cmp r15d, eax
jl 0x5dedb0
lea rdx, str._WHERE_rowid_1
mov rcx, r12
call dbg.sqlite3_str_appendf
test r12, r12
je 0x5def6f
cmp r12, rsi
je 0x5def6f
mov rcx, r12
call sym.sqlite3_str_finish.part.0
mov r12, rax
test rax, rax
je 0x5def6f
lea rax, [rdi + 0xb8]
mov rcx, qword [rsp + 0x110]
mov rdx, r12
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov r9d, 0x85
mov r8d, 0xffffffff
mov qword [rsp + 0x20], 0
call dbg.sqlite3LockAndPrepare
mov rcx, r12
mov r15d, eax
call sym.sqlite3_free
test r15d, r15d
jne 0x5def75
mov rax, qword [rsp + 0x130]
mov qword [rax], rdi
jmp 0x5de757
mov rcx, qword [rsp + 0x110]
call dbg.sqlite3_errmsg
lea rcx, [0x00736750]
mov rdx, rax
call dbg.sqlite3_mprintf
mov rbx, qword [rsp + 0x138]
mov rcx, r12
mov qword [rbx], rax
call sym.sqlite3_free
jmp 0x5dea20
lea rdx, str.Too_many_columns_for_an_rtree_table
jmp 0x5deaa7
lea rdx, str.Too_few_columns_for_an_rtree_table
jmp 0x5deaa7
mov r14d, 7
mov rcx, qword [rsp + 0x110]
mov r15d, r14d
call dbg.sqlite3_errmsg
lea rcx, [0x00736750]
mov rdx, rax
call dbg.sqlite3_mprintf
mov rbx, qword [rsp + 0x138]
mov rcx, r12
mov qword [rbx], rax
call sym.sqlite3_free
jmp 0x5dea20
mov r8, qword [rdi + 0x38]
lea rcx, str.SELECT_length_data__FROM__q._q_node_WHERE_nodeno__1
call dbg.sqlite3_mprintf
mov r12, rax
test rax, rax
je 0x5deecc
mov rcx, qword [rsp + 0x110]
lea r8, [rdi + 0x20]
mov rdx, rax
call sym.getIntFromStmt.part.0
mov r14d, eax
test eax, eax
jne 0x5deed2
cmp dword [rdi + 0x20], 0x1bf
jle 0x5df143
mov rcx, r12
call sym.sqlite3_free
mov rax, qword [rbx + 0x10]
mov rbx, qword [rbx + 8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x110]
mov qword [rdi + 0x18], rax
jmp 0x5dec5f
mov r15d, 7
mov rcx, qword [rsp + 0x110]
call dbg.sqlite3_errmsg
lea rcx, [0x00736750]
mov rdx, rax
call dbg.sqlite3_mprintf
mov rbx, qword [rsp + 0x138]
mov qword [rbx], rax
jmp 0x5dea20
mov rcx, qword [rsp + 0x78]
mov r12d, 0x64
call dbg.sqlite3_step
cmp eax, 0x64
je 0x5df171
mov rcx, qword [rsp + 0x78]
call dbg.sqlite3_finalize
mov rcx, r13
mov r14d, eax
call sym.sqlite3_free
mov qword [rdi + 0x50], r12
test r14d, r14d
jne 0x5ded38
xor r12d, r12d
mov dword [rsp + 0x6c], r15d
mov r14, qword [rsp + 0x60]
mov r15, r12
mov qword [rsp + 0x58], rdi
mov r12, rbp
mov rbp, qword [rsp + 0x110]
jmp 0x5df057
mov qword [rsp + 0x30], 0
mov rax, qword [r12 + r15*8]
mov rdx, r13
mov rcx, rbp
mov qword [rsp + 0x20], 0
mov r9d, 0x85
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rax
call dbg.sqlite3LockAndPrepare
mov rcx, r13
mov edi, eax
call sym.sqlite3_free
lea edx, [r15 + 1]
cmp edx, 7
setle cl
test edi, edi
sete dl
add r15, 1
test cl, dl
je 0x5df18a
cmp r15, 3
je 0x5df0a0
lea rax, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
mov rcx, qword [rax + r15*8]
mov r8, r14
mov rdx, rbx
call dbg.sqlite3_mprintf
mov r13, rax
test rax, rax
jne 0x5df000
mov rdi, qword [rsp + 0x58]
xor ecx, ecx
call sym.sqlite3_free
cmp byte [rdi + 0x29], 0
je 0x5def6f
mov r14d, 7
mov r15d, r14d
jmp 0x5def75
mov rax, qword [rsp + 0x58]
lea rcx, str.INSERT_INTO__w_.__w_rowid__rowid_nodeno_VALUES__1__2_ON_CONFLICT_rowid_DO_UPDATE_SET_nodenoexcluded.nodeno
cmp byte [rax + 0x29], 0
jne 0x5df068
jmp 0x5df05d
mov rdx, qword [rdi + 0x30]
mov r8, qword [rdi + 0x38]
lea rcx, str.SELECT_stat_FROM__Q.sqlite_stat1_WHERE_tbl___q_rowid
call dbg.sqlite3_mprintf
mov r13, rax
test rax, rax
je 0x5df130
lea rax, [rsp + 0x78]
mov rcx, qword [rsp + 0x110]
mov rdx, r13
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov r9d, pe_nt_image_headers64
mov r8d, 0xffffffff
mov qword [rsp + 0x20], 0
call dbg.sqlite3LockAndPrepare
mov r14d, eax
test eax, eax
je 0x5defa1
mov rcx, r13
call sym.sqlite3_free
mov qword [rdi + 0x50], 0x64
jmp 0x5ded38
mov qword [rdi + 0x50], 0x64
mov r14d, 7
jmp 0x5df097
mov rdx, qword [rdi + 0x38]
lea rcx, str.undersize_RTree_blobs_in___q_node_
mov r15d, 0x10b
call dbg.sqlite3_mprintf
mov rbx, qword [rsp + 0x138]
mov rcx, r12
mov qword [rbx], rax
call sym.sqlite3_free
jmp 0x5dea20
mov rcx, qword [rsp + 0x78]
xor edx, edx
call dbg.sqlite3_column_int64
cmp rax, 0x64
cmovge r12, rax
jmp 0x5defba
mov r14d, edi
mov rdi, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x6c]
cmp byte [rdi + 0x29], 0
jne 0x5ded42
mov r15d, r14d
jmp 0x5dee5a