Function at 0x1401ada20
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, 0x178
movups xmmword [rsp + 0x150], xmm6
movups xmmword [rsp + 0x160], xmm7
mov rsi, qword [rcx + 0x18]
mov r10d, dword [rsi + 0x88]
mov rax, rsi
mov r15, rcx
mov ebx, edx
mov r13, r8
mov rdi, r9
test r10d, r10d
je 0x1401adc80
lea rdx, [r15 + 0x10]
mov qword [rax + 0xb8], rdx
mov rax, qword [r15 + 0x30]
mov rax, qword [rax + 0x48]
test rax, rax
jne 0x1401ada89
jmp 0x1401adaa8
mov rax, qword [rax + 8]
test rax, rax
je 0x1401adaa8
cmp dword [rax + 0x20], 1
jne 0x1401ada80
cmp r15, qword [rax]
jne 0x1401ada80
or dword [rax + 0x50], 0x20
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401ada89
nop dword [rax]
mov rax, qword [r13]
lea rbp, [0x140341860]
movzx eax, word [rax + 0x14]
and eax, 0x3f
movzx r12d, byte [rbp + rax]
cmp r12d, 5
je 0x1401adcc8
mov r10d, dword [rsi + 0x40]
test r10d, r10d
je 0x1401adae6
mov r9d, dword [rsi + 0x44]
mov r14d, 4
test r9d, r9d
je 0x1401adb70
mov rax, qword [rsi]
test rax, rax
je 0x1401ae6b0
movzx edx, byte [rax + 0x71]
cmp dl, 0x76
je 0x1401adc28
cmp dl, 0xba
je 0x1401adb28
cmp dl, 0x6d
je 0x1401adb28
lea r8, str.invalid
lea rdx, str.API_call_with__s_database_connection_pointer
mov ecx, 0x15
call sym.sqlite3_log
jmp 0x1401adb40
lea r8, str.unopened
lea rdx, str.API_call_with__s_database_connection_pointer
mov ecx, 0x15
call sym.sqlite3_log
lea rax, [0x14033123c]
mov r9d, 0x25cff
lea r8, str.misuse
mov ecx, 0x15
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
mov r14d, 0x15
call sym.sqlite3_log
cmp r12d, 1
je 0x1401adc47
cmp ebx, 1
je 0x1401ade60
mov rcx, qword [r13 + 8]
movzx eax, word [rcx + 0x14]
and eax, 0x3f
movzx eax, byte [rbp + rax]
cmp eax, 3
je 0x1401ade88
mov ebp, eax
and ebp, 0xfffffffb
cmp ebp, 1
jne 0x1401adda0
cmp eax, 1
sete bl
cmp r12d, 1
je 0x1401ade92
cmp r14d, 5
jne 0x1401ade00
test bl, bl
je 0x1401ade00
mov rcx, qword [r13 + 8]
call sym.sqlite3VdbeIntValue
mov rcx, qword [r15 + 0x28]
xor r8d, r8d
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov r12d, eax
test eax, eax
je 0x1401ade02
mov rax, qword [r15 + 0x18]
mov qword [rax + 0xb8], 0
movups xmm6, xmmword [rsp + 0x150]
movups xmm7, xmmword [rsp + 0x160]
mov eax, r12d
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [rax + 0x6c]
lea rdx, [0x140340f00]
sub eax, 1
cdqe
movzx r14d, byte [rdx + rax]
cmp r12d, 1
jne 0x1401adb7a
cmp qword [rsi + 0x40], 1
jne 0x1401adb7a
cmp ebx, 1
lea rax, str.DELETE_from
mov r8, qword [rsi + 0x10]
lea rdx, str.UPDATE
cmovle rdx, rax
lea rcx, str.cannot__s_contentless_fts5_table:__s
call sym.sqlite3_mprintf
mov qword [r15 + 0x10], rax
jmp 0x1401adda6
mov rbp, qword [rcx + 0x20]
mov rcx, rbp
call sym.fts5StructureRead
mov r12, rax
test rax, rax
je 0x1401adca5
mov eax, dword [rax]
sub eax, 1
mov dword [r12], eax
test eax, eax
jle 0x1401addc0
mov r12d, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], 0
test r12d, r12d
jne 0x1401adbfe
mov rax, qword [r15 + 0x18]
jmp 0x1401ada65
mov eax, dword [rsi + 0x18]
add eax, 2
cdqe
mov rcx, qword [r13 + rax*8]
movzx eax, word [rcx + 0x14]
and eax, 0x3f
cmp byte [rbp + rax], 5
je 0x1401adaca
call sym.sqlite3ValueText.constprop.0
mov r8d, dword [rsi + 0x40]
mov r14, rax
test r8d, r8d
je 0x1401ae625
test rax, rax
je 0x1401ae8b7
mov rdx, rax
lea rcx, str.delete
call sym.sqlite3_stricmp.part.0
test eax, eax
je 0x1401adf15
movsxd rax, dword [rsi + 0x18]
mov r10, qword [r15 + 0x18]
mov dword [rsp + 0xe0], 0
mov r13, qword [r13 + rax*8 + 0x18]
mov r8, r14
lea rcx, str.delete_all
lea r9, [0x140344560]
jmp 0x1401add67
movzx edi, byte [r9 + rdx]
cmp byte [r9 + rax], dil
jne 0x1401adf70
add rcx, 1
add r8, 1
movzx eax, byte [rcx]
movzx edx, byte [r8]
cmp eax, edx
jne 0x1401add50
test eax, eax
jne 0x1401add5f
mov eax, dword [r10 + 0x40]
test eax, eax
jne 0x1401ae873
lea rdx, str.delete_all_may_only_be_used_with_a_contentless_or_external_content_fts5_table
mov rcx, r15
mov r12d, 1
call sym.fts5SetVtabError
jmp 0x1401adda6
mov r12d, 0x14
mov rax, qword [r15 + 0x18]
mov qword [rax + 0xb8], 0
jmp 0x1401adbfe
mov r9d, dword [r12 + 0x1c]
xor r14d, r14d
test r9d, r9d
jle 0x1401addec
nop dword [rax]
mov rax, r14
add r14, 1
shl rax, 4
mov rcx, qword [r12 + rax + 0x28]
call sym.sqlite3_free
cmp dword [r12 + 0x1c], r14d
jg 0x1401addd0
mov rcx, r12
call sym.sqlite3_free
jmp 0x1401adca5
xor ebp, ebp
mov rcx, qword [r15 + 0x28]
mov r8, rdi
mov rdx, r13
call sym.sqlite3Fts5StorageContentInsert
mov r12d, eax
test eax, eax
jne 0x1401adda6
mov rcx, qword [r15 + 0x28]
mov r8, qword [rdi]
mov rdx, r13
call sym.sqlite3Fts5StorageIndexInsert
mov r12d, eax
test eax, eax
jne 0x1401adda6
test ebp, ebp
je 0x1401ade4f
mov r8d, dword [rsi + 0xb0]
test r8d, r8d
je 0x1401ade4f
cmp dword [rsi + 0x80], 4
je 0x1401ae840
xor r12d, r12d
jmp 0x1401adda6
mov rcx, qword [r13]
call sym.sqlite3VdbeIntValue
mov rcx, qword [r15 + 0x28]
xor r8d, r8d
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov r12d, eax
test eax, eax
jne 0x1401adda6
jmp 0x1401ade36
call sym.sqlite3_value_numeric_type.part.0
jmp 0x1401adb9c
mov rcx, qword [r13]
call sym.sqlite3VdbeIntValue
mov rcx, qword [r13 + 8]
mov rbp, rax
call sym.sqlite3VdbeIntValue
mov rcx, qword [r15 + 0x28]
cmp rax, rbp
je 0x1401adf3c
test bl, bl
je 0x1401adf3c
cmp r14d, 5
je 0x1401ae8d7
mov r8, rdi
mov rdx, r13
call sym.sqlite3Fts5StorageContentInsert
mov r12d, eax
test eax, eax
jne 0x1401adda6
mov rcx, qword [r15 + 0x28]
xor r8d, r8d
mov rdx, rbp
call sym.sqlite3Fts5StorageDelete
mov r12d, eax
test eax, eax
jne 0x1401adda6
mov rcx, qword [r15 + 0x28]
mov r8, qword [rdi]
mov rdx, r13
call sym.sqlite3Fts5StorageIndexInsert
mov r12d, eax
test eax, eax
je 0x1401ade36
jmp 0x1401adda6
mov r12d, dword [rsi + 0x44]
test r12d, r12d
je 0x1401ae884
lea rdx, str.delete_may_not_be_used_with_a_contentless_delete1_table
mov rcx, r15
mov r12d, 1
call sym.fts5SetVtabError
jmp 0x1401adda6
xor r8d, r8d
mov rdx, rbp
call sym.sqlite3Fts5StorageDelete
mov r12d, eax
test eax, eax
jne 0x1401adda6
mov rcx, qword [r15 + 0x28]
mov r8, rdi
mov rdx, r13
call sym.sqlite3Fts5StorageContentInsert
mov r12d, eax
test eax, eax
je 0x1401adef6
jmp 0x1401adda6
mov r8, r14
lea rcx, str.rebuild
jmp 0x1401adf97
movzx edi, byte [r9 + rdx]
cmp byte [r9 + rax], dil
jne 0x1401ae7d4
add rcx, 1
add r8, 1
movzx eax, byte [rcx]
movzx edx, byte [r8]
cmp eax, edx
jne 0x1401adf80
test eax, eax
jne 0x1401adf8f
mov r12d, dword [r10 + 0x40]
cmp r12d, 1
je 0x1401aea72
mov qword [rsp + 0x110], 0
mov r13, qword [r15 + 0x28]
mov qword [rsp + 0x118], 0
mov rcx, r13
mov rbp, qword [r13]
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x128], 0
call sym.sqlite3Fts5StorageDeleteAll
mov r12d, eax
test eax, eax
jne 0x1401ae255
mov ecx, dword [r13 + 0x10]
test ecx, ecx
je 0x1401afe9e
xor r9d, r9d
lea r8, [rsp + 0x100]
mov edx, 0xa
mov rcx, r13
call sym.fts5StorageGetStmt
mov ebx, eax
test ebx, ebx
jne 0x1401b0a15
movsd xmm6, qword [0x14033d640]
mov rcx, qword [rsp + 0x100]
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401aea86
mov rbx, qword [rsp + 0x100]
test rbx, rbx
je 0x1401ae6d6
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401ae076
call qword [0x1402ba740]
mov rax, qword [rbx + 0xa0]
test rax, rax
je 0x1401ae5c0
cmp word [rbx + 0xc0], 0
je 0x1401ae5c0
movzx edx, word [rax + 0x14]
test dl, 0x24
je 0x1401ae5ec
mov r14, qword [rax]
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401ae5d7
xor eax, eax
test edx, edx
jne 0x1401ae5d7
mov rcx, qword [rcx + 0x18]
mov dword [rbx + 0x34], eax
test rcx, rcx
je 0x1401ae0d0
call qword [0x1402ba750]
mov dword [rsp + 0x118], 0
mov rsi, qword [r13 + 8]
cmp qword [rsi + 0x18], 0
je 0x1401ae6de
mov eax, dword [rsi + 0x20]
cmp qword [rsi + 0x28], r14
jg 0x1401ae550
je 0x1401ae53c
mov rdx, qword [rsi]
cmp dword [rdx + 0x98], eax
jl 0x1401ae550
mov eax, dword [rsi + 0x38]
mov ebx, dword [rsi + 0x3c]
add eax, 1
mov qword [rsi + 0x28], r14
mov dword [rsi + 0x30], 0
mov dword [rsi + 0x38], eax
mov dword [rsi + 0x3c], 0
mov dword [rsp + 0x128], 0
test ebx, ebx
jne 0x1401b0814
xor ebx, ebx
nop
cmp dword [rbp + 0x18], ebx
jle 0x1401aeac0
mov rdx, qword [rbp + 0x28]
movsxd rax, ebx
mov dword [rsp + 0x12c], 0
cmp byte [rdx + rax], 0
je 0x1401ae298
movsxd rcx, dword [rsp + 0x118]
movsxd rbx, dword [rsp + 0x11c]
xor r12d, r12d
xor esi, esi
lea eax, [rcx + 9]
cmp eax, ebx
jbe 0x1401ae410
test ebx, ebx
mov edx, 0x40
cmove rbx, rdx
cmp rax, rbx
jbe 0x1401ae1a0
nop dword [rax]
add rbx, rbx
cmp rbx, rax
jb 0x1401ae198
mov rdi, qword [rsp + 0x110]
call sym.sqlite3_initialize
test eax, eax
jne 0x1401ae4c0
test rdi, rdi
je 0x1401ae7c4
cmp rbx, 0x7ffffeff
ja 0x1401ae4c0
mov rcx, rdi
mov rdx, rbx
call sym.sqlite3Realloc.part.0
mov rcx, rax
test rcx, rcx
je 0x1401ae4c0
mov dword [rsp + 0x11c], ebx
movsxd r8, dword [rsp + 0x118]
mov qword [rsp + 0x110], rcx
movsxd rdx, esi
add rcx, r8
cmp rdx, 0x7f
jbe 0x1401ae41a
cmp rdx, 0x3fff
jbe 0x1401ae430
call sym.putVarint64
movsxd rdx, dword [rsp + 0x128]
add dword [rsp + 0x118], eax
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [rsp + 0x12c]
mov rbx, rdx
add ebx, 1
add qword [rax + rdx*8], rcx
mov dword [rsp + 0x128], ebx
test r12d, r12d
je 0x1401ae140
add qword [r13 + 0x18], 1
mov rcx, qword [rsp + 0x110]
call sym.sqlite3_free
mov rcx, qword [rsp + 0x100]
call sym.sqlite3_reset
mov rax, qword [r15 + 0x18]
test r12d, r12d
jne 0x1401adda6
sub dword [rax + 0x84], 1
mov rcx, qword [r15 + 0x20]
call sym.sqlite3Fts5IndexLoadConfig
mov r12d, eax
jmp 0x1401adda6
mov rsi, qword [rsp + 0x100]
test rsi, rsi
je 0x1401ae5a0
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401ae2bb
call qword [0x1402ba740]
mov rax, qword [rsi + 0xa0]
test rax, rax
je 0x1401ae2dd
movzx edx, word [rsi + 0xc0]
add ebx, 1
cmp ebx, edx
jge 0x1401ae2dd
test ebx, ebx
jns 0x1401ae4f0
mov rcx, qword [rsi]
xor edi, edi
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401ae4b0
xor eax, eax
test edx, edx
jne 0x1401ae4b0
mov rcx, qword [rcx + 0x18]
mov dword [rsi + 0x34], eax
test rcx, rcx
je 0x1401ae31a
call qword [0x1402ba750]
mov rsi, qword [rsp + 0x100]
test rsi, rsi
je 0x1401ae5a2
mov rax, qword [rsi]
mov ebx, dword [rsp + 0x128]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401ae344
call qword [0x1402ba740]
mov rdx, qword [rsi + 0xa0]
test rdx, rdx
je 0x1401ae366
movzx ecx, word [rsi + 0xc0]
lea eax, [rbx + 1]
cmp eax, ecx
jge 0x1401ae366
test eax, eax
jns 0x1401ae450
mov rcx, qword [rsi]
xor ebx, ebx
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401ae4a0
xor eax, eax
test edx, edx
jne 0x1401ae4a0
mov rcx, qword [rcx + 0x18]
mov dword [rsi + 0x34], eax
test rcx, rcx
je 0x1401ae3a3
call qword [0x1402ba750]
test rdi, rdi
je 0x1401ae5b0
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
mov r9, rdi
lea rsi, [sym.fts5StorageInsertCallback]
mov qword [rsp + 0x28], rsi
lea rdx, [rsp + 0x120]
mov r8d, 4
mov dword [rsp + 0x20], ebx
call qword [rax + 0x10]
mov r12d, eax
movsxd r8, dword [rsp + 0x118]
movsxd rbx, dword [rsp + 0x11c]
mov esi, dword [rsp + 0x12c]
lea eax, [r8 + 9]
cmp eax, ebx
ja 0x1401ae185
mov rcx, qword [rsp + 0x110]
jmp 0x1401ae1f9
add rcx, qword [rsp + 0x110]
xor edx, edx
mov byte [rcx], dl
mov eax, 1
jmp 0x1401ae21b
mov rax, rdx
and edx, 0x7f
shr rax, 7
mov byte [rcx + 1], dl
or eax, 0xffffff80
mov byte [rcx], al
mov eax, 2
jmp 0x1401ae21b
cdqe
lea rcx, [rax*8]
sub rcx, rax
lea rcx, [rdx + rcx*8]
movzx eax, word [rcx + 0x14]
test al, 2
je 0x1401ae473
cmp byte [rcx + 0x16], 1
je 0x1401ae5e4
test al, 0x10
je 0x1401b07f9
mov ebx, dword [rcx + 0x10]
test ah, 4
je 0x1401ae377
add ebx, dword [rcx]
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x34]
cmp byte [rcx + 0x67], 0
je 0x1401ae387
nop dword [rax]
call sym.apiHandleError
mov rcx, qword [rsi]
jmp 0x1401ae391
call sym.apiHandleError
mov rcx, qword [rsi]
jmp 0x1401ae308
movsxd rcx, dword [rsp + 0x128]
mov rdx, qword [r13 + 0x20]
mov r12d, 7
movsxd r8, dword [rsp + 0x12c]
mov rax, rcx
add qword [rdx + rcx*8], r8
add eax, 1
mov dword [rsp + 0x128], eax
jmp 0x1401ae250
movsxd rbx, ebx
lea rdx, [rbx*8]
sub rdx, rbx
lea rcx, [rax + rdx*8]
movzx eax, word [rcx + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
jne 0x1401ae51e
cmp byte [rcx + 0x16], 1
je 0x1401ae6cd
and eax, 1
test ax, ax
jne 0x1401ae8d0
mov edx, 1
call sym.valueToText
mov rdi, rax
jmp 0x1401ae2ee
mov edx, dword [rsi + 0x30]
test edx, edx
jne 0x1401ae0fd
nop word [rax + rax]
test eax, eax
jne 0x1401ae55f
mov eax, dword [rsi + 0x34]
test eax, eax
je 0x1401ae10c
mov rcx, rsi
call sym.fts5FlushOneHash
mov r12d, dword [rsi + 0x3c]
test r12d, r12d
je 0x1401ae79f
add dword [rsi + 0x38], 1
mov qword [rsi + 0x28], r14
mov dword [rsi + 0x30], 0
mov dword [rsi + 0x3c], 0
mov dword [rsp + 0x128], 0
jmp 0x1401ae250
xor edi, edi
xor ebx, ebx
test rdi, rdi
jne 0x1401ae3ac
nop dword [rax]
xor r12d, r12d
jmp 0x1401ae3db
mov rcx, qword [rbx]
xor r14d, r14d
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
jmp 0x1401ae0a4
call sym.apiHandleError
mov rcx, qword [rbx]
jmp 0x1401ae0be
mov ebx, dword [rcx + 0x10]
jmp 0x1401ae377
test dl, 8
je 0x1401b067e
movsd xmm0, qword [rax]
comisd xmm6, xmm0
ja 0x1401b0666
comisd xmm0, xmmword [0x14033d648]
movabs r14, 0x7fffffffffffffff
ja 0x1401ae0a4
cvttsd2si r14, xmm0
jmp 0x1401ae0a4
movsxd rax, dword [rsi + 0x18]
mov r10, qword [r15 + 0x18]
mov dword [rsp + 0xe0], 0
mov r13, qword [r13 + rax*8 + 0x18]
test r14, r14
jne 0x1401add34
mov rcx, qword [r15 + 0x20]
call sym.sqlite3Fts5IndexLoadConfig
mov r12d, eax
test eax, eax
jne 0x1401adda6
mov rcx, qword [r15 + 0x18]
lea r9, [rsp + 0xe0]
mov r8, r13
mov rdx, r14
call sym.sqlite3Fts5ConfigSetValue
mov r12d, eax
test eax, eax
jne 0x1401adda6
mov r11d, dword [rsp + 0xe0]
mov r12d, 1
test r11d, r11d
jne 0x1401adda6
mov rcx, qword [r15 + 0x28]
xor r9d, r9d
mov r8, r13
mov rdx, r14
call sym.sqlite3Fts5StorageConfigValue
mov r12d, eax
jmp 0x1401adda6
lea r8, str.NULL
lea rdx, str.API_call_with__s_database_connection_pointer
mov ecx, 0x15
call sym.sqlite3_log
jmp 0x1401adb40
mov rdi, qword [rcx + 8]
jmp 0x1401ae2ee
xor r14d, r14d
jmp 0x1401ae0d0
mov rdi, qword [rsi]
call sym.sqlite3_initialize
test eax, eax
jne 0x1401aea60
mov ecx, 0x28
mov ebx, 7
call sym.sqlite3Malloc
mov qword [rsi + 0x18], rax
mov r12, rax
test rax, rax
je 0x1401ae797
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
lea rax, [rsi + 0x20]
mov qword [r12 + 8], rax
mov eax, dword [rdi + 0x5c]
mov dword [r12 + 0x14], 0x400
mov dword [r12], eax
call sym.sqlite3_initialize
mov ebx, eax
test eax, eax
jne 0x1401aea4f
mov ecx, 0x2000
call sym.sqlite3Malloc
mov qword [r12 + 0x20], rax
test rax, rax
je 0x1401aea58
lea rdi, [rax + 8]
mov qword [rax], 0
mov qword [rax + 0x1ff8], 0
and rdi, 0xfffffffffffffff8
sub rax, rdi
lea ecx, [rax + 0x2000]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
mov dword [rsi + 0x3c], ebx
jmp 0x1401ae0ea
mov rcx, qword [rsi + 0x18]
call sym.sqlite3Fts5HashClear
mov dword [rsi + 0x20], 0
mov ebx, dword [rsi + 0x3c]
mov eax, 1
mov qword [rsi + 0x34], 0
jmp 0x1401ae115
mov rcx, rbx
call sym.sqlite3Malloc
mov rcx, rax
jmp 0x1401ae1d9
mov rdx, r14
lea rcx, str.optimize
call sym.sqlite3_stricmp.part.0
test eax, eax
je 0x1401ae920
mov rdx, r14
lea rcx, str.merge
call sym.sqlite3_stricmp.part.0
test eax, eax
je 0x1401aeb03
mov rdx, r14
lea rcx, str.integrity_check
call sym.sqlite3_stricmp.part.0
test eax, eax
je 0x1401aebb6
mov rdx, r14
lea rcx, str.flush
call sym.sqlite3_stricmp.part.0
test eax, eax
jne 0x1401ae646
mov rcx, r15
call sym.sqlite3Fts5FlushToDisk
mov r12d, eax
jmp 0x1401adda6
mov rcx, qword [r15 + 0x28]
mov r9d, 5
xor r8d, r8d
lea rdx, str.version
call sym.sqlite3Fts5StorageConfigValue
mov r12d, eax
test eax, eax
jne 0x1401adda6
mov dword [rsi + 0x80], 5
jmp 0x1401adda6
mov rcx, qword [r15 + 0x28]
call sym.sqlite3Fts5StorageDeleteAll
mov r12d, eax
jmp 0x1401ae26f
mov rcx, qword [r13 + 8]
movzx eax, word [rcx + 0x14]
and eax, 0x3f
cmp byte [rbp + rax], 1
jne 0x1401adda6
call sym.sqlite3VdbeIntValue
mov rcx, qword [r15 + 0x28]
lea r8, [r13 + 0x10]
mov rdx, rax
call sym.sqlite3Fts5StorageDelete
mov r12d, eax
jmp 0x1401adda6
mov dword [rsp + 0xe0], 0
movsxd rax, dword [rsi + 0x18]
mov r13, qword [r13 + rax*8 + 0x18]
jmp 0x1401ae646
xor edi, edi
jmp 0x1401ae2ee
xor r8d, r8d
mov rdx, rbp
mov qword [rsp + 0x58], rax
call sym.sqlite3Fts5StorageDelete
mov r9, qword [rsp + 0x58]
test eax, eax
mov r12d, eax
jne 0x1401adda6
mov rcx, qword [r15 + 0x28]
xor r8d, r8d
mov rdx, r9
call sym.sqlite3Fts5StorageDelete
mov r12d, eax
test eax, eax
je 0x1401adf52
jmp 0x1401adda6
mov rax, qword [r15 + 0x28]
mov rsi, qword [rax + 8]
mov qword [rsp + 0x120], 0
mov eax, dword [rsi + 0x20]
test eax, eax
jne 0x1401ae942
mov eax, dword [rsi + 0x34]
test eax, eax
je 0x1401ae955
mov rcx, rsi
call sym.fts5FlushOneHash
mov eax, dword [rsi + 0x3c]
test eax, eax
je 0x1401afec6
mov rcx, rsi
call sym.fts5StructureRead
mov rcx, rsi
mov r12, rax
call sym.fts5StructureInvalidate
test r12, r12
je 0x1401aeaf6
mov rdx, r12
mov rcx, rsi
call sym.fts5IndexOptimizeStruct
mov qword [rsp + 0x120], rax
mov rdx, rax
mov eax, dword [r12]
sub eax, 1
mov dword [r12], eax
test eax, eax
jle 0x1401aeaee
test rdx, rdx
je 0x1401aea3f
mov ebx, dword [rdx + 0x24]
test ebx, ebx
jne 0x1401b05d1
lea rcx, [rdx + 0x34]
mov eax, dword [rcx]
add rcx, 0x10
add ebx, 1
test eax, eax
je 0x1401ae9b2
movsxd rdi, ebx
mov r14d, dword [rsi + 0x3c]
add rdi, 2
shl rdi, 4
test r14d, r14d
je 0x1401aea13
jmp 0x1401aea2c
lea rdx, [rsp + 0x120]
lea r9, [rsp + 0x110]
mov r8d, ebx
mov rcx, rsi
mov dword [rsp + 0x110], 0x3e8
call sym.fts5IndexMergeLevel
mov r13d, dword [rsi + 0x3c]
test r13d, r13d
jne 0x1401aea1f
mov rdx, qword [rsp + 0x120]
mov eax, dword [rdx + rdi + 4]
test eax, eax
jg 0x1401ae9d8
mov rcx, rsi
call sym.fts5StructureWrite.part.0
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x1401aea3f
mov eax, dword [rdx]
sub eax, 1
mov dword [rdx], eax
test eax, eax
jg 0x1401aea3f
mov rcx, rdx
call sym.fts5StructureRelease.part.0
mov r12d, dword [rsi + 0x3c]
mov dword [rsi + 0x3c], 0
jmp 0x1401adda6
mov qword [r12 + 0x20], 0
mov rcx, r12
call sym.sqlite3_free
mov qword [rsi + 0x18], 0
mov ebx, 7
jmp 0x1401ae797
lea rdx, str.rebuild_may_not_be_used_with_a_contentless_fts5_table
mov rcx, r15
call sym.fts5SetVtabError
jmp 0x1401adda6
mov rcx, qword [rsp + 0x110]
call sym.sqlite3_free
mov rcx, qword [rsp + 0x100]
call sym.sqlite3_reset
mov r12d, eax
test eax, eax
jne 0x1401ae26f
mov rcx, r13
call sym.fts5StorageSaveTotals
mov r12d, eax
jmp 0x1401ae26f
mov rax, qword [r13]
add qword [r13 + 0x18], 1
mov edx, dword [rax + 0x58]
test edx, edx
je 0x1401ae03d
lea r8, [rsp + 0x110]
mov rdx, r14
mov rcx, r13
call sym.fts5StorageInsertDocsize.part.0
mov ebx, eax
jmp 0x1401ae02d
mov rcx, r12
call sym.fts5StructureRelease.part.0
mov rdx, qword [rsp + 0x120]
jmp 0x1401ae99a
mov rcx, r13
call sym.sqlite3VdbeIntValue
mov rsi, rax
mov rax, qword [r15 + 0x28]
mov rbx, qword [rax + 8]
mov qword [rsp + 0x120], 0
mov r12d, dword [rbx + 0x20]
test r12d, r12d
jne 0x1401aeb32
mov ebp, dword [rbx + 0x34]
test ebp, ebp
je 0x1401aeb45
mov rcx, rbx
call sym.fts5FlushOneHash
mov edi, dword [rbx + 0x3c]
test edi, edi
je 0x1401afee3
mov rcx, rbx
call sym.fts5StructureRead
mov qword [rsp + 0x120], rax
test rax, rax
je 0x1401aeba6
mov rax, qword [rbx]
mov rcx, rbx
mov edi, esi
mov ebp, dword [rax + 0x94]
call sym.fts5StructureInvalidate
test esi, esi
js 0x1401b0620
mov r12, qword [rsp + 0x120]
test r12, r12
je 0x1401aeba6
mov esi, dword [r12 + 0x1c]
test esi, esi
jne 0x1401b05da
mov eax, dword [r12]
sub eax, 1
mov dword [r12], eax
test eax, eax
jg 0x1401aeba6
mov rcx, r12
call sym.fts5StructureRelease.part.0
mov r12d, dword [rbx + 0x3c]
mov dword [rbx + 0x3c], 0
jmp 0x1401adda6
mov rcx, r13
call sym.sqlite3VdbeIntValue
mov rdi, rax
mov rax, qword [r15 + 0x28]
mov qword [rsp + 0x58], rax
mov rax, qword [rax]
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov ebx, dword [rax + 0x18]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x140], rax
call sym.sqlite3_initialize
test eax, eax
jne 0x1401afebb
movsxd rax, ebx
lea rcx, [rax + rax*2]
shl rcx, 2
call sym.sqlite3Malloc
mov qword [rsp + 0xc0], rax
mov rcx, rax
test rax, rax
je 0x1401afebb
mov rbx, qword [rsp + 0x68]
xor edx, edx
movsxd rsi, dword [rbx + 0x18]
shl rsi, 3
mov r8, rsi
call sub.msvcrt.dll_memset
mov eax, dword [rbx + 0x40]
test eax, eax
je 0x1401aff00
cmp eax, 2
sete dl
test edi, edi
setne al
and dl, al
mov byte [rsp + 0xdb], dl
jne 0x1401aff00
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + 8]
mov rax, qword [r14]
mov rcx, r14
mov eax, dword [rax + 0x5c]
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
mov dword [rsp + 0xdc], eax
call sym.fts5StructureRead
mov qword [rsp + 0x88], rax
test rax, rax
je 0x1401af28c
mov eax, dword [rax + 0x1c]
lea rdi, [rsp + 0xf8]
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xb8], rdi
movsd xmm7, qword [0x14033d640]
test eax, eax
jle 0x1401af0fd
mov qword [rsp + 0x1c0], r15
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x88]
shl rdi, 4
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x98], rdi
mov edi, dword [rbx + rdi + 0x24]
test edi, edi
jle 0x1401af0dc
nop dword [rax]
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x98]
lea rax, [rdi*8]
sub rax, rdi
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rdi + rbx + 0x28]
mov rdi, qword [r14]
lea rax, [rdx + rax*8]
mov qword [rsp + 0x80], rdi
mov edi, dword [rdi + 0x80]
mov ebx, dword [rax + 4]
mov rsi, rax
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0xb4], edi
test ebx, ebx
je 0x1401af0b4
mov edi, dword [rax + 8]
mov r9d, dword [rax]
lea rcx, str.SELECT_segid__term___pgno__1____pgno1__FROM__Q._q_idx_WHERE_segid_d_ORDER_BY_1__2
mov dword [rsp + 0x60], edi
mov rdi, qword [rsp + 0x80]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
call sym.sqlite3_mprintf
mov ecx, dword [r14 + 0x3c]
mov r12, rax
test ecx, ecx
jne 0x1401aee12
test rax, rax
je 0x1401afe1a
mov rax, qword [r14]
lea rdx, [rsp + 0xf0]
mov qword [rsp + 0x30], 0
mov r9d, 0x85
mov qword [rsp + 0x28], rdx
mov r8d, 0xffffffff
mov rdx, r12
mov qword [rsp + 0x20], 0
mov rcx, qword [rax]
call sym.sqlite3LockAndPrepare
mov dword [r14 + 0x3c], eax
lea eax, [rbx - 1]
mov rcx, r12
mov r12, rsi
mov dword [rsp + 0x58], eax
call sym.sqlite3_free
mov ebp, dword [r14 + 0x3c]
movsd xmm6, qword [0x14033d648]
mov r15, qword [rsp + 0xf0]
test ebp, ebp
jne 0x1401af09c
mov rcx, r15
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401af4b2
mov rbx, qword [rsp + 0xf0]
test rbx, rbx
je 0x1401af600
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401aee74
call qword [0x1402ba740]
mov rsi, qword [rbx + 0xa0]
test rsi, rsi
je 0x1401aee8e
cmp word [rbx + 0xc0], 1
ja 0x1401af2b0
mov rcx, qword [rbx]
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
lea rcx, [0x140343420]
call sym.sqlite3ValueText.constprop.0
mov rdi, rax
nop dword [rax]
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401af33a
xor eax, eax
test edx, edx
jne 0x1401af33a
mov rcx, qword [rcx + 0x18]
mov dword [rbx + 0x34], eax
test rcx, rcx
je 0x1401aeedc
call qword [0x1402ba750]
mov r15, qword [rsp + 0xf0]
test r15, r15
je 0x1401af5f0
mov rax, qword [r15]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401aeeff
call qword [0x1402ba740]
mov rax, qword [r15 + 0xa0]
test rax, rax
je 0x1401af4f0
cmp word [r15 + 0xc0], 1
jbe 0x1401af4f0
movzx edx, word [rax + 0x4c]
test dl, 2
je 0x1401aef31
cmp byte [rax + 0x4e], 1
je 0x1401afb50
test dl, 0x10
je 0x1401b06e2
mov ebx, dword [rax + 0x48]
and dh, 4
je 0x1401aef45
add ebx, dword [rax + 0x38]
mov rcx, qword [r15]
mov edx, dword [r15 + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401af512
xor eax, eax
test edx, edx
jne 0x1401af512
mov rcx, qword [rcx + 0x18]
mov dword [r15 + 0x34], eax
test rcx, rcx
je 0x1401aef73
call qword [0x1402ba750]
mov r15, qword [rsp + 0xf0]
test r15, r15
je 0x1401af5f2
mov rax, qword [r15]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401aef96
call qword [0x1402ba740]
mov rax, qword [r15 + 0xa0]
test rax, rax
je 0x1401af4c0
cmp word [r15 + 0xc0], 2
jbe 0x1401af4c0
movzx edx, word [rax + 0x84]
test dl, 0x24
je 0x1401af5b8
mov esi, dword [rax + 0x70]
mov rcx, qword [r15]
mov edx, dword [r15 + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401af4e2
xor eax, eax
test edx, edx
jne 0x1401af4e2
mov rcx, qword [rcx + 0x18]
mov dword [r15 + 0x34], eax
test rcx, rcx
je 0x1401aeff6
call qword [0x1402ba750]
mov r15, qword [rsp + 0xf0]
test r15, r15
je 0x1401af5f4
mov rax, qword [r15]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401af019
call qword [0x1402ba740]
mov rax, qword [r15 + 0xa0]
test rax, rax
je 0x1401af520
cmp word [r15 + 0xc0], 3
jbe 0x1401af520
movzx edx, word [rax + 0xbc]
test dl, 0x24
je 0x1401af577
mov r13d, dword [rax + 0xa8]
mov rcx, qword [r15]
mov edx, dword [r15 + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401af543
xor eax, eax
test edx, edx
jne 0x1401af543
mov rcx, qword [rcx + 0x18]
mov dword [r15 + 0x34], eax
test rcx, rcx
je 0x1401af07d
call qword [0x1402ba750]
cmp dword [r12 + 4], esi
jle 0x1401af350
mov ebp, dword [r14 + 0x3c]
mov r15, qword [rsp + 0xf0]
test ebp, ebp
je 0x1401aee40
mov r13, r15
nop
mov rcx, r13
call sym.sqlite3_finalize
mov ebp, dword [r14 + 0x3c]
test ebp, ebp
jne 0x1401af0b4
mov dword [r14 + 0x3c], eax
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x98]
add qword [rsp + 0x68], 1
mov rax, qword [rsp + 0x68]
cmp dword [rdi + rbx + 0x24], eax
jg 0x1401aed40
mov eax, dword [rdi + 0x1c]
add qword [rsp + 0xc8], 1
mov rdi, qword [rsp + 0xc8]
cmp eax, edi
jg 0x1401aed10
mov r15, qword [rsp + 0x1c0]
mov dword [rsp + 0x38], 0
xor r9d, r9d
mov rcx, r14
xor ebp, ebp
mov rax, qword [rsp + 0xb8]
mov r8d, 0x20
mov dword [rsp + 0x30], 0xffffffff
lea r12, [rsp + 0x100]
mov dword [rsp + 0x28], 0
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x20], 0
call sym.fts5MultiIterNew
mov esi, dword [r14 + 0x3c]
mov rdx, qword [rsp + 0xf8]
test esi, esi
jne 0x1401af234
lea rax, [r14 + 0x3c]
lea r13, [rsp + 0xf0]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x68], rax
cmp byte [rdx + 0x14], 0
jne 0x1401af239
mov qword [rsp + 0x110], 0
mov rax, qword [rdx + 0x58]
mov dword [rsp + 0xf0], 0
movzx eax, word [rax + 4]
mov rcx, rax
imul rax, rax, 0x88
add rax, rdx
cmp dword [rsp + 0xdc], 1
mov rsi, qword [rax + 0xd8]
mov edi, dword [rax + 0xd0]
mov rbx, qword [rax + 0xc8]
jne 0x1401b08ef
cmp qword [rax + 0x70], 0
je 0x1401af1e8
cmp dword [rax + 0xe0], 0
je 0x1401af213
lea rax, [rsi + rsi*8]
lea rax, [rax + rax*8]
test edi, edi
jle 0x1401af210
lea ecx, [rdi - 1]
lea rcx, [rbx + rcx + 1]
movsx r8, byte [rbx]
add rbx, 1
lea r8, [r8 + rax*8]
add rax, r8
cmp rbx, rcx
jne 0x1401af1fc
xor rbp, rax
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
call sym.fts5MultiIterNext
cmp dword [r14 + 0x3c], 0
mov rdx, qword [rsp + 0xf8]
je 0x1401af180
test rdx, rdx
je 0x1401af265
mov rcx, rdx
call sym.fts5MultiIterFree.part.0
mov ebx, dword [r14 + 0x3c]
test ebx, ebx
jne 0x1401af265
cmp rbp, qword [rsp + 0xd0]
je 0x1401af265
cmp byte [rsp + 0xdb], 0
je 0x1401af265
mov dword [r14 + 0x3c], 0x10b
mov rdi, qword [rsp + 0x88]
mov eax, dword [rdi]
mov dword [rsp + 0x58], eax
sub eax, 1
mov dword [rdi], eax
test eax, eax
jg 0x1401af284
mov rcx, rdi
call sym.fts5StructureRelease.part.0
mov rcx, r12
call sym.sqlite3Fts5BufferFree
mov r12d, dword [r14 + 0x3c]
mov dword [r14 + 0x3c], 0
mov rcx, qword [rsp + 0xc0]
call sym.sqlite3_free
jmp 0x1401adda6
movzx eax, word [rsi + 0x4c]
lea rcx, [rsi + 0x38]
test al, 0x12
je 0x1401aeea4
mov edx, dword [rsi + 0x48]
test ah, 4
je 0x1401af317
mov r9d, dword [rsi + 0x38]
add r9d, edx
test r9d, r9d
jg 0x1401af2de
test al, 0x10
je 0x1401af317
mov r9d, 1
mov r8d, 1
mov edx, r9d
call sym.sqlite3VdbeMemGrow
test eax, eax
jne 0x1401af570
movsxd r8, dword [rsi + 0x38]
movsxd rcx, dword [rsi + 0x48]
xor edx, edx
add rcx, qword [rsi + 0x40]
call sub.msvcrt.dll_memset
mov edx, dword [rsi + 0x38]
add edx, dword [rsi + 0x48]
movzx eax, word [rsi + 0x4c]
mov dword [rsi + 0x48], edx
and ah, 0xf9
or eax, 0x10
mov word [rsi + 0x4c], ax
test edx, edx
je 0x1401af570
mov rcx, qword [rbx]
mov rdi, qword [rsi + 0x40]
mov edx, dword [rbx + 0x34]
cmp byte [rcx + 0x67], 0
je 0x1401aeec0
call sym.apiHandleError
mov rcx, qword [rbx]
jmp 0x1401aeeca
movsxd rdx, dword [r12]
movsxd rax, esi
mov rcx, r14
mov qword [rsp + 0x78], rdi
shl rdx, 0x25
add rdx, rax
call sym.fts5DataRead
mov r15, rax
test rax, rax
je 0x1401af4b2
mov eax, dword [rax + 8]
cmp eax, 3
jle 0x1401afb30
mov edi, dword [r15 + 0xc]
cmp eax, edi
jl 0x1401afb30
jne 0x1401af618
test ebx, ebx
jne 0x1401af3af
mov rdi, qword [rsp + 0x80]
cmp dword [rdi + 0x80], 5
jne 0x1401af3af
cmp eax, 4
je 0x1401af3b7
mov dword [r14 + 0x3c], 0x10b
mov rcx, r15
call sym.sqlite3_free
mov eax, dword [r14 + 0x3c]
test eax, eax
jne 0x1401af4b2
mov ebx, dword [rsp + 0x58]
add ebx, 1
cmp ebx, esi
jge 0x1401af550
mov ebp, dword [rsp + 0x60]
movsxd rdi, ebx
jmp 0x1401af446
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1401af3fa
call qword [0x1402ba740]
mov rcx, r15
call qword [0x1402ba6f8]
mov rcx, r15
sub qword [0x1402baa88], 1
cdqe
sub qword [0x1402baa40], rax
call qword [0x1402ba6e8]
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1401af42f
call qword [0x1402ba750]
mov eax, dword [r14 + 0x3c]
add ebx, 1
test eax, eax
jne 0x1401af4b2
add rdi, 1
cmp ebx, esi
je 0x1401af550
movsxd rdx, dword [r12]
mov rcx, r14
shl rdx, 0x25
add rdx, rdi
call sym.fts5DataRead
mov r15, rax
test rax, rax
je 0x1401af42f
mov eax, dword [rax + 8]
cmp dword [r15 + 0xc], eax
jge 0x1401af472
mov dword [r14 + 0x3c], 0x10b
cmp ebp, ebx
jge 0x1401af490
mov rdx, qword [r15]
movzx eax, byte [rdx]
movzx edx, byte [rdx + 1]
shl eax, 8
add ax, dx
je 0x1401af490
mov dword [r14 + 0x3c], 0x10b
mov ecx, dword [0x1402ba6c0]
test ecx, ecx
jne 0x1401af3e8
mov rcx, r15
add ebx, 1
call qword [0x1402ba6e8]
mov eax, dword [r14 + 0x3c]
test eax, eax
je 0x1401af43a
mov r13, qword [rsp + 0xf0]
jmp 0x1401af0a0
mov rcx, qword [r15]
xor esi, esi
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
mov rcx, qword [r15]
mov edx, dword [r15 + 0x34]
cmp byte [rcx + 0x67], 0
je 0x1401aefd9
call sym.apiHandleError
mov rcx, qword [r15]
jmp 0x1401aefe3
mov rcx, qword [r15]
xor ebx, ebx
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
mov rcx, qword [r15]
mov edx, dword [r15 + 0x34]
cmp byte [rcx + 0x67], 0
je 0x1401aef56
call sym.apiHandleError
mov rcx, qword [r15]
jmp 0x1401aef60
mov rcx, qword [r15]
xor r13d, r13d
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
mov rcx, qword [r15]
mov edx, dword [r15 + 0x34]
cmp byte [rcx + 0x67], 0
je 0x1401af060
call sym.apiHandleError
mov rcx, qword [r15]
jmp 0x1401af06a
test r13d, r13d
jne 0x1401afbad
mov eax, dword [r12 + 8]
xor ebp, ebp
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x58], esi
jmp 0x1401aee30
xor edi, edi
jmp 0x1401aeeb0
test dl, 8
je 0x1401b0873
movsd xmm0, qword [rax + 0xa8]
movsd xmm1, qword [0x14033d640]
comisd xmm1, xmm0
ja 0x1401b057c
comisd xmm0, xmmword [0x14033d648]
mov r13d, 0xffffffff
ja 0x1401af04f
cvttsd2si r13, xmm0
jmp 0x1401af04f
test dl, 8
je 0x1401b06a8
movsd xmm0, qword [rax + 0x70]
comisd xmm7, xmm0
ja 0x1401b0575
comisd xmm0, xmm6
mov esi, 0xffffffff
ja 0x1401aefc8
cvttsd2si rsi, xmm0
jmp 0x1401aefc8
xor ebx, ebx
xor esi, esi
xor r13d, r13d
jmp 0x1401af07d
lea rcx, [0x140343420]
call sym.sqlite3ValueText.constprop.0
mov rdi, rax
jmp 0x1401aeedc
mov rdx, qword [r15]
movsxd rcx, edi
add rcx, rdx
movzx r9d, byte [rcx]
test r9b, r9b
jns 0x1401afb6d
movzx eax, byte [rcx + 1]
test al, al
jns 0x1401afb62
movzx r8d, byte [rcx + 2]
shl r9d, 0xe
or r9d, r8d
and r8d, 0x80
je 0x1401afdf8
lea rax, [rsp + 0x110]
mov rdx, rax
mov qword [rsp + 0x70], rax
call sym.sqlite3Fts5GetVarint
mov r9d, dword [rsp + 0x110]
mov rdx, qword [r15]
mov edi, dword [r15 + 0xc]
and r9d, 0x7fffffff
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
shl eax, 8
add eax, ecx
movzx eax, ax
cmp eax, r9d
jge 0x1401af69b
cmp edi, r9d
jg 0x1401afd90
mov dword [r14 + 0x3c], 0x10b
mov qword [rsp + 0x110], 0
xor ebx, ebx
xor ecx, ecx
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x78], 0
cmp edi, dword [r15 + 8]
jge 0x1401af95e
mov dword [rsp + 0xac], r13d
mov dword [rsp + 0xb0], esi
mov rsi, qword [rsp + 0xb8]
mov qword [rsp + 0xa0], r12
xor r12d, r12d
nop dword [rax]
mov eax, dword [r14 + 0x3c]
test eax, eax
jne 0x1401af93a
movsxd rcx, edi
add rcx, qword [r15]
mov eax, 1
movzx r9d, byte [rcx]
test r9b, r9b
jns 0x1401af755
movzx eax, byte [rcx + 1]
test al, al
jns 0x1401afae8
movzx edx, byte [rcx + 2]
shl r9d, 0xe
or r9d, edx
and edx, 0x80
je 0x1401afb00
mov rdx, rsi
call sym.sqlite3Fts5GetVarint
mov r9d, dword [rsp + 0xf8]
movzx eax, al
and r9d, 0x7fffffff
add edi, eax
mov eax, dword [r15 + 0xc]
add ebp, r9d
cmp ebp, eax
jge 0x1401af990
cmp ebp, r9d
je 0x1401af9b0
mov rcx, qword [r15]
movsxd r8, ebp
mov r11d, 1
add r8, rcx
movzx r10d, byte [r8]
movzx r13d, r10b
test r10b, r10b
jns 0x1401af7d1
movzx eax, byte [r8 + 1]
test al, al
jns 0x1401afb94
movzx edx, byte [r8 + 2]
shl r10d, 0xe
or r10d, edx
and edx, 0x80
je 0x1401afd11
mov rcx, r8
mov rdx, rsi
call sym.sqlite3Fts5GetVarint
mov r13d, dword [rsp + 0xf8]
mov rcx, qword [r15]
movzx r11d, al
and r13d, 0x7fffffff
add r11d, ebp
movsxd rax, r11d
add rcx, rax
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x1401afb20
movzx edx, byte [rcx + 1]
test dl, dl
jns 0x1401afb7f
movzx eax, byte [rcx + 2]
shl r8d, 0xe
or r8d, eax
test al, 0x80
je 0x1401afd2f
mov rdx, rsi
mov dword [rsp + 0x78], r11d
call sym.sqlite3Fts5GetVarint
mov r8d, dword [rsp + 0xf8]
mov r11d, dword [rsp + 0x78]
movzx eax, al
and r8d, 0x7fffffff
mov r9d, dword [rsp + 0x118]
cmp r9d, r13d
jl 0x1401af848
add r11d, eax
lea eax, [r11 + r8]
cmp eax, dword [r15 + 0xc]
jle 0x1401afa53
mov dword [r14 + 0x3c], 0x10b
mov r10, qword [rsp + 0x110]
movabs rax, 0xffffffff00000000
and rbx, rax
test r9d, r9d
je 0x1401af930
mov rax, rbx
mov r13d, r9d
sar rax, 0x20
movsxd rdx, eax
cmp r9d, eax
jbe 0x1401af912
test eax, eax
mov eax, 0x40
cmove rdx, rax
cmp rdx, r13
jae 0x1401af8a0
nop dword [rax]
add rdx, rdx
cmp rdx, r13
jb 0x1401af898
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x78], rdx
call sym.sqlite3_initialize
mov rdx, qword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
test eax, eax
jne 0x1401afd04
test r12, r12
je 0x1401afe27
mov qword [rsp + 0x78], r10
cmp rdx, 0x7ffffeff
ja 0x1401afd04
mov rcx, r12
mov qword [rsp + 0x90], rdx
call sym.sqlite3Realloc.part.0
mov r10, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x90]
test rax, rax
je 0x1401afd04
mov rbx, rdx
mov r12, rax
shl rbx, 0x20
mov r8, r13
mov rdx, r10
mov rcx, r12
call sym.memcpy
movabs rax, 0xffffffff00000000
and rbx, rax
or rbx, r13
cmp edi, dword [r15 + 8]
jl 0x1401af6f8
mov qword [rsp + 0x78], r12
mov r13d, dword [rsp + 0xac]
mov r12, qword [rsp + 0xa0]
mov esi, dword [rsp + 0xb0]
mov rcx, qword [rsp + 0x110]
call sym.sqlite3_free
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov qword [rax], 0
mov qword [rax + 8], 0
call sym.sqlite3_free
jmp 0x1401af3b7
mov dword [r14 + 0x3c], 0x10b
mov r10, qword [rsp + 0x110]
mov r9d, dword [rsp + 0x118]
jmp 0x1401af858
movsxd rcx, ebp
add rcx, qword [r15]
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x1401afb58
movzx r10d, byte [rcx + 1]
test r10b, r10b
jns 0x1401afd49
movzx edx, byte [rcx + 2]
shl r8d, 0xe
or r8d, edx
and edx, 0x80
je 0x1401afd74
mov rdx, rsi
mov dword [rsp + 0x78], r9d
call sym.sqlite3Fts5GetVarint
mov r8d, dword [rsp + 0xf8]
mov r9d, dword [rsp + 0x78]
movzx edx, al
mov eax, dword [r15 + 0xc]
and r8d, 0x7fffffff
add r9d, edx
lea edx, [r9 + r8]
cmp edx, eax
jg 0x1401af990
mov rdx, qword [rsp + 0x70]
movsxd r9, r9d
lea rcx, [r14 + 0x3c]
add r9, qword [r15]
mov dword [rsp + 0x118], 0
call sym.sqlite3Fts5BufferAppendBlob
mov r10, qword [rsp + 0x110]
mov r9d, dword [rsp + 0x118]
jmp 0x1401af858
mov rdx, qword [rsp + 0x70]
movsxd r9, r11d
lea rcx, [r14 + 0x3c]
add r9, qword [r15]
mov dword [rsp + 0x118], r13d
call sym.sqlite3Fts5BufferAppendBlob
mov edx, dword [r14 + 0x3c]
mov r10, qword [rsp + 0x110]
test edx, edx
jne 0x1401b081c
movsxd r9, dword [rsp + 0x118]
movsxd r8, ebx
mov r13d, ebx
cmp r9d, ebx
cmovle r8, r9
test r8d, r8d
jle 0x1401afac6
mov rcx, r10
mov rdx, r12
mov qword [rsp + 0x78], r10
mov dword [rsp + 0x90], r9d
call sub.msvcrt.dll_memcmp
mov r10, qword [rsp + 0x78]
mov r9d, dword [rsp + 0x90]
test eax, eax
jne 0x1401afacc
mov eax, r9d
sub eax, r13d
test eax, eax
jg 0x1401af858
mov dword [r14 + 0x3c], 0x10b
jmp 0x1401af858
and r9d, 0x7f
shl r9d, 7
or r9d, eax
mov eax, 2
jmp 0x1401af755
and eax, 0x7f
and r9d, 0x1fc07f
shl eax, 7
or r9d, eax
mov eax, 3
jmp 0x1401af755
mov eax, 1
jmp 0x1401af82a
mov dword [r14 + 0x3c], 0x10b
mov rcx, r15
call sym.sqlite3_free
mov r13, qword [rsp + 0xf0]
jmp 0x1401af0a0
mov ebx, dword [rax + 0x48]
jmp 0x1401aef45
mov edx, 1
jmp 0x1401afa10
and r9d, 0x7f
shl r9d, 7
or r9d, eax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x70], rax
jmp 0x1401af67e
and r8d, 0x7f
mov eax, 2
shl r8d, 7
or r8d, edx
jmp 0x1401af82a
and r10d, 0x7f
mov r11d, 2
shl r10d, 7
or r10d, eax
mov r13d, r10d
jmp 0x1401af7d1
mov edi, dword [r12]
mov r9d, esi
xor edx, edx
mov rcx, r14
mov r8d, edi
call sym.fts5DlidxIterInit
mov ebp, dword [r14 + 0x3c]
mov r13, rax
test ebp, ebp
jne 0x1401afd5e
lea rbp, [rsp + 0x110]
shl rdi, 0x25
xor ebx, ebx
mov r15d, esi
mov qword [rsp + 0x58], rbp
mov rbp, rdi
mov eax, dword [r13 + 0x14]
test eax, eax
jne 0x1401afcc2
lea ebx, [r15 + 1]
mov r15d, dword [r13 + 0x1c]
movsxd rdi, ebx
add rdi, rbp
cmp ebx, r15d
jge 0x1401afc52
nop dword [rax + rax]
mov rcx, r14
mov rdx, rdi
call sym.fts5DataRead
mov rcx, rax
test rax, rax
je 0x1401afc42
mov rdx, qword [rax]
movzx eax, byte [rdx]
movzx edx, byte [rdx + 1]
shl eax, 8
add ax, dx
je 0x1401afc3d
mov dword [r14 + 0x3c], 0x10b
call sym.sqlite3_free
mov r15d, dword [r13 + 0x1c]
add ebx, 1
add rdi, 1
cmp ebx, r15d
jl 0x1401afc10
movsxd rdx, r15d
mov rcx, r14
add rdx, rbp
call sym.fts5DataRead
mov rdi, rax
test rax, rax
je 0x1401afca8
mov rdx, qword [rax]
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
shl eax, 8
add eax, ecx
movzx ecx, ax
cmp ecx, dword [rdi + 0xc]
jge 0x1401afe91
cmp dword [rsp + 0xb4], 5
setne r8b
test ecx, ecx
jne 0x1401afe4e
test r8b, r8b
jne 0x1401afe4e
mov rcx, rdi
call sym.sqlite3_free
xor r8d, r8d
mov rdx, r13
mov rcx, r14
call sym.fts5DlidxIterNextR.isra.0
mov eax, dword [r14 + 0x3c]
test eax, eax
je 0x1401afbe9
mov dword [rsp + 0x60], ebx
mov r15d, dword [r13]
xor ebx, ebx
test r15d, r15d
jle 0x1401afcf3
nop dword [rax]
mov rax, rbx
add rbx, 1
shl rax, 5
mov rcx, qword [r13 + rax + 8]
call sym.sqlite3_free
cmp dword [r13], ebx
jg 0x1401afcd8
mov rcx, r13
call sym.sqlite3_free
mov ebp, dword [r14 + 0x3c]
jmp 0x1401af564
mov dword [r14 + 0x3c], 7
jmp 0x1401af930
and eax, 0x7f
and r10d, 0x1fc07f
mov r11d, 3
shl eax, 7
or r10d, eax
mov r13d, r10d
jmp 0x1401af7d1
and edx, 0x7f
and r8d, 0x1fc07f
mov eax, 3
shl edx, 7
or r8d, edx
jmp 0x1401af82a
and r8d, 0x7f
mov edx, 2
shl r8d, 7
or r8d, r10d
jmp 0x1401afa10
mov dword [rsp + 0x60], 0
test rax, rax
je 0x1401af564
jmp 0x1401afcc6
and r10d, 0x7f
and r8d, 0x1fc07f
mov edx, 3
shl r10d, 7
or r8d, r10d
jmp 0x1401afa10
lea r8, [rsp + 0xe4]
movsxd rcx, r9d
mov dword [rsp + 0x90], r9d
add rcx, rdx
mov rdx, r8
call sym.sqlite3Fts5GetVarint32
movsxd rdi, dword [rsp + 0xe4]
movsxd r8, ebx
cmp edi, ebx
cmovle r8, rdi
test r8d, r8d
jle 0x1401afde3
mov r9d, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x78]
add eax, r9d
movsxd rcx, eax
add rcx, qword [r15]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401afde7
mov eax, edi
sub eax, ebx
mov edi, dword [r15 + 0xc]
test eax, eax
jns 0x1401af6a3
jmp 0x1401af69b
and eax, 0x7f
and r9d, 0x1fc07f
shl eax, 7
or r9d, eax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x70], rax
jmp 0x1401af67e
mov dword [r14 + 0x3c], 7
jmp 0x1401aee12
mov rcx, rdx
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x78], rdx
call sym.sqlite3Malloc
mov rdx, qword [rsp + 0x78]
mov r10, qword [rsp + 0x90]
jmp 0x1401af8ff
movzx eax, ax
mov r10, qword [r13 + 0x20]
mov byte [rsp + 0x70], r8b
lea rcx, [rdx + rax]
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x60], r10
call sym.sqlite3Fts5GetVarint
mov r10, qword [rsp + 0x60]
cmp r10, qword [rsp + 0x110]
jg 0x1401afe91
je 0x1401afca0
movzx r8d, byte [rsp + 0x70]
test r8b, r8b
je 0x1401afca0
mov dword [r14 + 0x3c], 0x10b
jmp 0x1401afca0
mov edx, 1
mov rcx, r13
call sym.fts5StorageLoadTotals.part.0
mov r12d, eax
test eax, eax
jne 0x1401ae255
jmp 0x1401ae013
mov r12d, 7
jmp 0x1401adda6
mov rcx, qword [rsi + 0x18]
call sym.sqlite3Fts5HashClear
mov dword [rsi + 0x20], 0
mov qword [rsi + 0x34], 0
jmp 0x1401ae955
mov rcx, qword [rbx + 0x18]
call sym.sqlite3Fts5HashClear
mov dword [rbx + 0x20], 0
mov qword [rbx + 0x34], 0
jmp 0x1401aeb45
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
mov edx, 0xa
lea r8, [rsp + 0xe8]
call sym.fts5StorageGetStmt
mov r12d, eax
test eax, eax
jne 0x1401af298
add rsi, qword [rsp + 0xc0]
mov qword [rsp + 0x1c0], r15
mov qword [rsp + 0x70], rsi
movsd xmm6, qword [0x14033d640]
mov r13, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xe8]
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401b0702
mov rbx, qword [rsp + 0xe8]
test rbx, rbx
je 0x1401b0584
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401aff80
call qword [0x1402ba740]
mov rax, qword [rbx + 0xa0]
test rax, rax
je 0x1401b0510
cmp word [rbx + 0xc0], 0
je 0x1401b0510
movzx edx, word [rax + 0x14]
test dl, 0x24
je 0x1401b0534
mov r12, qword [rax]
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401b0527
xor eax, eax
test edx, edx
jne 0x1401b0527
mov rcx, qword [rcx + 0x18]
mov dword [rbx + 0x34], eax
test rcx, rcx
je 0x1401affda
call qword [0x1402ba750]
mov r11d, dword [r13 + 0x58]
mov qword [rsp + 0x120], r12
mov dword [rsp + 0x12c], 0
test r11d, r11d
jne 0x1401b04d9
cmp dword [r13 + 0x5c], 1
je 0x1401b058c
lea rax, [rsp + 0x110]
xor esi, esi
mov qword [rsp + 0x78], rax
mov eax, dword [r13 + 0x18]
cmp esi, eax
jge 0x1401b032f
mov rdx, qword [r13 + 0x28]
movsxd rdi, esi
cmp byte [rdx + rdi], 0
mov ebp, edi
jne 0x1401b0323
cmp dword [r13 + 0x5c], 2
mov dword [rsp + 0x128], edi
mov dword [rsp + 0x12c], 0
je 0x1401b0467
mov rbx, qword [rsp + 0xe8]
lea eax, [rbp + 1]
mov dword [rsp + 0x60], eax
mov esi, eax
mov r12, rbx
test rbx, rbx
je 0x1401b056d
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401b007f
call qword [0x1402ba740]
mov rdx, qword [rbx + 0xa0]
test rdx, rdx
je 0x1401b0450
movzx eax, word [rbx + 0xc0]
movsxd rcx, dword [rsp + 0x60]
cmp ecx, eax
jge 0x1401b0450
lea rax, [rcx*8]
sub rax, rcx
lea rcx, [rdx + rax*8]
movzx eax, word [rcx + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
jne 0x1401b00ce
cmp byte [rcx + 0x16], 1
je 0x1401b05c8
and eax, 1
test ax, ax
jne 0x1401b08aa
mov edx, 1
call sym.valueToText
mov r12, rax
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401b04bf
xor eax, eax
test edx, edx
jne 0x1401b04bf
mov rcx, qword [rcx + 0x18]
mov dword [rbx + 0x34], eax
test rcx, rcx
je 0x1401b0113
call qword [0x1402ba750]
mov rbx, qword [rsp + 0xe8]
test rbx, rbx
je 0x1401b056d
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401b0136
call qword [0x1402ba740]
mov rdx, qword [rbx + 0xa0]
test rdx, rdx
je 0x1401b04a8
movzx eax, word [rbx + 0xc0]
movsxd rcx, dword [rsp + 0x60]
cmp ecx, eax
jge 0x1401b04a8
lea rax, [rcx*8]
sub rax, rcx
lea rcx, [rdx + rax*8]
movzx eax, word [rcx + 0x14]
test al, 2
je 0x1401b017b
cmp byte [rcx + 0x16], 1
je 0x1401b0675
test al, 0x10
je 0x1401b09f8
mov r15d, dword [rcx + 0x10]
test ah, 4
je 0x1401b018f
add r15d, dword [rcx]
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x1401b04cc
xor eax, eax
test edx, edx
jne 0x1401b04cc
mov rcx, qword [rcx + 0x18]
mov dword [rbx + 0x34], eax
test rcx, rcx
je 0x1401b01bb
call qword [0x1402ba750]
test r12, r12
je 0x1401b02ee
mov rax, qword [r13 + 0x70]
mov rcx, qword [r13 + 0x68]
mov r9, r12
lea rbx, [sym.fts5StorageIntegrityCallback]
mov qword [rsp + 0x28], rbx
lea rdx, [rsp + 0x120]
mov r8d, 4
mov dword [rsp + 0x20], r15d
call qword [rax + 0x10]
mov ebx, eax
test eax, eax
je 0x1401b02ee
movsxd rax, dword [rsp + 0x12c]
mov r12, qword [rsp + 0x138]
mov rsi, qword [rsp + 0xc0]
add qword [rsi + rdi*8], rax
cmp dword [r13 + 0x5c], 2
jne 0x1401b04fd
test r12, r12
je 0x1401b09df
lea eax, [rbp + 1]
mov dword [rsp + 0x60], eax
mov rdi, r12
lea rbp, [r12 + 0x1000]
nop dword [rax]
mov rsi, qword [rdi]
lea r15, [0x1402ba6c0]
nop word [rax + rax]
test rsi, rsi
je 0x1401b02b0
mov r9d, dword [r15]
mov r14, rsi
mov rsi, qword [rsi + 0x10]
test r9d, r9d
je 0x1401b02e0
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1401b0276
call qword [0x1402ba740]
mov rcx, r14
call qword [0x1402ba6f8]
mov rcx, r14
sub qword [0x1402baa88], 1
cdqe
sub qword [0x1402baa40], rax
call qword [0x1402ba6e8]
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1401b0250
call qword [0x1402ba750]
test rsi, rsi
jne 0x1401b0255
add rdi, 8
cmp rbp, rdi
jne 0x1401b0240
mov rcx, r12
call sym.sqlite3_free
mov esi, dword [rsp + 0x60]
mov qword [rsp + 0x138], 0
test ebx, ebx
je 0x1401b0014
jmp 0x1401b03e9
mov rcx, r14
call qword [0x1402ba6e8]
jmp 0x1401b0250
mov r10d, dword [r13 + 0x58]
movsxd rax, dword [rsp + 0x12c]
test r10d, r10d
je 0x1401b041e
mov rbx, qword [rsp + 0x70]
cmp dword [rbx + rdi*4], eax
je 0x1401b041e
mov r12, qword [rsp + 0x138]
mov ebx, 0x10b
jmp 0x1401b020b
add rdi, 1
cmp eax, edi
jg 0x1401b0027
mov r12, qword [rsp + 0x138]
test r12, r12
je 0x1401aff47
xor ebx, ebx
mov rdi, r12
lea rbp, [r12 + 0x1000]
nop dword [rax]
mov rsi, qword [rdi]
lea r15, [0x1402ba6c0]
nop word [rax + rax]
test rsi, rsi
je 0x1401b03c4
mov r8d, dword [r15]
mov r14, rsi
mov rsi, qword [rsi + 0x10]
test r8d, r8d
je 0x1401b0410
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1401b038a
call qword [0x1402ba740]
mov rcx, r14
call qword [0x1402ba6f8]
mov rcx, r14
sub qword [0x1402baa88], 1
cdqe
sub qword [0x1402baa40], rax
call qword [0x1402ba6e8]
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1401b0360
call qword [0x1402ba750]
test rsi, rsi
jne 0x1401b0365
add rdi, 8
cmp rbp, rdi
jne 0x1401b0350
mov rcx, r12
call sym.sqlite3_free
mov qword [rsp + 0x138], 0
test ebx, ebx
je 0x1401aff47
mov r15, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0xe8]
mov r12d, ebx
call sym.sqlite3_reset
jmp 0x1401af298
mov rcx, r14
call qword [0x1402ba6e8]
jmp 0x1401b0360
mov rbx, qword [rsp + 0xc0]
add qword [rbx + rdi*8], rax
cmp dword [r13 + 0x5c], 2
jne 0x1401b0014
mov r12, qword [rsp + 0x138]
xor ebx, ebx
test r12, r12
jne 0x1401b0232
jmp 0x1401b0014
mov rcx, qword [rbx]
xor r12d, r12d
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
jmp 0x1401b00e7
mov rcx, qword [rsp + 0x78]
mov edx, 0x1000
mov dword [rsp + 0x110], 0
call sym.sqlite3Fts5MallocZero.part.0
mov ebx, dword [rsp + 0x110]
mov qword [rsp + 0x138], rax
mov r12, rax
test ebx, ebx
je 0x1401b0050
movsxd rax, dword [rsp + 0x12c]
jmp 0x1401b020b
mov rcx, qword [rbx]
xor r15d, r15d
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
jmp 0x1401b018f
call sym.apiHandleError
mov rcx, qword [rbx]
jmp 0x1401b0101
call sym.apiHandleError
mov rcx, qword [rbx]
jmp 0x1401b01a9
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov rdx, r12
call sym.sqlite3Fts5StorageDocsize
mov r12, qword [rsp + 0x138]
mov ebx, eax
test eax, eax
je 0x1401afffa
test r12, r12
jne 0x1401b0342
jmp 0x1401b03e9
mov rcx, qword [rbx]
xor r12d, r12d
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
jmp 0x1401affae
call sym.apiHandleError
mov rcx, qword [rbx]
jmp 0x1401affc8
test dl, 8
je 0x1401b08c1
movsd xmm0, qword [rax]
comisd xmm6, xmm0
ja 0x1401b08b2
comisd xmm0, xmmword [0x14033d648]
movabs r12, 0x7fffffffffffffff
ja 0x1401affae
cvttsd2si r12, xmm0
jmp 0x1401affae
xor r15d, r15d
jmp 0x1401b01bb
xor esi, esi
jmp 0x1401aefc8
xor r13d, r13d
jmp 0x1401af04f
xor r12d, r12d
jmp 0x1401affda
lea rcx, [rsp + 0x110]
mov edx, 0x1000
mov dword [rsp + 0x110], 0
call sym.sqlite3Fts5MallocZero.part.0
mov ebx, dword [rsp + 0x110]
mov qword [rsp + 0x138], rax
mov r12, rax
test ebx, ebx
je 0x1401b0005
jmp 0x1401b04fd
mov r12, qword [rcx + 8]
jmp 0x1401b00e7
mov eax, ebx
xor ebx, ebx
jmp 0x1401ae9bf
lea rdx, [rsp + 0x120]
mov r9d, ebp
mov r8d, edi
mov rcx, rbx
call sym.fts5IndexMerge
test eax, eax
je 0x1401b060a
cmp dword [rbx + 0x3c], 0
jne 0x1401b060a
mov rdx, qword [rsp + 0x120]
mov rcx, rbx
call sym.fts5StructureWrite.part.0
mov r12, qword [rsp + 0x120]
test r12, r12
jne 0x1401aeb8f
jmp 0x1401aeba6
mov rdx, qword [rsp + 0x120]
mov rcx, rbx
call sym.fts5IndexOptimizeStruct
mov rcx, qword [rsp + 0x120]
mov r12, rax
test rcx, rcx
je 0x1401b0650
mov eax, dword [rcx]
sub eax, 1
mov dword [rcx], eax
test eax, eax
jg 0x1401b0650
call sym.fts5StructureRelease.part.0
mov edi, esi
mov qword [rsp + 0x120], r12
mov ebp, 1
neg edi
jmp 0x1401aeb7d
movabs r14, 0x8000000000000000
jmp 0x1401ae0a4
mov r15d, dword [rcx + 0x10]
jmp 0x1401b018f
and dl, 0x12
je 0x1401b06da
mov rcx, qword [rax + 8]
xor r14d, r14d
test rcx, rcx
je 0x1401ae0a4
mov edx, dword [rax + 0x10]
movzx r8d, byte [rax + 0x16]
call sym.memIntValue.isra.0
mov r14, rax
jmp 0x1401ae0a4
and dl, 0x12
je 0x1401b0575
mov rcx, qword [rax + 0x78]
xor esi, esi
test rcx, rcx
je 0x1401aefc8
mov edx, dword [rax + 0x80]
movzx r8d, byte [rax + 0x86]
call sym.memIntValue.isra.0
mov esi, eax
jmp 0x1401aefc8
xor r14d, r14d
jmp 0x1401ae0a4
xor ebx, ebx
and dl, 1
lea rcx, [rax + 0x38]
jne 0x1401aef45
mov edx, 1
call sym.valueBytes
mov ebx, eax
jmp 0x1401aef45
mov rcx, qword [rsp + 0xe8]
mov r15, qword [rsp + 0x1c0]
call sym.sqlite3_reset
mov r12d, eax
test eax, eax
jne 0x1401af298
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x10], 0
je 0x1401b07dd
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x18]
test eax, eax
jle 0x1401b0771
mov rdi, qword [rsp + 0x58]
movsxd rdx, eax
xor eax, eax
mov rcx, qword [rdi + 0x20]
mov rdi, qword [rsp + 0xc0]
mov rdi, qword [rdi + rax*8]
cmp qword [rcx + rax*8], rdi
je 0x1401b0768
mov r12d, 0x10b
jmp 0x1401af298
add rax, 1
cmp rdx, rax
jne 0x1401b074b
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x40], 0
je 0x1401b0829
mov rax, qword [rsp + 0x68]
mov byte [rsp + 0xdb], 1
cmp dword [rax + 0x58], 0
je 0x1401aec7a
mov rdi, qword [rsp + 0x58]
lea r8, [rsp + 0x110]
lea rdx, str.docsize
mov qword [rsp + 0x110], 0
mov rcx, qword [rdi]
call sym.fts5StorageCount.constprop.0.isra.0
mov r12d, eax
test eax, eax
jne 0x1401af298
mov rax, qword [rsp + 0x110]
cmp qword [rdi + 0x18], rax
jne 0x1401b075d
jmp 0x1401aec7a
mov rcx, qword [rsp + 0x58]
xor edx, edx
call sym.fts5StorageLoadTotals.part.0
mov r12d, eax
test eax, eax
je 0x1401b0731
jmp 0x1401af298
xor ebx, ebx
test al, 1
jne 0x1401ae377
mov edx, 1
call sym.valueBytes
mov ebx, eax
jmp 0x1401ae377
mov r12d, ebx
jmp 0x1401ae250
mov r9d, dword [rsp + 0x118]
jmp 0x1401af858
mov rdi, qword [rsp + 0x58]
lea r8, [rsp + 0x110]
lea rdx, str.content
mov qword [rsp + 0x110], 0
mov rcx, qword [rdi]
call sym.fts5StorageCount.constprop.0.isra.0
mov r12d, eax
test eax, eax
jne 0x1401af298
mov rax, qword [rsp + 0x110]
cmp qword [rdi + 0x18], rax
jne 0x1401b075d
jmp 0x1401b0780
and dl, 0x12
je 0x1401b057c
mov rcx, qword [rax + 0xb0]
xor r13d, r13d
test rcx, rcx
je 0x1401af04f
mov edx, dword [rax + 0xb8]
movzx r8d, byte [rax + 0xbe]
call sym.memIntValue.isra.0
mov r13d, eax
jmp 0x1401af04f
xor r12d, r12d
jmp 0x1401b00e7
movabs r12, 0x8000000000000000
jmp 0x1401affae
and dl, 0x12
je 0x1401b0a1d
mov rcx, qword [rax + 8]
xor r12d, r12d
test rcx, rcx
je 0x1401affae
mov edx, dword [rax + 0x10]
movzx r8d, byte [rax + 0x16]
call sym.memIntValue.isra.0
mov r12, rax
jmp 0x1401affae
movzx eax, cx
mov r9, r12
xor r8d, r8d
mov rcx, r14
imul rax, rax, 0x88
mov dword [rsp + 0x108], 0
lea rdx, [rdx + rax + 0x60]
call sym.fts5SegiterPoslist
mov rcx, qword [rsp + 0x60]
mov rdx, r12
mov r8d, 4
lea r9, [0x14033ac96]
call sym.sqlite3Fts5BufferAppendBlob
lea rax, [rbx + 1]
lea r10d, [rdi - 1]
mov r8, r13
mov qword [rsp + 0x58], rax
lea r11, [rsi*8]
mov r13, r10
mov r10, r12
mov r12, r11
mov r9, qword [rsp + 0x68]
mov edx, dword [rsp + 0x108]
mov qword [rsp + 0x78], r10
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x70], r8
call sym.sqlite3Fts5PoslistNext64
mov r8, qword [rsp + 0x70]
mov r10, qword [rsp + 0x78]
test eax, eax
jne 0x1401b09cc
mov rax, qword [rsp + 0x110]
mov rdx, rax
and eax, 0x7fffffff
sar rdx, 0x20
add rdx, rsi
add rdx, r12
add rax, rdx
lea rax, [rax + rdx*8]
test edi, edi
jle 0x1401b09c7
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
add rcx, r13
movsx r9, byte [rdx]
add rdx, 1
lea r9, [r9 + rax*8]
add rax, r9
cmp rdx, rcx
jne 0x1401b09b3
xor rbp, rax
jmp 0x1401b0952
mov rdx, qword [rsp + 0xf8]
mov r12, r10
mov r13, r8
jmp 0x1401af213
mov qword [rsp + 0x138], 0
mov r15, qword [rsp + 0x1c0]
jmp 0x1401b03f1
xor r15d, r15d
test al, 1
jne 0x1401b018f
mov edx, 1
call sym.valueBytes
mov r15d, eax
jmp 0x1401b018f
mov r12d, ebx
jmp 0x1401ae255
xor r12d, r12d
jmp 0x1401affae