Function at 0x14021f5c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
mov rax, qword [rcx]
mov r9d, dword [rcx + 0x10]
mov qword [rsp + 0x130], rcx
mov rsi, r8
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xc0], 0
test r9d, r9d
je 0x14021f762
mov rax, qword [rsp + 0x130]
mov rbx, qword [rax + 8]
cmp qword [rbx + 0x18], 0
je 0x14021fb0f
mov eax, dword [rbx + 0x20]
mov rdi, qword [rbx + 0x28]
cmp qword [rsp + 0x138], rdi
jl 0x14021f70d
je 0x14021f700
mov rdx, qword [rbx]
cmp dword [rdx + 0x98], eax
jl 0x14021f70d
mov r15d, dword [rbx + 0x3c]
mov rax, qword [rsp + 0x138]
mov dword [rbx + 0x30], 1
mov dword [rbx + 0x3c], 0
mov qword [rbx + 0x28], rax
test r15d, r15d
jne 0x14021f74b
mov rax, qword [rsp + 0x130]
mov rbp, qword [rax]
mov edx, dword [rbp + 0x44]
test edx, edx
je 0x14021f779
xor r9d, r9d
lea r8, [rsp + 0xd0]
mov edx, 8
mov rcx, rax
mov qword [rsp + 0xd0], 0
call sym.fts5StorageGetStmt
mov r15d, eax
test eax, eax
jne 0x14021f74b
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x138]
call sym.sqlite3_bind_int64.constprop.0.isra.0
mov rcx, qword [rsp + 0xd0]
call sym.sqlite3_step
cmp eax, 0x64
je 0x14021fcb5
mov rcx, qword [rsp + 0xd0]
call sym.sqlite3_reset
mov r15d, eax
jmp 0x14021f9fe
mov r8d, dword [rbx + 0x30]
test r8d, r8d
jne 0x14021f63c
test eax, eax
jne 0x14021f71c
mov ecx, dword [rbx + 0x34]
test ecx, ecx
je 0x14021f64b
mov rcx, rbx
call sym.fts5FlushOneHash
mov r15d, dword [rbx + 0x3c]
test r15d, r15d
je 0x14021fc98
mov rax, qword [rsp + 0x138]
mov dword [rbx + 0x30], 1
mov dword [rbx + 0x3c], 0
mov qword [rbx + 0x28], rax
mov eax, r15d
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 1
call sym.fts5StorageLoadTotals.part.0
mov r15d, eax
test eax, eax
je 0x14021f60a
jmp 0x14021f74b
mov qword [rsp + 0xc8], 0
xor r13d, r13d
test rsi, rsi
je 0x14022099d
mov rax, qword [rsp + 0x130]
mov ebx, 1
xor r14d, r14d
mov dword [rsp + 0xd8], 0xffffffff
mov qword [rsp + 0xd0], rax
mov edx, dword [rbp + 0x18]
cmp edx, ebx
jl 0x14021f9b1
mov rcx, qword [rbp + 0x28]
movsxd rdi, ebx
test rsi, rsi
je 0x14021fc6e
cmp byte [rcx + rdi - 1], 0
mov ebx, edi
jne 0x14021f9a5
test r13, r13
je 0x14021fa89
mov rax, qword [r13]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14021f7f8
call qword [0x1402ba740]
mov rdx, qword [r13 + 0xa0]
test rdx, rdx
je 0x14021f814
movzx eax, word [r13 + 0xc0]
cmp eax, ebx
jg 0x14021fae4
mov rcx, qword [r13]
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
lea rcx, [0x140343420]
call sym.sqlite3ValueText.constprop.0
mov rcx, qword [r13]
mov edx, dword [r13 + 0x34]
mov r15, rax
cmp byte [rcx + 0x67], 0
jne 0x14021fc60
xor eax, eax
test edx, edx
jne 0x14021fc60
mov rcx, qword [rcx + 0x18]
mov dword [r13 + 0x34], eax
test rcx, rcx
je 0x14021f862
call qword [0x1402ba750]
mov r12, qword [rsp + 0xc8]
test r12, r12
je 0x14021fc50
mov rax, qword [r12]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14021f886
call qword [0x1402ba740]
mov rdx, qword [r12 + 0xa0]
test rdx, rdx
je 0x14021f8a4
movzx eax, word [r12 + 0xc0]
cmp eax, ebx
jg 0x14021f967
mov rcx, qword [r12]
xor r13d, r13d
mov dword [rcx + 0x50], 0x19
call sym.sqlite3ErrorFinish.constprop.1
mov rcx, qword [r12]
mov edx, dword [r12 + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x14021faf8
xor eax, eax
test edx, edx
jne 0x14021faf8
mov rcx, qword [rcx + 0x18]
mov dword [r12 + 0x34], eax
lea rdi, [rdi*8 - 8]
test rcx, rcx
je 0x14021f8f0
call qword [0x1402ba750]
mov dword [rsp + 0xdc], r14d
test r15, r15
je 0x14021fabe
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
mov r9, r15
lea r10, [sym.fts5StorageInsertCallback]
mov dword [rsp + 0x20], r13d
lea rdx, [rsp + 0xd0]
mov r8d, 4
mov qword [rsp + 0x28], r10
call qword [rax + 0x10]
movsxd rdx, dword [rsp + 0xdc]
mov r13, qword [rsp + 0xc8]
mov r15d, eax
mov rax, qword [rsp + 0x130]
add rdi, qword [rax + 0x20]
sub qword [rdi], rdx
js 0x14021f9e3
add ebx, 1
test r15d, r15d
je 0x14021f7b4
jmp 0x14021f9e9
lea rax, [rdi*8]
sub rax, rdi
lea rcx, [rdx + rax*8]
movzx eax, word [rcx + 0x14]
test al, 2
je 0x14021f988
cmp byte [rcx + 0x16], 1
je 0x14021fb06
test al, 0x10
je 0x1402209f4
mov r13d, dword [rcx + 0x10]
test ah, 4
je 0x14021f8b7
add r13d, dword [rcx]
jmp 0x14021f8b7
add rdi, 1
cmp edx, edi
jge 0x14021f7cf
mov rax, qword [rsp + 0x130]
mov rax, qword [rax + 0x18]
test rax, rax
jle 0x14022098a
mov rsi, qword [rsp + 0x130]
sub rax, 1
mov rcx, r13
mov qword [rsi + 0x18], rax
call sym.sqlite3_reset
mov r15d, eax
jmp 0x14021f9fe
mov r15d, 0x10b
mov rax, qword [rsp + 0x130]
mov rcx, r13
sub qword [rax + 0x18], 1
call sym.sqlite3_reset
test r15d, r15d
jne 0x14021f74b
mov rax, qword [rsp + 0xa8]
mov r15d, dword [rax + 0x58]
test r15d, r15d
jne 0x14021fbd3
mov eax, dword [rax + 0x40]
test eax, eax
jne 0x14021f74b
lea rbx, [rsp + 0xc0]
mov rcx, qword [rsp + 0x130]
xor r9d, r9d
mov r8, rbx
mov edx, 5
call sym.fts5StorageGetStmt
mov r15d, eax
test eax, eax
jne 0x14021f74b
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0xc0]
call sym.sqlite3_bind_int64.constprop.0.isra.0
mov rcx, qword [rsp + 0xc0]
call sym.sqlite3_step
mov rcx, qword [rsp + 0xc0]
call sym.sqlite3_reset
mov r15d, eax
jmp 0x14021f74b
lea rdi, [rdi*8 - 8]
lea r13, [rsi + rdi]
mov rcx, qword [r13]
call sym.sqlite3ValueText.constprop.0
mov rcx, qword [r13]
mov r15, rax
call sym.sqlite3ValueBytes.constprop.0
mov dword [rsp + 0xdc], r14d
mov r13d, eax
test r15, r15
jne 0x14021f901
mov rax, qword [rsp + 0x130]
mov r13, qword [rsp + 0xc8]
add rdi, qword [rax + 0x20]
cmp qword [rdi], 0
js 0x14021f9e3
add ebx, 1
jmp 0x14021f7b4
lea rax, [rdi*8]
sub rax, rdi
lea rcx, [rdx + rax*8]
jmp 0x14021f82b
call sym.apiHandleError
mov rcx, qword [r12]
jmp 0x14021f8d4
mov r13d, dword [rcx + 0x10]
jmp 0x14021f8b7
mov rdi, qword [rbx]
call sym.sqlite3_initialize
test eax, eax
jne 0x140220978
mov ecx, 0x28
mov ebp, 7
call sym.sqlite3Malloc
mov qword [rbx + 0x18], rax
mov r12, rax
test rax, rax
je 0x14021fbcb
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
lea rax, [rbx + 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 ebp, eax
test eax, eax
jne 0x140220967
mov ecx, 0x2000
call sym.sqlite3Malloc
mov qword [r12 + 0x20], rax
test rax, rax
je 0x140220970
lea rdi, [rax + 8]
mov qword [rax], 0
mov qword [rax + 0x1ff8], 0
and rdi, 0xfffffffffffffff8
sub rax, rdi
mov rcx, rax
xor eax, eax
add ecx, 0x2000
shr ecx, 3
rep stosq qword [rdi], rax
mov dword [rbx + 0x3c], ebp
jmp 0x14021f621
mov rcx, qword [rsp + 0x130]
lea rbx, [rsp + 0xc0]
xor r9d, r9d
mov edx, 7
mov r8, rbx
call sym.fts5StorageGetStmt
mov r15d, eax
test eax, eax
jne 0x14021f74b
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0xc0]
call sym.sqlite3_bind_int64.constprop.0.isra.0
mov rcx, qword [rsp + 0xc0]
call sym.sqlite3_step
mov rcx, qword [rsp + 0xc0]
call sym.sqlite3_reset
mov r15d, eax
mov rax, qword [rsp + 0xa8]
mov edi, r15d
or edi, dword [rax + 0x40]
je 0x14021fa2f
jmp 0x14021f74b
lea rdi, [rdi*8 - 8]
xor r13d, r13d
jmp 0x14021f8f0
call sym.apiHandleError
mov rcx, qword [r13]
jmp 0x14021f84f
lea eax, [rbx + 1]
cmp byte [rcx + rdi - 1], 0
lea ebx, [rax - 1]
jne 0x14021fc84
test r13, r13
jne 0x14021f7e5
mov r8d, eax
add rdi, 1
add eax, 1
cmp edx, r8d
jge 0x14021fc71
jmp 0x14021f9b1
mov rcx, qword [rbx + 0x18]
call sym.sqlite3Fts5HashClear
mov dword [rbx + 0x20], 0
mov qword [rbx + 0x34], 0
jmp 0x14021f64b
mov r12, qword [rsp + 0xd0]
mov edx, 1
mov rcx, r12
call sym.columnMem
mov rcx, rax
call sym.sqlite3VdbeIntValue
mov rcx, r12
mov qword [rsp + 0x98], rax
mov rsi, rax
call sym.columnMallocFailure
mov rcx, qword [rsp + 0xd0]
call sym.sqlite3_reset
mov r15d, eax
test eax, eax
jne 0x14021f9fe
test rsi, rsi
je 0x14021f9fe
mov rax, qword [rsp + 0x130]
mov r14, qword [rax + 8]
mov rcx, r14
call sym.fts5StructureRead
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x14022011b
mov edx, dword [rax + 0x1c]
test edx, edx
jle 0x140220100
mov rsi, rax
movsxd rax, edx
shl rax, 4
lea rdi, [rsi + rax]
lea rcx, [rsi + rax - 0x10]
lea eax, [rdx - 1]
mov qword [rsp + 0x90], rdi
xor edx, edx
shl rax, 4
sub rcx, rax
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0x90]
movsxd rax, dword [rax + 0x14]
mov ecx, eax
sub ecx, 1
js 0x1402200e1
movsxd r9, ecx
mov ecx, ecx
mov r15, r14
sub rax, rcx
lea r8, [r9*8]
lea rcx, [rax*8]
sub r8, r9
sub rcx, rax
lea rsi, [r8*8]
lea rax, [rcx*8 - 0x70]
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0xa0], rax
mov rdi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x80]
add rax, qword [rdi + 0x18]
mov rdi, qword [rsp + 0x98]
mov qword [rsp + 0x50], rax
cmp qword [rax + 0x10], rdi
ja 0x1402200bf
cmp qword [rax + 0x18], rdi
jb 0x1402200bf
test edx, edx
jne 0x14021fdfb
add qword [rax + 0x28], 1
mov rsi, qword [rsp + 0x50]
add dword [r15 + 0x34], 1
movsxd rbp, dword [rsi + 0x20]
test ebp, ebp
jg 0x14022059d
mov dword [rsp + 0x58], 0xffffffff
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x88], 4
mov eax, 0xffffffff
cmp qword [rsp + 0x138], rax
mov eax, 8
cmovbe eax, dword [rsp + 0x88]
mov edi, eax
mov dword [rsp + 0x88], eax
mov rax, qword [r15]
mov eax, dword [rax + 0x88]
sub eax, 8
cdq
idiv edi
mov edx, 0x20
cmp eax, 0x20
cmovl eax, edx
mov dword [rsp + 0x8c], eax
test ebp, ebp
je 0x140220589
cmp ebp, 1
je 0x1402208d1
mov qword [rsp + 0x48], r15
mov ebx, dword [rsp + 0x8c]
lea ebp, [rbp + rbp + 1]
nop word [rax + rax]
mov rax, qword [rsp + 0x48]
movsxd rsi, ebp
mov qword [rsp + 0x70], rsi
mov eax, dword [rax + 0x3c]
test eax, eax
jne 0x140220130
shl rsi, 3
call sym.sqlite3_initialize
test eax, eax
jne 0x1402204d8
lea rax, [rsi - 1]
cmp rax, 0x7ffffefe
ja 0x1402204d8
mov eax, dword [0x1402ba6c0]
test eax, eax
je 0x140220560
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x14021fef1
call qword [0x1402ba740]
mov rcx, rsi
call sym.sqlite3Malloc.part.0
mov r13, rax
test r13, r13
je 0x1402204dd
mov r8, rsi
xor edx, edx
mov rcx, r13
call sub.msvcrt.dll_memset
imul ebx, dword [rsp + 0x88]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x3c]
add ebx, 8
test ebp, ebp
jle 0x140220553
movsxd rdx, ebx
lea rdi, [rdx + 0x10]
add rdx, 0xf
cmp rdx, 0x7ffffefe
ja 0x140220080
lea r12d, [rbp - 1]
mov esi, 1
mov r14, r12
add r12, 1
test eax, eax
jne 0x14021ffcf
call sym.sqlite3_initialize
test eax, eax
jne 0x1402200a0
mov eax, dword [0x1402ba6c0]
test eax, eax
je 0x1402204c8
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x14021ff86
call qword [0x1402ba740]
mov rcx, rdi
call sym.sqlite3Malloc.part.0
mov rcx, rax
test rcx, rcx
je 0x1402200a0
mov r8, rdi
xor edx, edx
call sub.msvcrt.dll_memset
mov dword [rax + 8], ebx
mov rcx, rax
lea rax, [rax + 0x10]
mov qword [rcx], rax
mov rax, qword [rsp + 0x48]
mov qword [r13 + rsi*8 - 8], rcx
mov eax, dword [rax + 0x3c]
cmp rsi, r12
je 0x14022014b
add rsi, 1
test eax, eax
je 0x14021ff59
mov r15, qword [rsp + 0x48]
nop dword [rax]
test r13, r13
je 0x140220575
test ebp, ebp
jle 0x14022006a
lea eax, [rbp - 1]
mov rsi, r13
lea rbx, [r13 + rax*8 + 8]
jmp 0x140220046
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x140220008
call qword [0x1402ba740]
mov rcx, r12
call qword [0x1402ba6f8]
mov rcx, r12
sub qword [0x1402baa88], 1
cdqe
sub qword [0x1402baa40], rax
call qword [0x1402ba6e8]
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x14022003d
call qword [0x1402ba750]
add rsi, 8
cmp rbx, rsi
je 0x14022006a
mov r12, qword [rsi]
test r12, r12
je 0x14022003d
mov edi, dword [0x1402ba6c0]
test edi, edi
jne 0x14021fff6
add rsi, 8
mov rcx, r12
call qword [0x1402ba6e8]
cmp rbx, rsi
jne 0x140220046
mov rcx, r13
call sym.sqlite3_free
jmp 0x140220575
mov r15, qword [rsp + 0x48]
test eax, eax
jne 0x14021ffd8
call sym.sqlite3_initialize
mov dword [r15 + 0x3c], 7
jmp 0x14021ffd8
mov r15, qword [rsp + 0x48]
mov dword [r15 + 0x3c], 7
jmp 0x14021ffd8
mov rcx, r13
call sym.sqlite3_free
mov edx, 1
sub qword [rsp + 0x80], 0x38
mov rax, qword [rsp + 0x80]
cmp rax, qword [rsp + 0xa0]
jne 0x14021fdbd
mov r14, r15
sub qword [rsp + 0x90], 0x10
mov rax, qword [rsp + 0x90]
cmp rax, qword [rsp + 0xb8]
jne 0x14021fd65
mov rdi, qword [rsp + 0xb0]
mov eax, dword [rdi]
mov dword [rsp + 0x40], eax
sub eax, 1
mov dword [rdi], eax
test eax, eax
jle 0x14022095a
mov r15d, dword [r14 + 0x3c]
mov dword [r14 + 0x3c], 0
jmp 0x14021f9fe
imul ebx, dword [rsp + 0x88]
add ebx, 8
test ebp, ebp
jle 0x140220570
xor r13d, r13d
jmp 0x14021ff2d
test eax, eax
jne 0x14021ffcf
movzx r8d, byte [rsp + 0x88]
mov rax, r13
lea rcx, [r13 + r14*8 + 8]
nop dword [rax]
mov rdx, qword [rax]
add rax, 8
mov rdx, qword [rdx]
mov byte [rdx], r8b
mov rdx, qword [rax - 8]
mov rdx, qword [rdx]
mov dword [rdx + 4], 0
cmp rax, rcx
jne 0x140220168
mov rax, qword [rsp + 0x50]
xor ebx, ebx
mov eax, dword [rax + 0x20]
jmp 0x1402201a4
cmp qword [rsp + 0x68], 0
jne 0x1402201f0
add rbx, 1
mov dword [rsp + 0x40], ebx
cmp ebx, eax
jge 0x140220625
cmp dword [rsp + 0x58], ebx
je 0x140220198
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov eax, dword [rdi]
lea edx, [rax + 0x10000]
mov dword [rsp + 0x60], eax
shl rdx, 0x25
add rdx, rbx
call sym.fts5DataRead
mov r15, rax
test rax, rax
jne 0x1402204c0
mov eax, dword [rdi + 0x20]
jmp 0x1402201a0
mov r15, qword [rsp + 0x68]
xor r12d, r12d
mov rcx, qword [r15]
mov eax, dword [r15 + 8]
xor edi, edi
cmp byte [rcx], 4
setne dil
sub eax, 8
lea edi, [rdi*4 + 4]
cdq
idiv edi
mov dword [rsp + 0x7c], eax
test eax, eax
jle 0x1402204b8
mov qword [rsp + 0x60], 8
mov rsi, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1402202c3
mov rax, qword [rsp + 0x60]
mov edx, r14d
lea rax, [rcx + rax*2 - 8]
cmp qword [rax], 0
je 0x1402202ac
movzx r9d, byte [rax]
movzx edx, byte [rax + 1]
shl r9, 0x38
shl rdx, 0x30
add r9, rdx
movzx edx, byte [rax + 7]
add r9, rdx
movzx edx, byte [rax + 2]
shl rdx, 0x28
add r9, rdx
movzx edx, byte [rax + 3]
shl rdx, 0x20
add r9, rdx
movzx edx, byte [rax + 4]
shl rdx, 0x18
add r9, rdx
movzx edx, byte [rax + 5]
movzx eax, byte [rax + 6]
shl rdx, 0x10
shl rax, 8
add r9, rdx
add r9, rax
test r9, r9
jne 0x1402202fe
mov edx, r14d
add qword [rsp + 0x60], 4
add r14d, 1
cmp dword [rsp + 0x7c], edx
jle 0x1402204b8
mov rcx, qword [r15]
cmp edi, 4
jne 0x140220240
add rcx, qword [rsp + 0x60]
mov eax, dword [rcx]
test eax, eax
je 0x1402202a9
movzx eax, byte [rcx]
shl eax, 0x18
mov edx, eax
movzx eax, byte [rcx + 1]
shl eax, 0x10
add eax, edx
movzx edx, byte [rcx + 3]
add eax, edx
movzx edx, byte [rcx + 2]
shl edx, 8
lea r9d, [rax + rdx]
test r9, r9
je 0x1402202a9
xor edx, edx
mov rax, r9
mov r8d, ebp
div rsi
mov rcx, qword [r13 + rdx*8]
xor edx, edx
call sym.fts5IndexTombstoneAddToPage
test eax, eax
je 0x1402202a9
mov esi, eax
nop dword [rax + rax]
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x140220339
mov rax, qword [r13]
mov rcx, qword [r15]
mov rax, qword [rax]
movzx ecx, byte [rcx + 1]
mov byte [rax + 1], cl
test r12, r12
je 0x140220391
mov r14d, dword [0x1402ba6c0]
test r14d, r14d
je 0x1402203a8
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x14022035c
call qword [0x1402ba740]
mov rcx, r12
call qword [0x1402ba6f8]
mov rcx, r12
sub qword [0x1402baa88], 1
cdqe
sub qword [0x1402baa40], rax
call qword [0x1402ba6e8]
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x140220391
call qword [0x1402ba750]
test esi, esi
jne 0x1402203b5
nop dword [rax]
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x20]
jmp 0x1402201a0
mov rcx, r12
call qword [0x1402ba6e8]
test esi, esi
je 0x140220398
test r13, r13
je 0x1402204a5
lea rsi, [0x1402ba6c0]
test ebp, ebp
jle 0x140220452
mov eax, ebp
mov rdi, r13
lea rsi, [0x1402ba6c0]
lea rbx, [r13 + rax*8]
jmp 0x140220430
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1402203f2
call qword [0x1402ba740]
mov rcx, r12
call qword [0x1402ba6f8]
mov rcx, r12
sub qword [0x1402baa88], 1
cdqe
sub qword [0x1402baa40], rax
call qword [0x1402ba6e8]
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x140220427
call qword [0x1402ba750]
add rdi, 8
cmp rdi, rbx
je 0x140220452
mov r12, qword [rdi]
test r12, r12
je 0x140220427
mov r11d, dword [rsi]
test r11d, r11d
jne 0x1402203e0
add rdi, 8
mov rcx, r12
call qword [0x1402ba6e8]
cmp rdi, rbx
jne 0x140220430
mov r10d, dword [rsi]
test r10d, r10d
je 0x14022051c
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x140220470
call qword [0x1402ba740]
mov rcx, r13
call qword [0x1402ba6f8]
mov rcx, r13
sub qword [0x1402baa88], 1
cdqe
sub qword [0x1402baa40], rax
call qword [0x1402ba6e8]
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1402204a5
call qword [0x1402ba750]
mov ebx, dword [rsp + 0x8c]
lea ebp, [rbp + rbp + 1]
jmp 0x14021fe98
xor esi, esi
jmp 0x140220320
mov r12, rax
jmp 0x1402201f8
mov ecx, edi
call qword [0x1402ba6e0]
mov rcx, rax
jmp 0x14021ff91
test rsi, rsi
jle 0x140220535
imul ebx, dword [rsp + 0x88]
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x3c], 7
add ebx, 8
test ebp, ebp
jle 0x1402208a1
movsxd rax, ebx
lea rdi, [rax + 0x10]
add rax, 0xf
cmp rax, 0x7ffffefe
ja 0x140220570
mov eax, 7
xor r13d, r13d
jmp 0x14021ff45
mov rcx, r13
lea ebp, [rbp + rbp + 1]
call qword [0x1402ba6e8]
mov ebx, dword [rsp + 0x8c]
jmp 0x14021fe98
imul ebx, dword [rsp + 0x88]
mov rax, qword [rsp + 0x48]
xor r13d, r13d
mov eax, dword [rax + 0x3c]
add ebx, 8
test ebp, ebp
jg 0x14021ff2d
test eax, eax
je 0x140220188
jmp 0x14021ffcf
mov ecx, esi
call qword [0x1402ba6e0]
mov r13, rax
jmp 0x14021fefc
mov r15, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x68]
call sym.sqlite3_free
mov edx, 1
jmp 0x1402200bf
mov qword [rsp + 0x48], r15
mov ebp, 1
mov ebx, 0x20
jmp 0x14021fe98
mov rax, qword [rsp + 0x138]
xor edx, edx
mov rcx, r15
div rbp
mov eax, dword [rsi]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x58], edx
mov rbx, rdx
lea edx, [rax + 0x10000]
shl rdx, 0x25
add rdx, rbx
call sym.fts5DataRead
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14022057f
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov r9, qword [rsp + 0x138]
xor edx, edx
mov r8d, dword [rax + 0x20]
call sym.fts5IndexTombstoneAddToPage
test eax, eax
mov rax, qword [rsp + 0x50]
je 0x140220925
mov ebp, dword [rax + 0x20]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
cmp byte [rax], 4
setne al
movzx eax, al
lea eax, [rax*4 + 4]
mov dword [rsp + 0x88], eax
jmp 0x14021fe2d
mov r15, qword [rsp + 0x48]
mov r12d, dword [r15 + 0x3c]
test r12d, r12d
jne 0x14021ffd8
mov rax, qword [rsp + 0x138]
xor edx, edx
mov r9, qword [rsp + 0x138]
mov r8d, ebp
div qword [rsp + 0x70]
mov rcx, qword [r13 + rdx*8]
mov edx, 1
call sym.fts5IndexTombstoneAddToPage
mov eax, dword [r15 + 0x3c]
test ebp, ebp
jle 0x1402208ad
lea edi, [rbp - 1]
lea rsi, [r15 + 0x48]
mov dword [rsp + 0x48], ebp
xor r12d, r12d
mov qword [rsp + 0x40], rdi
lea r14, str.REPLACE_INTO__q._q_data_id__block__VALUES_____
mov qword [rsp + 0x58], rsi
jmp 0x14022076b
mov rax, qword [rsp + 0x50]
mov rbp, qword [r15 + 0x48]
mov ebx, dword [rax]
mov rax, qword [r13 + r12*8]
mov edi, dword [rax + 8]
mov rsi, qword [rax]
test rbp, rbp
je 0x140220818
xor edx, edx
mov rcx, rbp
call sym.vdbeUnbind
test eax, eax
jne 0x1402206fe
lea edx, [rbx + 0x10000]
mov rcx, qword [rbp + 0x80]
shl rdx, 0x25
add rdx, r12
test word [rcx + 0x14], 0x9000
jne 0x140220897
mov r8d, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], r8w
mov rax, qword [rbp]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1402206fe
call qword [0x1402ba750]
mov rcx, qword [r15 + 0x48]
mov edx, 2
mov r9d, edi
mov r8, rsi
mov qword [rsp + 0x20], 0
call sym.sqlite3_bind_blob
mov rcx, qword [r15 + 0x48]
call sym.sqlite3_step
mov rcx, qword [r15 + 0x48]
call sym.sqlite3_reset
mov rbx, qword [r15 + 0x48]
mov edx, 1
mov dword [r15 + 0x3c], eax
mov rcx, rbx
call sym.vdbeUnbind
test eax, eax
jne 0x140220758
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140220758
call qword [0x1402ba750]
mov eax, dword [r15 + 0x3c]
cmp r12, qword [rsp + 0x40]
je 0x1402208a9
add r12, 1
test eax, eax
je 0x140220690
mov ebp, dword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x20], ebp
mov rcx, qword [rsp + 0x68]
call sym.sqlite3_free
test r13, r13
je 0x14022057f
test ebp, ebp
jle 0x1402200b2
lea eax, [rbp - 1]
mov rsi, r13
lea rbx, [r13 + rax*8 + 8]
jmp 0x1402207fb
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1402207b9
call qword [0x1402ba740]
mov rcx, r12
call qword [0x1402ba6f8]
mov rcx, r12
sub qword [0x1402baa88], 1
cdqe
sub qword [0x1402baa40], rax
call qword [0x1402ba6e8]
mov rcx, qword [0x1402ba340]
test rcx, rcx
je 0x1402207ee
call qword [0x1402ba750]
add rsi, 8
cmp rbx, rsi
je 0x1402200b2
mov r12, qword [rsi]
test r12, r12
je 0x1402207ee
mov edx, dword [0x1402ba6c0]
test edx, edx
jne 0x1402207a7
mov rcx, r12
call qword [0x1402ba6e8]
jmp 0x1402207ee
mov rax, qword [r15]
mov rcx, r14
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
call sym.sqlite3_mprintf
mov r9d, dword [r15 + 0x3c]
mov rbp, rax
test r9d, r9d
jne 0x14022087a
test rax, rax
je 0x140220918
mov rcx, qword [rsp + 0x58]
mov rax, qword [r15]
mov r9d, 0x85
mov rdx, rbp
mov qword [rsp + 0x30], 0
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], 0
mov rcx, qword [rax]
call sym.sqlite3LockAndPrepare
mov dword [r15 + 0x3c], eax
mov rcx, rbp
call sym.sqlite3_free
mov eax, dword [r15 + 0x3c]
test eax, eax
jne 0x14022075c
mov rbp, qword [r15 + 0x48]
jmp 0x1402206af
call sym.vdbeReleaseAndSetInt64
jmp 0x1402206eb
mov r15, rax
jmp 0x140220575
mov ebp, dword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov dword [rdi + 0x20], ebp
test eax, eax
jne 0x14022077f
mov rdx, qword [r15 + 0x90]
mov rcx, r15
call sym.fts5StructureWrite.part.0
jmp 0x14022077f
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
movzx ebx, byte [rax + 4]
movzx ecx, byte [rax + 5]
shl ebx, 0x18
shl ecx, 0x10
add ebx, ecx
movzx ecx, byte [rax + 7]
movzx eax, byte [rax + 6]
add ebx, ecx
shl eax, 8
add ebx, eax
shl ebx, 2
cmp ebx, 0x20
cmovl ebx, edx
cmp dword [rsp + 0x8c], ebx
jl 0x14021fe82
mov qword [rsp + 0x48], r15
jmp 0x14021fe98
mov dword [r15 + 0x3c], 7
jmp 0x14022087a
mov edx, dword [rax]
mov rdi, qword [rsp + 0x68]
mov rcx, r15
add edx, 0x10000
mov r9d, dword [rdi + 8]
mov r8, qword [rdi]
shl rdx, 0x25
add rdx, rbx
call sym.fts5DataWrite
mov rcx, rdi
call sym.sqlite3_free
mov edx, 1
jmp 0x1402200bf
mov rcx, rdi
call sym.fts5StructureRelease.part.0
jmp 0x14022011b
mov qword [r12 + 0x20], 0
mov rcx, r12
call sym.sqlite3_free
mov qword [rbx + 0x18], 0
mov ebp, 7
jmp 0x14021fbcb
mov rcx, r13
mov r15d, 0x10b
call sym.sqlite3_reset
jmp 0x14021f74b
mov rcx, rax
xor r9d, r9d
mov edx, 2
lea r8, [rsp + 0xc8]
call sym.fts5StorageGetStmt
mov r15d, eax
test eax, eax
jne 0x14021f74b
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x138]
call sym.sqlite3_bind_int64.constprop.0.isra.0
mov rcx, qword [rsp + 0xc8]
call sym.sqlite3_step
cmp eax, 0x64
jne 0x140220a11
mov r13, qword [rsp + 0xc8]
jmp 0x14021f791
xor r13d, r13d
test al, 1
jne 0x14021f8b7
mov edx, 1
call sym.valueBytes
mov r13d, eax
jmp 0x14021f8b7
mov rcx, qword [rsp + 0xc8]
call sym.sqlite3_reset
mov r15d, eax
jmp 0x14021f9fe