Function at 0x1401f0ed0
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov rdi, qword [rcx + 0x18]
mov r12d, edx
xor edx, edx
cmp dword [rdi + 0x88], 0
mov rbx, rcx
mov dword [rsp + 0xe0], edx
mov rsi, r8
mov rbp, r9
je 0x1401f0f32
mov rax, qword [rbx + 0x18]
lea rdx, [rbx + 0x10]
mov rcx, rbx
mov qword [rax + 0xb8], rdx
call sym.fts5TripCursors
mov rcx, qword [rsi]
call sym.sqlite3_value_type
mov r14d, eax
cmp eax, 5
jne 0x1401f2144
jmp 0x1401f0f4b
mov rcx, qword [rcx + 0x20]
call sym.sqlite3Fts5IndexLoadConfig
mov dword [rsp + 0xe0], eax
test eax, eax
je 0x1401f0f05
jmp 0x1401f2384
mov eax, dword [rdi + 0x18]
add eax, 2
cdqe
mov rcx, qword [rsi + rax*8]
call sym.sqlite3_value_type
cmp eax, 5
je 0x1401f2144
call sym.sqlite3_value_text
cmp dword [rdi + 0x40], 0
mov rbp, rax
je 0x1401f0fd5
mov rdx, rax
lea rcx, str.delete
call sym.sqlite3_stricmp
test eax, eax
jne 0x1401f0fd5
mov r8d, dword [rdi + 0x44]
test r8d, r8d
je 0x1401f0fa3
lea rdx, str.delete_may_not_be_used_with_a_contentless_delete1_table
mov rcx, rbx
call sym.fts5SetVtabError
jmp 0x1401f2198
mov rcx, qword [rsi + 8]
call sym.sqlite3_value_type
dec eax
jne 0x1401f0fc8
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbx + 0x28]
lea r8, [rsi + 0x10]
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov r8d, eax
mov dword [rsp + 0xe0], r8d
jmp 0x1401f2370
movsxd rax, dword [rdi + 0x18]
mov rdx, rbp
lea rcx, str.delete_all
mov r11, qword [rbx + 0x18]
mov rsi, qword [rsi + rax*8 + 0x18]
xor eax, eax
mov dword [rsp + 0xe4], eax
call sym.sqlite3_stricmp
test eax, eax
jne 0x1401f1033
cmp dword [r11 + 0x40], 0
jne 0x1401f1025
lea rdx, str.delete_all_may_only_be_used_with_a_contentless_or_external_content_fts5_table
mov rcx, rbx
mov r15d, 1
mov r14d, 1
call sym.fts5SetVtabError
jmp 0x1401f2116
mov rcx, qword [rbx + 0x28]
call sym.sqlite3Fts5StorageDeleteAll
mov r14d, eax
jmp 0x1401f1063
mov rdx, rbp
lea rcx, str.rebuild
call sym.sqlite3_stricmp
test eax, eax
jne 0x1401f1288
mov r14d, dword [r11 + 0x40]
cmp r14d, 1
jne 0x1401f106e
lea rdx, str.rebuild_may_not_be_used_with_a_contentless_fts5_table
mov rcx, rbx
call sym.fts5SetVtabError
mov r15d, 1
jmp 0x1401f2116
mov rsi, qword [rbx + 0x28]
xor eax, eax
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rax
mov rcx, rsi
xor eax, eax
mov r12, qword [rsi]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x138], rsi
call sym.sqlite3Fts5StorageDeleteAll
mov dword [rsp + 0x108], eax
test eax, eax
jne 0x1401f10eb
mov edx, 1
mov rcx, rsi
call sym.fts5StorageLoadTotals
mov dword [rsp + 0x108], eax
test eax, eax
jne 0x1401f10eb
xor r9d, r9d
lea r8, [rsp + 0x118]
mov edx, 0xa
mov rcx, rsi
call sym.fts5StorageGetStmt
mov dword [rsp + 0x108], eax
lea r13, [sym.fts5StorageInsertCallback]
lea r14, [rsp + 0x138]
mov rax, qword [rsp + 0x118]
mov edi, dword [rsp + 0x108]
mov qword [rsp + 0x50], rax
test edi, edi
je 0x1401f1136
mov rcx, qword [rsp + 0x128]
call sym.sqlite3_free
mov rcx, qword [rsp + 0x50]
call sym.sqlite3_reset
test edi, edi
je 0x1401f1261
jmp 0x1401f127b
mov rcx, qword [rsp + 0x50]
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401f1112
mov rcx, qword [rsp + 0x50]
xor edx, edx
lea r15, [rsp + 0x128]
call sym.sqlite3_column_int64
mov rcx, qword [rsi + 8]
xor edx, edx
mov rbp, rax
xor eax, eax
mov r8, rbp
mov dword [rsp + 0x130], eax
call sym.sqlite3Fts5IndexBeginWrite
mov dword [rsp + 0x108], eax
mov eax, dword [rsp + 0x108]
mov dword [rsp + 0x140], edi
test eax, eax
jne 0x1401f1236
cmp dword [r12 + 0x18], edi
jle 0x1401f1236
xor eax, eax
mov rdx, qword [r12 + 0x28]
mov dword [rsp + 0x144], eax
movsxd rax, edi
cmp byte [rdx + rax], 0
jne 0x1401f11fe
mov rcx, qword [rsp + 0x50]
lea edx, [rdi + 1]
call sym.sqlite3_column_text
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x140]
lea edx, [rax + 1]
call sym.sqlite3_column_bytes
mov qword [rsp + 0x28], r13
mov r8, qword [rsp + 0x58]
mov rcx, r12
mov qword [rsp + 0x20], r14
mov r9d, eax
mov edx, 4
call sym.sqlite3Fts5Tokenize
mov dword [rsp + 0x108], eax
movsxd r8, dword [rsp + 0x144]
lea rcx, [rsp + 0x108]
mov rdx, r15
call sym.sqlite3Fts5BufferAppendVarint
movsxd rdx, dword [rsp + 0x140]
mov rax, qword [rsi + 0x20]
movsxd rcx, dword [rsp + 0x144]
lea edi, [rdx + 1]
add qword [rax + rdx*8], rcx
jmp 0x1401f117a
inc qword [rsi + 0x18]
test eax, eax
jne 0x1401f10fa
lea r8, [rsp + 0x128]
mov rdx, rbp
mov rcx, rsi
call sym.fts5StorageInsertDocsize
mov dword [rsp + 0x108], eax
jmp 0x1401f10f2
mov dword [rsp + 0x108], eax
test eax, eax
jne 0x1401f127b
mov rcx, rsi
call sym.fts5StorageSaveTotals
mov dword [rsp + 0x108], eax
mov r14d, dword [rsp + 0x108]
jmp 0x1401f1063
mov rdx, rbp
lea rcx, str.optimize
call sym.sqlite3_stricmp
mov r15d, eax
test eax, eax
jne 0x1401f1372
mov rax, qword [rbx + 0x28]
xor ebp, ebp
mov rsi, qword [rax + 8]
mov qword [rsp + 0x138], rbp
mov rcx, rsi
call sym.fts5IndexFlush
mov rcx, rsi
call sym.fts5StructureRead
mov rcx, rsi
mov rdi, rax
call sym.fts5StructureInvalidate
test rdi, rdi
je 0x1401f12e7
mov rdx, rdi
mov rcx, rsi
call sym.fts5IndexOptimizeStruct
mov qword [rsp + 0x138], rax
mov rcx, rdi
call sym.fts5StructureRelease
mov rdx, qword [rsp + 0x138]
test rdx, rdx
je 0x1401f145a
xor eax, eax
mov rbp, rax
inc rax
mov rcx, rax
shl rcx, 4
cmp dword [rdx + rcx + 0x14], 0
je 0x1401f1302
movsxd rdi, ebp
add rdi, 2
shl rdi, 4
cmp dword [rsi + 0x3c], 0
mov r12, qword [rsp + 0x138]
jne 0x1401f135f
cmp dword [r12 + rdi + 4], 0
jle 0x1401f135f
lea rdx, [rsp + 0x138]
lea r9, [rsp + 0x128]
mov r8d, ebp
mov rcx, rsi
mov dword [rsp + 0x128], 0x3e8
call sym.fts5IndexMergeLevel
jmp 0x1401f1321
mov rcx, rsi
mov rdx, r12
call sym.fts5StructureWrite
mov rcx, r12
jmp 0x1401f1455
mov rdx, rbp
lea rcx, [0x14035f9d6]
call sym.sqlite3_stricmp
mov r15d, eax
test eax, eax
jne 0x1401f1468
mov rcx, rsi
call sym.sqlite3VdbeIntValue
mov rbp, rax
mov rax, qword [rbx + 0x28]
mov rsi, qword [rax + 8]
mov rcx, rsi
call sym.fts5IndexFlush
mov rcx, rsi
call sym.fts5StructureRead
mov qword [rsp + 0x138], rax
mov rdi, rax
test rax, rax
je 0x1401f145a
mov rax, qword [rsi]
mov rcx, rsi
mov dword [rsp + 0x58], ebp
mov r9d, dword [rax + 0x94]
mov dword [rsp + 0x50], r9d
call sym.fts5StructureInvalidate
test ebp, ebp
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x58]
jns 0x1401f1416
mov rdx, rdi
mov rcx, rsi
call sym.fts5IndexOptimizeStruct
mov rcx, rdi
mov r12, rax
call sym.fts5StructureRelease
mov qword [rsp + 0x138], r12
mov r8d, ebp
mov r9d, 1
neg r8d
mov rax, qword [rsp + 0x138]
test rax, rax
je 0x1401f144d
cmp dword [rax + 0x1c], 0
je 0x1401f144d
lea rdx, [rsp + 0x138]
mov rcx, rsi
call sym.fts5IndexMerge
test eax, eax
je 0x1401f144d
mov rdx, qword [rsp + 0x138]
mov rcx, rsi
call sym.fts5StructureWrite
mov rcx, qword [rsp + 0x138]
call sym.fts5StructureRelease
xor edi, edi
mov r14d, dword [rsi + 0x3c]
mov dword [rsi + 0x3c], edi
jmp 0x1401f2116
mov rdx, rbp
lea rcx, [0x14035f9dc]
call sym.sqlite3_stricmp
mov r15d, eax
test eax, eax
jne 0x1401f209b
mov rcx, rsi
lea r13, [rsp + 0x138]
mov r14d, 7
call sym.sqlite3VdbeIntValue
mov rbp, qword [rbx + 0x28]
mov ecx, 8
mov rdi, r13
mov r12, rax
mov eax, r15d
mov rsi, qword [rbp]
rep stosd dword [rdi], eax
mov qword [rsp + 0x158], rsi
movsxd rcx, dword [rsi + 0x18]
imul rcx, rcx, 0xc
call sym.sqlite3_malloc64
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1401f2116
movsxd rcx, dword [rsi + 0x18]
mov rdi, qword [rsp + 0x70]
xor eax, eax
shl rcx, 3
rep stosb byte [rdi], al
mov eax, dword [rsi + 0x40]
mov qword [rsp + 0x58], rdi
test eax, eax
je 0x1401f1502
cmp eax, 2
jne 0x1401f17ee
test r12d, r12d
je 0x1401f17ee
xor r9d, r9d
lea r8, [rsp + 0xf8]
mov edx, 0xa
mov rcx, rbp
call sym.fts5StorageGetStmt
mov r14d, eax
test eax, eax
jne 0x1401f208f
lea rax, [rsp + 0x128]
lea r12, [sym.fts5StorageIntegrityCallback]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xf8]
mov rcx, rax
mov qword [rsp + 0x50], rax
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401f16f7
mov rcx, qword [rsp + 0x50]
xor edx, edx
call sym.sqlite3_column_int64
xor r11d, r11d
cmp dword [rsi + 0x58], 0
mov qword [rsp + 0x138], rax
mov rdx, rax
mov dword [rsp + 0x144], r11d
jne 0x1401f15b7
xor r14d, r14d
cmp dword [rsi + 0x5c], 1
jne 0x1401f15cb
xor r10d, r10d
lea rcx, [rsp + 0x128]
mov edx, 0x1000
mov dword [rsp + 0x128], r10d
call sym.sqlite3Fts5MallocZero
mov r14d, dword [rsp + 0x128]
mov qword [rsp + 0x150], rax
jmp 0x1401f15cb
mov r8, qword [rsp + 0x58]
mov rcx, rbp
call sym.sqlite3Fts5StorageDocsize
mov r14d, eax
test eax, eax
je 0x1401f157f
xor edi, edi
test r14d, r14d
jne 0x1401f16d5
cmp dword [rsi + 0x18], edi
jle 0x1401f16d5
mov rax, qword [rsi + 0x28]
cmp byte [rax + rdi], 0
jne 0x1401f16cd
xor r9d, r9d
cmp dword [rsi + 0x5c], 2
mov dword [rsp + 0x140], edi
mov dword [rsp + 0x144], r9d
je 0x1401f1650
lea r14d, [rdi + 1]
mov rcx, qword [rsp + 0x50]
mov edx, r14d
call sym.sqlite3_column_text
mov rcx, qword [rsp + 0x50]
mov edx, r14d
mov qword [rsp + 0x68], rax
call sym.sqlite3_column_bytes
mov qword [rsp + 0x28], r12
mov r8, qword [rsp + 0x68]
mov rcx, rsi
mov qword [rsp + 0x20], r13
mov r9d, eax
mov edx, 4
call sym.sqlite3Fts5Tokenize
mov r14d, eax
test eax, eax
je 0x1401f1681
jmp 0x1401f169f
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, 0x1000
mov dword [rsp + 0x128], r8d
call sym.sqlite3Fts5MallocZero
mov r14d, dword [rsp + 0x128]
mov qword [rsp + 0x150], rax
test r14d, r14d
jne 0x1401f169f
jmp 0x1401f1605
cmp dword [rsi + 0x58], 0
je 0x1401f169f
mov rax, qword [rsp + 0x58]
mov edx, dword [rsp + 0x144]
cmp dword [rax + rdi*4], edx
mov eax, 0x10b
cmovne r14d, eax
mov rdx, qword [rsp + 0x70]
movsxd rax, dword [rsp + 0x144]
add qword [rdx + rdi*8], rax
cmp dword [rsi + 0x5c], 2
jne 0x1401f16cd
mov rcx, qword [rsp + 0x150]
call sym.sqlite3Fts5TermsetFree
xor ecx, ecx
mov qword [rsp + 0x150], rcx
inc rdi
jmp 0x1401f15cd
mov rcx, qword [rsp + 0x150]
call sym.sqlite3Fts5TermsetFree
xor edx, edx
mov qword [rsp + 0x150], rdx
test r14d, r14d
je 0x1401f1539
jmp 0x1401f16fa
xor r14d, r14d
mov rcx, qword [rsp + 0x50]
call sym.sqlite3_reset
test r14d, r14d
jne 0x1401f208f
mov r14d, eax
test eax, eax
jne 0x1401f208f
xor edx, edx
mov rcx, rbp
call sym.fts5StorageLoadTotals
mov edx, 0x10b
mov r14d, eax
xor eax, eax
test r14d, r14d
jne 0x1401f208f
cmp dword [rsi + 0x18], eax
jle 0x1401f1754
mov rcx, qword [rbp + 0x20]
mov rdi, qword [rsp + 0x70]
mov rdi, qword [rdi + rax*8]
cmp qword [rcx + rax*8], rdi
cmovne r14d, edx
inc rax
jmp 0x1401f172c
cmp dword [rsi + 0x40], 0
jne 0x1401f1795
mov rcx, qword [rbp]
xor eax, eax
lea r8, [rsp + 0x128]
lea rdx, str.content
mov qword [rsp + 0x128], rax
call sym.fts5StorageCount.constprop.0.isra.0
mov r14d, eax
test eax, eax
jne 0x1401f208f
mov rax, qword [rsp + 0x128]
cmp qword [rbp + 0x18], rax
jne 0x1401f17e3
cmp dword [rsi + 0x58], 0
jne 0x1401f17a8
mov dword [rsp + 0xa0], 1
jmp 0x1401f17f7
mov rcx, qword [rbp]
xor eax, eax
lea r8, [rsp + 0x128]
lea rdx, str.docsize
mov qword [rsp + 0x128], rax
call sym.fts5StorageCount.constprop.0.isra.0
mov r14d, eax
test eax, eax
jne 0x1401f208f
mov rax, qword [rsp + 0x128]
cmp qword [rbp + 0x18], rax
je 0x1401f179b
mov r14d, 0x10b
jmp 0x1401f208f
xor eax, eax
mov dword [rsp + 0xa0], eax
mov rsi, qword [rbp + 8]
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsi]
mov rcx, rsi
mov eax, dword [rax + 0x5c]
mov dword [rsp + 0xbc], eax
xor eax, eax
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rax
call sym.fts5StructureRead
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1401f2086
add rax, 0x24
mov qword [rsp + 0x88], rax
xor eax, eax
mov dword [rsp + 0xa4], eax
lea rax, [rsp + 0xec]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x78]
mov edi, dword [rsp + 0xa4]
cmp edi, dword [rax + 0x1c]
jge 0x1401f1e8a
xor r12d, r12d
mov qword [rsp + 0x90], r12
mov rax, qword [rsp + 0x88]
mov edi, dword [rsp + 0x90]
cmp dword [rax], edi
jle 0x1401f1e75
mov rdi, qword [rsp + 0x88]
xor r14d, r14d
imul rax, qword [rsp + 0x90], 0x38
mov qword [rsp + 0x100], r14
add rax, qword [rdi + 4]
mov qword [rsp + 0x50], rax
mov rax, qword [rsi]
mov qword [rsp + 0x80], rax
mov eax, dword [rax + 0x80]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 4]
test eax, eax
jne 0x1401f18ef
inc qword [rsp + 0x90]
jmp 0x1401f1885
dec eax
lea rcx, str.SELECT_segid__term___pgno__1____pgno1__FROM__Q._q_idx_WHERE_segid_d_ORDER_BY_1__2
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 8]
mov dword [rsp + 0x9c], eax
mov rax, qword [rsp + 0x80]
mov rdx, qword [rax + 8]
mov rax, qword [rsp + 0x50]
mov r9d, dword [rax]
mov rax, qword [rsp + 0x80]
mov r8, qword [rax + 0x10]
call sym.sqlite3_mprintf
lea rdx, [rsp + 0x100]
mov rcx, rsi
mov r8, rax
call sym.fts5IndexPrepareStmt
lea rax, [rsp + 0xf0]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x100]
mov r12d, dword [rsi + 0x3c]
mov qword [rsp + 0x58], rax
test r12d, r12d
je 0x1401f1988
mov rcx, qword [rsp + 0x58]
call sym.sqlite3_finalize
cmp dword [rsi + 0x3c], 0
jne 0x1401f18e5
mov dword [rsi + 0x3c], eax
jmp 0x1401f18e5
mov rcx, rax
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401f196c
mov rcx, qword [rsp + 0x58]
mov edx, 1
call sym.sqlite3_column_blob
mov rcx, qword [rsp + 0x58]
mov edx, 1
mov qword [rsp + 0xa8], rax
call sym.sqlite3_column_bytes
mov rcx, qword [rsp + 0x58]
mov edx, 2
movsxd rbp, eax
call sym.sqlite3_column_int
mov rcx, qword [rsp + 0x58]
mov edx, 3
mov dword [rsp + 0x60], eax
call sym.sqlite3_column_int
mov edi, dword [rsp + 0x60]
mov dword [rsp + 0xc4], eax
mov rax, qword [rsp + 0x50]
cmp edi, dword [rax + 4]
jl 0x1401f1956
movsxd rdx, dword [rax]
movsxd rax, edi
mov rcx, rsi
shl rdx, 0x25
add rdx, rax
call sym.fts5LeafRead
mov rdi, rax
test rax, rax
je 0x1401f196c
mov edx, dword [rdi + 0xc]
mov eax, dword [rax + 8]
mov dword [rsp + 0x68], edx
cmp eax, edx
jg 0x1401f1a60
test ebp, ebp
jne 0x1401f1a54
mov ecx, dword [rsp + 0x68]
cmp eax, 4
sete dl
cmp eax, ecx
sete al
test dl, al
je 0x1401f1a54
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x80], 5
je 0x1401f1cab
mov dword [rsi + 0x3c], 0x10b
jmp 0x1401f1cab
mov rcx, rdi
call sym.fts5LeafFirstTermOff
mov r10, qword [rdi]
mov r14d, eax
mov ax, word [r10]
xchg al, ah
movzx eax, ax
cmp r14d, eax
jle 0x1401f1ae1
cmp dword [rsp + 0x68], r14d
jle 0x1401f1ae1
movsxd rcx, r14d
lea rdx, [rsp + 0xe8]
mov qword [rsp + 0xd8], r10
add rcx, r10
call sym.sqlite3Fts5GetVarint32
mov r13d, dword [rsp + 0xe8]
cmp ebp, r13d
movsxd r8, r13d
cmovle r8, rbp
test r8d, r8d
jle 0x1401f1ad8
add r14d, eax
mov r10, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xa8]
movsxd r14, r14d
lea rcx, [r10 + r14]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401f1add
mov eax, r13d
sub eax, ebp
test eax, eax
jns 0x1401f1ae8
mov dword [rsi + 0x3c], 0x10b
xor r13d, r13d
lea rax, [rsp + 0xf4]
mov qword [rsp + 0x118], r13
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x128], r13
mov qword [rsp + 0x130], r13
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x68]
cmp eax, dword [rdi + 8]
jge 0x1401f1c91
cmp dword [rsi + 0x3c], 0
jne 0x1401f1c91
mov r13, qword [rdi]
movsxd rcx, dword [rsp + 0x68]
mov rdx, qword [rsp + 0xd0]
add rcx, r13
call sym.sqlite3Fts5GetVarint32
add dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xec]
mov r14d, dword [rdi + 0xc]
add r12d, eax
cmp r12d, r14d
jge 0x1401f1c64
cmp eax, r12d
movsxd rcx, r12d
jne 0x1401f1bb2
mov rdx, qword [rsp + 0xa8]
add rcx, r13
call sym.sqlite3Fts5GetVarint32
mov r8d, dword [rsp + 0xf4]
add eax, r12d
lea edx, [rax + r8]
cmp r14d, edx
jl 0x1401f1c64
cdqe
lea rdx, [rsp + 0x118]
lea rcx, [rsi + 0x3c]
lea r9, [r13 + rax]
call sym.sqlite3Fts5BufferSet
jmp 0x1401f1c6b
mov rdx, qword [rsp + 0xc8]
add rcx, r13
call sym.sqlite3Fts5GetVarint32
mov rdx, qword [rsp + 0xa8]
lea ebp, [r12 + rax]
movsxd rcx, ebp
add rcx, r13
call sym.sqlite3Fts5GetVarint32
mov edx, dword [rsp + 0xf0]
cmp dword [rsp + 0x120], edx
jl 0x1401f1c64
mov r8d, dword [rsp + 0xf4]
add ebp, eax
lea eax, [rbp + r8]
cmp r14d, eax
jl 0x1401f1c64
movsxd rbp, ebp
mov dword [rsp + 0x120], edx
lea rcx, [rsi + 0x3c]
lea rdx, [rsp + 0x118]
lea r9, [r13 + rbp]
call sym.sqlite3Fts5BufferAppendBlob
cmp dword [rsi + 0x3c], 0
jne 0x1401f1c6b
movsxd rbp, dword [rsp + 0x130]
mov r13d, dword [rsp + 0x120]
mov rcx, qword [rsp + 0x118]
cmp ebp, r13d
movsxd r8, r13d
cmovle r8, rbp
test r8d, r8d
jle 0x1401f1c5b
mov rdx, qword [rsp + 0x128]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401f1c60
mov eax, r13d
sub eax, ebp
test eax, eax
jg 0x1401f1c6b
mov dword [rsi + 0x3c], 0x10b
mov r9, qword [rsp + 0x118]
mov r8d, dword [rsp + 0x120]
lea rdx, [rsp + 0x128]
lea rcx, [rsi + 0x3c]
call sym.sqlite3Fts5BufferSet
jmp 0x1401f1b1b
lea rcx, [rsp + 0x118]
call sym.sqlite3Fts5BufferFree
lea rcx, [rsp + 0x128]
call sym.sqlite3Fts5BufferFree
mov rcx, rdi
call sym.sqlite3_free
cmp dword [rsi + 0x3c], 0
jne 0x1401f196c
mov ebp, dword [rsp + 0xb8]
inc ebp
movsxd r12, ebp
mov edi, dword [rsi + 0x3c]
test edi, edi
jne 0x1401f196c
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x60], ebp
jle 0x1401f1d2f
movsxd rdx, dword [rax]
mov rcx, rsi
shl rdx, 0x25
add rdx, r12
call sym.fts5DataRead
mov rcx, rax
test rax, rax
je 0x1401f1d23
mov eax, dword [rax + 8]
cmp dword [rcx + 0xc], eax
jge 0x1401f1d08
mov dword [rsi + 0x3c], 0x10b
mov eax, dword [rsp + 0x9c]
cmp ebp, eax
jle 0x1401f1d23
mov rax, qword [rcx]
cmp word [rax], 0
je 0x1401f1d23
mov dword [rsi + 0x3c], 0x10b
call sym.sqlite3_free
inc ebp
inc r12
jmp 0x1401f1cc9
cmp dword [rsp + 0xc4], 0
je 0x1401f1e5b
mov r13d, dword [rax]
mov r9d, dword [rsp + 0x60]
xor edx, edx
mov rcx, rsi
mov r8d, r13d
shl r13, 0x25
call sym.fts5DlidxIterInit
mov r14d, dword [rsp + 0x60]
mov rbp, rax
cmp dword [rsi + 0x3c], 0
jne 0x1401f1d6a
cmp dword [rbp + 0x14], 0
je 0x1401f1d7e
mov rcx, rbp
call sym.fts5DlidxIterFree
mov dword [rsp + 0x9c], edi
jmp 0x1401f1e65
lea edi, [r14 + 1]
movsxd r12, edi
add r12, r13
mov r14d, dword [rbp + 0x1c]
cmp edi, r14d
jge 0x1401f1dc0
mov rcx, rsi
mov rdx, r12
call sym.fts5DataRead
mov rcx, rax
test rax, rax
je 0x1401f1db9
mov rax, qword [rax]
cmp word [rax], 0
je 0x1401f1db4
mov dword [rsi + 0x3c], 0x10b
call sym.sqlite3_free
inc edi
inc r12
jmp 0x1401f1d88
movsxd rdx, r14d
mov rcx, rsi
add rdx, r13
call sym.fts5DataRead
mov r12, rax
test rax, rax
je 0x1401f1e48
mov rcx, qword [rax]
mov ax, word [rcx]
xchg al, ah
movzx edx, ax
cmp edx, dword [r12 + 0xc]
jge 0x1401f1e39
cmp dword [rsp + 0xc0], 5
setne r8b
test edx, edx
jne 0x1401f1dfd
test r8b, r8b
je 0x1401f1e40
mov r9, qword [rbp + 0x20]
movzx eax, ax
mov byte [rsp + 0x68], r8b
lea rdx, [rsp + 0x128]
add rcx, rax
mov qword [rsp + 0x58], r9
call sym.sqlite3Fts5GetVarint
mov r9, qword [rsp + 0x58]
cmp r9, qword [rsp + 0x128]
jg 0x1401f1e39
je 0x1401f1e40
mov r8b, byte [rsp + 0x68]
test r8b, r8b
je 0x1401f1e40
mov dword [rsi + 0x3c], 0x10b
mov rcx, r12
call sym.sqlite3_free
xor r8d, r8d
mov rdx, rbp
mov rcx, rsi
call sym.fts5DlidxIterNextR.isra.0
jmp 0x1401f1d5e
mov eax, dword [rax + 8]
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0xb8], eax
jmp 0x1401f1956
inc dword [rsp + 0xa4]
add qword [rsp + 0x88], 0x10
jmp 0x1401f1865
lea rax, [rsp + 0x118]
xor r11d, r11d
xor ebp, ebp
xor edi, edi
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x78]
xor r9d, r9d
mov rcx, rsi
mov qword [rsp + 0x20], rbp
mov r8d, 0x20
xor ebp, ebp
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], edi
call sym.fts5MultiIterNew
lea rax, [rsp + 0x108]
mov qword [rsp + 0x58], rax
lea rax, [rsi + 0x3c]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x128]
mov qword [rsp + 0x68], rax
cmp dword [rsi + 0x3c], 0
mov rdi, qword [rsp + 0x118]
jne 0x1401f1f03
cmp byte [rdi + 0x14], 0
je 0x1401f1f1a
mov rcx, rdi
call sym.fts5MultiIterFree
cmp dword [rsi + 0x3c], 0
je 0x1401f2054
jmp 0x1401f206f
mov rax, qword [rdi + 0x58]
xor r8d, r8d
xor r9d, r9d
mov qword [rsp + 0x128], r8
movzx edx, word [rax + 4]
mov dword [rsp + 0x100], r9d
movzx eax, dx
imul rax, rax, 0x88
add rax, rdi
cmp dword [rsp + 0xbc], 1
mov rcx, qword [rax + 0xd8]
mov r12d, dword [rax + 0xd0]
mov r13, qword [rax + 0xc8]
mov qword [rsp + 0x50], rcx
jne 0x1401f1fa0
xor ecx, ecx
mov rdx, rdi
call sym.fts5MultiIterIsEmpty.isra.0
test eax, eax
jne 0x1401f203e
mov dword [rsp + 0x28], r12d
mov rcx, qword [rsp + 0x50]
or r9d, 0xffffffff
xor edx, edx
mov qword [rsp + 0x20], r13
xor r8d, r8d
call sym.sqlite3Fts5IndexEntryCksum
xor rbp, rax
jmp 0x1401f203e
imul rdx, rdx, 0x88
xor r10d, r10d
xor r8d, r8d
mov rcx, rsi
mov r9, qword [rsp + 0x58]
mov dword [rsp + 0x110], r10d
lea r14, [rsp + 0x100]
lea rdx, [rdi + rdx + 0x60]
call sym.fts5SegiterPoslist
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
lea r9, [0x14035fa42]
mov r8d, 4
call sym.sqlite3Fts5BufferAppendBlob
mov r9, qword [rsp + 0x68]
mov edx, dword [rsp + 0x110]
mov r8, r14
mov rcx, qword [rsp + 0x108]
call sym.sqlite3Fts5PoslistNext64
test eax, eax
jne 0x1401f203e
mov dword [rsp + 0x28], r12d
mov rcx, qword [rsp + 0x50]
or r9d, 0xffffffff
mov rdx, qword [rsp + 0x128]
mov qword [rsp + 0x20], r13
mov r8d, edx
shr rdx, 0x20
and r8d, 0x7fffffff
call sym.sqlite3Fts5IndexEntryCksum
xor rbp, rax
jmp 0x1401f1feb
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call sym.fts5MultiIterNext
jmp 0x1401f1eef
cmp qword [rsp + 0xb0], rbp
je 0x1401f206f
cmp dword [rsp + 0xa0], 0
je 0x1401f206f
mov dword [rsi + 0x3c], 0x10b
mov rcx, qword [rsp + 0x78]
call sym.fts5StructureRelease
lea rcx, [rsp + 0x108]
call sym.sqlite3Fts5BufferFree
xor ecx, ecx
mov r14d, dword [rsi + 0x3c]
mov dword [rsi + 0x3c], ecx
mov rcx, qword [rsp + 0x70]
call sym.sqlite3_free
jmp 0x1401f2116
mov rdx, rbp
lea rcx, str.flush
call sym.sqlite3_stricmp
mov r15d, eax
test eax, eax
jne 0x1401f20bb
mov rcx, rbx
call sym.sqlite3Fts5FlushToDisk
jmp 0x1401f210b
mov rcx, qword [rbx + 0x20]
call sym.sqlite3Fts5IndexLoadConfig
mov r14d, eax
test eax, eax
jne 0x1401f2137
mov rcx, qword [rbx + 0x18]
lea r9, [rsp + 0xe4]
mov r8, rsi
mov rdx, rbp
call sym.sqlite3Fts5ConfigSetValue
mov r15d, eax
test eax, eax
jne 0x1401f2110
cmp dword [rsp + 0xe4], 0
mov r14d, 1
jne 0x1401f2116
mov rcx, qword [rbx + 0x28]
xor r9d, r9d
mov r8, rsi
mov rdx, rbp
call sym.sqlite3Fts5StorageConfigValue
mov r14d, eax
jmp 0x1401f2116
mov r14d, eax
xor r15d, r15d
test r14d, r14d
jne 0x1401f2137
and r15d, 1
je 0x1401f2137
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
dec dword [rax + 0x84]
call sym.sqlite3Fts5IndexLoadConfig
mov r14d, eax
mov dword [rsp + 0xe0], r14d
jmp 0x1401f2370
cmp dword [rdi + 0x40], 0
je 0x1401f2156
cmp dword [rdi + 0x44], 0
mov r13d, 4
je 0x1401f2161
mov rcx, qword [rdi]
call sym.sqlite3_vtab_on_conflict
mov r13d, eax
cmp r14d, 1
jne 0x1401f21a8
cmp qword [rdi + 0x40], 1
jne 0x1401f21a8
cmp r12d, 2
lea rax, str.UPDATE
mov r8, qword [rdi + 0x10]
lea rdx, str.DELETE_from
cmovge rdx, rax
lea rcx, str.cannot__s_contentless_fts5_table:__s
call sym.sqlite3_mprintf
mov qword [rbx + 0x10], rax
mov dword [rsp + 0xe0], 1
jmp 0x1401f2370
dec r12d
jne 0x1401f21c9
mov rcx, qword [rsi]
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbx + 0x28]
xor r8d, r8d
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
jmp 0x1401f2309
mov rax, qword [rsi + 8]
mov rcx, rax
mov qword [rsp + 0x50], rax
call sym.sqlite3_value_numeric_type
mov r12d, eax
and r12d, 0xfffffffb
cmp r12d, 1
je 0x1401f21f7
mov dword [rsp + 0xe0], 0x14
jmp 0x1401f2370
dec eax
sete r15b
dec r14d
je 0x1401f224d
cmp r13d, 5
jne 0x1401f222f
test r15b, r15b
je 0x1401f222f
mov rcx, qword [rsp + 0x50]
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbx + 0x28]
xor r8d, r8d
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov dword [rsp + 0xe0], eax
jmp 0x1401f2232
xor r12d, r12d
lea rcx, [rsp + 0xe0]
mov r9, rbp
mov r8, rsi
mov rdx, rbx
call sym.fts5StorageInsert
jmp 0x1401f2320
mov rcx, qword [rsi]
call sym.sqlite3VdbeIntValue
mov rcx, qword [rsp + 0x50]
mov r12, rax
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbx + 0x28]
cmp rax, r12
mov r14, rax
je 0x1401f2318
test r15b, r15b
je 0x1401f2318
cmp r13d, 5
jne 0x1401f22c5
xor r8d, r8d
mov rdx, r12
call sym.sqlite3Fts5StorageDelete
mov dword [rsp + 0xe0], eax
test eax, eax
jne 0x1401f22ad
mov rcx, qword [rbx + 0x28]
xor r8d, r8d
mov rdx, r14
call sym.sqlite3Fts5StorageDelete
mov dword [rsp + 0xe0], eax
lea rcx, [rsp + 0xe0]
mov r9, rbp
mov r8, rsi
mov rdx, rbx
call sym.fts5StorageInsert
jmp 0x1401f2310
mov r8, rbp
mov rdx, rsi
call sym.sqlite3Fts5StorageContentInsert
mov dword [rsp + 0xe0], eax
test eax, eax
jne 0x1401f2370
mov rcx, qword [rbx + 0x28]
xor r8d, r8d
mov rdx, r12
call sym.sqlite3Fts5StorageDelete
mov dword [rsp + 0xe0], eax
test eax, eax
jne 0x1401f2370
mov rcx, qword [rbx + 0x28]
mov r8, qword [rbp]
mov rdx, rsi
call sym.sqlite3Fts5StorageIndexInsert
mov dword [rsp + 0xe0], eax
mov r12d, 1
jmp 0x1401f2320
xor r8d, r8d
mov rdx, r12
jmp 0x1401f22a1
cmp dword [rsp + 0xe0], 0
jne 0x1401f2370
and r12d, 1
je 0x1401f2370
cmp dword [rdi + 0xb0], 0
je 0x1401f2370
cmp dword [rdi + 0x80], 4
jne 0x1401f2370
mov rcx, qword [rbx + 0x28]
mov r9d, 5
xor r8d, r8d
lea rdx, str.version
call sym.sqlite3Fts5StorageConfigValue
mov dword [rsp + 0xe0], eax
test eax, eax
jne 0x1401f2370
mov dword [rdi + 0x80], 5
mov rax, qword [rbx + 0x18]
xor edx, edx
mov qword [rax + 0xb8], rdx
mov eax, dword [rsp + 0xe0]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret