Function at 0x14022cef0
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov eax, r8d
mov qword [rsp + 0x100], rcx
mov rbp, rdx
mov rsi, r9
sub eax, 6
mov dword [rsp + 0x110], r8d
cmp eax, 0x61
jbe 0x14022cf70
cmp r8d, 5
lea rax, str.Too_few_columns_for_an_rtree_table
lea rdx, str.Too_many_columns_for_an_rtree_table
mov ebp, 1
cmovle rdx, rax
lea rcx, [0x140440a18]
call fcn.1401a8bf0
mov rsi, qword [rsp + 0x128]
mov qword [rsi], rax
mov eax, ebp
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x100]
mov r8d, 1
mov edx, 1
call fcn.14019bc10
mov rcx, qword [rsp + 0x100]
mov edx, 2
call fcn.14019bc10
mov rcx, qword [rsi + 8]
call sub.msvcrt.dll_strlen
mov rcx, qword [rsi + 0x10]
mov r13, rax
call sub.msvcrt.dll_strlen
mov r10d, dword [0x140273854]
mov rdi, rax
test r10d, r10d
jne 0x14022d270
call fcn.14015a580
test eax, eax
jne 0x14022d190
call fcn.1401a4010
test eax, eax
jne 0x14022d190
lea eax, [rdi + rdi]
movsxd r13, r13d
cdqe
lea rbx, [r13 + rax + 0x3d0]
mov rcx, rbx
call fcn.14015e070
mov r12, rax
test rax, rax
je 0x14022d190
test rbp, rbp
mov r8, rbx
mov rcx, rax
movsxd rdi, edi
setne r15b
setne bpl
lea rbx, [rsi + 0x20]
xor edx, edx
call sub.msvcrt.dll_memset
lea rcx, [r12 + 0x3c8]
mov byte [r12 + 0x26], r15b
mov r8, r13
lea r14, [rcx + r13 + 1]
lea rax, [0x140272920]
mov qword [r12 + 0x30], rcx
movzx ebp, bpl
mov qword [r12], rax
lea rax, [r14 + rdi + 1]
mov qword [r12 + 0x38], r14
mov qword [r12 + 0x40], rax
mov rdx, qword [rsi + 8]
mov dword [r12 + 0x48], 1
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsi + 0x10]
mov r8, rdi
mov rcx, r14
mov r14d, 4
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsi + 0x10]
mov rcx, qword [r12 + 0x40]
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rdi, qword [r12 + 0x40]
mov r9d, 0x65
mov rcx, qword [rsp + 0x100]
mov word [rdi + 4], r9w
mov dword [rdi], 0x646f6e5f
lea rdi, [rsp + 0x70]
call fcn.1401a7190
mov r15, qword [rsi + 0x18]
mov rdx, rdi
mov dword [rsp + 0x70], 0
mov r13, rax
mov rcx, r15
call fcn.140156f60
mov r9, r15
lea rdx, str.CREATE_TABLE_x__.s_INT
mov rcx, r13
mov r8d, eax
lea r15, str.__.s_REAL
call fcn.140173c50
jmp 0x14022d13c
test al, al
jne 0x14022d1a0
add byte [r12 + 0x25], 1
mov rcx, r9
mov rdx, rdi
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x70], 0
call fcn.140156f60
mov rdx, qword [r15 + rbp*8]
mov r9, qword [rsp + 0x58]
mov rcx, r13
mov r8d, eax
call fcn.140173c50
add r14d, 1
add rbx, 8
cmp dword [rsp + 0x110], r14d
je 0x14022d1a0
mov r9, qword [rbx]
movzx eax, byte [r12 + 0x29]
cmp byte [r9], 0x2b
jne 0x14022d0f0
add eax, 1
add r9, 1
mov rdx, rdi
mov byte [r12 + 0x29], al
mov rcx, r9
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x70], 0
call fcn.140156f60
mov r9, qword [rsp + 0x58]
lea rdx, str.__.s
mov rcx, r13
mov r8d, eax
call fcn.140173c50
jmp 0x14022d12a
mov ebp, 7
jmp 0x14022cf56
lea rdx, [0x140446cf2]
mov rcx, r13
call fcn.140173c50
test r13, r13
je 0x14022d280
lea rax, [0x140273440]
cmp r13, rax
je 0x14022d280
mov rax, qword [r13 + 8]
test rax, rax
je 0x14022d250
mov edx, dword [r13 + 0x18]
mov byte [rax + rdx], 0
mov r8d, dword [r13 + 0x14]
test r8d, r8d
je 0x14022d1ed
test byte [r13 + 0x1d], 4
je 0x14022d89e
mov r15, qword [r13 + 8]
mov rcx, r13
call fcn.14015ba40
test r15, r15
je 0x14022d258
cmp dword [rsp + 0x110], r14d
jle 0x14022d298
lea rdx, str.Auxiliary_rtree_columns_must_be_last
lea rcx, [0x140440a18]
mov ebp, 1
call fcn.1401a8bf0
mov rsi, qword [rsp + 0x128]
mov rcx, r15
mov qword [rsi], rax
call fcn.14015ba40
sub dword [r12 + 0x48], 1
jne 0x14022cf56
mov rcx, r12
call fcn.1401d5430
jmp 0x14022cf56
mov rcx, r13
call fcn.14015ba40
xor ecx, ecx
mov ebp, 7
call fcn.14015ba40
jmp 0x14022d237
mfence
jmp 0x14022cfdc
xor r15d, r15d
mov ebp, 7
mov rcx, r15
call fcn.14015ba40
jmp 0x14022d237
mov rcx, qword [rsp + 0x100]
mov rdx, r15
call fcn.140226860
mov ebp, eax
test eax, eax
jne 0x14022d708
mov rcx, r15
call fcn.14015ba40
movzx eax, byte [r12 + 0x25]
mov edx, eax
shr dl, 1
mov byte [r12 + 0x24], dl
je 0x14022d530
cmp al, 0xa
ja 0x14022d508
lea rdx, str.Wrong_number_of_columns_for_an_rtree_table
test al, 1
jne 0x14022d50f
mov ecx, dword [rsp + 0x130]
lea eax, [rax*4 + 8]
mov rdx, qword [r12 + 0x30]
mov byte [r12 + 0x27], al
test ecx, ecx
jne 0x14022d539
mov r8, qword [r12 + 0x38]
lea rcx, str.SELECT_length_data__FROM__q._q_node_WHERE_nodeno__1
call fcn.1401a8bf0
mov r13, rax
test rax, rax
je 0x14022d86e
mov rcx, qword [rsp + 0x100]
lea r8, [r12 + 0x20]
mov rdx, rax
call fcn.14022ce70
mov ebx, eax
test eax, eax
jne 0x14022d873
cmp dword [r12 + 0x20], 0x1bf
jle 0x14022da2b
mov rcx, r13
call fcn.14015ba40
mov rax, qword [rsp + 0x100]
mov rbx, qword [rsi + 0x10]
mov rsi, qword [rsi + 8]
mov qword [r12 + 0x18], rax
lea rax, [r12 + 0x78]
mov rdx, qword [r12 + 0x30]
xor r9d, r9d
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x70], rax
lea r8, str.sqlite_stat1
lea rax, [r12 + 0x80]
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x78], rax
lea rax, [r12 + 0x88]
mov qword [rsp + 0x80], rax
lea rax, [r12 + 0x90]
mov qword [rsp + 0x88], rax
lea rax, [r12 + 0x98]
mov qword [rsp + 0x90], rax
lea rax, [r12 + 0xa0]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x98], rax
lea rax, [r12 + 0xa8]
mov qword [rsp + 0xa0], rax
lea rax, [r12 + 0xb0]
mov qword [rsp + 0xa8], rax
call fcn.14022a070
mov r15d, eax
test eax, eax
je 0x14022d8ae
mov qword [r12 + 0x50], 0x100000
cmp eax, 1
je 0x14022d770
cmp byte [r12 + 0x29], 0
je 0x14022d6d6
cmp r15d, 7
je 0x14022d6d6
mov r8, rbx
mov rdx, rsi
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
call fcn.1401a8bf0
mov qword [r12 + 0x60], rax
test rax, rax
je 0x14022d811
mov rcx, qword [rsp + 0x100]
call fcn.1401a7190
mov r9, rbx
mov r8, rsi
lea rdx, str.UPDATE___w_.__w_rowid_SET
mov rcx, rax
mov r13, rax
lea rbx, str.a_d__d
call fcn.140173c50
cmp byte [r12 + 0x29], 0
lea rsi, [0x14043fbdf]
je 0x14022d947
lea r9d, [rbp + 2]
mov r8d, ebp
mov rdx, rbx
mov rcx, r13
call fcn.140173c50
movzx eax, byte [r12 + 0x29]
add ebp, 1
cmp ebp, eax
jge 0x14022d947
mov eax, dword [r13 + 0x18]
lea edx, [rax + 1]
cmp edx, dword [r13 + 0x10]
jae 0x14022da08
add rax, qword [r13 + 8]
mov dword [r13 + 0x18], edx
mov byte [rax], 0x2c
jmp 0x14022d4c0
lea rdx, str.Too_many_columns_for_an_rtree_table
lea rcx, [0x140440a18]
mov ebp, 1
call fcn.1401a8bf0
mov rsi, qword [rsp + 0x128]
mov qword [rsi], rax
jmp 0x14022d237
lea rdx, str.Too_few_columns_for_an_rtree_table
jmp 0x14022d50f
lea rcx, str.PRAGMA__Q.page_size
mov dword [rsp + 0x70], 0
call fcn.1401a8bf0
mov r13, rax
test rax, rax
je 0x14022d831
mov rcx, qword [rsp + 0x100]
mov r8, rdi
mov rdx, rax
call fcn.14022ce70
mov r15d, eax
test eax, eax
jne 0x14022d837
mov eax, dword [rsp + 0x70]
lea edx, [rax - 0x40]
movzx eax, byte [r12 + 0x27]
mov dword [r12 + 0x20], edx
imul eax, eax, 0x33
add eax, 4
cmp edx, eax
jle 0x14022d598
mov dword [r12 + 0x20], eax
mov rcx, r13
lea r14, str._a_d
call fcn.14015ba40
mov rax, qword [rsp + 0x100]
mov rbx, qword [rsi + 0x10]
mov rsi, qword [rsi + 8]
mov qword [r12 + 0x18], rax
mov rcx, rax
call fcn.1401a7190
mov r9, rbx
mov r8, rsi
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov rcx, rax
mov r13, rax
call fcn.140173c50
cmp byte [r12 + 0x29], 0
je 0x14022d605
nop dword [rax]
mov r8d, r15d
mov rdx, r14
mov rcx, r13
add r15d, 1
call fcn.140173c50
movzx eax, byte [r12 + 0x29]
cmp r15d, eax
jl 0x14022d5e8
mov r9, rbx
mov r8, rsi
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
mov rcx, r13
call fcn.140173c50
mov r9, rbx
mov r8, rsi
mov rcx, r13
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
call fcn.140173c50
mov eax, dword [r12 + 0x20]
mov r9, rbx
mov r8, rsi
lea rdx, str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.140173c50
test r13, r13
je 0x14022d811
lea rax, [0x140273440]
cmp r13, rax
je 0x14022d811
mov rax, qword [r13 + 8]
test rax, rax
je 0x14022da1e
mov edx, dword [r13 + 0x18]
mov byte [rax + rdx], 0
mov edx, dword [r13 + 0x14]
test edx, edx
je 0x14022d68e
test byte [r13 + 0x1d], 4
je 0x14022da59
mov r14, qword [r13 + 8]
mov rcx, r13
call fcn.14015ba40
test r14, r14
je 0x14022d811
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rsp + 0x100]
call fcn.140203bc0
mov rcx, r14
mov r15d, eax
call fcn.14015ba40
test r15d, r15d
je 0x14022d36e
mov ebp, r15d
mov rcx, qword [rsp + 0x100]
call fcn.14019fee0
lea rcx, [0x140440a18]
mov rdx, rax
call fcn.1401a8bf0
mov rsi, qword [rsp + 0x128]
mov qword [rsi], rax
jmp 0x14022d237
mov rcx, qword [rsp + 0x100]
call fcn.14019fee0
lea rcx, [0x140440a18]
mov rdx, rax
call fcn.1401a8bf0
mov rsi, qword [rsp + 0x128]
mov qword [rsi], rax
jmp 0x14022d288
mov rcx, qword [rsp + 0x68]
mov r13d, 0x64
call fcn.140202be0
cmp eax, 0x64
je 0x14022da69
mov rcx, qword [rsp + 0x68]
call fcn.1401d29b0
mov rcx, r14
mov r15d, eax
call fcn.14015ba40
mov qword [r12 + 0x50], r13
test r15d, r15d
jne 0x14022d44b
xor r13d, r13d
jmp 0x14022d7d6
mov rdx, r14
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x30], 0
mov r9d, 0x85
mov rax, qword [rdi + r13*8]
mov r8d, 0xffffffff
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call fcn.14021b510
mov rcx, r14
mov r15d, eax
call fcn.14015ba40
lea edx, [r13 + 1]
cmp edx, 7
setle cl
test r15d, r15d
sete dl
add r13, 1
test cl, dl
je 0x14022da92
cmp r13, 3
je 0x14022d820
lea rax, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
mov rcx, qword [rax + r13*8]
mov r8, rbx
mov rdx, rsi
call fcn.1401a8bf0
mov r14, rax
test rax, rax
jne 0x14022d778
xor ecx, ecx
call fcn.14015ba40
cmp byte [r12 + 0x29], 0
jne 0x14022d928
mov ebp, 7
jmp 0x14022d6d9
cmp byte [r12 + 0x29], 0
lea rcx, str.INSERT_INTO__w_.__w_rowid__rowid_nodeno_VALUES__1__2_ON_CONFLICT_rowid_DO_UPDATE_SET_nodenoexcluded.nodeno
jne 0x14022d7e7
jmp 0x14022d7dc
mov r15d, 7
mov rcx, qword [rsp + 0x100]
mov ebp, r15d
call fcn.14019fee0
lea rcx, [0x140440a18]
mov rdx, rax
call fcn.1401a8bf0
mov rsi, qword [rsp + 0x128]
mov qword [rsi], rax
mov rcx, r13
call fcn.14015ba40
jmp 0x14022d237
mov ebx, 7
mov rcx, qword [rsp + 0x100]
mov ebp, ebx
call fcn.14019fee0
lea rcx, [0x140440a18]
mov rdx, rax
call fcn.1401a8bf0
mov rsi, qword [rsp + 0x128]
mov qword [rsi], rax
jmp 0x14022d861
mov rcx, r13
call fcn.140175de0
mov r15, rax
jmp 0x14022d1f1
mov rdx, qword [r12 + 0x30]
mov r8, qword [r12 + 0x38]
lea rcx, str.SELECT_stat_FROM__Q.sqlite_stat1_WHERE_tbl___q_rowid
call fcn.1401a8bf0
mov r14, rax
test rax, rax
je 0x14022d933
lea rax, [rsp + 0x68]
mov rcx, qword [rsp + 0x100]
mov rdx, r14
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 fcn.14021b510
mov r15d, eax
test eax, eax
je 0x14022d734
mov rcx, r14
call fcn.14015ba40
mov qword [r12 + 0x50], 0x64
jmp 0x14022d44b
mov r15d, 7
jmp 0x14022d6d6
mov qword [r12 + 0x50], 0x64
mov r15d, 7
jmp 0x14022d6d6
lea rdx, str._WHERE_rowid_1
mov rcx, r13
call fcn.140173c50
lea rax, [0x140273440]
cmp r13, rax
je 0x14022d811
test r13, r13
je 0x14022d811
mov rax, qword [r13 + 8]
test rax, rax
je 0x14022d997
mov edx, dword [r13 + 0x18]
mov byte [rax + rdx], 0
mov eax, dword [r13 + 0x14]
test eax, eax
je 0x14022d993
test byte [r13 + 0x1d], 4
je 0x14022da82
mov rax, qword [r13 + 8]
mov r15, rax
mov rcx, r13
call fcn.14015ba40
test r15, r15
je 0x14022d811
lea rax, [r12 + 0xb8]
mov rcx, qword [rsp + 0x100]
mov rdx, r15
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov r9d, 0x85
mov r8d, 0xffffffff
mov qword [rsp + 0x20], 0
call fcn.14021b510
mov rcx, r15
mov ebp, eax
call fcn.14015ba40
test ebp, ebp
jne 0x14022d6d9
mov rax, qword [rsp + 0x120]
mov qword [rax], r12
jmp 0x14022cf56
mov r8d, 1
mov rdx, rsi
mov rcx, r13
call fcn.140179b00
jmp 0x14022d4c0
mov rcx, r13
call fcn.14015ba40
jmp 0x14022d811
mov rdx, qword [r12 + 0x38]
lea rcx, str.undersize_RTree_blobs_in___q_node_
mov ebp, 0x10b
call fcn.1401a8bf0
mov rsi, qword [rsp + 0x128]
mov rcx, r13
mov qword [rsi], rax
call fcn.14015ba40
jmp 0x14022d237
mov rcx, r13
call fcn.140175de0
mov r14, rax
jmp 0x14022d692
mov rcx, qword [rsp + 0x68]
xor edx, edx
call fcn.14016ba50
cmp rax, 0x64
cmovge r13, rax
jmp 0x14022d74d
mov rcx, r13
call fcn.140175de0
mov r15, rax
jmp 0x14022d99a
cmp byte [r12 + 0x29], 0
jne 0x14022d457
mov ebp, r15d
jmp 0x14022d9f0