Function at 0x1402163f0
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
lea eax, [r8 - 6]
mov r13, rdx
mov esi, r8d
mov rbp, r9
mov qword [rsp + 0x110], rcx
cmp eax, 0x61
jbe 0x140216468
cmp r8d, 6
lea rax, str.Too_many_columns_for_an_rtree_table
lea rdx, str.Too_few_columns_for_an_rtree_table
cmovge rdx, rax
lea rcx, [0x14038df58]
call dbg.sqlite3_mprintf
mov rsi, qword [rsp + 0x138]
mov qword [rsi], rax
mov esi, 1
mov eax, esi
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 [rbp + 8]
call sym.strlen
mov rcx, qword [rbp + 0x10]
mov r15, rax
call sym.strlen
mov r10d, dword [0x140245cf4]
mov rdi, rax
test r10d, r10d
jne 0x140216740
call dbg.sqlite3MutexInit
test eax, eax
jne 0x140216730
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x140216730
lea eax, [rdi + rdi]
movsxd r15, r15d
cdqe
lea r12, [r15 + rax + 0x3d0]
mov rcx, r12
call sym.sqlite3Malloc
mov rbx, rax
test rax, rax
je 0x140216730
test r13, r13
mov r8, r12
mov rcx, rax
movsxd rdi, edi
setne r13b
setne r14b
xor edx, edx
call sym.memset
mov byte [rbx + 0x26], r13b
mov r8, r15
movzx r14d, r14b
lea rcx, [rbx + 0x3c8]
mov dword [rbx + 0x48], 1
lea rax, [0x140244dc0]
lea r12, [rcx + r15 + 1]
mov qword [rbx], rax
lea r13, [rbp + 0x20]
lea rax, [r12 + rdi + 1]
mov qword [rbx + 0x30], rcx
mov qword [rbx + 0x38], r12
mov qword [rbx + 0x40], rax
mov rdx, qword [rbp + 8]
call sym.memcpy
mov rdx, qword [rbp + 0x10]
mov r8, rdi
mov rcx, r12
mov r12d, 4
call sym.memcpy
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbx + 0x40]
mov r8, rdi
call sym.memcpy
add rdi, qword [rbx + 0x40]
mov r9d, 0x65
mov rcx, qword [rsp + 0x110]
mov word [rdi + 4], r9w
mov dword [rdi], 0x646f6e5f
call sym.sqlite3_str_new
mov r15, qword [rbp + 0x18]
mov rdi, rax
lea rax, [rsp + 0x80]
mov rcx, r15
mov rdx, rax
mov qword [rsp + 0x60], rax
call dbg.sqlite3GetToken
mov r9, r15
lea rdx, str.CREATE_TABLE_x__.s_INT
mov rcx, rdi
mov r8d, eax
lea r15, str._f9_
call dbg.sqlite3_str_appendf
jmp 0x14021661f
test al, al
jne 0x140216670
add byte [rbx + 0x25], 1
mov rdx, qword [rsp + 0x60]
mov rcx, r9
add r12d, 1
mov qword [rsp + 0x58], r9
add r13, 8
call dbg.sqlite3GetToken
mov rdx, qword [r15 + r14*8]
mov r9, qword [rsp + 0x58]
mov rcx, rdi
mov r8d, eax
call dbg.sqlite3_str_appendf
cmp esi, r12d
je 0x140216670
mov r9, qword [r13]
movzx eax, byte [rbx + 0x29]
cmp byte [r9], 0x2b
jne 0x1402165e0
add eax, 1
add r9, 1
mov rdx, qword [rsp + 0x60]
add r12d, 1
mov byte [rbx + 0x29], al
mov rcx, r9
add r13, 8
mov qword [rsp + 0x58], r9
call dbg.sqlite3GetToken
mov r9, qword [rsp + 0x58]
lea rdx, str.__.s
mov rcx, rdi
mov r8d, eax
call dbg.sqlite3_str_appendf
cmp esi, r12d
jne 0x14021661f
nop dword [rax]
lea rdx, [0x140394a82]
mov rcx, rdi
call dbg.sqlite3_str_appendf
test rdi, rdi
je 0x140216720
lea r15, [0x1402458e0]
cmp rdi, r15
je 0x140216720
mov rax, qword [rdi + 8]
test rax, rax
je 0x140216718
mov edx, dword [rdi + 0x18]
mov byte [rax + rdx], 0
mov r8d, dword [rdi + 0x14]
test r8d, r8d
je 0x1402166bb
test byte [rdi + 0x1d], 4
je 0x140216cae
mov r14, qword [rdi + 8]
mov rcx, rdi
call sym.sqlite3_free
test r14, r14
je 0x140216720
cmp esi, r12d
jle 0x140216750
lea rcx, [0x14038df58]
lea rdx, str.Auxiliary_rtree_columns_must_be_last
call dbg.sqlite3_mprintf
mov rsi, qword [rsp + 0x138]
mov rcx, r14
mov qword [rsi], rax
call sym.sqlite3_free
mov esi, 1
sub dword [rbx + 0x48], 1
jne 0x14021644f
mov rcx, rbx
call sym.rtreeRelease.part.0
jmp 0x14021644f
mov rcx, rdi
call sym.sqlite3_free
xor ecx, ecx
mov esi, 7
call sym.sqlite3_free
jmp 0x1402166fc
mov esi, 7
jmp 0x14021644f
lock or qword [rsp], 0
jmp 0x1402164d4
mov rcx, qword [rsp + 0x110]
mov rdx, r14
call sym.sqlite3_declare_vtab
mov esi, eax
test eax, eax
jne 0x140216b38
mov rcx, r14
call sym.sqlite3_free
movzx eax, byte [rbx + 0x25]
mov edx, eax
shr dl, 1
mov byte [rbx + 0x24], dl
cmp al, 1
jbe 0x140216b6c
cmp al, 0xa
ja 0x140216938
lea rdx, str.Wrong_number_of_columns_for_an_rtree_table
test al, 1
jne 0x14021693f
mov ecx, dword [rsp + 0x140]
lea eax, [rax*4 + 8]
mov rdx, qword [rbx + 0x30]
mov byte [rbx + 0x27], al
test ecx, ecx
jne 0x14021695b
mov r8, qword [rbx + 0x38]
lea rcx, str.SELECT_length_data__FROM__q._q_node_WHERE_nodeno__1
call dbg.sqlite3_mprintf
mov rdi, rax
test rax, rax
je 0x140216af6
mov rcx, qword [rsp + 0x110]
lea r8, [rbx + 0x20]
mov rdx, rax
call sym.getIntFromStmt.part.0
mov r14d, eax
test eax, eax
jne 0x140216afc
cmp dword [rbx + 0x20], 0x1bf
jle 0x140216ea6
mov rcx, rdi
call sym.sqlite3_free
mov rax, qword [rbp + 0x10]
mov rbp, qword [rbp + 8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x110]
mov qword [rbx + 0x18], rax
lea rax, [rbx + 0x78]
mov rdx, qword [rbx + 0x30]
xor r9d, r9d
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x80], rax
lea rax, [rbx + 0x80]
mov rcx, qword [rsp + 0x110]
lea r8, str.sqlite_stat1
mov qword [rsp + 0x88], rax
lea rax, [rbx + 0x88]
mov qword [rsp + 0x90], rax
lea rax, [rbx + 0x90]
mov qword [rsp + 0x98], rax
lea rax, [rbx + 0x98]
mov qword [rsp + 0xa0], rax
lea rax, [rbx + 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, [rbx + 0xa8]
mov qword [rsp + 0xb0], rax
lea rax, [rbx + 0xb0]
mov qword [rsp + 0xb8], rax
call dbg.sqlite3_table_column_metadata
mov r14d, eax
test eax, eax
je 0x140216cbe
mov qword [rbx + 0x50], 0x100000
cmp eax, 1
je 0x140216bbd
cmp byte [rbx + 0x29], 0
jne 0x140216d36
mov esi, r14d
mov rcx, qword [rsp + 0x110]
call sym.sqlite3_errmsg
lea rcx, [0x14038df58]
mov rdx, rax
call dbg.sqlite3_mprintf
mov rdi, qword [rsp + 0x138]
mov qword [rdi], rax
jmp 0x1402166fc
lea rdx, str.Too_many_columns_for_an_rtree_table
lea rcx, [0x14038df58]
call dbg.sqlite3_mprintf
mov rsi, qword [rsp + 0x138]
mov qword [rsi], rax
jmp 0x1402166f7
lea rcx, str.PRAGMA__Q.page_size
mov dword [rsp + 0x80], 0
call dbg.sqlite3_mprintf
mov rdi, rax
test rax, rax
je 0x140216af6
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x110]
mov rdx, rax
call sym.getIntFromStmt.part.0
mov r14d, eax
test eax, eax
jne 0x140216afc
mov eax, dword [rsp + 0x80]
lea edx, [rax - 0x40]
movzx eax, byte [rbx + 0x27]
mov dword [rbx + 0x20], edx
imul eax, eax, 0x33
add eax, 4
cmp edx, eax
jle 0x1402169bc
mov dword [rbx + 0x20], eax
mov rcx, rdi
call sym.sqlite3_free
mov rax, qword [rsp + 0x110]
mov r13, qword [rbp + 0x10]
mov rbp, qword [rbp + 8]
mov qword [rbx + 0x18], rax
mov rcx, rax
mov qword [rsp + 0x58], r13
call sym.sqlite3_str_new
mov r9, r13
mov r8, rbp
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov rcx, rax
mov rdi, rax
call dbg.sqlite3_str_appendf
cmp byte [rbx + 0x29], 0
je 0x140216a27
nop dword [rax + rax]
mov r8d, r14d
lea rdx, str._a_d
mov rcx, rdi
add r14d, 1
call dbg.sqlite3_str_appendf
movzx eax, byte [rbx + 0x29]
cmp r14d, eax
jl 0x140216a08
mov r14, qword [rsp + 0x58]
mov r8, rbp
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
mov rcx, rdi
mov r9, r14
call dbg.sqlite3_str_appendf
mov r9, r14
mov r8, rbp
mov rcx, rdi
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
call dbg.sqlite3_str_appendf
mov eax, dword [rbx + 0x20]
mov r9, r14
mov r8, rbp
lea rdx, str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
mov rcx, rdi
mov dword [rsp + 0x20], eax
call dbg.sqlite3_str_appendf
cmp rdi, r15
je 0x140216c87
test rdi, rdi
je 0x140216c87
mov rax, qword [rdi + 8]
test rax, rax
je 0x140216e99
mov edx, dword [rdi + 0x18]
mov byte [rax + rdx], 0
mov edx, dword [rdi + 0x14]
test edx, edx
je 0x140216aa9
test byte [rdi + 0x1d], 4
je 0x140216ed3
mov r14, qword [rdi + 8]
mov rcx, rdi
call sym.sqlite3_free
test r14, r14
je 0x140216c87
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x110]
call dbg.sqlite3_exec
mov rcx, r14
mov edi, eax
call sym.sqlite3_free
test edi, edi
je 0x140216822
mov esi, edi
jmp 0x140216908
mov r14d, 7
mov rcx, qword [rsp + 0x110]
call sym.sqlite3_errmsg
lea rcx, [0x14038df58]
mov rdx, rax
call dbg.sqlite3_mprintf
mov rsi, qword [rsp + 0x138]
mov rcx, rdi
mov qword [rsi], rax
mov esi, r14d
call sym.sqlite3_free
jmp 0x1402166fc
mov rcx, qword [rsp + 0x110]
call sym.sqlite3_errmsg
lea rcx, [0x14038df58]
mov rdx, rax
call dbg.sqlite3_mprintf
mov rdi, qword [rsp + 0x138]
mov rcx, r14
mov qword [rdi], rax
call sym.sqlite3_free
jmp 0x1402166fc
lea rdx, str.Too_few_columns_for_an_rtree_table
jmp 0x14021693f
mov r12, qword [rsp + 0x78]
mov rcx, r12
call dbg.sqlite3_step
mov edx, 0x64
cmp eax, 0x64
je 0x140216ef3
mov rcx, r12
mov qword [rsp + 0x68], rdx
call dbg.sqlite3_finalize
mov rcx, rdi
mov r14d, eax
call sym.sqlite3_free
mov rdx, qword [rsp + 0x68]
mov qword [rbx + 0x50], rdx
test r14d, r14d
jne 0x1402168fb
xor edi, edi
lea r13, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
nop word cs:[rax + rax]
cmp rdi, 3
je 0x140216c98
mov rcx, qword [r13 + rdi*8]
mov r8, qword [rsp + 0x58]
mov rdx, rbp
call dbg.sqlite3_mprintf
mov r12, rax
test rax, rax
je 0x140216c80
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x110]
mov rdx, r12
mov qword [rsp + 0x30], 0
mov r9d, 0x85
mov r8d, 0xffffffff
mov rax, qword [rax + rdi*8]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call dbg.sqlite3LockAndPrepare
mov rcx, r12
mov r14d, eax
call sym.sqlite3_free
lea edx, [rdi + 1]
cmp edx, 7
setle cl
test r14d, r14d
sete dl
add rdi, 1
test cl, dl
jne 0x140216bd0
cmp byte [rbx + 0x29], 0
jne 0x140216d36
mov esi, r14d
test esi, esi
jne 0x140216908
mov rax, qword [rsp + 0x130]
mov qword [rax], rbx
jmp 0x14021644f
xor ecx, ecx
call sym.sqlite3_free
mov esi, 7
jmp 0x140216908
cmp byte [rbx + 0x29], 0
lea rcx, str.INSERT_INTO__w_.__w_rowid__rowid_nodeno_VALUES__1__2_ON_CONFLICT_rowid_DO_UPDATE_SET_nodenoexcluded.nodeno
jne 0x140216bdf
jmp 0x140216bda
mov rcx, rdi
call dbg.strAccumFinishRealloc
mov r14, rax
jmp 0x1402166bf
mov rdx, qword [rbx + 0x30]
mov r8, qword [rbx + 0x38]
lea rcx, str.SELECT_stat_FROM__Q.sqlite_stat1_WHERE_tbl___q_rowid
call dbg.sqlite3_mprintf
mov rdi, rax
test rax, rax
je 0x140216dce
lea rax, [rsp + 0x78]
mov rcx, qword [rsp + 0x110]
mov rdx, rdi
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 0x140216b78
mov rcx, rdi
call sym.sqlite3_free
mov qword [rbx + 0x50], 0x64
jmp 0x1402168fb
cmp r14d, 7
je 0x140216c87
mov r14, qword [rsp + 0x58]
mov rdx, rbp
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
mov r8, r14
call dbg.sqlite3_mprintf
mov qword [rbx + 0x60], rax
test rax, rax
je 0x140216c87
mov rcx, qword [rsp + 0x110]
call sym.sqlite3_str_new
mov r8, rbp
mov r9, r14
lea rdx, str.UPDATE___w_.__w_rowid_SET
mov rcx, rax
mov rdi, rax
lea rbp, str.a_d__d
call dbg.sqlite3_str_appendf
cmp byte [rbx + 0x29], 0
je 0x140216ddb
lea r9d, [rsi + 2]
mov r8d, esi
mov rdx, rbp
mov rcx, rdi
call dbg.sqlite3_str_appendf
movzx eax, byte [rbx + 0x29]
add esi, 1
cmp esi, eax
jge 0x140216ddb
mov eax, dword [rdi + 0x18]
lea edx, [rax + 1]
cmp edx, dword [rdi + 0x10]
jae 0x140216e7f
add rax, qword [rdi + 8]
mov dword [rdi + 0x18], edx
mov byte [rax], 0x2c
jmp 0x140216d96
mov qword [rbx + 0x50], 0x64
jmp 0x140216c87
lea rdx, str._WHERE_rowid_1
mov rcx, rdi
call dbg.sqlite3_str_appendf
test rdi, rdi
je 0x140216c87
cmp rdi, r15
je 0x140216c87
mov rax, qword [rdi + 8]
test rax, rax
je 0x140216e99
mov edx, dword [rdi + 0x18]
mov byte [rax + rdx], 0
mov eax, dword [rdi + 0x14]
test eax, eax
je 0x140216e21
test byte [rdi + 0x1d], 4
je 0x140216ee3
mov rbp, qword [rdi + 8]
mov rcx, rdi
call sym.sqlite3_free
test rbp, rbp
je 0x140216c87
lea rax, [rbx + 0xb8]
mov rcx, qword [rsp + 0x110]
mov rdx, rbp
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, rbp
mov esi, eax
call sym.sqlite3_free
jmp 0x140216c67
mov r8d, 1
lea rdx, [0x14038d22f]
mov rcx, rdi
call dbg.enlargeAndAppend
jmp 0x140216d96
mov rcx, rdi
call sym.sqlite3_free
jmp 0x140216c87
mov rdx, qword [rbx + 0x38]
lea rcx, str.undersize_RTree_blobs_in___q_node_
call dbg.sqlite3_mprintf
mov rsi, qword [rsp + 0x138]
mov rcx, rdi
mov qword [rsi], rax
mov esi, 0x10b
call sym.sqlite3_free
jmp 0x1402166fc
mov rcx, rdi
call dbg.strAccumFinishRealloc
mov r14, rax
jmp 0x140216aad
mov rcx, rdi
call dbg.strAccumFinishRealloc
mov rbp, rax
jmp 0x140216e25
xor edx, edx
mov rcx, r12
call sym.sqlite3_column_int64
mov edx, 0x64
cmp rax, rdx
cmovge rdx, rax
jmp 0x140216b93