Function at 0x5e7980
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, 0xc8
lea rax, [sym.fts3SegReaderDoclistCmp]
mov edi, dword [rdx + 8]
cmp byte [rcx + 0x1cf], 0
mov qword [rsp + 0x118], rdx
lea rdx, [sym.fts3SegReaderDoclistCmpRev]
cmovne rax, rdx
mov qword [rsp + 0x110], rcx
mov dword [rsp + 0x84], edi
mov qword [rsp + 0x58], rax
test edi, edi
je 0x5e7c20
mov rax, qword [rsp + 0x118]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x70], rax
mov eax, dword [rax + 0x10]
mov edi, eax
mov dword [rsp + 0x98], eax
and edi, 2
mov dword [rsp + 0x94], edi
mov edi, eax
and edi, 1
mov dword [rsp + 0x60], edi
mov edi, eax
and edi, 4
mov dword [rsp + 0x64], edi
mov edi, eax
and edi, 8
mov dword [rsp + 0x9c], edi
mov edi, eax
and eax, 0x20
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x118]
and edi, 0x10
mov dword [rsp + 0x90], edi
mov r15d, dword [rax + 0xc]
mov r13, qword [rax]
mov eax, dword [rsp + 0x84]
mov r14d, r15d
sub eax, 2
add rax, 2
mov qword [rsp + 0x88], rax
test r14d, r14d
jle 0x5e7ab0
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
xor ebx, ebx
jmp 0x5e7a85
mov rcx, rdx
call dbg.fts3SegReaderSetEof
mov r14d, dword [rsi + 0xc]
add rbx, 1
cmp r14d, ebx
jle 0x5e7ab0
mov rdx, qword [r13 + rbx*8]
cmp byte [rdx + 4], 0
jne 0x5e7a70
mov rcx, rdi
call sym.fts3SegReaderNext.constprop.0
test eax, eax
je 0x5e7a78
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [rsp + 0x84]
lea r9, [dbg.fts3SegReaderCmp]
mov r8d, r14d
mov rcx, r13
call dbg.fts3SegReaderSort
mov r12, qword [r13]
mov rax, qword [rsp + 0x118]
cmp qword [r12 + 0x28], 0
mov dword [rax + 0xc], 0
je 0x5e7c20
mov ebx, dword [r12 + 0x48]
mov rsi, qword [r12 + 0x50]
mov r8d, dword [rsp + 0x90]
mov dword [rax + 0x40], ebx
mov qword [rax + 0x38], rsi
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax]
test r8d, r8d
jne 0x5e7b41
test rdx, rdx
je 0x5e7b41
movsxd r8, dword [rax + 8]
cmp ebx, r8d
jl 0x5e7c20
jle 0x5e7b31
mov ecx, dword [rsp + 0x9c]
test ecx, ecx
je 0x5e7c20
mov rcx, rsi
call sym.memcmp
test eax, eax
jne 0x5e7c20
cmp dword [rsp + 0x84], 1
jle 0x5e829b
mov r15, qword [rsp + 0x88]
mov ebp, 1
movsxd rdi, ebx
jmp 0x5e7b91
cmp ebx, dword [rax + 0x48]
jne 0x5e7ba0
mov rdx, qword [rax + 0x50]
mov r8, rdi
mov rcx, rsi
call sym.memcmp
test eax, eax
jne 0x5e7ba0
add rbp, 1
add r14d, 1
cmp r15, rbp
je 0x5e7c27
mov rax, qword [r13 + rbp*8]
mov r14d, ebp
cmp qword [rax + 0x28], 0
jne 0x5e7b68
cmp r14d, 1
sete al
mov edx, dword [rsp + 0x94]
test edx, edx
sete byte [rsp + 0x6b]
test byte [rsp + 0x98], 0x22
jne 0x5e7c35
test al, al
je 0x5e7c35
mov rdi, qword [rsp + 0x110]
mov rax, qword [r12 + 0x40]
cmp byte [rdi + 0x1cf], 0
je 0x5e81a2
test rax, rax
jne 0x5e8214
mov eax, dword [r12 + 0x68]
mov rdi, qword [rsp + 0x118]
mov r8, qword [r12 + 0x60]
mov dword [rdi + 0x50], eax
mov rax, qword [rsp + 0x118]
mov qword [rax + 0x48], r8
mov rax, qword [rsp + 0x118]
mov dword [rax + 0xc], 1
mov eax, 0x64
jmp 0x5e7a9c
xor eax, eax
jmp 0x5e7a9c
mov eax, dword [rsp + 0x94]
test eax, eax
sete byte [rsp + 0x6b]
lea rsi, [r13 + 8]
lea eax, [r14 - 1]
mov rdi, qword [rsp + 0x110]
mov rdx, r12
lea rbx, [rsi + rax*8]
jmp 0x5e7c57
mov rdx, qword [rsi]
add rsi, 8
movzx ecx, byte [rdi + 0x1cf]
call sym.fts3SegReaderFirstDocid.isra.0
cmp rbx, rsi
jne 0x5e7c50
mov r9, qword [rsp + 0x58]
mov edx, r14d
mov r8d, r14d
mov rcx, r13
call dbg.fts3SegReaderSort
mov rdx, qword [r13]
cmp qword [rdx + 0x70], 0
je 0x5e7f27
mov rax, qword [rsp + 0x110]
mov dword [rsp + 0x2c], 0
mov qword [rsp + 0x40], 0
lea rdi, [rax + 0x1cf]
lea rax, [rsp + 0xac]
mov dword [rsp + 0x3c], r14d
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x50], rax
lea eax, [r14 - 2]
lea r12, [rax + 2]
nop dword [rax]
mov r9, qword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0xb0], 0
mov dword [rsp + 0xac], 0
mov rsi, qword [rdx + 0x80]
call sym.fts3SegReaderNextDocid.isra.0
cmp dword [rsp + 0x3c], 1
je 0x5e820a
mov ebp, 1
jmp 0x5e7d43
cmp qword [rdx + 0x80], rsi
jne 0x5e7d51
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
add rbp, 1
call sym.fts3SegReaderNextDocid.isra.0
add ebx, 1
cmp r12, rbp
je 0x5e7d51
mov rdx, qword [r13 + rbp*8]
mov ebx, ebp
cmp qword [rdx + 0x70], 0
jne 0x5e7d20
mov eax, dword [rsp + 0x64]
test eax, eax
jne 0x5e7fe0
cmp byte [rsp + 0x6b], 0
jne 0x5e7d73
mov eax, dword [rsp + 0xac]
test eax, eax
jle 0x5e7ef3
mov rax, qword [rsp + 0x110]
cmp byte [rax + 0x1cf], 0
je 0x5e7fb8
mov r15d, dword [rsp + 0x2c]
test r15d, r15d
jle 0x5e7fcd
mov rax, qword [rsp + 0x40]
cmp rsi, rax
jge 0x5e8200
mov r15, rax
sub r15, rsi
mov rax, r15
xor edx, edx
nop
add edx, 1
shr rax, 7
jne 0x5e7db0
mov ebp, dword [rsp + 0x60]
test ebp, ebp
je 0x5e7dcc
mov eax, dword [rsp + 0xac]
lea edx, [rdx + rax + 1]
movsxd rbp, dword [rsp + 0x2c]
mov rax, qword [rsp + 0x118]
movsxd rdx, edx
mov rcx, qword [rax + 0x18]
lea rdx, [rdx + rbp + 0x14]
cmp rdx, qword [rax + 0x20]
jg 0x5e8098
mov r11d, dword [rsp + 0x6c]
lea rax, [rcx + rbp]
mov qword [rsp + 0x30], rax
test r11d, r11d
je 0x5e8000
mov rax, qword [rsp + 0xb0]
movsxd rdx, dword [rsp + 0xac]
mov dword [rsp + 0x38], 0
xor ebp, ebp
movzx ecx, byte [rax]
add rdx, rax
mov r11, rdx
cmp cl, 1
je 0x5e8128
cmp cl, 2
je 0x5e8140
test cl, 0xfe
je 0x5e7e56
add rax, 1
mov edx, ecx
movzx ecx, byte [rax]
and edx, 0xffffff80
or edx, ecx
and edx, 0xfe
jne 0x5e7e40
cmp r11, rax
jbe 0x5e7ecd
mov qword [rsp + 0x78], r15
lea rdx, [rsp + 0xb8]
mov r14, r11
mov dword [rsp + 0x80], ebx
mov rbx, qword [rsp + 0x30]
nop word [rax + rax]
lea r15, [rax + 1]
mov rcx, r15
call dbg.sqlite3Fts3GetVarintU
cdqe
add rax, r15
movzx ecx, byte [rax]
cmp cl, 2
je 0x5e7f40
test cl, 0xfe
je 0x5e7ec1
nop word [rax + rax]
and ecx, 0xffffff80
add rax, 1
mov r8d, ecx
movzx ecx, byte [rax]
or r8d, ecx
and r8d, 0xfe
jne 0x5e7ea8
cmp r14, rax
ja 0x5e7e80
mov ebx, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x38]
test r8d, r8d
je 0x5e7ee6
mov rcx, qword [rsp + 0x30]
movsxd rax, ebp
add ebp, 1
mov byte [rcx + rax], 0
test ebp, ebp
je 0x5e7ef3
add dword [rsp + 0x2c], ebp
mov qword [rsp + 0x40], rsi
mov edx, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x58]
mov r8d, ebx
mov rcx, r13
call dbg.fts3SegReaderSort
mov rdx, qword [r13]
cmp qword [rdx + 0x70], 0
jne 0x5e7cd8
mov edx, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x3c]
test edx, edx
jg 0x5e8230
mov rax, qword [rsp + 0x118]
mov dword [rax + 0xc], r14d
jmp 0x5e7a53
mov r10d, dword [rsp + 0x38]
movsxd r9, ebp
add r9, rbx
test r10d, r10d
je 0x5e80e0
add ebp, 1
mov byte [r9], 1
mov rcx, qword [rsp + 0xb8]
movsxd r15, ebp
add r15, rbx
mov r8, r15
nop dword [rax]
mov r9d, ecx
mov r11, r8
mov r10d, ecx
add r8, 1
or r9d, 0xffffff80
shr rcx, 7
mov byte [r8 - 1], r9b
jne 0x5e7f70
sub r8, r15
and r10d, 0x7f
mov dword [rsp + 0x38], 1
add r8d, ebp
mov byte [r11], r10b
lea ebp, [r8 + 1]
movsxd r8, r8d
mov byte [rbx + r8], 2
movzx ecx, byte [rax]
jmp 0x5e7e9d
mov r14d, dword [rsp + 0x2c]
test r14d, r14d
jle 0x5e7fcd
cmp rsi, qword [rsp + 0x40]
jle 0x5e8200
mov r15, rsi
sub r15, qword [rsp + 0x40]
jmp 0x5e7daa
mov rax, qword [rsp + 0x70]
mov r9, qword [rsp + 0x48]
xor edx, edx
mov r8, qword [rsp + 0x50]
mov ecx, dword [rax + 0xc]
call dbg.fts3ColumnFilter
jmp 0x5e7d5d
mov rax, qword [rsp + 0x30]
nop dword [rax]
mov edx, r15d
mov r8, rax
mov ecx, r15d
add rax, 1
or edx, 0xffffff80
shr r15, 7
mov byte [rax - 1], dl
jne 0x5e8008
and ecx, 0x7f
sub rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rsi
mov byte [r8], cl
mov ecx, dword [rsp + 0x60]
add dword [rsp + 0x2c], eax
test ecx, ecx
je 0x5e7ef3
movsxd rcx, dword [rsp + 0x2c]
mov rax, qword [rsp + 0x118]
mov rdx, qword [rsp + 0xb0]
movsxd r8, dword [rsp + 0xac]
mov rsi, rcx
add rcx, qword [rax + 0x18]
call sym.memcpy
mov eax, dword [rsp + 0xac]
add eax, esi
lea esi, [rax + 1]
cdqe
mov dword [rsp + 0x2c], esi
mov rsi, qword [rsp + 0x118]
mov rdx, qword [rsi + 0x18]
mov byte [rdx + rax], 0
jmp 0x5e7ef3
lea r14, [rdx + rdx]
mov qword [rsp + 0x30], rcx
mov qword [rax + 0x20], r14
call sym.sqlite3_initialize
mov rcx, qword [rsp + 0x30]
test eax, eax
jne 0x5e8198
mov rdx, r14
call sym.sqlite3Realloc
mov rcx, rax
test rax, rax
je 0x5e8198
mov rax, qword [rsp + 0x118]
mov qword [rax + 0x18], rcx
jmp 0x5e7def
mov rcx, qword [rsp + 0x78]
mov r8, r9
nop dword [rax + rax]
mov r10d, ecx
mov r15, r8
mov r11d, ecx
add r8, 1
or r10d, 0xffffff80
shr rcx, 7
mov byte [r8 - 1], r10b
jne 0x5e80f0
sub r8, r9
and r11d, 0x7f
add ebp, r8d
mov byte [r15], r11b
movsxd r9, ebp
add r9, rbx
jmp 0x5e7f54
cmp rax, rdx
jb 0x5e7e5b
jmp 0x5e7ef3
mov rcx, qword [rsp + 0x30]
mov rdx, r15
nop dword [rax + rax]
mov r8d, edx
mov r10, rcx
mov r9d, edx
add rcx, 1
or r8d, 0xffffff80
shr rdx, 7
mov byte [rcx - 1], r8b
jne 0x5e8150
mov rdx, qword [rsp + 0x30]
and r9d, 0x7f
mov dword [rsp + 0x38], 1
mov byte [r10], r9b
sub rcx, rdx
lea ebp, [rcx + 1]
movsxd rcx, ecx
mov byte [rdx + rcx], 2
movzx ecx, byte [rax]
jmp 0x5e7e3b
mov eax, 7
jmp 0x5e7a9c
movsxd r9, dword [r12 + 0x68]
mov rdi, qword [rsp + 0x118]
mov r8, qword [r12 + 0x60]
mov dword [rdi + 0x50], r9d
test rax, rax
je 0x5e7bfb
lea rdx, [rdi + 0x20]
lea rcx, [rdi + 0x18]
call sym.fts3MsrBufferData.isra.0
mov rdi, qword [rsp + 0x118]
mov rdx, qword [rdi + 0x18]
mov qword [rdi + 0x48], rdx
test eax, eax
je 0x5e7c07
mov rdi, qword [rsp + 0x118]
mov dword [rdi + 0xc], 1
jmp 0x5e7a9c
mov eax, 0x10b
jmp 0x5e7a9c
mov ebx, 1
jmp 0x5e7d51
mov rax, qword [rsp + 0x110]
mov rdx, r12
movzx ecx, byte [rax + 0x1cf]
call sym.fts3SegReaderFirstDocid.isra.0
jmp 0x5e7c68
movsxd rbx, dword [rsp + 0x2c]
mov rax, qword [rsp + 0x118]
mov r15d, r14d
mov r12, qword [rax + 0x18]
lea rdx, [rbx + 0x14]
cmp rdx, qword [rax + 0x20]
jg 0x5e82ab
mov rax, qword [rsp + 0x118]
add r12, rbx
mov rdi, qword [rsp + 0x118]
mov qword [r12], 0
mov qword [r12 + 8], 0
mov dword [r12 + 0x10], 0
mov rax, qword [rax + 0x18]
mov qword [rdi + 0x48], rax
mov rax, rdi
mov edi, dword [rsp + 0x2c]
mov dword [rax + 0xc], r15d
mov dword [rax + 0x50], edi
mov eax, 0x64
jmp 0x5e7a9c
mov eax, 1
mov r14d, 1
jmp 0x5e7ba7
lea r13, [rdx + rdx]
mov qword [rax + 0x20], r13
call sym.sqlite3_initialize
test eax, eax
jne 0x5e8198
mov rcx, r12
mov rdx, r13
call sym.sqlite3Realloc
mov r12, rax
test rax, rax
je 0x5e8198
mov rax, qword [rsp + 0x118]
mov qword [rax + 0x18], r12
jmp 0x5e824e