Function at 0x140193240
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, 0x68
mov eax, dword [rdx]
mov qword [rdx + 4], 0
mov r12, rcx
mov r13, rdx
cmp eax, 4
je 0x140193358
cmp eax, 9
je 0x140193358
cmp qword [rdx + 0x10], 0
je 0x140193338
mov edx, dword [rdx + 0x28]
test edx, edx
jle 0x140193560
mov ebx, 1
xor edi, edi
mov rsi, qword [r13 + rbx*8 + 0x28]
mov rcx, r12
mov rdx, rsi
call sym.fts5ExprNodeFirst
mov edx, dword [r13 + 0x28]
add edi, dword [rsi + 4]
cmp edx, ebx
setg r8b
test eax, eax
sete cl
add rbx, 1
test r8b, cl
jne 0x14019328f
mov r8, qword [r13 + 0x30]
mov rcx, qword [r8 + 0x18]
mov qword [r13 + 0x18], rcx
mov ecx, dword [r13]
cmp ecx, 1
je 0x140193518
cmp ecx, 2
je 0x1401934b0
mov edx, dword [r8 + 4]
mov dword [r13 + 4], edx
test eax, eax
jne 0x140193342
mov r9d, dword [r13 + 4]
test r9d, r9d
jne 0x140193340
mov eax, dword [r13]
cmp eax, 4
je 0x140193590
jg 0x1401934f0
cmp eax, 1
je 0x1401935f8
cmp eax, 2
jne 0x1401935d8
mov rdx, r13
mov rcx, r12
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.fts5ExprNodeTest_AND
mov dword [r13 + 4], 1
xor eax, eax
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, qword [r13 + 0x20]
mov edx, dword [rbx + 0x10]
mov qword [rsp + 0x40], rbx
test edx, edx
jle 0x140193499
mov qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rax + rbx*8 + 0x18]
mov eax, dword [rdi + 0x18]
mov qword [rsp + 0x58], rdi
test eax, eax
je 0x140193338
lea rbx, [rdi + 0x20]
mov dword [rsp + 0x4c], 0
mov qword [rsp + 0x38], rbx
jle 0x140193482
mov r15, qword [rsp + 0x38]
xor ebx, ebx
nop
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x1401933e0
mov rsi, qword [rcx + 0x18]
call sym.fts5MultiIterFree.part.0
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x1401933d8
mov qword [rsi + 0x40], 0
call sym.sqlite3_blob_close
mov qword [r15 + 0x10], 0
mov rax, qword [rsp + 0x40]
mov r10d, dword [r12 + 0x18]
xor ebp, ebp
lea rsi, [r15 + 0x10]
mov rdi, qword [rax + 8]
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0
setne bpl
test r10d, r10d
je 0x140193408
or ebp, 2
mov r14, qword [r15 + 8]
mov rcx, r14
call sym.strlen
mov qword [rsp + 0x28], rsi
mov r9d, ebp
mov rdx, r14
mov qword [rsp + 0x20], rdi
mov rcx, qword [r12]
mov r8d, eax
call sym.sqlite3Fts5IndexQuery
test eax, eax
jne 0x140193342
mov rax, qword [r15 + 0x10]
mov r15, qword [r15 + 0x18]
cmp byte [rax + 0x14], 0
mov eax, 1
cmove ebx, eax
test r15, r15
jne 0x1401933b0
test ebx, ebx
je 0x140193338
mov rdx, qword [rsp + 0x58]
add dword [rsp + 0x4c], 1
add qword [rsp + 0x38], 0x20
mov eax, dword [rsp + 0x4c]
cmp eax, dword [rdx + 0x18]
jl 0x1401933a7
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0x10]
add qword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
cmp edx, eax
jg 0x140193375
mov eax, dword [r13]
mov dword [r13 + 4], 0
jmp 0x1401932f5
test edi, edi
jle 0x1401932e4
mov rcx, qword [0x14033d650]
mov qword [r13 + 4], rcx
test edx, edx
jle 0x1401932e4
xor ebx, ebx
mov rcx, qword [r13 + rbx*8 + 0x30]
mov dword [rsp + 0x38], eax
add rbx, 1
call sym.fts5ExprSetEof
cmp dword [r13 + 0x28], ebx
mov eax, dword [rsp + 0x38]
jg 0x1401934cd
jmp 0x1401932e4
cmp eax, 9
jne 0x1401935d8
mov rdx, r13
mov rcx, r12
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.fts5ExprNodeTest_STRING
cmp edx, edi
jne 0x1401932e4
mov rdx, qword [0x14033d650]
mov qword [r13 + 4], rdx
test edi, edi
jle 0x1401932e4
xor ebx, ebx
mov rcx, qword [r13 + rbx*8 + 0x30]
mov dword [rsp + 0x38], eax
add rbx, 1
call sym.fts5ExprSetEof
cmp dword [r13 + 0x28], ebx
mov eax, dword [rsp + 0x38]
jg 0x140193535
jmp 0x1401932e4
mov rcx, qword [r13 + 0x30]
mov r8, qword [rcx + 0x18]
mov qword [r13 + 0x18], r8
cmp eax, 1
je 0x14019360a
cmp eax, 2
je 0x1401932e8
mov eax, dword [rcx + 4]
mov dword [r13 + 4], eax
jmp 0x1401932e8
mov rax, qword [r13 + 0x20]
mov r8, qword [r12 + 8]
mov rdx, qword [rax + 0x18]
mov r8d, dword [r8 + 0x5c]
mov rax, qword [rdx + 0x30]
mov ecx, dword [rax + 0x10]
mov dword [rdx + 0x10], ecx
test r8d, r8d
jne 0x1401935b8
mov r8, qword [rax + 8]
mov qword [rdx + 8], r8
mov rax, qword [rax]
mov qword [r13 + 0x18], rax
xor eax, eax
test ecx, ecx
sete al
mov dword [r13 + 8], eax
xor eax, eax
jmp 0x140193342
mov rdx, r13
mov rcx, r12
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.fts5ExprNodeTest_NOT
mov rdx, r13
mov rcx, r12
call sym.fts5ExprNodeTest_OR
xor eax, eax
jmp 0x140193342
test edx, edx
jne 0x1401932e8
mov rax, qword [0x14033d650]
mov qword [r13 + 4], rax
jmp 0x1401932e8