Function at 0x140131310
Capabilities:
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, 0x78
mov r15, qword [rcx + 0x18]
mov eax, dword [r15 + 0x90]
mov rbx, rcx
mov ebp, edx
mov rdi, r8
mov r12, r9
test eax, eax
jne 0x140131380
mov r14, qword [rcx + 0x20]
mov rcx, r14
call sym.fts5StructureRead
mov rsi, rax
test rax, rax
je 0x14013135d
mov eax, dword [rax]
sub eax, 1
mov dword [rsi], eax
test eax, eax
jle 0x1401316e0
mov r13d, dword [r14 + 0x3c]
mov dword [r14 + 0x3c], 0
test r13d, r13d
jne 0x14013149f
mov rsi, qword [rbx + 0x18]
jmp 0x140131383
mov rsi, r15
lea rax, [rbx + 0x10]
mov qword [rsi + 0xc0], rax
mov rax, qword [rbx + 0x30]
mov rdx, qword [rax + 0x48]
mov rax, rdx
test rdx, rdx
jne 0x1401313a9
jmp 0x1401313c8
mov rax, qword [rax + 8]
test rax, rax
je 0x1401313c8
cmp dword [rax + 0x20], 1
jne 0x1401313a0
cmp rbx, qword [rax]
jne 0x1401313a0
or dword [rax + 0x50], 0x20
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401313a9
nop dword [rax]
mov r8, qword [rdi]
lea r14, [0x14016dbe0]
movzx eax, word [r8 + 0x14]
and eax, 0x3f
movzx r13d, byte [r14 + rax]
cmp r13d, 5
je 0x140131510
mov r9d, dword [r15 + 0x40]
test r9d, r9d
jne 0x1401314b8
mov rax, qword [r15]
lea rdx, [0x14016bae0]
movzx eax, byte [rax + 0x6c]
sub eax, 1
cdqe
movzx r9d, byte [rdx + rax]
cmp r13d, 1
je 0x1401314d4
cmp ebp, 1
je 0x140131580
mov rbp, qword [rdi + 8]
movzx eax, word [rbp + 0x14]
and eax, 0x3f
movzx eax, byte [r14 + rax]
cmp eax, 3
je 0x140131720
mov r14d, eax
and r14d, 0xfffffffb
cmp r14d, 1
jne 0x1401315d0
cmp eax, 1
sete dl
cmp r13d, 1
je 0x14013174f
cmp r9d, 5
jne 0x140131690
test dl, dl
je 0x140131690
mov rcx, rbp
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbx + 0x28]
xor r8d, r8d
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov r13d, eax
test eax, eax
je 0x140131693
nop
mov rsi, qword [rbx + 0x18]
mov qword [rsi + 0xc0], 0
mov eax, r13d
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [r15 + 0x44]
mov r9d, 4
test ecx, ecx
jne 0x1401313f6
cmp r13d, 1
jne 0x140131418
cmp qword [r15 + 0x40], 1
jne 0x140131418
cmp ebp, 2
lea rax, str.UPDATE
mov r8, qword [r15 + 0x10]
lea rdx, str.DELETE_from
cmovge rdx, rax
lea rcx, str.cannot__s_contentless_fts5_table:__s
call sym.sqlite3_mprintf
mov rsi, qword [rbx + 0x18]
mov qword [rbx + 0x10], rax
jmp 0x140131494
movsxd rcx, dword [r15 + 0x18]
lea eax, [rcx + 2]
cdqe
mov r9, qword [rdi + rax*8]
lea r10, [rax*8]
movzx eax, word [r9 + 0x14]
mov r11, rax
and r11d, 0x3f
cmp byte [r14 + r11], 5
jne 0x1401315e0
mov r11d, dword [r15 + 0x40]
test r11d, r11d
je 0x140131558
mov r10d, dword [r15 + 0x44]
mov r9d, 4
test r10d, r10d
je 0x140131418
mov rax, qword [r15]
lea rdx, [0x14016bae0]
movzx eax, byte [rax + 0x6c]
sub eax, 1
cdqe
movzx r9d, byte [rdx + rax]
cmp ebp, 1
jne 0x140131421
nop dword [rax]
mov rcx, r8
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbx + 0x28]
xor r8d, r8d
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov r13d, eax
test eax, eax
jne 0x140131490
mov edx, dword [r15 + 0xb8]
test edx, edx
je 0x1401315bb
cmp dword [r15 + 0x88], 4
je 0x1401317e7
mov rsi, qword [rbx + 0x18]
xor r13d, r13d
jmp 0x140131494
mov r13d, 0x14
jmp 0x140131494
mov r8d, eax
and r8w, 0x202
cmp r8w, 0x202
je 0x14013181f
test al, 1
jne 0x140131833
mov edx, 1
mov rcx, r9
call sym.valueToText
mov rsi, rax
mov r11d, dword [r15 + 0x40]
test r11d, r11d
je 0x140131876
mov r8, rsi
lea rcx, str.delete
lea r9, [0x140176460]
test rsi, rsi
jne 0x14013164f
jmp 0x140132108
movzx edx, byte [r9 + rdx]
cmp byte [r9 + rax], dl
jne 0x140131d00
add rcx, 1
add r8, 1
movzx eax, byte [rcx]
movzx edx, byte [r8]
cmp eax, edx
jne 0x140131638
test eax, eax
jne 0x140131647
mov r13d, dword [r15 + 0x44]
test r13d, r13d
je 0x140131ea1
lea rdx, str.delete_may_not_be_used_with_a_contentless_delete1_table
mov rcx, rbx
mov r13d, 1
call sym.fts5SetVtabError
mov rsi, qword [rbx + 0x18]
jmp 0x140131494
xor r14d, r14d
mov rcx, qword [rbx + 0x28]
mov r8, r12
mov rdx, rdi
call sym.sqlite3Fts5StorageContentInsert
mov r13d, eax
test eax, eax
jne 0x140131490
mov rcx, qword [rbx + 0x28]
mov r8, qword [r12]
mov rdx, rdi
call sym.sqlite3Fts5StorageIndexInsert
mov r13d, eax
test eax, eax
jne 0x140131490
test r14d, r14d
jne 0x1401315a2
jmp 0x140131490
mov eax, dword [rsi + 0x1c]
xor r13d, r13d
test eax, eax
jle 0x14013170b
nop word [rax + rax]
mov rax, r13
add r13, 1
shl rax, 4
mov rcx, qword [rsi + rax + 0x28]
call sym.sqlite3_free
cmp dword [rsi + 0x1c], r13d
jg 0x1401316f0
mov rcx, rsi
call sym.sqlite3_free
jmp 0x14013135d
xor edx, edx
mov rcx, rbp
mov dword [rsp + 0x3c], r9d
mov qword [rsp + 0x30], r8
call sym.applyNumericAffinity
movzx eax, word [rbp + 0x14]
mov r9d, dword [rsp + 0x3c]
mov r8, qword [rsp + 0x30]
and eax, 0x3f
movzx eax, byte [r14 + rax]
jmp 0x14013143a
mov rcx, r8
mov byte [rsp + 0x30], dl
mov dword [rsp + 0x3c], r9d
call sym.sqlite3VdbeIntValue
mov rcx, rbp
mov rsi, rax
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbx + 0x28]
mov rbp, rax
cmp rax, rsi
je 0x140131f70
movzx edx, byte [rsp + 0x30]
test dl, dl
je 0x140131f70
mov r9d, dword [rsp + 0x3c]
cmp r9d, 5
je 0x140132057
mov r8, r12
mov rdx, rdi
call sym.sqlite3Fts5StorageContentInsert
mov r13d, eax
test eax, eax
jne 0x140131490
mov rcx, qword [rbx + 0x28]
xor r8d, r8d
mov rdx, rsi
call sym.sqlite3Fts5StorageDelete
mov r13d, eax
test eax, eax
jne 0x140131490
mov rcx, qword [rbx + 0x28]
mov r8, qword [r12]
mov rdx, rdi
call sym.sqlite3Fts5StorageIndexInsert
mov r13d, eax
test eax, eax
je 0x1401315a2
jmp 0x140131490
mov rcx, qword [rbx + 0x28]
mov r9d, 5
xor r8d, r8d
lea rdx, str.version
call sym.sqlite3Fts5StorageConfigValue
mov r13d, eax
test eax, eax
jne 0x140131490
mov dword [r15 + 0x88], 5
mov rsi, qword [rbx + 0x18]
jmp 0x140131494
cmp byte [r9 + 0x16], 1
jne 0x1401315f5
mov rsi, qword [r9 + 8]
jmp 0x14013160d
mov esi, dword [r15 + 0x40]
mov rbp, qword [rdi + r10 + 8]
test esi, esi
je 0x140132016
mov dword [rsp + 0x40], 0
mov rbp, qword [rdi + rcx*8 + 0x18]
xor esi, esi
jmp 0x14013185c
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x140131ed8
cmp dword [rdx + 0x20], 1
jne 0x140131858
cmp rbx, qword [rdx]
jne 0x140131858
or dword [rdx + 0x50], 0x20
jmp 0x140131858
movsxd rax, dword [r15 + 0x18]
mov r10, qword [rbx + 0x18]
mov dword [rsp + 0x40], 0
mov rbp, qword [rdi + rax*8 + 0x18]
test rsi, rsi
je 0x140131fa5
mov r9, rsi
lea r8, str.delete_all
lea rcx, [0x140176460]
jmp 0x1401318c2
movzx edi, byte [rcx + rdx]
cmp byte [rcx + rax], dil
jne 0x1401318fc
add r8, 1
add r9, 1
movzx eax, byte [r8]
movzx edx, byte [r9]
cmp eax, edx
jne 0x1401318b0
test eax, eax
jne 0x1401318ba
mov eax, dword [r10 + 0x40]
test eax, eax
jne 0x140131df6
lea rdx, str.delete_all_may_only_be_used_with_a_contentless_or_external_content_fts5_table
mov rcx, rbx
call sym.fts5SetVtabError
mov rsi, qword [rbx + 0x18]
mov r13d, 1
jmp 0x140131494
mov r9, rsi
lea r8, str.rebuild
jmp 0x140131926
movzx edi, byte [rcx + rdx]
cmp byte [rcx + rax], dil
jne 0x140131bb0
add r8, 1
add r9, 1
movzx eax, byte [r8]
movzx edx, byte [r9]
cmp eax, edx
jne 0x140131910
test eax, eax
jne 0x14013191e
cmp dword [r10 + 0x40], 1
je 0x14013208c
mov qword [rsp + 0x50], 0
mov rbp, qword [rbx + 0x28]
xor edi, edi
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x48], 0
mov rcx, rbp
mov rsi, qword [rbp]
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x60], rbp
call sym.sqlite3Fts5StorageDeleteAll
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1401319b9
mov r10d, dword [rbp + 0x10]
test r10d, r10d
je 0x14013219e
mov r9, qword [rsi + 0xc0]
lea r8, [rsp + 0x48]
mov edx, 0xa
mov rcx, rbp
call sym.fts5StorageGetStmt
mov rdi, qword [rsp + 0x48]
mov dword [rsp + 0x44], eax
mov r13d, eax
lea r14, [sym.fts5StorageInsertCallback]
test r13d, r13d
jne 0x1401320ed
mov rcx, rdi
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401320c0
xor edx, edx
mov rcx, rdi
call sym.columnMem
mov rcx, rax
call sym.sqlite3VdbeIntValue
mov qword [rsp + 0x30], rax
test rdi, rdi
je 0x1401319fe
mov rcx, rdi
call sym.columnMallocFailure.part.0
mov rcx, qword [rbp + 8]
mov r8, qword [rsp + 0x30]
xor edx, edx
lea r13, [rsp + 0x60]
mov dword [rsp + 0x58], 0
call sym.sqlite3Fts5IndexBeginWrite
mov dword [rsp + 0x68], 0
xor ecx, ecx
mov dword [rsp + 0x44], eax
test eax, eax
je 0x140131a71
jmp 0x140131b70
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x44]
call sym.sqlite3Fts5BufferAppendVarint
movsxd rdx, dword [rsp + 0x68]
mov rax, qword [rbp + 0x20]
mov r9d, dword [rsp + 0x44]
movsxd r8, dword [rsp + 0x6c]
mov rcx, rdx
add qword [rax + rdx*8], r8
add ecx, 1
mov dword [rsp + 0x68], ecx
test r9d, r9d
jne 0x140131b70
cmp dword [rsi + 0x18], ecx
jle 0x1401320a0
mov rdx, qword [rsi + 0x28]
movsxd rax, ecx
mov dword [rsp + 0x6c], 0
xor r8d, r8d
cmp byte [rdx + rax], 0
jne 0x140131a38
lea edx, [rcx + 1]
mov rcx, rdi
call sym.columnMem
mov r15, rax
test rax, rax
je 0x140131ad3
movzx eax, word [rax + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
je 0x140131b90
test al, 1
jne 0x140131ba8
mov rcx, r15
mov edx, 1
call sym.valueToText
mov r15, rax
test rdi, rdi
je 0x140131b40
mov rcx, rdi
call sym.columnMallocFailure.part.0
mov eax, dword [rsp + 0x68]
mov rcx, rdi
lea edx, [rax + 1]
call sym.columnMem
mov edx, 1
mov rcx, rax
call sym.sqlite3ValueBytes
mov rcx, rdi
mov r12d, eax
call sym.columnMallocFailure.part.0
test r15, r15
je 0x140131b63
mov r10, qword [rsi + 0x78]
mov rcx, qword [rsi + 0x70]
mov r9, r15
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r12d
mov r8d, 4
mov rdx, r13
call qword [r10 + 0x10]
mov dword [rsp + 0x44], eax
movsxd r8, dword [rsp + 0x6c]
jmp 0x140131a38
mov eax, dword [rsp + 0x68]
xor ecx, ecx
lea edx, [rax + 1]
call sym.columnMem
mov edx, 1
mov rcx, rax
call sym.sqlite3ValueBytes
mov r12d, eax
test r15, r15
jne 0x140131b0c
xor eax, eax
jmp 0x140131b2e
mov rax, qword [rbp + 0x18]
mov r13d, dword [rsp + 0x44]
add rax, 1
mov qword [rbp + 0x18], rax
jmp 0x1401319c0
cmp byte [r15 + 0x16], 1
jne 0x140131abb
mov r15, qword [r15 + 8]
jmp 0x140131ad3
xor r15d, r15d
jmp 0x140131ad3
mov r9, rsi
lea r8, str.optimize
jmp 0x140131bd6
movzx edi, byte [rcx + rdx]
cmp byte [rcx + rax], dil
jne 0x140131d1a
add r8, 1
add r9, 1
movzx eax, byte [r8]
movzx edx, byte [r9]
cmp eax, edx
jne 0x140131bc0
test eax, eax
jne 0x140131bce
mov rax, qword [rbx + 0x28]
mov rdi, qword [rax + 8]
mov qword [rsp + 0x60], 0
mov rcx, rdi
call sym.fts5IndexFlush
mov rcx, rdi
call sym.fts5StructureRead
mov rsi, qword [rdi + 0xa0]
mov rbp, rax
test rsi, rsi
je 0x140131c30
mov eax, dword [rsi]
sub eax, 1
mov dword [rsi], eax
test eax, eax
jle 0x14013220d
mov qword [rdi + 0xa0], 0
test rbp, rbp
je 0x140131cec
mov rdx, rbp
mov rcx, rdi
call sym.fts5IndexOptimizeStruct
mov qword [rsp + 0x60], rax
mov rsi, rax
mov eax, dword [rbp]
sub eax, 1
mov dword [rbp], eax
test eax, eax
jle 0x14013213c
test rsi, rsi
je 0x140131cec
mov ebp, dword [rsi + 0x24]
test ebp, ebp
jne 0x1401322ed
lea rax, [rsi + 0x34]
mov edx, dword [rax]
add rax, 0x10
add ebp, 1
test edx, edx
je 0x140131c75
mov eax, dword [rdi + 0x3c]
movsxd r12, ebp
test eax, eax
jne 0x140131cdd
add r12, 2
lea r14, [rsp + 0x50]
lea r13, [rsp + 0x60]
shl r12, 4
jmp 0x140131cc9
mov r9, r14
mov r8d, ebp
mov rdx, r13
mov rcx, rdi
mov dword [rsp + 0x50], 0x3e8
call sym.fts5IndexMergeLevel
mov eax, dword [rdi + 0x3c]
mov rsi, qword [rsp + 0x60]
test eax, eax
jne 0x14013212e
mov eax, dword [rsi + r12 + 4]
test eax, eax
jg 0x140131ca0
mov rdx, rsi
mov rcx, rdi
call sym.fts5StructureWrite.part.0
mov eax, dword [rsi]
sub eax, 1
mov dword [rsi], eax
test eax, eax
jle 0x14013216e
mov r13d, dword [rdi + 0x3c]
mov rsi, qword [rbx + 0x18]
mov dword [rdi + 0x3c], 0
jmp 0x140131494
movsxd rax, dword [r15 + 0x18]
mov r10, qword [rbx + 0x18]
mov dword [rsp + 0x40], 0
mov rbp, qword [rdi + rax*8 + 0x18]
jmp 0x140131894
mov r9, rsi
lea r8, [0x140169809]
jmp 0x140131d46
movzx edi, byte [rcx + rdx]
cmp byte [rcx + rax], dil
jne 0x140131e4d
add r8, 1
add r9, 1
movzx eax, byte [r8]
movzx edx, byte [r9]
cmp eax, edx
jne 0x140131d30
test eax, eax
jne 0x140131d3e
mov rcx, rbp
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 + 0x60], rax
mov r14, rax
test rax, rax
je 0x140131de2
mov rax, qword [rsi]
mov rdi, qword [rsi + 0xa0]
mov r13d, dword [rax + 0x9c]
test rdi, rdi
je 0x140131db6
mov eax, dword [rdi]
sub eax, 1
mov dword [rdi], eax
test eax, eax
jle 0x1401322f4
mov qword [rsi + 0xa0], 0
mov r8d, ebp
test ebp, ebp
js 0x1401322b0
mov r15d, dword [r14 + 0x1c]
mov rdi, qword [rsp + 0x60]
test r15d, r15d
jne 0x140132273
mov eax, dword [rdi]
sub eax, 1
mov dword [rdi], eax
test eax, eax
jle 0x140132241
mov r13d, dword [rsi + 0x3c]
mov dword [rsi + 0x3c], 0
mov rsi, qword [rbx + 0x18]
jmp 0x140131494
mov rcx, qword [rbx + 0x28]
call sym.sqlite3Fts5StorageDeleteAll
mov r13d, eax
mov rsi, qword [rbx + 0x18]
test r13d, r13d
jne 0x140131494
sub dword [rsi + 0x8c], 1
mov rbp, qword [rbx + 0x20]
mov rcx, rbp
call sym.fts5StructureRead
mov rsi, rax
test rax, rax
je 0x140131e39
mov eax, dword [rax]
sub eax, 1
mov dword [rsi], eax
test eax, eax
jle 0x140132025
mov r13d, dword [rbp + 0x3c]
mov rsi, qword [rbx + 0x18]
mov dword [rbp + 0x3c], 0
jmp 0x140131494
mov r9, rsi
lea r8, str.integrity_check
jmp 0x140131e76
movzx edi, byte [rcx + rdx]
cmp byte [rcx + rax], dil
jne 0x140131fb2
add r8, 1
add r9, 1
movzx eax, byte [r8]
movzx edx, byte [r9]
cmp eax, edx
jne 0x140131e60
test eax, eax
jne 0x140131e6e
mov rcx, rbp
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbx + 0x28]
mov edx, eax
call sym.sqlite3Fts5StorageIntegrity
mov r13d, eax
jmp 0x140131490
mov rcx, qword [rdi + 8]
movzx eax, word [rcx + 0x14]
and eax, 0x3f
cmp byte [r14 + rax], 1
jne 0x140131490
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbx + 0x28]
lea r8, [rdi + 0x10]
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov rsi, qword [rbx + 0x18]
mov r13d, eax
jmp 0x140131494
mov rcx, qword [rbx + 0x28]
call sym.sqlite3Fts5StorageSync
mov r13d, eax
test eax, eax
jne 0x140131490
mov r14, qword [rbx + 0x20]
mov rcx, r14
call sym.fts5StructureRead
mov rdi, rax
test rax, rax
je 0x140131f0f
mov eax, dword [rax]
sub eax, 1
mov dword [rdi], eax
test eax, eax
jle 0x1401321d9
mov r13d, dword [r14 + 0x3c]
mov dword [r14 + 0x3c], 0
test r13d, r13d
jne 0x140131490
mov rcx, qword [rbx + 0x18]
lea r9, [rsp + 0x40]
mov r8, rbp
mov rdx, rsi
call sym.sqlite3Fts5ConfigSetValue
mov r13d, eax
test eax, eax
jne 0x140131490
cmp dword [rsp + 0x40], 0
jne 0x1401318ed
mov rcx, qword [rbx + 0x28]
mov rdx, rsi
xor r9d, r9d
mov r8, rbp
call sym.sqlite3Fts5StorageConfigValue
mov rsi, qword [rbx + 0x18]
mov r13d, eax
jmp 0x140131494
xor r8d, r8d
mov rdx, rsi
call sym.sqlite3Fts5StorageDelete
mov r13d, eax
test eax, eax
jne 0x140131490
mov rcx, qword [rbx + 0x28]
mov r8, r12
mov rdx, rdi
call sym.sqlite3Fts5StorageContentInsert
mov r13d, eax
test eax, eax
jne 0x140131490
jmp 0x1401317c7
mov rax, qword [rbx + 0x30]
mov rdx, qword [rax + 0x48]
jmp 0x14013185c
mov r9, rsi
lea r8, str.flush
jmp 0x140131fd2
movzx edi, byte [rcx + rdx]
cmp byte [rcx + rax], dil
jne 0x140131fa5
add r8, 1
add r9, 1
movzx eax, byte [r8]
movzx edx, byte [r9]
cmp eax, edx
jne 0x140131fc0
test eax, eax
jne 0x140131fca
mov rax, qword [rbx + 0x30]
mov rax, qword [rax + 0x48]
test rax, rax
jne 0x140132005
jmp 0x140132119
mov rax, qword [rax + 8]
test rax, rax
je 0x140132119
cmp dword [rax + 0x20], 1
jne 0x140131ff8
cmp qword [rax], rbx
jne 0x140131ff8
or dword [rax + 0x50], 0x20
jmp 0x140131ff8
mov dword [rsp + 0x40], 0
xor esi, esi
jmp 0x14013185c
mov r12d, dword [rsi + 0x1c]
xor edi, edi
test r12d, r12d
jle 0x14013204a
mov rax, rdi
add rdi, 1
shl rax, 4
mov rcx, qword [rsi + rax + 0x28]
call sym.sqlite3_free
cmp dword [rsi + 0x1c], edi
jg 0x140132030
mov rcx, rsi
call sym.sqlite3_free
jmp 0x140131e39
xor r8d, r8d
mov rdx, rsi
call sym.sqlite3Fts5StorageDelete
mov r13d, eax
test eax, eax
jne 0x140131490
mov rcx, qword [rbx + 0x28]
xor r8d, r8d
mov rdx, rbp
call sym.sqlite3Fts5StorageDelete
mov r13d, eax
test eax, eax
je 0x140131f86
jmp 0x140131490
lea rdx, str.rebuild_may_not_be_used_with_a_contentless_fts5_table
mov rcx, rbx
call sym.fts5SetVtabError
jmp 0x1401318ed
mov rax, qword [rbp]
add qword [rbp + 0x18], 1
mov r13d, dword [rax + 0x58]
test r13d, r13d
jne 0x1401321bf
mov dword [rsp + 0x44], r13d
jmp 0x1401319c0
mov rcx, qword [rsp + 0x50]
call sym.sqlite3_free
mov rcx, rdi
call sym.sqlite3_reset
mov r13d, eax
test eax, eax
jne 0x140131490
mov rcx, rbp
call sym.fts5StorageSaveTotals
mov r13d, eax
jmp 0x140131e02
mov rcx, qword [rsp + 0x50]
call sym.sqlite3_free
mov rcx, rdi
call sym.sqlite3_reset
mov rsi, qword [rbx + 0x18]
jmp 0x140131494
mov rax, qword [rbx + 0x30]
movsxd rcx, dword [r15 + 0x18]
mov rdx, qword [rax + 0x48]
jmp 0x140131844
mov rcx, qword [rbx + 0x28]
call sym.sqlite3Fts5StorageSync
mov rsi, qword [rbx + 0x18]
mov r13d, eax
jmp 0x140131494
test rsi, rsi
je 0x140131cec
jmp 0x140131cdd
mov ecx, dword [rbp + 0x1c]
xor r12d, r12d
test ecx, ecx
jle 0x140132161
mov rax, r12
add r12, 1
shl rax, 4
mov rcx, qword [rbp + rax + 0x28]
call sym.sqlite3_free
cmp dword [rbp + 0x1c], r12d
jg 0x140132146
mov rcx, rbp
call sym.sqlite3_free
jmp 0x140131c5d
mov eax, dword [rsi + 0x1c]
xor ebp, ebp
test eax, eax
jle 0x140132191
mov rax, rbp
add rbp, 1
shl rax, 4
mov rcx, qword [rsi + rax + 0x28]
call sym.sqlite3_free
cmp dword [rsi + 0x1c], ebp
jg 0x140132177
mov rcx, rsi
call sym.sqlite3_free
jmp 0x140131cec
mov edx, 1
mov rcx, rbp
call sym.fts5StorageLoadTotals.part.0
mov dword [rsp + 0x44], eax
mov r13d, eax
test eax, eax
jne 0x1401319b9
jmp 0x140131994
mov rdx, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov rcx, rbp
call sym.fts5StorageInsertDocsize.part.0
mov r13d, eax
jmp 0x1401320b6
mov r13d, dword [rdi + 0x1c]
xor r12d, r12d
test r13d, r13d
jle 0x140132200
mov rax, r12
add r12, 1
shl rax, 4
mov rcx, qword [rdi + rax + 0x28]
call sym.sqlite3_free
cmp dword [rdi + 0x1c], r12d
jg 0x1401321e5
mov rcx, rdi
call sym.sqlite3_free
jmp 0x140131f0f
mov r8d, dword [rsi + 0x1c]
xor r12d, r12d
test r8d, r8d
jle 0x140132234
mov rax, r12
add r12, 1
shl rax, 4
mov rcx, qword [rsi + rax + 0x28]
call sym.sqlite3_free
cmp dword [rsi + 0x1c], r12d
jg 0x140132219
mov rcx, rsi
call sym.sqlite3_free
jmp 0x140131c25
mov r14d, dword [rdi + 0x1c]
xor ebp, ebp
test r14d, r14d
jle 0x140132266
mov rax, rbp
add rbp, 1
shl rax, 4
mov rcx, qword [rdi + rax + 0x28]
call sym.sqlite3_free
cmp dword [rdi + 0x1c], ebp
jg 0x14013224c
mov rcx, rdi
call sym.sqlite3_free
jmp 0x140131de2
lea rdx, [rsp + 0x60]
mov r9d, r13d
mov rcx, rsi
call sym.fts5IndexMerge
test eax, eax
je 0x14013229a
cmp dword [rsi + 0x3c], 0
jne 0x14013229a
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call sym.fts5StructureWrite.part.0
mov rdi, qword [rsp + 0x60]
test rdi, rdi
jne 0x140131dd3
jmp 0x140131de2
mov rdx, r14
mov rcx, rsi
call sym.fts5IndexOptimizeStruct
mov r12, rax
mov eax, dword [r14]
sub eax, 1
mov dword [r14], eax
test eax, eax
jle 0x140132325
mov qword [rsp + 0x60], r12
test r12, r12
je 0x140131de2
mov r8d, ebp
mov r14, r12
mov r13d, 1
neg r8d
jmp 0x140131dc1
xor ebp, ebp
jmp 0x140131c82
xor r12d, r12d
cmp dword [rdi + 0x1c], 0
jle 0x140132318
mov rax, r12
add r12, 1
shl rax, 4
mov rcx, qword [rdi + rax + 0x28]
call sym.sqlite3_free
cmp dword [rdi + 0x1c], r12d
jg 0x1401322fd
mov rcx, rdi
call sym.sqlite3_free
jmp 0x140131dab
xor edi, edi
cmp dword [r14 + 0x1c], 0
jle 0x140132349
mov rax, rdi
add rdi, 1
shl rax, 4
mov rcx, qword [r14 + rax + 0x28]
call sym.sqlite3_free
cmp dword [r14 + 0x1c], edi
jg 0x14013232e
mov rcx, r14
call sym.sqlite3_free
jmp 0x1401322cb