Function at 0x967820
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
lea rax, str.Wrong_number_of_columns_for_an_rtree_table
lea rbx, str.Auxiliary_rtree_columns_must_be_last
mov qword [rsp + 0x130], rcx
lea ecx, [r8 - 6]
mov rbp, rdx
mov rsi, r9
mov qword [rsp + 0x78], rax
lea rdx, str.Too_many_columns_for_an_rtree_table
cmp ecx, 0x61
lea rax, str.Too_few_columns_for_an_rtree_table
mov dword [rsp + 0x140], r8d
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rbx
jbe 0x9678d0
cmp r8d, 5
mov r14d, 1
cmovle rdx, rax
lea rcx, [0x00e94772]
call fcn.00900130
mov rsi, qword [rsp + 0x158]
mov qword [rsi], rax
mov eax, r14d
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x130]
mov r8d, 1
mov edx, 1
call fcn.008dffc0
mov rcx, qword [rsi + 8]
call sub.msvcrt.dll_strlen
mov rcx, qword [rsi + 0x10]
mov rdi, rax
call sub.msvcrt.dll_strlen
mov r12, rax
call fcn.008f5c30
test eax, eax
jne 0x967b50
movsxd rdi, edi
movsxd r12, r12d
lea r15, [rdi + r12 + 0x3ca]
mov rcx, r15
call fcn.008c7640
test rax, rax
mov rbx, rax
je 0x967b50
test rbp, rbp
mov r8, r15
mov rcx, rax
lea r15, str.__.s_REAL
setne r13b
xor edx, edx
call sub.msvcrt.dll_memset
lea rcx, [rbx + 0x3c8]
mov byte [rbx + 0x26], r13b
mov r8, rdi
lea rbp, [rcx + rdi + 1]
mov qword [rbx + 0x30], rcx
and r13d, 1
mov qword [rbx + 0x38], rbp
mov rdx, qword [rsi + 8]
lea rax, [0x009d9220]
mov dword [rbx + 0x40], 1
mov qword [rbx], rax
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsi + 0x10]
mov r8, r12
mov rcx, rbp
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x130]
call fcn.008f7980
mov rdi, qword [rsi + 0x18]
mov dword [rsp + 0xa0], 0
mov rbp, rax
lea rax, [rsp + 0xa0]
mov rdx, rax
mov qword [rsp + 0x50], rax
mov rcx, rdi
call fcn.008c5460
mov r9, rdi
mov rcx, rbp
lea rdx, str.CREATE_TABLE_x__.s_INT
mov r8d, eax
call fcn.008d15e0
mov eax, dword [rsp + 0x140]
lea r12d, [rax - 5]
lea rax, [r12 + 5]
mov r12d, 4
mov qword [rsp + 0x58], rax
mov rax, r13
mov r13, rbx
mov rbx, rax
jmp 0x967a56
test al, al
jne 0x967ab2
add byte [r13 + 0x25], 1
mov rcx, r14
add r12, 1
mov dword [rsp + 0xa0], 0
mov rdx, qword [rsp + 0x50]
call fcn.008c5460
mov rdx, qword [r15 + rbx*8]
mov r9, r14
mov rcx, rbp
mov r8d, eax
call fcn.008d15e0
cmp qword [rsp + 0x58], r12
lea r8d, [rdi + 1]
je 0x967ab2
mov r14, qword [rsi + r12*8]
mov edi, r12d
mov r8d, r12d
movzx eax, byte [r13 + 0x29]
cmp byte [r14], 0x2b
jne 0x967a10
mov rdx, qword [rsp + 0x50]
add eax, 1
add r14, 1
add r12, 1
mov byte [r13 + 0x29], al
mov rcx, r14
mov dword [rsp + 0xa0], 0
call fcn.008c5460
mov r9, r14
mov rcx, rbp
lea rdx, str.__.s
mov r8d, eax
call fcn.008d15e0
cmp qword [rsp + 0x58], r12
lea r8d, [rdi + 1]
jne 0x967a56
lea rdx, [0x00e9b1b6]
mov rcx, rbp
mov dword [rsp + 0x58], r8d
mov rbx, r13
call fcn.008d15e0
test rbp, rbp
mov r8d, dword [rsp + 0x58]
je 0x967b60
lea rdi, [0x009d9ce0]
cmp rbp, rdi
je 0x967b60
mov rcx, rbp
mov dword [rsp + 0x58], r8d
call fcn.008d1a10
test rax, rax
mov rbp, rax
je 0x967b60
mov r8d, dword [rsp + 0x58]
cmp dword [rsp + 0x140], r8d
jle 0x967b70
mov rdx, qword [rsp + 0x90]
lea rcx, [0x00e94772]
mov r14d, 1
call fcn.00900130
mov rsi, qword [rsp + 0x158]
mov rcx, rbp
mov qword [rsi], rax
call fcn.008be220
mov eax, dword [rbx + 0x40]
sub eax, 1
mov dword [rbx + 0x40], eax
jne 0x9678b9
mov rcx, rbx
call fcn.0091a940
jmp 0x9678b9
mov r14d, 7
jmp 0x9678b9
xor ecx, ecx
mov r14d, 7
call fcn.008be220
jmp 0x967b34
mov rcx, qword [rsp + 0x130]
mov rdx, rax
call fcn.0095fe80
test eax, eax
mov r14d, eax
jne 0x967f73
mov rcx, rbp
call fcn.008be220
movzx eax, byte [rbx + 0x25]
mov edx, eax
shr dl, 1
cmp al, 1
mov byte [rbx + 0x24], dl
jbe 0x967fc0
cmp al, 0xa
ja 0x967fb0
test al, 1
mov edx, 1
je 0x967be0
mov rdx, qword [rsp + rdx*8 + 0x70]
lea rcx, [0x00e94772]
mov r14d, 1
call fcn.00900130
mov rsi, qword [rsp + 0x158]
mov qword [rsi], rax
jmp 0x967b34
lea eax, [rax*4 + 8]
mov rdx, qword [rbx + 0x30]
mov byte [rbx + 0x27], al
mov eax, dword [rsp + 0x160]
test eax, eax
je 0x967fca
lea rcx, str.PRAGMA__Q.page_size
mov dword [rsp + 0xa0], 0
call fcn.00900130
test rax, rax
mov rbp, rax
je 0x968152
mov r8, qword [rsp + 0x50]
mov rdx, rax
mov rcx, qword [rsp + 0x130]
call fcn.00963f00
test eax, eax
mov r15d, eax
jne 0x968158
mov eax, dword [rsp + 0xa0]
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 0x967c5e
mov dword [rbx + 0x20], eax
lea r13, str._a_d
mov rcx, rbp
call fcn.008be220
mov rax, qword [rsp + 0x130]
mov rbp, qword [rsi + 0x10]
mov rsi, qword [rsi + 8]
mov rcx, rax
mov qword [rbx + 0x18], rax
call fcn.008f7980
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov r9, rbp
mov r8, rsi
mov rcx, rax
mov r12, rax
call fcn.008d15e0
cmp byte [rbx + 0x29], 0
je 0x967ccb
nop word [rax + rax]
mov r8d, r15d
mov rdx, r13
mov rcx, r12
call fcn.008d15e0
movzx eax, byte [rbx + 0x29]
add r15d, 1
cmp r15d, eax
jl 0x967cb0
mov r9, rbp
mov r8, rsi
mov rcx, r12
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
call fcn.008d15e0
mov r9, rbp
mov r8, rsi
mov rcx, r12
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
call fcn.008d15e0
mov eax, dword [rbx + 0x20]
mov r9, rbp
mov r8, rsi
lea rdx, str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.008d15e0
test r12, r12
je 0x968120
cmp r12, rdi
je 0x968120
mov rcx, r12
call fcn.008d1a10
test rax, rax
mov r12, rax
je 0x968120
mov rcx, qword [rsp + 0x130]
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov qword [rsp + 0x20], 0
call fcn.009419f0
mov rcx, r12
mov r13d, eax
call fcn.008be220
test r13d, r13d
jne 0x9682cc
lea rax, [rbx + 0x78]
mov rdx, qword [rbx + 0x30]
xor r9d, r9d
mov qword [rsp + 0x40], 0
mov qword [rsp + 0xa0], rax
lea rax, [rbx + 0x80]
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0xa8], rax
lea rax, [rbx + 0x88]
mov qword [rsp + 0xb0], rax
lea rax, [rbx + 0x90]
mov qword [rsp + 0xb8], rax
lea rax, [rbx + 0x98]
mov qword [rsp + 0xc0], rax
lea rax, [rbx + 0xa0]
mov qword [rsp + 0xc8], rax
lea rax, [rbx + 0xa8]
mov qword [rsp + 0xd0], rax
lea r8, str.sqlite_stat1
mov qword [rsp + 0x38], 0
lea rax, [rbx + 0xb0]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0xd8], rax
call fcn.009621b0
test eax, eax
mov r15d, eax
je 0x9681d7
cmp eax, 1
mov qword [rbx + 0x48], 0x100000
je 0x96806e
cmp byte [rbx + 0x29], 0
je 0x9682c4
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
mov r8, rbp
mov rdx, rsi
call fcn.00900130
test rax, rax
mov qword [rbx + 0x58], rax
je 0x968120
mov rcx, qword [rsp + 0x130]
call fcn.008f7980
mov r9, rbp
mov r8, rsi
lea rdx, str.UPDATE___w_.__w_rowid_SET
mov rcx, rax
mov r12, rax
call fcn.008d15e0
cmp byte [rbx + 0x29], 0
lea rsi, str.a_d__d
lea rbp, [0x00e93e6f]
jne 0x967ec1
jmp 0x967ee0
mov r8d, 1
mov rdx, rbp
mov rcx, r12
call fcn.008d5840
lea r9d, [r14 + 2]
mov r8d, r14d
mov rdx, rsi
mov rcx, r12
add r14d, 1
call fcn.008d15e0
movzx eax, byte [rbx + 0x29]
cmp r14d, eax
jl 0x967eb0
lea rdx, str._WHERE_rowid_1
mov rcx, r12
call fcn.008d15e0
test r12, r12
je 0x968120
cmp r12, rdi
je 0x968120
mov rcx, r12
call fcn.008d1a10
test rax, rax
mov rsi, rax
je 0x968120
lea rax, [rbx + 0xb8]
mov r9d, 0x85
mov rdx, rsi
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x30], 0
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call fcn.00957330
mov rcx, rsi
mov r14d, eax
call fcn.008be220
test r14d, r14d
jne 0x968126
mov rax, qword [rsp + 0x150]
mov qword [rax], rbx
jmp 0x9678b9
mov rcx, qword [rsp + 0x130]
call fcn.008e4220
lea rcx, [0x00e94772]
mov rdx, rax
call fcn.00900130
mov rsi, qword [rsp + 0x158]
mov rcx, rbp
mov qword [rsi], rax
call fcn.008be220
jmp 0x967b34
mov edx, 3
jmp 0x967bb7
mov edx, 2
jmp 0x967bb7
mov r8, qword [rbx + 0x38]
lea rcx, str.SELECT_length_data__FROM__q._q_node_WHERE_nodeno__1
call fcn.00900130
test rax, rax
mov rbp, rax
je 0x96818f
mov rcx, qword [rsp + 0x130]
lea r8, [rbx + 0x20]
mov rdx, rax
call fcn.00963f00
test eax, eax
mov r12d, eax
jne 0x968195
cmp dword [rbx + 0x20], 0x1bf
jle 0x968263
mov rcx, rbp
call fcn.008be220
mov rax, qword [rsp + 0x130]
mov rbp, qword [rsi + 0x10]
mov rsi, qword [rsi + 8]
mov qword [rbx + 0x18], rax
jmp 0x967d6a
mov rcx, qword [rsp + 0x68]
mov r13d, 0x64
call fcn.00940920
cmp eax, 0x64
je 0x968291
mov rcx, qword [rsp + 0x68]
call fcn.009189f0
mov rcx, r12
mov r15d, eax
call fcn.008be220
test r15d, r15d
mov qword [rbx + 0x48], r13
jne 0x967e43
xor r13d, r13d
mov dword [rsp + 0x58], r14d
mov r12, qword [rsp + 0x50]
jmp 0x9680de
mov rdx, r15
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x30], 0
mov r9d, 0x85
mov rax, qword [r12 + r13*8]
mov r8d, 0xffffffff
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call fcn.00957330
mov rcx, r15
mov r14d, eax
call fcn.008be220
lea edx, [r13 + 1]
cmp edx, 7
setle cl
test r14d, r14d
sete dl
add r13, 1
test cl, dl
je 0x9682aa
cmp r13, 3
je 0x9681c1
lea rax, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
mov rcx, qword [rax + r13*8]
mov r8, rbp
mov rdx, rsi
call fcn.00900130
test rax, rax
mov r15, rax
jne 0x968080
xor ecx, ecx
mov r14d, dword [rsp + 0x58]
call fcn.008be220
cmp byte [rbx + 0x29], 0
jne 0x967e4d
mov r14d, 7
mov rcx, qword [rsp + 0x130]
call fcn.008e4220
lea rcx, [0x00e94772]
mov rdx, rax
call fcn.00900130
mov rsi, qword [rsp + 0x158]
mov qword [rsi], rax
jmp 0x967b34
mov r15d, 7
mov rcx, qword [rsp + 0x130]
mov r14d, r15d
call fcn.008e4220
lea rcx, [0x00e94772]
mov rdx, rax
call fcn.00900130
mov rsi, qword [rsp + 0x158]
mov qword [rsi], rax
mov rcx, rbp
call fcn.008be220
jmp 0x967b34
mov r12d, 7
mov rcx, qword [rsp + 0x130]
mov r14d, r12d
call fcn.008e4220
lea rcx, [0x00e94772]
mov rdx, rax
call fcn.00900130
mov rsi, qword [rsp + 0x158]
mov qword [rsi], rax
jmp 0x968182
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 0x9680f3
jmp 0x9680e8
mov rdx, qword [rbx + 0x30]
lea rcx, str.SELECT_stat_FROM__Q.sqlite_stat1_WHERE_tbl___q_rowid
mov r8, qword [rbx + 0x38]
call fcn.00900130
test rax, rax
mov r12, rax
je 0x968250
mov rcx, qword [rsp + 0x130]
lea rax, [rsp + 0x68]
mov rdx, r12
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.00957330
test eax, eax
mov r15d, eax
je 0x968033
mov rcx, r12
call fcn.008be220
mov qword [rbx + 0x48], 0x64
jmp 0x967e43
mov qword [rbx + 0x48], 0x64
mov r15d, 7
jmp 0x967e43
mov rdx, qword [rbx + 0x38]
lea rcx, str.undersize_RTree_blobs_in___q_node_
mov r14d, 0x10b
call fcn.00900130
mov rsi, qword [rsp + 0x158]
mov rcx, rbp
mov qword [rsi], rax
call fcn.008be220
jmp 0x967b34
mov rcx, qword [rsp + 0x68]
xor edx, edx
call fcn.008ca100
cmp rax, 0x64
cmovge r13, rax
jmp 0x96804c
cmp byte [rbx + 0x29], 0
mov r12d, r14d
mov r14d, dword [rsp + 0x58]
jne 0x967e4d
mov r14d, r12d
jmp 0x967f5a
mov r14d, r15d
jmp 0x968126
mov r14d, r13d
jmp 0x968126