Function at 0x140132360
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, 0x108
movups xmmword [rsp + 0xf0], xmm6
mov r12, qword [rcx]
mov rbp, rdx
mov edx, r8d
mov r13, rcx
mov edi, r8d
add edx, 1
mov ebx, r9d
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0xa8], edx
je 0x14013241d
mov eax, edx
mov esi, 0x40
cmp edx, 0x40
jbe 0x1401323c0
nop dword [rax]
add rsi, rsi
cmp rsi, rax
jb 0x1401323b8
mov eax, dword [0x14014efd4]
test eax, eax
jne 0x140132974
call sym.sqlite3MutexInit
test eax, eax
jne 0x140132a64
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x140132a64
mov rdx, rsi
xor ecx, ecx
call sym.sqlite3Realloc
mov qword [rsp + 0x88], rax
test rax, rax
je 0x140132a64
mov esi, dword [r12 + 0x5c]
test edi, edi
jle 0x14013242e
lea rcx, [rax + 1]
movsxd r8, edi
mov rdx, rbp
call sym.memcpy
jmp 0x14013242e
mov qword [rsp + 0x88], 0
mov esi, dword [r12 + 0x5c]
lea rax, [r13 + 0x3c]
mov r14d, ebx
mov qword [rsp + 0x98], rax
and r14d, 1
test bl, 0x88
je 0x1401325b4
xor esi, esi
test r14d, r14d
je 0x1401324da
xor ecx, ecx
test edi, edi
jle 0x14013249e
xor eax, eax
jmp 0x140132467
add ecx, 1
cmp edi, eax
jle 0x14013249e
movsxd rdx, eax
lea eax, [rax + 1]
cmp byte [rbp + rdx], 0xbf
jbe 0x140132460
cmp edi, eax
jle 0x14013249b
cdqe
nop word [rax + rax]
movsx edx, byte [rbp + rax]
and edx, 0xc0
cmp edx, 0x80
jne 0x140132460
add rax, 1
cmp edi, eax
jg 0x140132480
add ecx, 1
mov r8d, dword [r12 + 0x30]
test r8d, r8d
jle 0x14013297f
mov rax, qword [r12 + 0x38]
xor esi, esi
mov r14d, 1
lea r9d, [rcx + 1]
jmp 0x1401324d4
cmp r9d, edx
cmove esi, r14d
add r14d, 1
add rax, 4
cmp r14d, r8d
jg 0x1401324da
mov edx, dword [rax]
cmp edx, ecx
jne 0x1401324c0
cmp dword [r12 + 0x30], r14d
jl 0x140132981
mov rcx, r13
call sym.fts5StructureRead
mov rdx, qword [rsp + 0x88]
mov rsi, rax
lea eax, [r14 + 0x30]
mov byte [rdx], al
test rsi, rsi
je 0x140132560
lea rax, [rsp + 0xd0]
or ebx, 0x10
mov rdx, rsi
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0xa8]
mov r8d, ebx
mov rcx, r13
mov dword [rsp + 0x30], 0xffffffff
mov r9, qword [rsp + 0x170]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
call sym.fts5MultiIterNew
mov eax, dword [rsi]
sub eax, 1
mov dword [rsi], eax
test eax, eax
jle 0x1401337d9
mov r14, qword [rsp + 0xd0]
mov edx, dword [r13 + 0x3c]
test edx, edx
jne 0x140132a6e
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x88]
mov qword [rax], r14
call sym.sqlite3_free
mov eax, dword [r13 + 0x3c]
mov dword [r13 + 0x3c], 0
movups xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r14d, r14d
jne 0x140132455
test esi, esi
je 0x1401324da
mov rax, qword [rsp + 0x88]
mov rcx, r13
mov byte [rax], 0x30
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
call sym.fts5IndexFlush
mov rcx, r13
call sym.fts5StructureRead
mov r14, rax
mov eax, dword [r13 + 0x3c]
test eax, eax
jne 0x14013363a
xor esi, esi
lea rax, [rsp + 0xe0]
xor ebp, ebp
xor r15d, r15d
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x80], r14
nop
mov rax, qword [rsp + 0x80]
movsxd rax, dword [rax + 0x18]
cmp eax, 2
jle 0x1401332da
mov esi, 2
nop word [rax + rax]
add rsi, rsi
cmp rax, rsi
jg 0x140132650
lea rax, [rsi - 1]
mov rbx, rsi
shl rax, 5
lea rdi, [rsi + rax + 0x3a]
shl rdi, 2
mov eax, dword [0x14014efd4]
test eax, eax
jne 0x1401330e7
call sym.sqlite3MutexInit
test eax, eax
jne 0x1401330f2
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x1401330f2
mov rcx, rdi
call sym.sqlite3Malloc
test rax, rax
je 0x1401330f2
mov r8, rdi
xor edx, edx
mov rcx, rax
shl rbx, 7
call sym.memset
mov dword [rax + 0x48], esi
mov r10, rax
lea rax, [rax + rbx + 0x68]
mov qword [r10 + 0x60], rax
lea rax, [sym.fts5IterSetOutputs_Noop]
mov qword [r10 + 0x20], r13
mov qword [r10 + 0x40], rax
mov qword [rsp + 0x50], r10
test r15, r15
je 0x14013308c
mov rbx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x98]
mov r8d, dword [r15 + 8]
mov r9, qword [r15]
mov dword [rsp + 0xe8], 0
mov rdx, rbx
mov rcx, rsi
call sym.sqlite3Fts5BufferAppendBlob
movsxd rax, dword [rsp + 0xe8]
mov r10, qword [rsp + 0x50]
lea r8d, [rax + 1]
cmp dword [rsp + 0xec], r8d
jae 0x14013274a
mov rdx, rbx
mov rcx, rsi
call sym.sqlite3Fts5BufferSize
mov r10, qword [rsp + 0x50]
test eax, eax
jne 0x14013275d
movsxd rax, dword [rsp + 0xe8]
lea r8d, [rax + 1]
add rax, qword [rsp + 0xe0]
mov byte [rax], 0
mov dword [rsp + 0xe8], r8d
mov r11d, dword [r13 + 0x3c]
test r11d, r11d
jne 0x140133102
mov rax, qword [rsp + 0x80]
lea rcx, [r10 + 0x68]
cmp qword [rsp + 0x90], 0
mov eax, dword [rax + 0x1c]
je 0x1401330c6
mov rsi, qword [rsp + 0x90]
lea r14, [rsi + 0x68]
test eax, eax
jle 0x140132cc9
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], r15
xor r12d, r12d
mov qword [rsp + 0xb0], r10
add rax, 0x24
mov qword [rsp + 0xa0], rbp
mov ebp, r12d
mov dword [rsp + 0xac], r11d
mov r11, rax
nop
mov eax, dword [r11]
sub eax, 1
js 0x140132c89
movsxd r8, eax
mov eax, eax
mov qword [rsp + 0x50], r11
lea rbx, [rcx + 0xc]
lea rsi, [r8*8]
shl rax, 7
mov dword [rsp + 0x78], ebp
sub rsi, r8
lea rax, [rcx + rax + 0x8c]
mov qword [rsp + 0x58], rax
shl rsi, 3
jmp 0x1401328d2
call sym.memcmp
test eax, eax
je 0x140132911
movdqu xmm1, xmmword [r14]
lea rdi, [r14 + 8]
mov rcx, r14
xor eax, eax
and rdi, 0xfffffffffffffff8
movups xmmword [r12], xmm1
movdqu xmm2, xmmword [r14 + 0x10]
sub rcx, rdi
sub ecx, 0xffffff80
movups xmmword [r12 + 0x10], xmm2
movdqu xmm3, xmmword [r14 + 0x20]
shr ecx, 3
movups xmmword [r12 + 0x20], xmm3
movdqu xmm4, xmmword [r14 + 0x30]
movups xmmword [r12 + 0x30], xmm4
movdqu xmm5, xmmword [r14 + 0x40]
movups xmmword [r12 + 0x40], xmm5
movdqu xmm0, xmmword [r14 + 0x50]
movups xmmword [r12 + 0x50], xmm0
movdqu xmm6, xmmword [r14 + 0x60]
movups xmmword [r12 + 0x60], xmm6
movdqu xmm1, xmmword [r14 + 0x70]
movups xmmword [r12 + 0x70], xmm1
mov qword [r14], 0
mov qword [r14 + 0x78], 0
rep stosq qword [rdi], rax
lea rcx, [rbx + 0x74]
mov edi, dword [r13 + 0x3c]
sub r14, 0xffffffffffffff80
test edi, edi
jne 0x140132c80
sub rsi, 0x38
sub rbx, 0xffffffffffffff80
cmp qword [rsp + 0x58], rbx
je 0x140132c80
mov rax, qword [rsp + 0x50]
lea r12, [rbx - 0xc]
mov r15, qword [rax + 4]
add r15, rsi
test r14, r14
je 0x140132c30
mov rax, qword [rsp + 0x60]
mov edi, dword [r14 + 0x68]
mov rdx, qword [r14 + 0x60]
movsxd rbp, dword [rax + 8]
movsxd r8, edi
mov rcx, qword [rax]
cmp ebp, edi
cmovle r8, rbp
test r8d, r8d
jg 0x140132818
cmp ebp, edi
jne 0x140132825
mov rax, qword [r14 + 0x10]
mov edi, dword [rsp + 0xe8]
mov r10, qword [rsp + 0xe0]
mov eax, dword [rax + 0xc]
cmp dword [r14 + 0x44], eax
jg 0x140132aa0
mov qword [rsp + 0x28], r12
mov r8d, edi
mov rdx, r10
mov rcx, r13
mov qword [rsp + 0x20], r15
mov r9d, 0x108
call sym.fts5SegIterSeekInit
mov rax, qword [r14 + 0x28]
mov edi, dword [r13 + 0x3c]
test rax, rax
je 0x14013296b
mov qword [rbx + 0x1c], rax
add dword [rax], 1
lea rcx, [rbx + 0x74]
jmp 0x1401328b3
lock or qword [rsp], 0
jmp 0x1401323e8
xor esi, esi
mov rax, qword [r13]
mov r15d, dword [rax + 0x60]
cmp r15d, 1
je 0x1401334c1
lea rax, [sym.fts5AppendPoslist]
mov dword [rsp + 0x50], 0x78
mov edx, 0x780
mov r15d, 0xf
mov qword [rsp + 0x70], rax
lea rax, [sym.fts5MergePrefixLists]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x98]
call sym.sqlite3Fts5MallocZero
mov rcx, r13
mov qword [rsp + 0x68], rax
call sym.fts5StructureRead
mov r12, rax
mov eax, dword [r13 + 0x3c]
test eax, eax
je 0x140133383
mov r14, qword [rsp + 0xd0]
test r12, r12
je 0x140132a07
mov eax, dword [r12]
sub eax, 1
mov dword [r12], eax
test eax, eax
jle 0x14013364c
mov rcx, qword [rsp + 0x68]
call sym.sqlite3_free
test r14, r14
je 0x140132568
mov r8d, dword [r13 + 0x3c]
test r8d, r8d
jne 0x140132a6e
mov rcx, qword [rsp + 0x98]
mov rdx, r14
call sym.fts5IterSetOutputCb.part.0
mov ecx, dword [r13 + 0x3c]
test ecx, ecx
jne 0x140132a6e
mov rax, qword [r14 + 0x60]
movzx edx, word [rax + 4]
shl rdx, 7
cmp qword [r14 + rdx + 0x78], 0
je 0x140132574
lea rdx, [r14 + rdx + 0x68]
mov rcx, r14
call qword [r14 + 0x40]
jmp 0x140132568
mov eax, 7
jmp 0x140132590
mov rcx, r14
call sym.sqlite3Fts5IterClose
mov rcx, qword [r13 + 0x48]
mov qword [rsp + 0xd0], 0
test rcx, rcx
je 0x140132a98
mov qword [r13 + 0x48], 0
call sym.sqlite3_blob_close
xor r14d, r14d
jmp 0x140132574
mov rbp, qword [r13 + 0x78]
test rbp, rbp
je 0x140132ef0
movsxd r8, dword [r15]
mov edx, 1
mov rcx, rbp
mov qword [rsp + 0x68], r10
call sym.sqlite3_bind_int64
mov dword [rsp + 0x28], 0
mov r8, qword [rsp + 0x68]
mov rcx, rbp
mov qword [rsp + 0x20], 0
lea r9d, [rdi - 1]
mov edx, 2
movsxd r9, r9d
call sym.bindText
mov rcx, rbp
call sym.sqlite3_step
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x68], 0xffffffff
cmp eax, 0x64
je 0x140132fb0
mov rcx, rbp
call sym.sqlite3_reset
mov edx, 1
mov rcx, rbp
mov dword [r13 + 0x3c], eax
call sym.vdbeUnbind
test eax, eax
jne 0x140132b3d
mov rax, qword [rbp]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140132b3d
call qword [0x14014ef10]
mov edi, dword [r13 + 0x3c]
test edi, edi
jne 0x140132c26
lea rdi, [rbx + 8]
mov rcx, rbx
xor eax, eax
mov qword [rbx], 0
and rdi, 0xfffffffffffffff8
mov qword [rbx + 0x6c], 0
sub rcx, rdi
add ecx, 0x74
shr ecx, 3
rep stosq qword [rdi], rax
mov qword [rbx - 0xc], r15
mov dword [rbx - 4], 1
mov eax, dword [rsp + 0x68]
test eax, eax
js 0x140132957
mov r15d, eax
mov rdx, r12
mov rcx, r13
sub r15d, 1
mov dword [rbx], r15d
call sym.fts5SegIterNextPage
test byte [rbx - 4], 2
je 0x140132f88
lea rax, [sym.fts5SegIterNext_Reverse]
mov qword [rbx + 0x24], rax
mov rax, qword [rbx + 4]
test rax, rax
je 0x140132957
mov rcx, qword [rax]
movsxd rax, dword [rax + 0xc]
lea rdx, [rsp + 0xd8]
mov dword [rsp + 0xd8], 0
mov dword [rbx + 0x34], eax
add rcx, rax
mov rdi, rax
call sym.sqlite3Fts5GetVarint32
xor r8d, r8d
mov rdx, r12
mov rcx, r13
add edi, eax
movsxd rax, dword [rsp + 0xd8]
mov dword [rbx + 0x34], edi
mov qword [rbx + 0x14], rax
call sym.fts5SegIterLoadTerm
mov edi, dword [r13 + 0x3c]
test edi, edi
jne 0x140132c1a
mov rcx, qword [r13]
mov rdx, r12
call sym.fts5SegIterLoadNPos.part.0.isra.0
mov eax, dword [rsp + 0x70]
test eax, eax
jne 0x140132fd0
mov rax, qword [r14 + 0x28]
jmp 0x14013295f
mov qword [rsp + 0x28], r12
mov r8d, dword [rsp + 0xe8]
mov rcx, r13
mov r9d, 0x108
mov qword [rsp + 0x20], r15
mov rdx, qword [rsp + 0xe0]
call sym.fts5SegIterSeekInit
mov rax, qword [rbx - 0xc]
mov ebp, dword [rax + 0x20]
test ebp, ebp
jg 0x140132e80
mov edi, dword [r13 + 0x3c]
lea rcx, [rbx + 0x74]
test edi, edi
je 0x1401328bf
nop word [rax + rax]
mov r11, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
add ebp, 1
add r11, 0x10
cmp ebp, dword [rax + 0x1c]
jl 0x1401327d0
cmp qword [rsp + 0x90], 0
mov rbp, qword [rsp + 0xa0]
mov r11d, dword [rsp + 0xac]
mov r15, qword [rsp + 0x60]
mov r10, qword [rsp + 0xb0]
je 0x140132cdc
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x78], 0
je 0x14013328b
mov eax, dword [r13 + 0x3c]
mov rsi, qword [rsp + 0x170]
mov byte [r10 + 0x50], 1
mov qword [r10 + 0x38], rsi
test eax, eax
jne 0x140132d19
mov rcx, qword [rsp + 0x98]
mov rdx, r10
mov dword [rsp + 0x58], r11d
mov qword [rsp + 0x50], r10
call sym.fts5IterSetOutputCb.part.0
mov r11d, dword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
mov r14d, dword [r10 + 0x48]
test r14d, r14d
jle 0x140133102
movsxd rdi, dword [rsp + 0xa8]
xor r15d, r15d
mov qword [rsp + 0x58], rbp
mov r12d, r11d
mov qword [rsp + 0x150], r13
lea rbx, [r10 + 0xc8]
mov r13, r15
mov qword [rsp + 0x50], rdi
mov r14, rdi
mov rdi, r10
jmp 0x140132d83
mov rcx, qword [rbx - 0x50]
call sym.sqlite3_free
mov qword [rbx - 0x50], 0
add r12d, 1
sub rbx, 0xffffffffffffff80
cmp r12d, dword [rdi + 0x48]
jge 0x140132e08
movsxd rsi, dword [rbx + 8]
mov rbp, qword [rbx]
cmp r14d, esi
jg 0x140132d60
mov r15, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x88]
mov rcx, rbp
mov r8, r15
call sym.memcmp
test eax, eax
jne 0x140132d60
cmp r14d, esi
je 0x140132db8
cmp byte [rbp + r15], 0
jne 0x140132d60
cmp qword [rbx - 0x50], 0
je 0x140132d71
test r13, r13
je 0x140133010
mov r15d, dword [r13 + 8]
cmp esi, r15d
movsxd r8, r15d
cmovle r8, rsi
test r8d, r8d
jle 0x140132deb
mov rcx, qword [r13]
mov rdx, rbp
call sym.memcmp
test eax, eax
jne 0x140132df0
mov eax, r15d
sub eax, esi
test eax, eax
cmovg r13, rbx
add r12d, 1
sub rbx, 0xffffffffffffff80
cmp r12d, dword [rdi + 0x48]
jl 0x140132d83
mov r15, r13
mov rbp, qword [rsp + 0x58]
mov r10, rdi
mov r13, qword [rsp + 0x150]
test r15, r15
je 0x140133102
mov r12d, dword [r13 + 0x3c]
test r12d, r12d
je 0x140133066
mov rcx, r10
call sym.sqlite3Fts5IterClose
mov eax, dword [r13 + 0x3c]
test eax, eax
jne 0x14013331e
mov qword [rsp + 0x90], 0
test rbp, rbp
je 0x140132630
nop word [rax + rax]
mov eax, dword [rbp]
sub eax, 1
cdqe
mov rax, qword [rbp + rax*8 + 0x28]
mov qword [rsp + 0x90], rax
jmp 0x140132630
mov eax, dword [r13 + 0x3c]
test eax, eax
jne 0x140132f70
mov r15d, dword [0x14014efd4]
lea edi, [rbp*8 + 0x10]
test r15d, r15d
jne 0x140133020
call sym.sqlite3MutexInit
test eax, eax
jne 0x140133030
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x140133030
movsxd r15, edi
mov rcx, r15
call sym.sqlite3Malloc
mov rcx, rax
test rax, rax
je 0x140133030
mov r8, r15
xor edx, edx
call sym.memset
mov dword [rax + 4], ebp
mov dword [rax], 1
mov qword [rbx + 0x1c], rax
jmp 0x140132c67
mov rax, qword [r13]
lea rcx, str.SELECT_pgno_FROM__q._q_idx_WHERE_segid__AND_term___ORDER_BY_term_ASC_LIMIT_1
mov qword [rsp + 0x68], r10
mov rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
call sym.sqlite3_mprintf
lea rdx, [r13 + 0x78]
mov rcx, r13
mov r8, rax
call sym.fts5IndexPrepareStmt
mov rbp, qword [r13 + 0x78]
mov r10, qword [rsp + 0x68]
test rbp, rbp
jne 0x140132aad
lea rdi, [rbx + 8]
mov rcx, rbx
mov rax, rbp
mov qword [rbx], 0
and rdi, 0xfffffffffffffff8
mov qword [rbx + 0x6c], 0
sub rcx, rdi
add ecx, 0x74
shr ecx, 3
rep stosq qword [rdi], rax
mov qword [rbx - 0xc], r15
mov dword [rbx - 4], 1
jmp 0x140132957
mov r11, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x78]
lea rcx, [rbx + 0x74]
jmp 0x140132c89
mov rax, qword [r13]
cmp dword [rax + 0x60], 1
je 0x140133052
lea rax, [sym.fts5SegIterNext]
mov qword [rbx + 0x24], rax
mov rax, qword [rbx + 4]
jmp 0x140132bb6
xor edx, edx
mov rcx, rbp
call sym.sqlite3_column_int64
mov rdx, rax
and eax, 1
sar rdx, 1
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], edx
jmp 0x140132b0d
mov rax, qword [rbx - 0xc]
mov edx, dword [rbx - 4]
mov r9d, dword [rbx + 0x2c]
mov r8d, dword [rax]
and edx, 2
mov rax, qword [rbx + 4]
cmp r9d, dword [rbx]
jne 0x140132ff6
mov eax, dword [rax + 0xc]
cmp dword [rbx + 0x38], eax
jl 0x140132c26
mov rcx, r13
call sym.fts5DlidxIterInit
mov edi, dword [r13 + 0x3c]
mov qword [rbx + 0x4c], rax
jmp 0x140132c26
mov r13, rbx
jmp 0x140132d71
lock or qword [rsp], 0
jmp 0x140132ebd
test edi, edi
jle 0x140132c67
mov dword [r13 + 0x3c], 7
mov r11, qword [rsp + 0x50]
lea rcx, [rbx + 0x74]
mov ebp, dword [rsp + 0x78]
jmp 0x140132c89
lea rax, [sym.fts5SegIterNext_None]
mov qword [rbx + 0x24], rax
mov rax, qword [rbx + 4]
jmp 0x140132bb6
test rbp, rbp
je 0x1401332ee
movsxd rbx, dword [rbp]
cmp ebx, dword [rbp + 4]
je 0x1401331fa
lea eax, [rbx + 1]
mov dword [rbp], eax
mov qword [rbp + rbx*8 + 0x28], r10
jmp 0x140132e60
mov r9, qword [rsp + 0x88]
mov r8d, dword [rsp + 0xa8]
mov dword [rsp + 0xe8], 0
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x98]
call sym.sqlite3Fts5BufferAppendBlob
mov r10, qword [rsp + 0x50]
jmp 0x14013275d
xor r14d, r14d
test eax, eax
jg 0x14013279c
mov rax, qword [rsp + 0x170]
mov byte [r10 + 0x50], 1
mov qword [r10 + 0x38], rax
jmp 0x140132cf5
lock or qword [rsp], 0
jmp 0x140132694
mov dword [r13 + 0x3c], 7
xor r10d, r10d
jmp 0x1401326d4
mov rcx, r10
mov r14, qword [rsp + 0x80]
call sym.sqlite3Fts5IterClose
mov eax, dword [r13 + 0x3c]
test eax, eax
jne 0x140133326
test rbp, rbp
je 0x1401338ff
mov r10d, dword [rbp]
xor ebx, ebx
test r10d, r10d
jle 0x14013317e
mov rcx, qword [rbp + rbx*8 + 0x28]
movsxd rdx, dword [rcx + 0x48]
test edx, edx
jle 0x14013315d
shl rdx, 7
mov rax, rcx
add rdx, rcx
nop dword [rax]
or dword [rax + 0x70], 1
sub rax, 0xffffffffffffff80
cmp rax, rdx
jne 0x140133150
mov rdx, rcx
mov rcx, r13
add rbx, 1
call sym.fts5MultiIterFinishSetup
cmp dword [rbp], ebx
jg 0x140133132
mov r9d, dword [r13 + 0x3c]
test r9d, r9d
jne 0x140133337
mov rcx, qword [rsp + 0x98]
mov edx, 0x170
call sym.sqlite3Fts5MallocZero
mov rbx, rax
test rax, rax
je 0x140133337
mov dword [rax + 0x48], 2
lea rax, [rax + 0x168]
mov rcx, rbx
mov qword [rbx + 0x60], rax
lea rax, [sym.fts5IterSetOutputs_Noop]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x18], rbp
call sym.fts5IterSetOutputsTokendata
mov rdi, qword [rsp + 0xe0]
mov eax, dword [r14]
sub eax, 1
mov dword [r14], eax
test eax, eax
jle 0x140133698
mov r14, rbx
mov rcx, rdi
call sym.sqlite3_free
mov qword [rsp + 0xd0], r14
jmp 0x140132568
mov edi, dword [0x14014efd4]
add ebx, ebx
lea esi, [rbx*8 + 0x30]
test edi, edi
jne 0x140133306
mov qword [rsp + 0x50], r10
call sym.sqlite3MutexInit
mov r10, qword [rsp + 0x50]
test eax, eax
jne 0x140133311
mov qword [rsp + 0x50], r10
call sym.sqlite3_initialize.part.0
mov r10, qword [rsp + 0x50]
test eax, eax
jne 0x140133311
xor edx, edx
test esi, esi
mov rcx, rbp
mov qword [rsp + 0x50], r10
cmovns edx, esi
movsxd rdx, edx
call sym.sqlite3Realloc
mov r10, qword [rsp + 0x50]
test rax, rax
mov rdi, rax
je 0x140133311
test rbp, rbp
je 0x140133681
mov r11d, dword [r13 + 0x3c]
mov dword [rdi + 4], ebx
test r11d, r11d
jne 0x140133a0f
movsxd rbx, dword [rdi]
mov rbp, rdi
jmp 0x14013307c
mov rax, qword [rsp + 0x90]
mov r9, qword [r15]
mov qword [rsp + 0x60], r10
mov r8d, dword [r15 + 8]
mov dword [rsp + 0x58], r11d
mov rsi, qword [rax + 0x20]
lea rdx, [rax + 0xc8]
mov dword [rax + 0xd0], 0
lea rcx, [rsi + 0x3c]
mov qword [rsp + 0x50], rsi
call sym.sqlite3Fts5BufferAppendBlob
mov eax, dword [r13 + 0x3c]
mov r10, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x58]
jmp 0x140132ce0
mov edi, 0x170
mov ebx, 2
mov esi, 2
jmp 0x14013266c
mov edi, dword [0x14014efd4]
mov esi, 0xb0
mov ebx, 0x10
test edi, edi
je 0x140133211
lock or qword [rsp], 0
jmp 0x14013323f
mov dword [r13 + 0x3c], 7
jmp 0x140132e31
mov r14, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xe0]
test rbp, rbp
je 0x140133645
mov r8d, dword [rbp]
xor ebx, ebx
test r8d, r8d
jle 0x14013335a
mov rcx, qword [rbp + rbx*8 + 0x28]
test rcx, rcx
je 0x140133351
call sym.fts5MultiIterFree.part.0
add rbx, 1
cmp dword [rbp], ebx
jg 0x140133342
mov rcx, qword [rbp + 0x18]
xor ebx, ebx
call sym.sqlite3_free
mov rcx, qword [rbp + 0x10]
call sym.sqlite3_free
mov rcx, rbp
call sym.sqlite3_free
mov rdi, qword [rsp + 0xe0]
jmp 0x1401331d1
pxor xmm0, xmm0
xor ebp, ebp
lea rdi, [rsp + 0xd8]
mov qword [rsp + 0xd8], 0
mov dword [rsp + 0xc8], 1
movups xmmword [rsp + 0xe0], xmm0
test esi, esi
jne 0x140133540
add esi, 0x30
mov r8d, 0x38
mov rdx, r12
mov rcx, r13
mov rax, qword [rsp + 0x88]
mov r9, qword [rsp + 0x170]
mov byte [rax], sil
mov esi, dword [rsp + 0xa8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], esi
movsxd rsi, r15d
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0xffffffff
call sym.fts5MultiIterNew
mov eax, dword [r13 + 0x3c]
mov qword [rsp + 0x78], rsi
mov r10, qword [rsp + 0xd8]
test eax, eax
je 0x1401334eb
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
mov qword [rsp + 0x70], r12
xor r14d, r14d
mov qword [rsp + 0x78], r10
pxor xmm6, xmm6
shl rbp, 4
mov r9, rsi
mov dword [rsp + 0x168], ebx
lea rdi, [rbp + rsi]
lea rsi, [rsp + 0xe0]
mov rbx, r9
mov qword [rsp + 0x60], rsi
mov rsi, rbp
mov ebp, r14d
test eax, eax
jne 0x14013347d
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov r9, rbx
mov r8d, r15d
mov rcx, r13
call rax
add r14d, r15d
mov r12, rbx
cmp ebp, r14d
jge 0x1401334a8
nop dword [rax + rax]
mov rcx, qword [r12]
add r12, 0x10
call sym.sqlite3_free
movups xmmword [r12 - 0x10], xmm6
cmp r12, rdi
jne 0x140133490
mov eax, dword [rsp + 0x50]
add rbx, rsi
add rdi, rsi
cmp r14d, eax
jge 0x1401336ca
mov eax, dword [r13 + 0x3c]
jmp 0x140133461
lea rax, [sym.fts5AppendRowid]
mov dword [rsp + 0x50], 0x20
mov edx, 0x200
mov qword [rsp + 0x70], rax
lea rax, [sym.fts5MergeRowidLists]
mov qword [rsp + 0x58], rax
jmp 0x1401329be
mov rcx, qword [rsp + 0x98]
mov rdx, r10
mov qword [rsp + 0x60], r10
call sym.fts5IterSetOutputCb.part.0
mov eax, dword [r13 + 0x3c]
mov r10, qword [rsp + 0x60]
test eax, eax
jne 0x140133420
mov qword [rsp + 0x60], r12
mov rdi, r10
mov dword [rsp + 0x168], ebx
cmp byte [rdi + 0x14], 0
je 0x140133809
mov r12, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x168]
mov r10, rdi
xor eax, eax
jmp 0x140133420
mov edx, dword [rsp + 0xa8]
mov r8d, 0x30
mov rcx, r13
mov rax, qword [rsp + 0x88]
mov r9, qword [rsp + 0x170]
mov dword [rsp + 0xcc], 0
mov byte [rax], 0x30
mov dword [rsp + 0x28], edx
mov rdx, r12
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0xffffffff
call sym.fts5MultiIterNew
mov eax, dword [r13 + 0x3c]
mov r14, qword [rsp + 0xd8]
test eax, eax
jne 0x1401338ef
mov rcx, qword [rsp + 0x98]
mov rdx, r14
call sym.fts5IterSetOutputCb.part.0
mov eax, dword [r13 + 0x3c]
test eax, eax
jne 0x1401338ef
cmp byte [r14 + 0x14], 0
jne 0x14013362d
mov rax, qword [r14 + 0x60]
mov rcx, r14
movzx eax, word [rax + 4]
shl rax, 7
lea rdx, [r14 + rax + 0x68]
call qword [r14 + 0x40]
mov r11d, dword [r14 + 0x10]
test r11d, r11d
je 0x14013360a
mov rdx, qword [r14]
mov rax, qword [rsp + 0x70]
mov r8, r14
mov rcx, r13
lea r9, [rsp + 0xe0]
sub rdx, rbp
call rax
mov rbp, qword [r14]
mov eax, dword [r13 + 0x3c]
test eax, eax
jne 0x14013362d
lea r8, [rsp + 0xcc]
mov rdx, r14
mov rcx, r13
call sym.fts5MultiIterNext2.part.0
mov eax, dword [r13 + 0x3c]
test eax, eax
je 0x1401335c4
mov rcx, r14
call sym.fts5MultiIterFree.part.0
jmp 0x1401333b8
xor edi, edi
test r14, r14
je 0x1401331e5
xor ebx, ebx
jmp 0x1401331d1
mov r9d, dword [r12 + 0x1c]
xor ebx, ebx
test r9d, r9d
jle 0x140133674
mov rax, rbx
add rbx, 1
shl rax, 4
mov rcx, qword [r12 + rax + 0x28]
call sym.sqlite3_free
cmp dword [r12 + 0x1c], ebx
jg 0x140133658
mov rcx, r12
call sym.sqlite3_free
jmp 0x140132a07
movsxd r8, esi
xor edx, edx
mov rcx, rax
call sym.memset
mov r10, qword [rsp + 0x50]
jmp 0x140133270
mov ecx, dword [r14 + 0x1c]
xor esi, esi
test ecx, ecx
jle 0x1401336bd
mov rax, rsi
add rsi, 1
shl rax, 4
mov rcx, qword [r14 + rax + 0x28]
call sym.sqlite3_free
cmp dword [r14 + 0x1c], esi
jg 0x1401336a2
mov rcx, r14
call sym.sqlite3_free
jmp 0x1401331e2
mov r10, qword [rsp + 0x78]
mov r12, qword [rsp + 0x70]
mov ebx, dword [rsp + 0x168]
test r10, r10
je 0x1401336e8
mov rcx, r10
call sym.fts5MultiIterFree.part.0
movsxd rdx, dword [rsp + 0xe8]
mov rcx, qword [rsp + 0x98]
add rdx, 0x18
call sym.sqlite3Fts5MallocZero
mov r14, qword [rsp + 0xd0]
mov rsi, rax
test rax, rax
je 0x1401337c7
movsxd r8, dword [rsp + 0xe8]
lea rcx, [rax + 0x10]
mov qword [rax], rcx
movd xmm4, r8d
pshufd xmm0, xmm4, 0xe0
movq qword [rax + 8], xmm0
test r8d, r8d
jne 0x1401339c3
mov rcx, qword [rsp + 0x98]
mov edx, 0x170
call sym.sqlite3Fts5MallocZero
mov r14, rax
test rax, rax
je 0x1401339b6
mov dword [rax + 0x48], 2
mov edi, dword [rsi + 0xc]
lea rax, [rax + 0x168]
mov qword [r14 + 0x60], rax
lea rax, [sym.fts5IterSetOutputs_Noop]
mov qword [r14 + 0x20], r13
mov qword [r14 + 0x40], rax
mov dword [r14 + 0xf0], 1
test edi, edi
jg 0x140133953
mov byte [r14 + 0x14], 1
mov rbx, qword [r13]
cmp dword [rbx + 0x60], 1
lea rax, [sym.fts5SegIterNext_None]
lea rdx, [sym.fts5SegIterNext]
cmovne rax, rdx
mov qword [r14 + 0x118], rax
mov qword [rsp + 0xd0], r14
mov rcx, rsi
call sym.sqlite3_free
mov rcx, qword [rsp + 0xe0]
call sym.sqlite3_free
jmp 0x1401329ef
mov edx, dword [rsi + 0x1c]
xor ebx, ebx
test edx, edx
jle 0x1401337fc
mov rax, rbx
add rbx, 1
shl rax, 4
mov rcx, qword [rsi + rax + 0x28]
call sym.sqlite3_free
cmp dword [rsi + 0x1c], ebx
jg 0x1401337e2
mov rcx, rsi
call sym.sqlite3_free
jmp 0x140132560
mov rax, qword [rdi + 0x60]
mov rcx, rdi
movzx edx, word [rax + 4]
mov rax, rdx
shl rdx, 7
add rdx, rdi
shl rax, 7
mov r14d, dword [rdx + 0xd0]
mov rsi, qword [rdx + 0xc8]
lea rdx, [rdi + rax + 0x68]
call qword [rdi + 0x40]
mov r12d, dword [rsp + 0xc8]
test r12d, r12d
je 0x140133870
mov eax, dword [rsp + 0xa8]
cmp eax, r14d
jg 0x140133b47
mov rcx, qword [rsp + 0x88]
movsxd r8, eax
mov rdx, rsi
call sym.memcmp
test eax, eax
jne 0x140133b47
mov r10d, dword [rdi + 0x10]
test r10d, r10d
je 0x1401338b4
mov rax, qword [rdi]
cmp rax, rbp
jg 0x140133890
mov edx, dword [rsp + 0xe8]
test edx, edx
jg 0x140133a30
mov rcx, rbp
lea rbp, [rsp + 0xe0]
sub rax, rcx
mov r9, rbp
mov r8, rdi
mov rcx, r13
mov rdx, rax
mov rax, qword [rsp + 0x70]
call rax
mov rbp, qword [rdi]
mov eax, dword [r13 + 0x3c]
test eax, eax
jne 0x1401338db
lea r8, [rsp + 0xc8]
mov rdx, rdi
mov rcx, r13
call sym.fts5MultiIterNext2.part.0
mov eax, dword [r13 + 0x3c]
test eax, eax
je 0x140133520
mov r12, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x168]
mov r10, rdi
jmp 0x140133420
xor ebp, ebp
test r14, r14
je 0x1401333b8
jmp 0x14013362d
mov rcx, qword [rsp + 0x98]
mov edx, 0x170
call sym.sqlite3Fts5MallocZero
mov rbx, rax
test rax, rax
je 0x140133946
lea rax, [rbx + 0x168]
mov dword [rbx + 0x48], 2
mov qword [rbx + 0x60], rax
lea rax, [sym.fts5IterSetOutputs_Noop]
mov qword [rbx + 0x20], r13
mov qword [rbx + 0x40], rax
mov qword [rbx + 0x18], 0
mov byte [rbx + 0x14], 1
mov rdi, qword [rsp + 0xe0]
jmp 0x1401331d1
mov qword [r14 + 0xf8], rsi
mov rcx, qword [rsi]
lea rdx, [r14 + 0x158]
lea rdi, [r14 + 0xe8]
call sym.sqlite3Fts5GetVarint
mov r11d, 1
and ebx, 2
movzx eax, al
mov qword [r14 + 0x108], rax
mov eax, dword [rsi + 8]
mov word [r14 + 0x16c], r11w
mov dword [r14 + 0x12c], eax
jne 0x1401339d5
mov r10d, dword [r13 + 0x3c]
mov rbx, qword [r13]
test r10d, r10d
jne 0x1401339af
mov rdx, rdi
mov rcx, rbx
call sym.fts5SegIterLoadNPos.part.0.isra.0
xor esi, esi
jmp 0x14013379a
mov r14, qword [rsp + 0xd0]
jmp 0x1401337bf
mov rdx, qword [rsp + 0xe0]
call sym.memcpy
jmp 0x14013373c
mov dword [r14 + 0x4c], 1
mov rdx, rdi
mov rcx, r13
mov dword [r14 + 0xf0], 3
call sym.fts5SegIterReverseInitPage
test byte [r14 + 0xf0], 2
je 0x140133b3c
lea rax, [sym.fts5SegIterNext_Reverse]
xor esi, esi
jmp 0x1401337b0
mov rcx, r10
call sym.sqlite3Fts5IterClose
cmp dword [r13 + 0x3c], 0
jne 0x140133b5f
mov rbp, rdi
jmp 0x140132e60
mov r9d, dword [r13 + 0x3c]
test r9d, r9d
jne 0x140133b18
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
mov ebx, r15d
xor r14d, r14d
lea rbp, [rsp + 0xe0]
shl r12, 4
cmp r14d, ebx
jge 0x140133ae8
mov rax, rsi
mov ecx, r14d
jmp 0x140133a75
add ecx, 1
add rax, 0x10
cmp ecx, ebx
je 0x140133aea
mov r8d, dword [rax + 8]
test r8d, r8d
jne 0x140133a6a
movdqu xmm3, xmmword [rax]
mov r8, qword [rsp + 0xe0]
movd xmm0, edx
movd xmm2, dword [rsp + 0xec]
movups xmmword [rsp + 0xe0], xmm3
punpckldq xmm0, xmm2
mov qword [rax], r8
movq qword [rax + 8], xmm0
mov dword [rsp + 0xe8], 0
cmp ecx, ebx
je 0x140133b27
lea rax, [rsi + r12]
mov rsi, rax
mov eax, dword [r13 + 0x3c]
add r14d, r15d
add ebx, r15d
test eax, eax
jne 0x140133ade
mov edx, dword [rsp + 0xe8]
test edx, edx
jne 0x140133a59
mov rax, qword [rdi]
xor ecx, ecx
jmp 0x14013389b
jne 0x140133aba
mov rax, qword [rsp + 0x58]
mov r9, rsi
mov r8d, r15d
mov rdx, rbp
mov rcx, r13
call rax
cmp r14d, ebx
jge 0x140133aba
lea rax, [rsi + r12]
mov dword [rsi + 8], 0
add rsi, 0x10
cmp rsi, rax
jne 0x140133b06
jmp 0x140133abe
xor ecx, ecx
lea rbp, [rsp + 0xe0]
jmp 0x14013389b
mov rax, qword [rsp + 0x58]
mov r9, rsi
mov r8d, r15d
mov rdx, rbp
mov rcx, r13
call rax
jmp 0x140133b02
mov rbx, qword [r13]
xor esi, esi
jmp 0x14013379a
mov r12, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x168]
mov r10, rdi
mov eax, dword [r13 + 0x3c]
jmp 0x140133420
mov r14, qword [rsp + 0x80]
mov rbp, rdi
jmp 0x140133326