Function at 0x91f4a0
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 rsi, rdx
mov rbx, r9
sub eax, 6
mov dword [rsp + 0x110], r8d
cmp eax, 0x61
jbe 0x91f520
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, [0x0112359a]
call fcn.008b6580
mov rbx, qword [rsp + 0x128]
mov qword [rbx], rax
mov eax, r15d
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.00893ec0
mov rcx, qword [rbx + 8]
call sub.msvcrt.dll_strlen
mov rcx, qword [rbx + 0x10]
mov r12, rax
call sub.msvcrt.dll_strlen
mov rbp, rax
call fcn.008ab7a0
test eax, eax
jne 0x91f7a0
movsxd r12, r12d
movsxd rbp, ebp
lea r15, [r12 + rbp + 0x3ca]
mov rcx, r15
call fcn.0087b290
mov r13, rax
test rax, rax
je 0x91f7a0
test rsi, rsi
mov r8, r15
mov rcx, rax
mov edi, 4
setne sil
setne r14b
xor edx, edx
call sub.msvcrt.dll_memset
mov byte [r13 + 0x26], sil
mov r8, r12
movzx r14d, r14b
lea rcx, [r13 + 0x3c8]
lea rax, [0x0098dee0]
mov dword [r13 + 0x40], 1
lea r15, [rcx + r12 + 1]
mov qword [r13 + 0x30], rcx
mov qword [r13 + 0x38], r15
mov rdx, qword [rbx + 8]
mov qword [r13], rax
call sub.msvcrt.dll_memcpy
mov rdx, qword [rbx + 0x10]
mov r8, rbp
mov rcx, r15
lea rbp, [rsp + 0x70]
lea r15, str.__.s_REAL
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x100]
call fcn.008ad8d0
mov rsi, qword [rbx + 0x18]
mov rdx, rbp
mov dword [rsp + 0x70], 0
mov r12, rax
mov rcx, rsi
call fcn.00878fe0
mov r9, rsi
lea rdx, str.CREATE_TABLE_x__.s_INT
mov rcx, r12
mov r8d, eax
call fcn.00885c90
mov eax, dword [rsp + 0x110]
sub eax, 5
add rax, 5
mov qword [rsp + 0x58], rax
mov rax, r14
mov r14, r13
mov r13, rax
jmp 0x91f698
test al, al
jne 0x91f6f8
add byte [r14 + 0x25], 1
mov rcx, r9
mov rdx, rbp
add rdi, 1
mov qword [rsp + 0x50], r9
mov dword [rsp + 0x70], 0
call fcn.00878fe0
mov rdx, qword [r15 + r13*8]
mov r9, qword [rsp + 0x50]
mov rcx, r12
mov r8d, eax
call fcn.00885c90
lea r8d, [rsi + 1]
cmp rdi, qword [rsp + 0x58]
je 0x91f6f8
mov r9, qword [rbx + rdi*8]
movzx eax, byte [r14 + 0x29]
mov esi, edi
mov r8d, edi
cmp byte [r9], 0x2b
jne 0x91f650
add eax, 1
add r9, 1
mov rdx, rbp
add rdi, 1
mov byte [r14 + 0x29], al
mov rcx, r9
mov qword [rsp + 0x50], r9
mov dword [rsp + 0x70], 0
call fcn.00878fe0
mov r9, qword [rsp + 0x50]
lea rdx, str.__.s
mov rcx, r12
mov r8d, eax
call fcn.00885c90
lea r8d, [rsi + 1]
cmp rdi, qword [rsp + 0x58]
jne 0x91f698
nop dword [rax]
lea rdx, [0x011298de]
mov rcx, r12
mov dword [rsp + 0x50], r8d
mov r13, r14
call fcn.00885c90
test r12, r12
mov r8d, dword [rsp + 0x50]
je 0x91f7b0
lea rsi, [0x0098e9a0]
cmp r12, rsi
je 0x91f7b0
mov rcx, r12
mov dword [rsp + 0x50], r8d
call fcn.00886110
mov r12, rax
test rax, rax
je 0x91f7b0
mov r8d, dword [rsp + 0x50]
cmp dword [rsp + 0x110], r8d
jle 0x91f7c0
lea rdx, str.Auxiliary_rtree_columns_must_be_last
lea rcx, [0x0112359a]
mov r15d, 1
call fcn.008b6580
mov rbx, qword [rsp + 0x128]
mov rcx, r12
mov qword [rbx], rax
call fcn.00871a40
nop dword [rax]
sub dword [r13 + 0x40], 1
jne 0x91f507
mov rcx, r13
call fcn.008d1d20
jmp 0x91f507
mov r15d, 7
jmp 0x91f507
xor ecx, ecx
mov r15d, 7
call fcn.00871a40
jmp 0x91f780
mov rcx, qword [rsp + 0x100]
mov rdx, rax
call fcn.009177d0
mov r15d, eax
test eax, eax
jne 0x91fbb4
mov rcx, r12
call fcn.00871a40
movzx eax, byte [r13 + 0x25]
mov edx, eax
shr dl, 1
mov byte [r13 + 0x24], dl
je 0x91fc00
cmp al, 0xa
ja 0x91fbf0
lea rdx, str.Wrong_number_of_columns_for_an_rtree_table
test al, 1
je 0x91f830
lea rcx, [0x0112359a]
mov r15d, 1
call fcn.008b6580
mov rbx, qword [rsp + 0x128]
mov qword [rbx], rax
jmp 0x91f780
lea eax, [rax*4 + 8]
mov rdx, qword [r13 + 0x30]
mov byte [r13 + 0x27], al
mov eax, dword [rsp + 0x130]
test eax, eax
je 0x91fc49
lea rcx, str.PRAGMA__Q.page_size
mov dword [rsp + 0x70], 0
call fcn.008b6580
mov r12, rax
test rax, rax
je 0x91fc0c
mov rcx, qword [rsp + 0x100]
mov r8, rbp
mov rdx, rax
call fcn.0091b9b0
mov r14d, eax
test eax, eax
jne 0x91fc12
mov eax, dword [rsp + 0x70]
lea edx, [rax - 0x40]
movzx eax, byte [r13 + 0x27]
mov dword [r13 + 0x20], edx
imul eax, eax, 0x33
add eax, 4
cmp edx, eax
jle 0x91f8aa
mov dword [r13 + 0x20], eax
mov rcx, r12
call fcn.00871a40
mov rax, qword [rsp + 0x100]
mov rdi, qword [rbx + 0x10]
mov rbx, qword [rbx + 8]
mov qword [r13 + 0x18], rax
mov rcx, rax
call fcn.008ad8d0
mov r9, rdi
mov r8, rbx
lea rdx, str.CREATE_TABLE___w_.__w_rowid__rowid_INTEGER_PRIMARY_KEY_nodeno
mov rcx, rax
mov r12, rax
call fcn.00885c90
cmp byte [r13 + 0x29], 0
je 0x91f910
nop dword [rax]
mov r8d, r14d
lea rdx, str._a_d
mov rcx, r12
add r14d, 1
call fcn.00885c90
movzx eax, byte [r13 + 0x29]
cmp r14d, eax
jl 0x91f8f0
mov r9, rdi
mov r8, rbx
lea rdx, str.__CREATE_TABLE___w_.__w_node__nodeno_INTEGER_PRIMARY_KEY_data__
mov rcx, r12
call fcn.00885c90
mov r9, rdi
mov r8, rbx
mov rcx, r12
lea rdx, str.CREATE_TABLE___w_.__w_parent__nodeno_INTEGER_PRIMARY_KEY_parentnode__
call fcn.00885c90
mov eax, dword [r13 + 0x20]
mov r9, rdi
mov r8, rbx
lea rdx, str.INSERT_INTO___w_.__w_node_VALUES_1_zeroblob__d__
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.00885c90
test r12, r12
je 0x91fda9
cmp r12, rsi
je 0x91fda9
mov rcx, r12
call fcn.00886110
mov r12, rax
test rax, rax
je 0x91fda9
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsp + 0x100]
call fcn.008f9020
mov rcx, r12
mov r14d, eax
call fcn.00871a40
test r14d, r14d
jne 0x91fef1
lea rax, [r13 + 0x78]
mov rdx, qword [r13 + 0x30]
xor r9d, r9d
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x70], rax
lea rax, [r13 + 0x80]
mov rcx, qword [rsp + 0x100]
lea r8, str.sqlite_stat1
mov qword [rsp + 0x78], rax
lea rax, [r13 + 0x88]
mov qword [rsp + 0x80], rax
lea rax, [r13 + 0x90]
mov qword [rsp + 0x88], rax
lea rax, [r13 + 0x98]
mov qword [rsp + 0x90], rax
lea rax, [r13 + 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, [r13 + 0xa8]
mov qword [rsp + 0xa0], rax
lea rax, [r13 + 0xb0]
mov qword [rsp + 0xa8], rax
call fcn.00919ba0
mov r14d, eax
test eax, eax
je 0x91fdf7
mov qword [r13 + 0x48], 0x100000
cmp eax, 1
je 0x91fcee
cmp byte [r13 + 0x29], 0
je 0x91fef1
mov r8, rdi
mov rdx, rbx
lea rcx, str.SELECT__FROM___w_.__w_rowid__WHERE_rowid_1
call fcn.008b6580
mov qword [r13 + 0x58], rax
test rax, rax
je 0x91fda9
mov rcx, qword [rsp + 0x100]
call fcn.008ad8d0
mov r9, rdi
mov r8, rbx
lea rdx, str.UPDATE___w_.__w_rowid_SET
mov rcx, rax
mov r12, rax
lea rbx, str.a_d__d
call fcn.00885c90
cmp byte [r13 + 0x29], 0
lea rdi, [0x01122cbb]
jne 0x91fb01
jmp 0x91fb21
mov r8d, 1
mov rdx, rdi
mov rcx, r12
call fcn.00889d90
lea r9d, [r15 + 2]
mov r8d, r15d
mov rdx, rbx
mov rcx, r12
call fcn.00885c90
movzx eax, byte [r13 + 0x29]
add r15d, 1
cmp r15d, eax
jl 0x91faf0
lea rdx, str._WHERE_rowid_1
mov rcx, r12
call fcn.00885c90
test r12, r12
je 0x91fda9
cmp r12, rsi
je 0x91fda9
mov rcx, r12
call fcn.00886110
mov r12, rax
test rax, rax
je 0x91fda9
lea rax, [r13 + 0xb8]
mov rcx, qword [rsp + 0x100]
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 fcn.0090e920
mov rcx, r12
mov r15d, eax
call fcn.00871a40
test r15d, r15d
jne 0x91fdaf
mov rax, qword [rsp + 0x120]
mov qword [rax], r13
jmp 0x91f507
mov rcx, qword [rsp + 0x100]
call fcn.00898090
lea rcx, [0x0112359a]
mov rdx, rax
call fcn.008b6580
mov rbx, qword [rsp + 0x128]
mov rcx, r12
mov qword [rbx], rax
call fcn.00871a40
jmp 0x91f780
lea rdx, str.Too_many_columns_for_an_rtree_table
jmp 0x91f809
lea rdx, str.Too_few_columns_for_an_rtree_table
jmp 0x91f809
mov r14d, 7
mov rcx, qword [rsp + 0x100]
mov r15d, r14d
call fcn.00898090
lea rcx, [0x0112359a]
mov rdx, rax
call fcn.008b6580
mov rbx, qword [rsp + 0x128]
mov rcx, r12
mov qword [rbx], rax
call fcn.00871a40
jmp 0x91f780
mov r8, qword [r13 + 0x38]
lea rcx, str.SELECT_length_data__FROM__q._q_node_WHERE_nodeno__1
call fcn.008b6580
mov r12, rax
test rax, rax
je 0x91fc0c
mov rcx, qword [rsp + 0x100]
lea r8, [r13 + 0x20]
mov rdx, rax
call fcn.0091b9b0
mov r14d, eax
test eax, eax
jne 0x91fc12
cmp dword [r13 + 0x20], 0x1bf
jle 0x91fe83
mov rcx, r12
call fcn.00871a40
mov rax, qword [rsp + 0x100]
mov rdi, qword [rbx + 0x10]
mov rbx, qword [rbx + 8]
mov qword [r13 + 0x18], rax
jmp 0x91f9b0
mov rcx, qword [rsp + 0x68]
call fcn.008f7fc0
mov qword [rsp + 0x50], 0x64
cmp eax, 0x64
je 0x91feb1
mov rcx, qword [rsp + 0x68]
call fcn.008cfd70
mov rcx, r12
mov r14d, eax
call fcn.00871a40
mov rax, qword [rsp + 0x50]
mov qword [r13 + 0x48], rax
test r14d, r14d
jne 0x91fa83
xor r12d, r12d
mov dword [rsp + 0x58], r15d
mov qword [rsp + 0x50], r13
mov r15, r12
mov r12, rbp
mov rbp, qword [rsp + 0x100]
jmp 0x91fd69
mov qword [rsp + 0x30], 0
mov rax, qword [r12 + r15*8]
mov rdx, r14
mov rcx, rbp
mov qword [rsp + 0x20], 0
mov r9d, 0x85
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rax
call fcn.0090e920
mov rcx, r14
mov r13d, eax
call fcn.00871a40
lea edx, [r15 + 1]
cmp edx, 7
setle cl
test r13d, r13d
sete dl
add r15, 1
test cl, dl
je 0x91fed1
cmp r15, 3
je 0x91fde0
lea rax, str.INSERT_OR_REPLACE_INTO__q._q_node_VALUES__1___2_
mov rcx, qword [rax + r15*8]
mov r8, rdi
mov rdx, rbx
call fcn.008b6580
mov r14, rax
test rax, rax
jne 0x91fd10
mov r13, qword [rsp + 0x50]
xor ecx, ecx
mov r15d, dword [rsp + 0x58]
call fcn.00871a40
cmp byte [r13 + 0x29], 0
jne 0x91fa8e
mov r15d, 7
mov rcx, qword [rsp + 0x100]
call fcn.00898090
lea rcx, [0x0112359a]
mov rdx, rax
call fcn.008b6580
mov rsi, qword [rsp + 0x128]
mov qword [rsi], rax
jmp 0x91f780
mov rax, qword [rsp + 0x50]
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 0x91fd7a
jmp 0x91fd6f
mov rdx, qword [r13 + 0x30]
mov r8, qword [r13 + 0x38]
lea rcx, str.SELECT_stat_FROM__Q.sqlite_stat1_WHERE_tbl___q_rowid
call fcn.008b6580
mov r12, rax
test rax, rax
je 0x91fe70
lea rax, [rsp + 0x68]
mov rcx, qword [rsp + 0x100]
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.0090e920
mov r14d, eax
test eax, eax
je 0x91fcab
mov rcx, r12
call fcn.00871a40
mov qword [r13 + 0x48], 0x64
jmp 0x91fa83
mov qword [r13 + 0x48], 0x64
mov r14d, 7
jmp 0x91fa83
mov rdx, qword [r13 + 0x38]
lea rcx, str.undersize_RTree_blobs_in___q_node_
mov r15d, 0x10b
call fcn.008b6580
mov rsi, qword [rsp + 0x128]
mov rcx, r12
mov qword [rsi], rax
call fcn.00871a40
jmp 0x91f780
mov rcx, qword [rsp + 0x68]
xor edx, edx
call fcn.0087deb0
cmp rax, 0x64
cmovl rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], rax
jmp 0x91fcc7
mov r14d, r13d
mov r13, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x58]
cmp byte [r13 + 0x29], 0
jne 0x91fa8e
mov r15d, r14d
jmp 0x91fb9b
mov r15d, r14d
jmp 0x91fdaf