Function at 0x1401b0e00
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
mov r13, qword [rcx + 0x18]
lea rax, [rcx + 0x10]
mov rbp, rcx
mov esi, edx
mov qword [r13 + 0xa8], rax
mov rax, qword [rcx + 0x30]
mov rdi, r8
mov r12, r9
mov rax, qword [rax + 0x48]
test rax, rax
jne 0x1401b0e49
jmp 0x1401b0e68
mov rax, qword [rax + 8]
test rax, rax
je 0x1401b0e68
cmp dword [rax + 0x20], 1
jne 0x1401b0e40
cmp rbp, qword [rax]
jne 0x1401b0e40
or dword [rax + 0x50], 0x20
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401b0e49
nop dword [rax]
mov rax, qword [rdi]
lea r14, [0x140323ba0]
movzx eax, word [rax + 0x14]
and eax, 0x3f
movzx r15d, byte [r14 + rax]
cmp r15d, 5
je 0x1401b0f88
mov r10d, dword [r13 + 0x40]
mov edx, 4
test r10d, r10d
je 0x1401b0fb9
cmp r15d, 1
je 0x1401b0f48
cmp esi, 1
je 0x1401b1170
mov rsi, qword [rdi + 8]
movzx eax, word [rsi + 0x14]
and eax, 0x3f
movzx eax, byte [r14 + rax]
cmp eax, 3
je 0x1401b1108
mov ecx, eax
mov ebx, 0x14
and ecx, 0xfffffffb
cmp ecx, 1
jne 0x1401b0f1c
cmp eax, 1
mov rbx, qword [rbp + 0x28]
sete r14b
cmp r15d, 1
je 0x1401b1460
cmp edx, 5
jne 0x1401b1138
test r14b, r14b
je 0x1401b1138
mov rcx, rsi
call sym.sqlite3VdbeIntValue
xor r8d, r8d
mov rcx, rbx
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
test eax, eax
mov ebx, eax
je 0x1401b1130
mov rax, qword [rbp + 0x18]
mov qword [rax + 0xa8], 0
mov eax, ebx
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rbp + 0x18]
mov ebx, dword [rax + 0x40]
cmp ebx, 1
jne 0x1401b0ea4
mov r8, qword [r13 + 0x10]
cmp esi, 2
lea rax, str.UPDATE
lea rdx, str.DELETE_from
cmovge rdx, rax
lea rcx, str.cannot__s_contentless_fts5_table:__s
call sym.sqlite3_mprintf
mov qword [rbp + 0x10], rax
jmp 0x1401b0f1c
mov eax, dword [r13 + 0x18]
add eax, 2
cdqe
mov rcx, qword [rdi + rax*8]
movzx eax, word [rcx + 0x14]
and eax, 0x3f
cmp byte [r14 + rax], 5
jne 0x1401b1050
mov r11d, dword [r13 + 0x40]
mov edx, 4
test r11d, r11d
jne 0x1401b0ea4
mov rax, qword [r13]
test rax, rax
je 0x1401b2c21
movzx edx, byte [rax + 0x71]
cmp dl, 0x76
je 0x1401b102d
cmp dl, 0xba
je 0x1401b1190
cmp dl, 0x6d
je 0x1401b1190
lea r8, str.invalid
mov ecx, 0x15
lea rdx, str.API_call_with__s_database_connection_pointer
call sym.sqlite3_log
lea rax, [0x1403133bc]
mov r9d, 0x25011
mov ecx, 0x15
lea rdx, str._s_at_line__d_of___.10s_
mov qword [rsp + 0x20], rax
lea r8, str.misuse
call sym.sqlite3_log
mov edx, 0x15
jmp 0x1401b0e9a
movzx eax, byte [rax + 0x6c]
lea rdx, [0x1403232c0]
sub eax, 1
cmp r15d, 1
cdqe
movzx edx, byte [rdx + rax]
jne 0x1401b0ea4
jmp 0x1401b0f48
call sym.sqlite3ValueText.constprop.0
mov rsi, rax
mov eax, dword [r13 + 0x40]
test eax, eax
je 0x1401b14d0
test rsi, rsi
je 0x1401b2c71
lea rcx, str.delete
mov rdx, rsi
call sym.sqlite3_stricmp.part.0
test eax, eax
mov ebx, eax
je 0x1401b1abd
mov dword [rsp + 0xe0], 0
movsxd rax, dword [r13 + 0x18]
mov r11, qword [rbp + 0x18]
mov rdi, qword [rdi + rax*8 + 0x18]
lea rcx, str.delete_all
mov r9, rsi
lea r8, [0x1403266c0]
jmp 0x1401b10cf
movzx ebx, byte [r8 + rdx]
cmp byte [r8 + rax], bl
jne 0x1401b11ad
add rcx, 1
add r9, 1
movzx eax, byte [rcx]
movzx edx, byte [r9]
cmp eax, edx
jne 0x1401b10b8
test eax, eax
jne 0x1401b10c7
mov eax, dword [r11 + 0x40]
test eax, eax
jne 0x1401b1578
lea rdx, str.delete_all_may_only_be_used_with_a_contentless_or_external_content_fts5_table
mov rcx, rbp
call sym.fts5SetVtabError
mov ebx, 1
jmp 0x1401b0f1c
mov rcx, rsi
mov dword [rsp + 0x58], edx
mov ebx, 0x14
call sym.sqlite3_value_numeric_type.part.0
mov edx, dword [rsp + 0x58]
mov ecx, eax
and ecx, 0xfffffffb
cmp ecx, 1
jne 0x1401b0f1c
jmp 0x1401b0ed5
mov rbx, qword [rbp + 0x28]
nop dword [rax]
mov rcx, rbx
mov r8, r12
mov rdx, rdi
call sym.sqlite3Fts5StorageContentInsert
test eax, eax
mov ebx, eax
jne 0x1401b0f1c
mov rcx, qword [rbp + 0x28]
mov rdx, rdi
mov r8, qword [r12]
call sym.sqlite3Fts5StorageIndexInsert
mov ebx, eax
jmp 0x1401b0f1c
mov rcx, qword [rdi]
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbp + 0x28]
xor r8d, r8d
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov ebx, eax
jmp 0x1401b0f1c
lea r8, str.unopened
mov ecx, 0x15
lea rdx, str.API_call_with__s_database_connection_pointer
call sym.sqlite3_log
jmp 0x1401b0ff9
lea rdx, str.rebuild
mov rcx, rsi
jmp 0x1401b11d7
movzx eax, byte [r8 + rax]
cmp byte [r8 + r14], al
jne 0x1401b1960
add rdx, 1
add rcx, 1
movzx r14d, byte [rdx]
movzx eax, byte [rcx]
cmp r14d, eax
jne 0x1401b11c0
test r14d, r14d
jne 0x1401b11cf
cmp dword [r11 + 0x40], 1
je 0x1401b2dd3
mov r12, qword [rbp + 0x28]
xor r15d, r15d
mov rcx, r12
mov rdi, qword [r12]
mov qword [rsp + 0x120], r12
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x128], 0
call sym.sqlite3Fts5StorageDeleteAll
test eax, eax
mov esi, eax
jne 0x1401b125b
mov eax, dword [r12 + 0x10]
test eax, eax
je 0x1401b2ece
xor r9d, r9d
mov edx, 0xa
mov rcx, r12
lea r8, [rsp + 0x100]
call sym.fts5StorageGetStmt
mov r15, qword [rsp + 0x100]
mov esi, eax
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x1a0], rbp
test esi, esi
jne 0x1401b377d
nop dword [rax]
mov rcx, r15
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401b2da0
test r15, r15
je 0x1401b1952
mov rbx, qword [r15]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1401b12a7
call qword [0x1402b9120]
mov rbx, qword [r15]
mov rax, qword [r15 + 0xa0]
test rax, rax
je 0x1401b18a8
cmp word [r15 + 0xc0], 0
je 0x1401b18a8
movzx edx, word [rax + 0x14]
test dl, 0x24
jne 0x1401b1aa9
test dl, 8
je 0x1401b18e2
movsd xmm0, qword [rax]
call sym.doubleToInt64
mov qword [rsp + 0x60], rax
cmp byte [rbx + 0x67], 0
mov rdx, rbx
mov ecx, dword [r15 + 0x34]
jne 0x1401b18d0
xor eax, eax
test ecx, ecx
jne 0x1401b18d0
mov rcx, qword [rdx + 0x18]
mov dword [r15 + 0x34], eax
test rcx, rcx
je 0x1401b1318
call qword [0x1402b9130]
mov rcx, qword [r12 + 8]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sym.sqlite3Fts5IndexBeginWrite
mov dword [rsp + 0x128], 0
test eax, eax
jne 0x1401b2d37
xor r13d, r13d
xor esi, esi
nop dword [rax]
cmp dword [rdi + 0x18], r13d
jle 0x1401b1858
mov rdx, qword [rdi + 0x28]
lea ebx, [rsi + 9]
movsxd rax, r13d
mov dword [rsp + 0x12c], 0
cmp byte [rdx + rax], 0
je 0x1401b15c0
xor ebp, ebp
xor r13d, r13d
cmp r14d, ebx
jae 0x1401b1720
test r14d, r14d
mov eax, 0x40
cmove r14d, eax
movsxd r14, r14d
cmp r14, rbx
jae 0x1401b13a0
nop dword [rax + rax]
add r14, r14
cmp r14, rbx
jb 0x1401b1398
call sym.sqlite3_initialize
test eax, eax
jne 0x1401b1910
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call sym.sqlite3Realloc
test rax, rax
je 0x1401b1910
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movsxd rdx, r13d
movsxd rcx, esi
add rcx, rax
cmp rdx, 0x7f
jbe 0x1401b172e
cmp rdx, 0x3fff
jbe 0x1401b1740
call sym.putVarint64
movsxd rdx, dword [rsp + 0x128]
add esi, eax
mov rax, qword [r12 + 0x20]
movsxd rcx, dword [rsp + 0x12c]
mov r13, rdx
add qword [rax + rdx*8], rcx
add r13d, 1
test ebp, ebp
mov dword [rsp + 0x128], r13d
je 0x1401b1348
mov r9d, ebp
mov rbp, qword [rsp + 0x1a0]
add qword [r12 + 0x18], 1
mov r15, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x60], r9d
call sym.sqlite3_free
mov rcx, r15
call sym.sqlite3_reset
mov ebx, dword [rsp + 0x60]
jmp 0x1401b0f1c
mov rcx, qword [rdi]
mov dword [rsp + 0x58], edx
call sym.sqlite3VdbeIntValue
mov rcx, rsi
mov r13, rax
call sym.sqlite3VdbeIntValue
cmp rax, r13
mov rsi, rax
je 0x1401b1588
test r14b, r14b
je 0x1401b1588
mov edx, dword [rsp + 0x58]
cmp edx, 5
je 0x1401b2d6a
mov rcx, rbx
mov r8, r12
mov rdx, rdi
call sym.sqlite3Fts5StorageContentInsert
test eax, eax
mov ebx, eax
jne 0x1401b0f1c
mov rcx, qword [rbp + 0x28]
xor r8d, r8d
mov rdx, r13
call sym.sqlite3Fts5StorageDelete
test eax, eax
mov ebx, eax
je 0x1401b1150
jmp 0x1401b0f1c
movsxd rax, dword [r13 + 0x18]
test rsi, rsi
mov dword [rsp + 0xe0], 0
mov r11, qword [rbp + 0x18]
mov rdi, qword [rdi + rax*8 + 0x18]
jne 0x1401b109e
mov r12, qword [rbp + 0x20]
mov rcx, r12
call sym.fts5StructureRead
test rax, rax
mov rcx, rax
je 0x1401b1515
mov eax, dword [rax]
sub eax, 1
test eax, eax
mov dword [rcx], eax
jg 0x1401b1515
call sym.fts5StructureRelease.part.0
mov ebx, dword [r12 + 0x34]
mov dword [r12 + 0x34], 0
test ebx, ebx
jne 0x1401b0f1c
mov rcx, qword [rbp + 0x18]
lea r9, [rsp + 0xe0]
mov r8, rdi
mov rdx, rsi
call sym.sqlite3Fts5ConfigSetValue
test eax, eax
mov ebx, eax
jne 0x1401b0f1c
mov ebx, dword [rsp + 0xe0]
test ebx, ebx
jne 0x1401b10f9
mov rcx, qword [rbp + 0x28]
xor r9d, r9d
mov r8, rdi
mov rdx, rsi
call sym.sqlite3Fts5StorageConfigValue
mov ebx, eax
jmp 0x1401b0f1c
mov rcx, qword [rbp + 0x28]
call sym.sqlite3Fts5StorageDeleteAll
mov ebx, eax
jmp 0x1401b0f1c
xor r8d, r8d
mov rcx, rbx
mov rdx, r13
call sym.sqlite3Fts5StorageDelete
test eax, eax
mov ebx, eax
jne 0x1401b0f1c
mov rcx, qword [rbp + 0x28]
mov r8, r12
mov rdx, rdi
call sym.sqlite3Fts5StorageContentInsert
test eax, eax
mov ebx, eax
jne 0x1401b0f1c
jmp 0x1401b1150
test r15, r15
je 0x1401b2e60
mov rax, qword [r15]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401b15db
call qword [0x1402b9120]
mov rcx, qword [r15 + 0xa0]
test rcx, rcx
je 0x1401b1601
movzx eax, word [r15 + 0xc0]
add r13d, 1
cmp r13d, eax
jge 0x1401b1601
test r13d, r13d
jns 0x1401b17f0
mov rcx, qword [r15]
mov edx, 0x19
xor r13d, r13d
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish
mov rcx, qword [r15]
mov edx, dword [r15 + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401b17c0
xor eax, eax
test edx, edx
jne 0x1401b17c0
mov rcx, qword [rcx + 0x18]
mov dword [r15 + 0x34], eax
test rcx, rcx
je 0x1401b17d9
call qword [0x1402b9130]
mov rax, qword [r15]
mov ebp, dword [rsp + 0x128]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401b1663
call qword [0x1402b9120]
lea eax, [rbp + 1]
nop word cs:[rax + rax]
mov rcx, qword [r15 + 0xa0]
test rcx, rcx
je 0x1401b168c
movzx edx, word [r15 + 0xc0]
cmp eax, edx
jb 0x1401b1760
mov rcx, qword [r15]
mov edx, 0x19
xor ebp, ebp
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish
mov rcx, qword [r15]
mov edx, dword [r15 + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401b17b0
xor eax, eax
test edx, edx
jne 0x1401b17b0
mov rcx, qword [rcx + 0x18]
mov dword [r15 + 0x34], eax
test rcx, rcx
je 0x1401b16d0
call qword [0x1402b9130]
test r13, r13
je 0x1401b2e60
mov rax, qword [rdi + 0x70]
lea r10, [sym.fts5StorageInsertCallback]
mov r9, r13
mov r8d, 4
mov rcx, qword [rdi + 0x68]
lea rdx, [rsp + 0x120]
mov dword [rsp + 0x20], ebp
mov qword [rsp + 0x28], r10
call qword [rax + 0x10]
mov ebp, eax
cmp r14d, ebx
mov r13d, dword [rsp + 0x12c]
jae 0x1401b13c8
jmp 0x1401b137f
mov rax, qword [rsp + 0x58]
movsxd rcx, esi
xor r13d, r13d
add rcx, rax
mov byte [rcx], r13b
mov eax, 1
jmp 0x1401b13f2
shr rdx, 7
xor eax, eax
mov al, dl
mov edx, r13d
or al, 0x80
and edx, 0x7f
mov ah, dl
mov word [rcx], ax
mov eax, 2
jmp 0x1401b13f2
cdqe
imul rax, rax, 0x38
add rcx, rax
movzx eax, word [rcx + 0x14]
test al, 2
je 0x1401b177b
cmp byte [rcx + 0x16], 1
je 0x1401b1907
mov edx, eax
and edx, 0x10
test dx, dx
je 0x1401b1838
test ah, 4
mov ebp, dword [rcx + 0x10]
je 0x1401b16a2
add ebp, dword [rcx]
mov rcx, qword [r15]
mov edx, dword [r15 + 0x34]
cmp byte [rcx + 0x67], 0
je 0x1401b16b3
nop dword [rax + rax]
call sym.apiHandleError
mov rcx, qword [r15]
jmp 0x1401b16bd
call sym.apiHandleError
mov rcx, qword [r15]
mov dword [r15 + 0x34], eax
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1401b1644
mov eax, dword [rsp + 0x128]
add eax, 1
jmp 0x1401b1670
movsxd r13, r13d
imul r13, r13, 0x38
add rcx, r13
movzx eax, word [rcx + 0x14]
mov edx, eax
not edx
test dx, 0x202
jne 0x1401b1813
cmp byte [rcx + 0x16], 1
je 0x1401b1949
and eax, 1
test ax, ax
jne 0x1401b2d1a
mov edx, 1
call sym.valueToText
mov r13, rax
jmp 0x1401b1618
test al, 1
jne 0x1401b1ab6
mov edx, 1
call sym.valueBytes
mov ebp, eax
jmp 0x1401b16a2
mov rax, qword [r12]
add qword [r12 + 0x18], 1
mov r15, qword [rsp + 0x100]
mov eax, dword [rax + 0x58]
test eax, eax
je 0x1401b1278
xor r9d, r9d
mov edx, 6
mov rcx, r12
lea r8, [rsp + 0x110]
call sym.fts5StorageGetStmt
test eax, eax
je 0x1401b3708
mov rbp, qword [rsp + 0x1a0]
mov r9d, eax
jmp 0x1401b143d
mov dword [rbx + 0x50], 0x19
mov rcx, rbx
mov edx, 0x19
call sym.sqlite3ErrorFinish
mov rbx, qword [r15]
mov qword [rsp + 0x60], 0
jmp 0x1401b12ea
mov edx, ecx
mov rcx, rbx
call sym.apiHandleError
mov rdx, qword [r15]
jmp 0x1401b1305
and edx, 0x12
je 0x1401b18bf
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1401b18bf
mov edx, dword [rax + 0x10]
movzx r8d, byte [rax + 0x16]
call sym.memIntValue.isra.0
mov qword [rsp + 0x60], rax
jmp 0x1401b12ea
mov ebp, dword [rcx + 0x10]
jmp 0x1401b16a2
movsxd rcx, dword [rsp + 0x128]
mov r9d, 7
mov rdx, qword [r12 + 0x20]
movsxd r8, dword [rsp + 0x12c]
mov rbp, qword [rsp + 0x1a0]
mov rax, rcx
add qword [rdx + rcx*8], r8
add eax, 1
mov dword [rsp + 0x128], eax
jmp 0x1401b142f
mov r13, qword [rcx + 8]
jmp 0x1401b1618
mov qword [rsp + 0x60], 0
jmp 0x1401b1318
lea rcx, str.optimize
mov r9, rsi
jmp 0x1401b1987
movzx ebx, byte [r8 + rdx]
cmp byte [r8 + rax], bl
jne 0x1401b1aef
add rcx, 1
add r9, 1
movzx eax, byte [rcx]
movzx edx, byte [r9]
cmp eax, edx
jne 0x1401b1970
test eax, eax
jne 0x1401b197f
mov rax, qword [rbp + 0x28]
mov rsi, qword [rax + 8]
mov qword [rsp + 0x120], 0
mov edx, dword [rsi + 0x20]
test edx, edx
jne 0x1401b2e82
mov rcx, rsi
call sym.fts5StructureRead
mov rcx, rsi
mov rbx, rax
call sym.fts5StructureInvalidate
test rbx, rbx
je 0x1401b1a9a
mov rdx, rbx
mov rcx, rsi
call sym.fts5IndexOptimizeStruct
mov qword [rsp + 0x120], rax
mov rdi, rax
mov eax, dword [rbx]
sub eax, 1
test eax, eax
mov dword [rbx], eax
jg 0x1401b19fa
mov rcx, rbx
call sym.fts5StructureRelease.part.0
test rdi, rdi
je 0x1401b1a9a
mov ebx, dword [rdi + 0x1c]
test ebx, ebx
jne 0x1401b365b
lea rdx, [rdi + 0x2c]
mov eax, dword [rdx]
add rdx, 0x10
add ebx, 1
test eax, eax
je 0x1401b1a12
mov r14d, dword [rsi + 0x34]
movsxd r12, ebx
add r12, 1
shl r12, 4
test r14d, r14d
je 0x1401b1a78
jmp 0x1401b1a87
lea rdx, [rsp + 0x120]
mov r8d, ebx
mov rcx, rsi
mov dword [rsp + 0x110], 0x3e8
lea r9, [rsp + 0x110]
call sym.fts5IndexMergeLevel
mov r13d, dword [rsi + 0x34]
mov rdi, qword [rsp + 0x120]
test r13d, r13d
jne 0x1401b2e74
mov eax, dword [rdi + r12 + 0xc]
test eax, eax
jg 0x1401b1a38
mov rdx, rdi
mov rcx, rsi
call sym.fts5StructureWrite.part.0
mov eax, dword [rdi]
sub eax, 1
test eax, eax
mov dword [rdi], eax
jg 0x1401b1a9a
mov rcx, rdi
call sym.fts5StructureRelease.part.0
mov ebx, dword [rsi + 0x34]
mov dword [rsi + 0x34], 0
jmp 0x1401b0f1c
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
jmp 0x1401b12ea
xor ebp, ebp
jmp 0x1401b16a2
mov rcx, qword [rdi + 8]
movzx eax, word [rcx + 0x14]
and eax, 0x3f
cmp byte [r14 + rax], 1
jne 0x1401b0f1c
call sym.sqlite3VdbeIntValue
mov rcx, qword [rbp + 0x28]
lea r8, [rdi + 0x10]
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov ebx, eax
jmp 0x1401b0f1c
lea rcx, str.merge
mov rdx, rsi
call sym.sqlite3_stricmp.part.0
test eax, eax
je 0x1401b2de7
lea rcx, str.integrity_check
mov rdx, rsi
call sym.sqlite3_stricmp.part.0
test eax, eax
jne 0x1401b14f1
mov rcx, rdi
call sym.sqlite3VdbeIntValue
mov rdi, rax
mov rax, qword [rbp + 0x28]
mov r12, qword [rax]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov ebx, dword [r12 + 0x18]
mov qword [rsp + 0x140], r12
call sym.sqlite3_initialize
test eax, eax
jne 0x1401b2e96
movsxd rax, ebx
lea rbx, [rax + rax*2]
shl rbx, 2
lea rax, [rbx - 1]
cmp rax, 0x7ffffefe
ja 0x1401b2e96
mov esi, dword [0x1402b90a0]
test esi, esi
je 0x1401b3664
mov rcx, qword [0x1402b8d40]
test rcx, rcx
je 0x1401b1bb9
call qword [0x1402b9120]
mov rcx, rbx
call sym.sqlite3Malloc.part.0
mov qword [rsp + 0xc0], rax
mov rcx, rax
test rcx, rcx
je 0x1401b2e96
movsxd r14, dword [r12 + 0x18]
xor edx, edx
shl r14, 3
mov r8, r14
call sub.msvcrt.dll_memset
mov eax, dword [r12 + 0x40]
test eax, eax
je 0x1401b2eea
test edi, edi
setne dl
cmp eax, 2
sete al
mov esi, edx
and sil, al
jne 0x1401b2eea
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x60]
mov r15, qword [rax + 8]
mov rax, qword [r15]
mov rcx, r15
mov eax, dword [rax + 0x5c]
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
mov dword [rsp + 0xd0], eax
call sym.fts5StructureRead
test rax, rax
mov qword [rsp + 0xa8], rax
je 0x1401b21f4
mov eax, dword [rax + 0x14]
lea r9, [rsp + 0xf8]
xor r12d, r12d
test eax, eax
jle 0x1401b2085
mov r14, r15
mov qword [rsp + 0x88], r9
mov rbx, qword [rsp + 0xa8]
mov rdi, r12
xor r15d, r15d
shl rdi, 4
mov ecx, dword [rbx + rdi + 0x1c]
test ecx, ecx
jle 0x1401b206d
mov qword [rsp + 0xb0], rdi
mov rdi, r14
mov byte [rsp + 0xd7], sil
mov qword [rsp + 0x80], r15
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0x1a0], rbp
nop dword [rax]
mov rsi, qword [rsp + 0xa8]
mov qword [rsp + 0xf0], 0
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsi + rbx + 0x20]
lea rax, [rax + rax*2]
lea r15, [rdx + rax*4]
mov rax, qword [rdi]
mov ebx, dword [r15 + 4]
mov esi, dword [r15 + 8]
test ebx, ebx
mov dword [rsp + 0x70], esi
je 0x1401b202e
mov rdx, qword [rax + 8]
lea rcx, str.SELECT_segid__term___pgno__1____pgno1__FROM__Q._q_idx_WHERE_segid_d_ORDER_BY_1__2
mov r9d, dword [r15]
mov r8, qword [rax + 0x10]
call sym.sqlite3_mprintf
mov rsi, rax
mov eax, dword [rdi + 0x34]
test eax, eax
je 0x1401b2bc6
xor r12d, r12d
lea eax, [rbx - 1]
mov rcx, rsi
mov dword [rsp + 0x78], eax
call sym.sqlite3_free
mov r14d, dword [rdi + 0x34]
nop dword [rax + rax]
test r14d, r14d
jne 0x1401b2008
mov rcx, r12
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401b2008
test r12, r12
je 0x1401b24f0
mov rax, qword [r12]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401b1d8e
call qword [0x1402b9120]
mov rbx, qword [r12 + 0xa0]
test rbx, rbx
je 0x1401b1dab
cmp word [r12 + 0xc0], 1
ja 0x1401b2208
mov rcx, qword [r12]
mov edx, 0x19
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish
lea rcx, [0x1403255c0]
call sym.sqlite3ValueText.constprop.0
mov qword [rsp + 0x60], rax
mov rcx, qword [r12]
mov edx, dword [r12 + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401b2298
xor eax, eax
test edx, edx
jne 0x1401b2298
mov rcx, qword [rcx + 0x18]
mov dword [r12 + 0x34], eax
test rcx, rcx
je 0x1401b1e15
call qword [0x1402b9130]
mov rax, qword [r12]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401b1e15
call qword [0x1402b9120]
mov rcx, qword [r12 + 0xa0]
test rcx, rcx
je 0x1401b2428
cmp word [r12 + 0xc0], 1
jbe 0x1401b2428
movzx eax, word [rcx + 0x4c]
test al, 2
je 0x1401b1e48
cmp byte [rcx + 0x4e], 1
je 0x1401b2a2f
mov edx, eax
and edx, 0x10
test dx, dx
je 0x1401b2540
test ah, 4
mov esi, dword [rcx + 0x48]
je 0x1401b1e61
add esi, dword [rcx + 0x38]
mov rbx, qword [r12]
mov edx, dword [r12 + 0x34]
cmp byte [rbx + 0x67], 0
jne 0x1401b2452
xor eax, eax
test edx, edx
jne 0x1401b2452
mov rcx, qword [rbx + 0x18]
mov dword [r12 + 0x34], eax
test rcx, rcx
je 0x1401b1ea9
call qword [0x1402b9130]
mov rbx, qword [r12]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1401b1ea9
call qword [0x1402b9120]
mov rbx, qword [r12]
mov rax, qword [r12 + 0xa0]
test rax, rax
je 0x1401b23e8
cmp word [r12 + 0xc0], 2
jbe 0x1401b23e8
movzx edx, word [rax + 0x84]
test dl, 0x24
jne 0x1401b2a27
test dl, 8
jne 0x1401b2512
and dl, 0x12
je 0x1401b3a25
mov rcx, qword [rax + 0x78]
xor ebp, ebp
test rcx, rcx
je 0x1401b1f0c
mov edx, dword [rax + 0x80]
movzx r8d, byte [rax + 0x86]
call sym.memIntValue.isra.0
mov ebp, eax
cmp byte [rbx + 0x67], 0
mov edx, dword [r12 + 0x34]
jne 0x1401b2411
xor eax, eax
test edx, edx
jne 0x1401b2411
mov rcx, qword [rbx + 0x18]
mov dword [r12 + 0x34], eax
test rcx, rcx
je 0x1401b1f50
call qword [0x1402b9130]
mov rbx, qword [r12]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1401b1f50
call qword [0x1402b9120]
mov rbx, qword [r12]
mov rax, qword [r12 + 0xa0]
test rax, rax
je 0x1401b2468
cmp word [r12 + 0xc0], 3
jbe 0x1401b2468
movzx edx, word [rax + 0xbc]
test dl, 0x24
jne 0x1401b2a18
test dl, 8
jne 0x1401b2523
and dl, 0x12
je 0x1401b378d
mov rcx, qword [rax + 0xb0]
mov dword [rsp + 0x58], 0
test rcx, rcx
je 0x1401b1fbe
mov edx, dword [rax + 0xb8]
movzx r8d, byte [rax + 0xbe]
call sym.memIntValue.isra.0
mov dword [rsp + 0x58], eax
cmp byte [rbx + 0x67], 0
mov rdx, rbx
mov ecx, dword [r12 + 0x34]
jne 0x1401b249a
xor eax, eax
test ecx, ecx
jne 0x1401b249a
mov rcx, qword [rdx + 0x18]
mov dword [r12 + 0x34], eax
test rcx, rcx
je 0x1401b1fee
call qword [0x1402b9130]
cmp dword [r15 + 4], ebp
jle 0x1401b22b0
mov r14d, dword [rdi + 0x34]
test r14d, r14d
je 0x1401b1d61
nop dword [rax]
mov rcx, r12
call sym.sqlite3_finalize
mov edx, dword [rdi + 0x34]
test edx, edx
jne 0x1401b201a
mov dword [rdi + 0x34], eax
mov rax, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov ecx, dword [rax + rsi + 0x1c]
add qword [rsp + 0x80], 1
mov rax, qword [rsp + 0x80]
cmp ecx, eax
jg 0x1401b1cd0
mov rax, qword [rsp + 0xa8]
mov r14, rdi
movzx esi, byte [rsp + 0xd7]
mov r12, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0x1a0]
mov eax, dword [rax + 0x14]
add r12, 1
cmp eax, r12d
jg 0x1401b1c83
mov r9, qword [rsp + 0x88]
mov r15, r14
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x40], r9
mov r8d, 0x20
xor r9d, r9d
mov dword [rsp + 0x38], 0
mov rcx, r15
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call sym.fts5MultiIterNew
mov eax, dword [r15 + 0x34]
mov r12, qword [rsp + 0xf8]
test eax, eax
jne 0x1401b363d
lea rax, [rsp + 0x100]
mov qword [rsp + 0x1a0], rbp
xor r14d, r14d
mov ebp, esi
mov qword [rsp + 0x58], rax
cmp byte [r12 + 0x14], 0
jne 0x1401b219a
mov rdx, qword [r12 + 0x58]
xor r13d, r13d
xor eax, eax
mov qword [rsp + 0x110], r13
mov dword [rsp + 0xf0], eax
movzx edx, word [rdx + 4]
mov rcx, rdx
imul rdx, rdx, 0x78
add rdx, r12
cmp dword [rsp + 0xd0], 1
mov rbx, qword [rdx + 0xc8]
mov r13d, dword [rdx + 0xc0]
mov rdi, qword [rdx + 0xb8]
jne 0x1401b37ac
cmp qword [rdx + 0x70], 0
je 0x1401b2158
cmp dword [rdx + 0xd0], 0
je 0x1401b217e
imul rbx, rbx, 0x51
test r13d, r13d
jle 0x1401b217b
movsxd rdx, r13d
add rdx, rdi
lea rax, [rbx + rbx*8]
movsx rbx, byte [rdi]
add rdi, 1
add rbx, rax
cmp rdi, rdx
jne 0x1401b2167
xor r14, rbx
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, r15
call sym.fts5MultiIterNext
cmp dword [r15 + 0x34], 0
je 0x1401b20f2
mov esi, ebp
mov rbp, qword [rsp + 0x1a0]
mov rcx, r12
call sym.fts5MultiIterFree.part.0
mov edi, dword [r15 + 0x34]
test edi, edi
jne 0x1401b21cb
cmp qword [rsp + 0xc8], r14
je 0x1401b21cb
test sil, sil
je 0x1401b21cb
mov dword [r15 + 0x34], 0x10b
mov rsi, qword [rsp + 0xa8]
mov eax, dword [rsi]
mov dword [rsp + 0x60], eax
sub eax, 1
test eax, eax
mov dword [rsi], eax
jg 0x1401b21ea
mov rcx, rsi
call sym.fts5StructureRelease.part.0
mov rcx, qword [rsp + 0x58]
call sym.sqlite3Fts5BufferFree
mov ebx, dword [r15 + 0x34]
mov dword [r15 + 0x34], 0
jmp 0x1401b3304
movzx eax, word [rbx + 0x4c]
lea r9, [rbx + 0x38]
test al, 0x12
je 0x1401b379a
test ah, 4
mov edx, dword [rbx + 0x48]
je 0x1401b226d
mov ecx, dword [rbx + 0x38]
add ecx, edx
test ecx, ecx
jg 0x1401b2232
test al, 0x10
je 0x1401b226d
mov ecx, 1
mov edx, ecx
mov r8d, 1
mov rcx, r9
call sym.sqlite3VdbeMemGrow
test eax, eax
jne 0x1401b24d8
movsxd rcx, dword [rbx + 0x48]
xor edx, edx
add rcx, qword [rbx + 0x40]
movsxd r8, dword [rbx + 0x38]
call sub.msvcrt.dll_memset
mov edx, dword [rbx + 0x38]
movzx eax, word [rbx + 0x4c]
add edx, dword [rbx + 0x48]
and ah, 0xf9
mov dword [rbx + 0x48], edx
or eax, 0x10
test edx, edx
mov word [rbx + 0x4c], ax
je 0x1401b24d8
mov rcx, qword [r12]
mov rax, qword [rbx + 0x40]
mov edx, dword [r12 + 0x34]
cmp byte [rcx + 0x67], 0
mov qword [rsp + 0x60], rax
je 0x1401b1de4
call sym.apiHandleError
mov rcx, qword [r12]
jmp 0x1401b1dee
movsxd rdx, dword [r15]
movsxd rax, ebp
mov rcx, rdi
shl rdx, 0x25
add rdx, rax
call sym.fts5DataRead
test rax, rax
mov r13, rax
je 0x1401b2008
mov eax, dword [rax + 8]
cmp eax, 3
jle 0x1401b2560
mov ebx, dword [r13 + 0xc]
cmp eax, ebx
jl 0x1401b2560
jne 0x1401b2578
mov dword [rdi + 0x34], 0x10b
mov rcx, r13
call sym.sqlite3_free
mov eax, dword [rdi + 0x34]
test eax, eax
jne 0x1401b2008
mov r13d, dword [rsp + 0x78]
add r13d, 1
cmp r13d, ebp
jge 0x1401b24b0
mov r14d, dword [rsp + 0x70]
movsxd rbx, r13d
jmp 0x1401b238d
mov rcx, qword [0x1402b8d40]
test rcx, rcx
je 0x1401b233a
call qword [0x1402b9120]
mov rcx, rsi
call qword [0x1402b90d8]
mov rcx, rsi
sub qword [0x1402b9468], 1
cdqe
sub qword [0x1402b9420], rax
call qword [0x1402b90c8]
mov rcx, qword [0x1402b8d40]
test rcx, rcx
je 0x1401b236f
call qword [0x1402b9130]
mov r11d, dword [rdi + 0x34]
add r13d, 1
test r11d, r11d
jne 0x1401b2008
add rbx, 1
cmp ebp, r13d
je 0x1401b24b0
movsxd rdx, dword [r15]
mov rcx, rdi
shl rdx, 0x25
add rdx, rbx
call sym.fts5DataRead
test rax, rax
mov rsi, rax
je 0x1401b236f
mov eax, dword [rax + 8]
cmp dword [rsi + 0xc], eax
jge 0x1401b23b6
mov dword [rdi + 0x34], 0x10b
cmp r14d, r13d
jge 0x1401b23cb
mov rax, qword [rsi]
cmp word [rax], 0
je 0x1401b23cb
mov dword [rdi + 0x34], 0x10b
mov eax, dword [0x1402b90a0]
test eax, eax
jne 0x1401b2328
mov rcx, rsi
call qword [0x1402b90c8]
jmp 0x1401b236f
mov dword [rbx + 0x50], 0x19
mov edx, 0x19
mov rcx, rbx
xor ebp, ebp
call sym.sqlite3ErrorFinish
mov rbx, qword [r12]
mov edx, dword [r12 + 0x34]
cmp byte [rbx + 0x67], 0
je 0x1401b1f1b
mov rcx, rbx
call sym.apiHandleError
mov rbx, qword [r12]
jmp 0x1401b1f25
mov rcx, qword [r12]
mov edx, 0x19
xor esi, esi
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish
mov rbx, qword [r12]
mov edx, dword [r12 + 0x34]
cmp byte [rbx + 0x67], 0
je 0x1401b1e74
mov rcx, rbx
call sym.apiHandleError
mov rbx, qword [r12]
jmp 0x1401b1e7e
mov rcx, rbx
mov dword [rbx + 0x50], 0x19
mov edx, 0x19
call sym.sqlite3ErrorFinish
mov rbx, qword [r12]
mov dword [rsp + 0x58], 0
mov ecx, dword [r12 + 0x34]
cmp byte [rbx + 0x67], 0
mov rdx, rbx
je 0x1401b1fd0
mov edx, ecx
mov rcx, rbx
call sym.apiHandleError
mov rdx, qword [r12]
jmp 0x1401b1fda
mov r10d, dword [rsp + 0x58]
test r10d, r10d
jne 0x1401b2a6c
mov eax, dword [r15 + 8]
xor r14d, r14d
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x78], ebp
jmp 0x1401b1d58
mov qword [rsp + 0x60], 0
jmp 0x1401b1dd1
lea rcx, [0x1403255c0]
xor esi, esi
xor ebp, ebp
call sym.sqlite3ValueText.constprop.0
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x60], rax
jmp 0x1401b1fee
movsd xmm0, qword [rax + 0x70]
call sym.doubleToInt64
mov ebp, eax
jmp 0x1401b1f0c
movsd xmm0, qword [rax + 0xa8]
call sym.doubleToInt64
mov dword [rsp + 0x58], eax
jmp 0x1401b1fbe
test al, 1
jne 0x1401b2bbf
add rcx, 0x38
mov edx, 1
call sym.valueBytes
mov esi, eax
jmp 0x1401b1e61
mov dword [rdi + 0x34], 0x10b
mov rcx, r13
call sym.sqlite3_free
jmp 0x1401b2008
mov r10, qword [r13]
movsxd rcx, ebx
add rcx, r10
movzx r9d, byte [rcx]
test r9b, r9b
jns 0x1401b25d4
movzx eax, byte [rcx + 1]
test al, al
jns 0x1401b2c8a
movzx edx, byte [rcx + 2]
shl r9d, 0xe
or r9d, edx
and edx, 0x80
je 0x1401b2d22
lea rdx, [rsp + 0x110]
mov qword [rsp + 0x68], r10
call sym.sqlite3Fts5GetVarint
mov r9d, dword [rsp + 0x110]
mov r10, qword [rsp + 0x68]
and r9d, 0x7fffffff
movzx eax, word [r10]
rol ax, 8
movzx eax, ax
cmp eax, r9d
jge 0x1401b25ed
cmp ebx, r9d
jg 0x1401b2c9a
mov dword [rdi + 0x34], 0x10b
mov eax, 0x10b
xor edx, edx
xor esi, esi
mov dword [rsp + 0xb8], ebp
mov qword [rsp + 0x110], 0
movsxd rbp, edx
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x98], r15
mov qword [rsp + 0xa0], r12
nop dword [rax]
test eax, eax
jne 0x1401b29e8
mov r15, qword [r13]
movsxd rcx, ebx
mov eax, 1
add rcx, r15
movzx r9d, byte [rcx]
test r9b, r9b
jns 0x1401b26aa
movzx eax, byte [rcx + 1]
test al, al
jns 0x1401b29a0
movzx edx, byte [rcx + 2]
shl r9d, 0xe
or r9d, edx
and edx, 0x80
je 0x1401b29b8
mov rdx, qword [rsp + 0x88]
call sym.sqlite3Fts5GetVarint
mov r9d, dword [rsp + 0xf8]
movzx eax, al
and r9d, 0x7fffffff
mov r12d, dword [r13 + 0xc]
add r14d, r9d
add ebx, eax
cmp r14d, r12d
jge 0x1401b2868
movsxd rcx, r14d
add rcx, r15
cmp r14d, r9d
je 0x1401b2880
movzx r9d, byte [rcx]
mov r11d, 1
test r9b, r9b
jns 0x1401b271d
movzx eax, byte [rcx + 1]
test al, al
jns 0x1401b2a41
movzx edx, byte [rcx + 2]
shl r9d, 0xe
or r9d, edx
and edx, 0x80
je 0x1401b2b8a
mov rdx, qword [rsp + 0x88]
call sym.sqlite3Fts5GetVarint
mov r9d, dword [rsp + 0xf8]
movzx r11d, al
and r9d, 0x7fffffff
add r11d, r14d
movsxd rcx, r11d
add rcx, r15
movzx r8d, byte [rcx]
test r8b, r8b
mov eax, r8d
jns 0x1401b29d8
movzx edx, byte [rcx + 1]
test dl, dl
jns 0x1401b2a57
movzx eax, byte [rcx + 2]
shl r8d, 0xe
or r8d, eax
test al, 0x80
je 0x1401b2ba5
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0xbc], r9d
mov dword [rsp + 0x90], r11d
call sym.sqlite3Fts5GetVarint
mov r8d, dword [rsp + 0xf8]
mov r9d, dword [rsp + 0xbc]
movzx eax, al
mov r11d, dword [rsp + 0x90]
and r8d, 0x7fffffff
mov edx, dword [rsp + 0x118]
cmp edx, r9d
jl 0x1401b27b0
add eax, r11d
lea ecx, [rax + r8]
cmp r12d, ecx
jge 0x1401b2929
mov dword [rdi + 0x34], 0x10b
mov esi, edx
test esi, esi
je 0x1401b2848
cmp ebp, esi
mov r8d, esi
jae 0x1401b282b
test ebp, ebp
mov r15d, 0x40
cmovne r15, rbp
cmp r15, r8
jae 0x1401b27e8
nop dword [rax]
add r15, r15
cmp r15, r8
jb 0x1401b27e0
mov qword [rsp + 0x90], r8
call sym.sqlite3_initialize
mov r8, qword [rsp + 0x90]
test eax, eax
jne 0x1401b283c
mov rcx, qword [rsp + 0x60]
mov rdx, r15
mov qword [rsp + 0x90], r8
call sym.sqlite3Realloc
test rax, rax
je 0x1401b283c
mov r8, qword [rsp + 0x90]
movsxd rbp, r15d
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call sym.memcpy
jmp 0x1401b2850
mov dword [rdi + 0x34], 7
nop dword [rax + rax]
xor esi, esi
nop word [rax + rax]
cmp ebx, dword [r13 + 8]
jge 0x1401b29e8
mov eax, dword [rdi + 0x34]
jmp 0x1401b2648
mov dword [rdi + 0x34], 0x10b
mov esi, dword [rsp + 0x118]
jmp 0x1401b27b9
movzx r8d, byte [rcx]
test r8b, r8b
mov eax, r8d
jns 0x1401b2a37
movzx edx, byte [rcx + 1]
test dl, dl
jns 0x1401b2c0c
movzx eax, byte [rcx + 2]
shl r8d, 0xe
or r8d, eax
test al, 0x80
je 0x1401b2c57
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0x90], r9d
call sym.sqlite3Fts5GetVarint
mov r8d, dword [rsp + 0xf8]
mov r9d, dword [rsp + 0x90]
movzx eax, al
and r8d, 0x7fffffff
add eax, r9d
lea edx, [rax + r8]
cmp r12d, edx
jl 0x1401b2868
lea rdx, [rsp + 0x110]
cdqe
mov dword [rsp + 0x118], 0
lea r9, [r15 + rax]
lea rcx, [rdi + 0x34]
call sym.sqlite3Fts5BufferAppendBlob
mov rax, qword [rsp + 0x110]
mov esi, dword [rsp + 0x118]
mov qword [rsp + 0x68], rax
jmp 0x1401b27b9
mov dword [rsp + 0x118], r9d
lea rdx, [rsp + 0x110]
cdqe
lea r9, [r15 + rax]
lea rcx, [rdi + 0x34]
call sym.sqlite3Fts5BufferAppendBlob
mov eax, dword [rdi + 0x34]
test eax, eax
jne 0x1401b3a0c
movsxd r15, dword [rsp + 0x118]
movsxd r8, esi
mov rcx, qword [rsp + 0x110]
cmp r15d, esi
cmovle r8, r15
mov qword [rsp + 0x68], rcx
test r8d, r8d
jle 0x1401b2985
mov rdx, qword [rsp + 0x60]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401b298a
mov eax, r15d
sub eax, esi
test eax, eax
jg 0x1401b2995
mov dword [rdi + 0x34], 0x10b
mov esi, r15d
jmp 0x1401b27b9
and r9d, 0x7f
shl r9d, 7
or r9d, eax
mov eax, 2
jmp 0x1401b26aa
and eax, 0x7f
and r9d, 0x1fc07f
shl eax, 7
or r9d, eax
mov eax, 3
jmp 0x1401b26aa
mov eax, 1
jmp 0x1401b2794
mov rcx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x98]
mov ebp, dword [rsp + 0xb8]
mov r12, qword [rsp + 0xa0]
call sym.sqlite3_free
mov rcx, qword [rsp + 0x60]
call sym.sqlite3_free
jmp 0x1401b22f6
mov eax, dword [rax + 0xa8]
mov dword [rsp + 0x58], eax
jmp 0x1401b1fbe
mov ebp, dword [rax + 0x70]
jmp 0x1401b1f0c
mov esi, dword [rcx + 0x48]
jmp 0x1401b1e61
mov eax, 1
jmp 0x1401b28de
and r9d, 0x7f
mov r11d, 2
shl r9d, 7
or r9d, eax
jmp 0x1401b271d
and eax, 0x7f
shl eax, 7
or eax, edx
mov r8d, eax
mov eax, 2
jmp 0x1401b2794
mov ebx, dword [r15]
xor edx, edx
mov r9d, ebp
mov rcx, rdi
mov r8d, ebx
call sym.fts5DlidxIterInit
mov r13d, dword [rdi + 0x34]
mov rsi, rax
test r13d, r13d
mov dword [rsp + 0x70], r13d
jne 0x1401b2c3e
shl rbx, 0x25
mov dword [rsp + 0x58], ebp
mov r8d, dword [rsi + 0x14]
test r8d, r8d
jne 0x1401b2b4f
lea r13d, [rbp + 1]
mov ebp, dword [rsi + 0x1c]
movsxd rax, r13d
lea r14, [rax + rbx]
cmp r13d, ebp
jge 0x1401b2af8
nop dword [rax]
mov rcx, rdi
mov rdx, r14
call sym.fts5DataRead
test rax, rax
mov rcx, rax
je 0x1401b2ae8
mov rax, qword [rax]
cmp word [rax], 0
je 0x1401b2ae3
mov dword [rdi + 0x34], 0x10b
call sym.sqlite3_free
mov ebp, dword [rsi + 0x1c]
add r13d, 1
add r14, 1
cmp r13d, ebp
jl 0x1401b2ac0
movsxd rdx, ebp
mov rcx, rdi
add rdx, rbx
call sym.fts5DataRead
test rax, rax
mov r14, rax
je 0x1401b2b34
mov rdx, qword [rax]
movzx eax, word [rdx]
rol ax, 8
movzx ecx, ax
cmp ecx, dword [r14 + 0xc]
jl 0x1401b2ea0
mov dword [rdi + 0x34], 0x10b
mov rcx, r14
call sym.sqlite3_free
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call sym.fts5DlidxIterNextR.isra.0
mov r9d, dword [rdi + 0x34]
test r9d, r9d
je 0x1401b2a9c
mov ebp, dword [rsp + 0x58]
mov dword [rsp + 0x70], r13d
mov ecx, dword [rsi]
xor ebx, ebx
test ecx, ecx
jle 0x1401b2b79
mov rax, rbx
add rbx, 1
shl rax, 5
mov rcx, qword [rsi + rax + 8]
call sym.sqlite3_free
cmp dword [rsi], ebx
jg 0x1401b2b60
mov rcx, rsi
call sym.sqlite3_free
mov r14d, dword [rdi + 0x34]
jmp 0x1401b24c9
and eax, 0x7f
and r9d, 0x1fc07f
mov r11d, 3
shl eax, 7
or r9d, eax
jmp 0x1401b271d
and edx, 0x7f
and r8d, 0x1fc07f
mov eax, 3
shl edx, 7
or r8d, edx
jmp 0x1401b2794
xor esi, esi
jmp 0x1401b1e61
test rsi, rsi
je 0x1401b2d5e
mov rax, qword [rdi]
xor r9d, r9d
mov r8d, 0x85
mov rdx, rsi
mov rcx, qword [rax]
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call sym.sqlite3LockAndPrepare.constprop.0
mov r12, qword [rsp + 0xf0]
mov dword [rdi + 0x34], eax
jmp 0x1401b1d40
and eax, 0x7f
shl eax, 7
or eax, edx
mov r8d, eax
mov eax, 2
jmp 0x1401b28de
lea r8, str.NULL
mov ecx, 0x15
lea rdx, str.API_call_with__s_database_connection_pointer
call sym.sqlite3_log
jmp 0x1401b0ff9
test rax, rax
jne 0x1401b2e67
mov r14d, r13d
mov dword [rsp + 0x70], 0
jmp 0x1401b24c9
and edx, 0x7f
and r8d, 0x1fc07f
mov eax, 3
shl edx, 7
or r8d, edx
jmp 0x1401b28de
mov dword [rsp + 0xe0], 0
movsxd rax, dword [r13 + 0x18]
mov rdi, qword [rdi + rax*8 + 0x18]
jmp 0x1401b14f1
and r9d, 0x7f
shl r9d, 7
or r9d, eax
jmp 0x1401b25d4
lea rdx, [rsp + 0xe4]
movsxd rcx, r9d
mov qword [rsp + 0x68], r10
add rcx, r10
mov dword [rsp + 0x90], r9d
call sym.sqlite3Fts5GetVarint32
movsxd r11, dword [rsp + 0xe4]
movsxd r8, esi
cmp r11d, esi
cmovle r8, r11
test r8d, r8d
jle 0x1401b2d05
mov r9d, dword [rsp + 0x90]
mov dword [rsp + 0x98], r11d
mov r10, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
add eax, r9d
cdqe
lea rcx, [r10 + rax]
call sub.msvcrt.dll_memcmp
mov r11d, dword [rsp + 0x98]
test eax, eax
jne 0x1401b2d0a
mov eax, r11d
sub eax, esi
test eax, eax
js 0x1401b25ed
mov eax, dword [rdi + 0x34]
jmp 0x1401b25f9
xor r13d, r13d
jmp 0x1401b1618
and eax, 0x7f
and r9d, 0x1fc07f
shl eax, 7
or r9d, eax
jmp 0x1401b25d4
mov rcx, qword [rsp + 0x58]
mov ebx, eax
add qword [r12 + 0x18], 1
mov rbp, qword [rsp + 0x1a0]
call sym.sqlite3_free
mov rcx, r15
call sym.sqlite3_reset
jmp 0x1401b0f1c
mov dword [rdi + 0x34], 7
jmp 0x1401b1d3d
xor r8d, r8d
mov rcx, rbx
mov rdx, r13
call sym.sqlite3Fts5StorageDelete
test eax, eax
mov ebx, eax
jne 0x1401b0f1c
mov rcx, qword [rbp + 0x28]
xor r8d, r8d
mov rdx, rsi
call sym.sqlite3Fts5StorageDelete
test eax, eax
mov ebx, eax
je 0x1401b15a0
jmp 0x1401b0f1c
mov rcx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x1a0]
call sym.sqlite3_free
mov rcx, r15
call sym.sqlite3_reset
test eax, eax
mov ebx, eax
jne 0x1401b0f1c
mov rcx, r12
call sym.fts5StorageSaveTotals
mov ebx, eax
jmp 0x1401b0f1c
lea rdx, str.rebuild_may_not_be_used_with_a_contentless_fts5_table
mov rcx, rbp
call sym.fts5SetVtabError
jmp 0x1401b10f9
mov rcx, rdi
call sym.sqlite3VdbeIntValue
mov r12, rax
mov rax, qword [rbp + 0x28]
mov rsi, qword [rax + 8]
mov rcx, rsi
call sym.fts5StructureRead
test rax, rax
mov rbx, rax
mov qword [rsp + 0x120], rax
je 0x1401b1a9a
mov rax, qword [rsi]
mov rcx, rsi
mov r13d, r12d
mov edi, dword [rax + 0x90]
call sym.fts5StructureInvalidate
test r12d, r12d
js 0x1401b36c0
mov r12d, dword [rbx + 0x14]
test r12d, r12d
jne 0x1401b367c
mov eax, dword [rbx]
sub eax, 1
test eax, eax
mov dword [rbx], eax
jg 0x1401b1a9a
mov rcx, rbx
call sym.fts5StructureRelease.part.0
jmp 0x1401b1a9a
xor ebp, ebp
jmp 0x1401b1707
mov dword [rsp + 0x70], 0
jmp 0x1401b2b58
test rdi, rdi
jne 0x1401b1a87
jmp 0x1401b1a9a
mov dword [rsi + 0x20], 0
mov rcx, rsi
call sym.fts5FlushOneHash.constprop.0
jmp 0x1401b19b5
mov ebx, 7
jmp 0x1401b0f1c
lea r8, [rsp + 0x110]
movzx eax, ax
lea rcx, [rdx + rax]
mov rdx, r8
call sym.sqlite3Fts5GetVarint
mov rax, qword [rsp + 0x110]
cmp qword [rsi + 0x20], rax
jne 0x1401b2b25
jmp 0x1401b2b2c
mov edx, 1
mov rcx, r12
call sym.fts5StorageLoadTotals.part.0
test eax, eax
mov esi, eax
jne 0x1401b125b
jmp 0x1401b1239
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov edx, 0xa
lea r8, [rsp + 0xe8]
call sym.fts5StorageGetStmt
test eax, eax
mov ebx, eax
jne 0x1401b3304
mov rax, qword [rsp + 0xc0]
mov rbx, rbp
add rax, r14
mov qword [rsp + 0x68], rax
mov rdi, qword [rsp + 0xe8]
mov rcx, rdi
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401b38be
test rdi, rdi
je 0x1401b35cc
mov rbp, qword [rdi]
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x1401b2f58
call qword [0x1402b9120]
mov rbp, qword [rdi]
mov rax, qword [rdi + 0xa0]
test rax, rax
je 0x1401b3549
cmp word [rdi + 0xc0], 0
je 0x1401b3549
movzx edx, word [rax + 0x14]
test dl, 0x24
jne 0x1401b3635
test dl, 8
jne 0x1401b35bb
and dl, 0x12
je 0x1401b3560
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1401b3560
mov edx, dword [rax + 0x10]
movzx r8d, byte [rax + 0x16]
call sym.memIntValue.isra.0
mov rsi, rax
cmp byte [rbp + 0x67], 0
mov rdx, rbp
mov ecx, dword [rdi + 0x34]
jne 0x1401b3567
xor eax, eax
test ecx, ecx
jne 0x1401b3567
mov rcx, qword [rdx + 0x18]
mov dword [rdi + 0x34], eax
test rcx, rcx
je 0x1401b2fde
call qword [0x1402b9130]
mov r11d, dword [r12 + 0x58]
mov qword [rsp + 0x120], rsi
mov dword [rsp + 0x12c], 0
test r11d, r11d
jne 0x1401b3592
cmp dword [r12 + 0x5c], 1
je 0x1401b35db
lea rax, [rsp + 0x110]
mov r13d, 1
xor r14d, r14d
lea r15, [rsp + 0x120]
mov qword [rsp + 0x70], rax
mov rbp, rbx
mov qword [rsp + 0x78], r15
cmp dword [r12 + 0x18], r14d
jle 0x1401b352e
mov rax, qword [r12 + 0x28]
cmp byte [rax + r14], 0
jne 0x1401b332e
cmp dword [r12 + 0x5c], 2
mov dword [rsp + 0x128], r14d
mov dword [rsp + 0x12c], 0
je 0x1401b33d0
test rdi, rdi
je 0x1401b3371
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401b3086
call qword [0x1402b9120]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x1401b333b
movzx eax, word [rdi + 0xc0]
cmp r13d, eax
jge 0x1401b333b
mov eax, r13d
imul rax, rax, 0x38
add rcx, rax
movzx eax, word [rcx + 0x14]
mov edx, eax
not edx
test dx, 0x202
jne 0x1401b30c9
cmp byte [rcx + 0x16], 1
je 0x1401b362c
and eax, 1
xor esi, esi
test ax, ax
jne 0x1401b30e0
mov edx, 1
call sym.valueToText
mov rsi, rax
mov rcx, qword [rdi]
mov edx, dword [rdi + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401b3411
xor eax, eax
test edx, edx
jne 0x1401b3411
mov rcx, qword [rcx + 0x18]
mov dword [rdi + 0x34], eax
test rcx, rcx
je 0x1401b311e
call qword [0x1402b9130]
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401b311e
call qword [0x1402b9120]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x1401b3356
movzx eax, word [rdi + 0xc0]
cmp r13d, eax
jge 0x1401b3356
mov eax, r13d
imul rax, rax, 0x38
add rcx, rax
movzx eax, word [rcx + 0x14]
test al, 2
je 0x1401b315a
cmp byte [rcx + 0x16], 1
je 0x1401b35d3
mov edx, eax
and edx, 0x10
test dx, dx
je 0x1401b3579
test ah, 4
mov ebx, dword [rcx + 0x10]
je 0x1401b3172
add ebx, dword [rcx]
mov rcx, qword [rdi]
mov edx, dword [rdi + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401b341e
xor eax, eax
test edx, edx
jne 0x1401b341e
mov rcx, qword [rcx + 0x18]
mov dword [rdi + 0x34], eax
test rcx, rcx
je 0x1401b319e
call qword [0x1402b9130]
test rsi, rsi
je 0x1401b3371
mov rax, qword [r12 + 0x70]
lea rdx, [sym.fts5StorageIntegrityCallback]
mov r9, rsi
mov r8d, 4
mov rcx, qword [r12 + 0x68]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], ebx
mov rdx, qword [rsp + 0x78]
call qword [rax + 0x10]
test eax, eax
mov esi, eax
je 0x1401b3371
movsxd rax, dword [rsp + 0x12c]
mov rcx, qword [rsp + 0x138]
mov rbx, qword [rsp + 0xc0]
add qword [rbx + r14*8], rax
cmp dword [r12 + 0x5c], 2
jne 0x1401b342b
test rcx, rcx
je 0x1401b3913
lea rbx, [rcx + 0x1000]
mov dword [rsp + 0x88], esi
mov r15, rbp
mov rsi, rcx
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x58], rbx
nop word cs:[rax + rax]
mov rdi, qword [rsi]
lea rbp, [0x1402b90a0]
nop word [rax + rax]
test rdi, rdi
je 0x1401b32b5
mov r8d, dword [rbp]
mov rbx, rdi
mov rdi, qword [rdi + 0x10]
test r8d, r8d
je 0x1401b3320
mov rcx, qword [0x1402b8d40]
test rcx, rcx
je 0x1401b327b
call qword [0x1402b9120]
mov rcx, rbx
call qword [0x1402b90d8]
mov rcx, rbx
sub qword [0x1402b9468], 1
cdqe
sub qword [0x1402b9420], rax
call qword [0x1402b90c8]
mov rcx, qword [0x1402b8d40]
test rcx, rcx
je 0x1401b3250
call qword [0x1402b9130]
test rdi, rdi
jne 0x1401b3255
mov rax, qword [rsp + 0x58]
add rsi, 8
cmp rsi, rax
jne 0x1401b3240
mov esi, dword [rsp + 0x88]
mov rbp, r15
mov rcx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x80]
call sym.sqlite3_free
test esi, esi
mov qword [rsp + 0x138], 0
je 0x1401b332e
mov rcx, rdi
mov r14d, esi
call sym.sqlite3_reset
mov ebx, r14d
mov rcx, qword [rsp + 0xc0]
call sym.sqlite3_free
jmp 0x1401b0f1c
mov rcx, rbx
call qword [0x1402b90c8]
jmp 0x1401b3250
add r14, 1
add r13d, 1
jmp 0x1401b3031
mov rcx, qword [rdi]
mov edx, 0x19
xor esi, esi
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish
jmp 0x1401b30e0
mov rcx, qword [rdi]
mov edx, 0x19
xor ebx, ebx
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish
jmp 0x1401b3172
mov r9d, dword [r12 + 0x58]
movsxd rax, dword [rsp + 0x12c]
test r9d, r9d
je 0x1401b33a0
mov rsi, qword [rsp + 0x68]
cmp dword [rsi + r14*4], eax
je 0x1401b33a0
mov rcx, qword [rsp + 0x138]
mov esi, 0x10b
jmp 0x1401b31ec
mov rsi, qword [rsp + 0xc0]
add qword [rsi + r14*8], rax
cmp dword [r12 + 0x5c], 2
jne 0x1401b332e
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x1401b332e
xor esi, esi
jmp 0x1401b320d
mov rcx, qword [rsp + 0x70]
mov edx, 0x1000
mov dword [rsp + 0x110], 0
call sym.sqlite3Fts5MallocZero
mov esi, dword [rsp + 0x110]
mov rcx, rax
mov qword [rsp + 0x138], rax
test esi, esi
je 0x1401b306b
movsxd rax, dword [rsp + 0x12c]
jmp 0x1401b31ec
call sym.apiHandleError
mov rcx, qword [rdi]
jmp 0x1401b30fa
call sym.apiHandleError
mov rcx, qword [rdi]
jmp 0x1401b318c
mov edx, esi
mov rbx, rbp
test rcx, rcx
je 0x1401b361e
lea rbp, [rcx + 0x1000]
mov qword [rsp + 0x1a0], rbx
mov r14d, edx
mov rbx, rcx
mov r15, qword [rsp + 0x1a0]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x70], rcx
mov rsi, qword [rbx]
lea rdi, [0x1402b90a0]
nop word [rax + rax]
test rsi, rsi
je 0x1401b34d2
mov ecx, dword [rdi]
mov r13, rsi
mov rsi, qword [rsi + 0x10]
test ecx, ecx
je 0x1401b3520
mov rcx, qword [0x1402b8d40]
test rcx, rcx
je 0x1401b3498
call qword [0x1402b9120]
mov rcx, r13
call qword [0x1402b90d8]
mov rcx, r13
sub qword [0x1402b9468], 1
cdqe
sub qword [0x1402b9420], rax
call qword [0x1402b90c8]
mov rcx, qword [0x1402b8d40]
test rcx, rcx
je 0x1401b3470
call qword [0x1402b9130]
test rsi, rsi
jne 0x1401b3475
add rbx, 8
cmp rbx, rbp
jne 0x1401b3460
mov rcx, qword [rsp + 0x70]
mov rbx, r15
mov rdi, qword [rsp + 0x58]
mov dword [rsp + 0x58], r14d
call sym.sqlite3_free
mov edx, dword [rsp + 0x58]
mov qword [rsp + 0x138], 0
test edx, edx
je 0x1401b2f21
mov r14d, edx
mov rbp, r15
mov rcx, rdi
jmp 0x1401b32fc
mov rcx, r13
call qword [0x1402b90c8]
jmp 0x1401b3470
mov rcx, qword [rsp + 0x138]
mov rbx, rbp
test rcx, rcx
je 0x1401b2f21
xor edx, edx
jmp 0x1401b3439
mov dword [rbp + 0x50], 0x19
mov rcx, rbp
mov edx, 0x19
call sym.sqlite3ErrorFinish
mov rbp, qword [rdi]
xor esi, esi
jmp 0x1401b2fb2
mov edx, ecx
mov rcx, rbp
call sym.apiHandleError
mov rdx, qword [rdi]
jmp 0x1401b2fcc
test al, 1
jne 0x1401b3617
mov edx, 1
call sym.valueBytes
mov ebx, eax
jmp 0x1401b3172
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
mov r8, qword [rsp + 0x68]
call sym.sqlite3Fts5StorageDocsize
mov rcx, qword [rsp + 0x138]
test eax, eax
mov edx, eax
jne 0x1401b3430
jmp 0x1401b2fff
movsd xmm0, qword [rax]
call sym.doubleToInt64
mov rsi, rax
jmp 0x1401b2fb2
xor esi, esi
jmp 0x1401b2fde
mov ebx, dword [rcx + 0x10]
jmp 0x1401b3172
lea rcx, [rsp + 0x110]
xor r10d, r10d
mov edx, 0x1000
mov dword [rsp + 0x110], r10d
call sym.sqlite3Fts5MallocZero
mov edx, dword [rsp + 0x110]
mov rcx, rax
mov qword [rsp + 0x138], rax
test edx, edx
je 0x1401b300b
jmp 0x1401b3430
xor ebx, ebx
jmp 0x1401b3172
mov rcx, rdi
mov r14d, edx
mov rbp, rbx
jmp 0x1401b32fc
mov rsi, qword [rcx + 8]
jmp 0x1401b30e0
mov rsi, qword [rax]
jmp 0x1401b2fb2
test r12, r12
je 0x1401b39fa
lea rax, [rsp + 0x100]
xor r14d, r14d
mov qword [rsp + 0x58], rax
jmp 0x1401b21a4
mov eax, ebx
xor ebx, ebx
jmp 0x1401b1a1f
mov ecx, ebx
call qword [0x1402b90c0]
mov qword [rsp + 0xc0], rax
mov rcx, rax
jmp 0x1401b1bcc
lea rdx, [rsp + 0x120]
mov r9d, edi
mov r8d, r13d
mov rcx, rsi
call sym.fts5IndexMerge
test eax, eax
je 0x1401b36a0
cmp dword [rsi + 0x34], 0
je 0x1401b39e5
mov rbx, qword [rsp + 0x120]
test rbx, rbx
jne 0x1401b2e40
jmp 0x1401b1a9a
mov rdx, rbx
mov rcx, rsi
call sym.fts5IndexOptimizeStruct
mov rdi, rax
mov eax, dword [rbx]
sub eax, 1
test eax, eax
mov dword [rbx], eax
jg 0x1401b36e1
mov rcx, rbx
call sym.fts5StructureRelease.part.0
test rdi, rdi
mov qword [rsp + 0x120], rdi
je 0x1401b1a9a
mov r13d, r12d
mov rbx, rdi
mov edi, 2
neg r13d
jmp 0x1401b2e33
mov rbx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
call sym.sqlite3_bind_int64.constprop.0.isra.0
mov r8, qword [rsp + 0x58]
mov r9d, esi
mov rcx, rbx
mov qword [rsp + 0x20], 0
mov edx, 2
call sym.sqlite3_bind_blob
mov rcx, rbx
call sym.sqlite3_step
mov rcx, rbx
call sym.sqlite3_reset
mov edx, 1
mov rcx, rbx
mov esi, eax
call sym.vdbeUnbind
test eax, eax
jne 0x1401b126c
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401b126c
call qword [0x1402b9130]
jmp 0x1401b126c
mov rbp, qword [rsp + 0x1a0]
mov r9d, esi
jmp 0x1401b143d
xor r9d, r9d
mov dword [rsp + 0x58], r9d
jmp 0x1401b1fbe
mov rcx, r9
call sym.sqlite3ValueText.constprop.0
mov qword [rsp + 0x60], rax
jmp 0x1401b1dd1
movzx edx, cx
mov rsi, qword [rsp + 0x58]
xor eax, eax
mov rcx, r15
imul rdx, rdx, 0x78
xor r8d, r8d
mov dword [rsp + 0x108], eax
mov r9, rsi
lea rdx, [r12 + rdx + 0x60]
call sym.fts5SegiterPoslist
lea rcx, [r15 + 0x34]
mov rdx, rsi
mov r8d, 4
lea r9, [0x14031cc3e]
movsxd rsi, r13d
call sym.sqlite3Fts5BufferAppendBlob
mov edx, dword [rsp + 0x108]
add rsi, rdi
mov r11, r12
mov rcx, qword [rsp + 0x100]
lea rax, [rsp + 0x110]
mov r12, rsi
lea r10, [rbx*8]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xf0]
mov rsi, r10
mov r10, r15
mov qword [rsp + 0x60], rax
mov r15d, ebp
mov ebp, edx
mov r9, qword [rsp + 0x68]
mov edx, ebp
mov qword [rsp + 0x80], r11
mov r8, qword [rsp + 0x60]
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x70], rcx
call sym.sqlite3Fts5PoslistNext64
mov rcx, qword [rsp + 0x70]
test eax, eax
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x80]
jne 0x1401b38b0
mov rax, qword [rsp + 0x110]
mov rdx, rax
and eax, 0x7fffffff
sar rdx, 0x20
add rdx, rbx
add rdx, rsi
add rax, rdx
test r13d, r13d
lea rax, [rax + rdx*8]
jle 0x1401b38ab
mov rdx, rdi
lea r8, [rax + rax*8]
movsx rax, byte [rdx]
add rdx, 1
add rax, r8
cmp rdx, r12
jne 0x1401b3897
xor r14, rax
jmp 0x1401b3835
mov ebp, r15d
mov r12, r11
mov r15, r10
jmp 0x1401b217e
mov rcx, rdi
mov rbp, rbx
call sym.sqlite3_reset
test eax, eax
mov ebx, eax
jne 0x1401b3304
mov rax, qword [rsp + 0x60]
cmp dword [rax + 0x10], 0
je 0x1401b3943
mov edx, dword [r12 + 0x18]
xor eax, eax
cmp edx, eax
jle 0x1401b3929
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi + 0x20]
mov rsi, qword [rsp + 0xc0]
mov rcx, qword [rcx + rax*8]
add rax, 1
cmp rcx, qword [rsi + rax*8 - 8]
je 0x1401b38e5
mov ebx, 0x10b
jmp 0x1401b3304
xor r8d, r8d
mov rcx, rdi
mov r14d, esi
mov qword [rsp + 0x138], r8
jmp 0x1401b32fc
cmp dword [r12 + 0x40], 0
je 0x1401b399e
cmp dword [r12 + 0x58], 0
jne 0x1401b395a
mov esi, 1
jmp 0x1401b1c0b
mov rcx, qword [rsp + 0x60]
xor edx, edx
call sym.fts5StorageLoadTotals.part.0
test eax, eax
mov ebx, eax
je 0x1401b38de
jmp 0x1401b3304
mov rsi, qword [rsp + 0x60]
lea rdx, str.docsize
xor eax, eax
lea r8, [rsp + 0x110]
mov qword [rsp + 0x110], rax
mov rcx, qword [rsi]
call sym.fts5StorageCount.constprop.0.isra.0
test eax, eax
mov ebx, eax
jne 0x1401b3304
mov rax, qword [rsp + 0x110]
cmp qword [rsi + 0x18], rax
jne 0x1401b3909
jmp 0x1401b3939
mov rsi, qword [rsp + 0x60]
lea r8, [rsp + 0x110]
xor edx, edx
mov qword [rsp + 0x110], rdx
lea rdx, str.content
mov rcx, qword [rsi]
call sym.fts5StorageCount.constprop.0.isra.0
test eax, eax
mov ebx, eax
jne 0x1401b3304
mov rax, qword [rsp + 0x110]
cmp qword [rsi + 0x18], rax
jne 0x1401b3909
jmp 0x1401b3931
mov rdx, qword [rsp + 0x120]
mov rcx, rsi
call sym.fts5StructureWrite.part.0
jmp 0x1401b36a0
lea rax, [rsp + 0x100]
mov qword [rsp + 0x58], rax
jmp 0x1401b21cb
mov rax, qword [rsp + 0x110]
mov esi, dword [rsp + 0x118]
mov qword [rsp + 0x68], rax
jmp 0x1401b27b9
xor ebp, ebp
jmp 0x1401b1f0c