Function at 0x7e7fa0
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, 0x118
mov edi, 7
mov rax, qword [rcx]
mov rax, qword [rax]
mov r12, rcx
mov r13, rdx
mov rbp, r8
mov dword [rsp + 0x9c], r9d
mov word [rsp + 0x56], r9w
mov qword [rsp + 0x90], rax
mov rax, qword [rax]
cmp byte [rax + 0x61], 0
mov qword [rsp + 0x78], rax
jne 0x7e8388
mov rbx, qword [rcx + 0x18]
lea r15, [rsp + 0xa0]
movzx esi, word [rbx + 0x1a]
mov eax, dword [rbx + 0x28]
movzx edi, word [rbx + 0x18]
mov word [rsp + 0x5a], si
movzx esi, word [rbx + 0x1c]
mov dword [rsp + 0x50], eax
and eax, 0x20
cmp eax, 1
mov r9d, edi
mov word [rsp + 0x54], di
sbb eax, eax
mov dword [rsp + 0x6c], edi
mov word [rsp + 0x98], si
mov rsi, qword [rbx + 0x16]
and eax, 0x1a7
add eax, 0x18
mov edx, eax
and edx, 0xffffffc3
test byte [r8 + 0x64], 4
mov qword [rsp + 0x88], rsi
movzx esi, word [rbx + 0x2e]
cmovne eax, edx
mov rdx, qword [rcx + 8]
mov rcx, r15
mov word [rsp + 0x9a], si
mov rsi, qword [rbx + 0x28]
mov qword [rsp + 0x80], rsi
movzx esi, word [rbx + 0x2c]
mov word [rsp + 0x3e], si
mov rsi, qword [rbx]
mov qword [rsp + 0x48], rsi
movzx esi, word [rbx + 0x16]
mov qword [rsp + 0x28], r8
mov r8d, dword [r13 + 0x44]
mov dword [rsp + 0x20], eax
mov word [rsp + 0x3c], si
call dbg.whereScanInit
xor edx, edx
xor ecx, ecx
mov rsi, rax
mov rax, qword [rbp + 0x10]
mov word [rbx + 0x12], dx
mov word [rsp + 0x58], cx
movsx edi, word [rax]
cmp di, 0xa
mov dword [rsp + 0x68], edi
jg 0x7e86f0
test rsi, rsi
je 0x7e89d0
mov qword [rsp + 0x60], 0
movzx eax, word [rsp + 0x54]
mov qword [rsp + 0x70], 0
add rax, rax
mov qword [rsp + 0x40], rax
movzx eax, word [rsp + 0x3e]
add eax, 1
mov dword [rsp + 0x5c], eax
movzx edi, word [rsi + 0x14]
cmp di, 0x100
je 0x7e83a0
mov rax, qword [rsi + 0x28]
test qword [rbx + 8], rax
jne 0x7e83d0
cmp di, 0x10
sete r14b
and r14b, byte [rsi + 0x13]
jne 0x7e83d6
test byte [r13 + 0x3c], 8
je 0x7e8137
mov rax, qword [rsi]
test byte [rax + 4], 1
je 0x7e83d0
cmp byte [rbp + 0x62], 0
movzx eax, byte [r12 + 0x28]
je 0x7e8154
movzx edx, word [rbp + 0x5e]
sub edx, 1
cmp dword [rsp + 0x6c], edx
je 0x7e85f0
or eax, 1
mov byte [r12 + 0x28], al
mov eax, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x5c]
mov dword [rbx + 0x28], eax
movzx eax, word [rsp + 0x54]
mov word [rbx + 0x18], ax
movzx eax, word [rsp + 0x5a]
mov word [rbx + 0x1a], ax
movzx eax, word [rsp + 0x98]
mov word [rbx + 0x1c], ax
movzx eax, word [rsp + 0x3e]
mov word [rbx + 0x2c], ax
movzx eax, word [rbx + 0x30]
cmp r8d, eax
jle 0x7e83e0
mov rcx, qword [rsp + 0x78]
mov rdx, rbx
call sym.whereLoopResize.part.399
test eax, eax
jne 0x7e89d0
movzx edx, word [rbx + 0x2c]
mov r11d, dword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
lea ecx, [rdx + 1]
mov r8, qword [rbx + 8]
mov word [rbx + 0x2c], cx
mov qword [rax + rdx*8], rsi
mov rdx, qword [rsp + 0x48]
or rdx, qword [rsi + 0x28]
not r8
and rdx, r8
test dil, 1
mov qword [rbx], rdx
je 0x7e83f0
movzx r9d, word [rsp + 0x58]
movzx edx, byte [rbp + 0x64]
mov r10, qword [rsi]
shr dl, 7
cmp r9w, 9
setg r8b
and edx, r8d
test byte [r10 + 5], 8
movsx r8d, r9w
jne 0x7e8750
mov rax, qword [r10 + 0x20]
test rax, rax
je 0x7e8227
movsxd rax, dword [rax]
test eax, eax
jne 0x7e8620
test dl, dl
jne 0x7e89e0
xor r10d, r10d
mov r14d, r11d
or r14d, 4
mov dword [rbx + 0x28], r14d
test r14b, 2
movzx r11d, word [rbx + 0x16]
jne 0x7e8480
mov edx, dword [rbx + 0x28]
movzx eax, word [rbx + 0x18]
movzx ecx, word [rsi + 0x10]
add eax, 1
test cx, cx
mov word [rbx + 0x18], ax
jle 0x7e8541
mov rcx, qword [rbp + 0x10]
movzx eax, ax
mov r14d, edx
add r11w, word [rcx + rax*2]
sub r11w, word [rcx + rax*2 - 2]
test di, 0x100
mov esi, r11d
mov word [rbx + 0x16], r11w
je 0x7e8297
add r11d, 0xa
mov esi, r11d
mov word [rbx + 0x16], r11w
movsx edx, word [rbp + 0x5c]
mov eax, edx
shl eax, 4
sub eax, edx
mov rdx, qword [r13 + 0x20]
movsx ecx, word [rdx + 0x4c]
cdq
idiv ecx
mov ecx, r8d
lea eax, [r11 + rax + 1]
movsx edx, ax
call sym.sqlite3LogEstAdd
and r14d, 0x140
jne 0x7e82d5
lea edx, [r11 + 0x10]
movsx ecx, ax
movsx edx, dx
call sym.sqlite3LogEstAdd
movzx edi, word [rsp + 0x56]
mov rdx, rbx
mov rcx, qword [r12 + 8]
mov r8d, dword [rsp + 0x68]
lea r14d, [rdi + r10]
add eax, r14d
add r11d, r14d
mov word [rbx + 0x14], ax
mov word [rbx + 0x16], r11w
call dbg.whereLoopOutputAdjust
mov rdx, rbx
mov rcx, r12
call dbg.whereLoopInsert
mov edi, eax
mov eax, dword [rbx + 0x28]
test al, 2
cmovne si, word [rsp + 0x3c]
test al, 0x10
mov word [rbx + 0x16], si
jne 0x7e832d
movzx eax, word [rbp + 0x60]
cmp word [rbx + 0x18], ax
jb 0x7e8600
movzx eax, word [rsp + 0x3c]
test edi, edi
sete r14b
mov word [rbx + 0x16], ax
mov rcx, r15
call dbg.whereScanNext
test rax, rax
mov rsi, rax
je 0x7e8355
test r14b, r14b
jne 0x7e80f4
mov rax, qword [rsp + 0x48]
movzx esi, word [rsp + 0x9a]
cmp word [rsp + 0x54], si
mov qword [rbx], rax
mov rax, qword [rsp + 0x88]
mov qword [rbx + 0x16], rax
mov rax, qword [rsp + 0x80]
mov qword [rbx + 0x28], rax
je 0x7e8795
mov eax, edi
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rbp + 8]
mov rcx, qword [rsp + 0x40]
movsx rdx, word [rax + rcx]
test edx, edx
mov rax, rdx
jns 0x7e8520
cmp edx, 0xffffffff
je 0x7e83d0
mov rax, qword [rbx + 8]
test qword [rsi + 0x28], rax
je 0x7e8123
nop dword [rax]
mov r14d, 1
xor edi, edi
jmp 0x7e833c
mov r11d, dword [rsp + 0x50]
movzx edx, word [rsp + 0x3e]
jmp 0x7e81b9
test dil, 0x82
je 0x7e8570
mov rax, qword [rbp + 8]
mov r14d, r11d
mov rcx, qword [rsp + 0x40]
or r14d, 1
movsx r8d, word [rsp + 0x58]
movsx eax, word [rax + rcx]
mov dword [rbx + 0x28], r14d
cmp eax, 0xffffffff
je 0x7e8730
test eax, eax
js 0x7e8710
cmp word [rsp + 0x56], 0
jne 0x7e8710
movzx eax, word [rbp + 0x5e]
xor r10d, r10d
mov edx, eax
sub eax, 1
cmp dword [rsp + 0x6c], eax
jne 0x7e823d
test byte [rbp + 0x64], 8
jne 0x7e8730
cmp dx, 1
je 0x7e8718
mov r14d, r11d
xor r10d, r10d
movzx r11d, word [rbx + 0x16]
or r14d, 0x10001
test r14b, 2
mov dword [rbx + 0x28], r14d
je 0x7e824c
nop
xor r9d, r9d
cmp qword [rsp + 0x60], 0
movsx eax, r11w
je 0x7e84ab
mov rsi, qword [rsp + 0x60]
movzx edx, word [rsi + 0x10]
test dx, dx
jle 0x7e8701
sub r11d, 0x14
mov r9d, 1
xor edx, edx
cmp qword [rsp + 0x70], 0
je 0x7e84f1
mov rdi, qword [rsp + 0x70]
movzx ecx, word [rdi + 0x10]
mov rdi, qword [rsp + 0x60]
lea edx, [rcx + r11]
sub r11d, 0x14
test cx, cx
cmovle r11d, edx
test rdi, rdi
mov edx, 1
je 0x7e84f1
cmp word [rdi + 0x10], 0
jle 0x7e84f1
mov esi, r11d
sub r11d, 0x14
test cx, cx
cmovle r11d, esi
add edx, r9d
sub eax, edx
cmp r11w, 0xa
mov edx, 0xa
cmovl r11d, edx
movsx r11d, r11w
cmp r11d, eax
cmovg r11d, eax
mov esi, r11d
mov word [rbx + 0x16], r11w
jmp 0x7e8297
mov rdx, qword [rbp + 0x18]
shl rax, 5
add rax, qword [rdx + 8]
cmp byte [rax + 0x18], 0
je 0x7e83be
mov r14d, 1
jmp 0x7e83d6
mov r9, qword [rbp + 8]
mov rsi, qword [rsp + 0x40]
cmp word [r9 + rsi], 0
js 0x7e8267
sub r11d, r10d
mov r14d, edx
add r11d, ecx
mov esi, r11d
mov word [rbx + 0x16], r11w
jmp 0x7e8297
test di, 0x100
jne 0x7e86d0
test dil, 0x24
mov edx, dword [r13 + 0x44]
je 0x7e88f1
mov r9d, dword [rsp + 0x6c]
or r11d, 0x22
mov r8, rbp
mov rcx, qword [rsp + 0x90]
mov dword [rbx + 0x28], r11d
mov qword [rsp + 0x20], rsi
call sym.whereRangeVectorLen.isra.501
test byte [rsi + 0x13], 1
mov word [rbx + 0x1a], ax
jne 0x7e8970
mov qword [rsp + 0x70], 0
mov r14d, dword [rbx + 0x28]
test r14b, 2
movzx r11d, word [rbx + 0x16]
movsx r8d, word [rsp + 0x58]
jne 0x7e89fb
mov qword [rsp + 0x60], rsi
xor r10d, r10d
jmp 0x7e824c
or eax, 2
jmp 0x7e8157
movsx r9d, r14w
mov r8, rbp
mov rdx, r13
mov rcx, r12
call dbg.whereLoopAddBtreeIndex
jmp 0x7e832d
cmp rax, 7
ja 0x7e88d0
cmp rax, 1
mov r10d, 0x1e
jne 0x7e8663
xor r10d, r10d
test dl, dl
je 0x7e8232
mov rax, qword [rbp + 0x10]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
movsx r14d, word [rax + rcx]
xor eax, eax
jmp 0x7e86b1
mov r10d, ecx
lea ecx, [r10 - 0xa]
add rax, rax
cmp rax, 7
jbe 0x7e8660
lea rcx, [0x00c57fe0]
and eax, 7
movzx r9d, word [rcx + rax*2]
lea r10d, [r10 + r9 - 0xa]
movsx r9d, r10w
test dl, dl
je 0x7e8232
mov rax, qword [rbp + 0x10]
cmp r9d, 0xa
mov rcx, qword [rsp + 0x40]
movsx r14d, word [rax + rcx]
jle 0x7e8a57
mov ecx, r9d
call sym.estLog.part.554
cwde
lea edx, [rax + r14 + 0xa]
add r9d, r8d
mov eax, r11d
or eax, 0x100000
cmp edx, r9d
cmovl r11d, eax
jmp 0x7e8232
or r11d, 8
movsx r8d, word [rsp + 0x58]
xor r10d, r10d
mov r14d, r11d
mov dword [rbx + 0x28], r11d
jmp 0x7e823d
mov ecx, edi
call sym.estLog.part.554
mov word [rsp + 0x58], ax
jmp 0x7e80c0
add r11d, edx
mov r9d, 1
jmp 0x7e84ab
xor r10d, r10d
jmp 0x7e823d
cmp byte [rbp + 0x62], 0
je 0x7e845f
cmp di, 2
jne 0x7e845f
nop dword [rax]
mov r14d, r11d
xor r10d, r10d
or r14d, 0x1001
mov dword [rbx + 0x28], r14d
jmp 0x7e823d
cmp cx, 1
jbe 0x7e8a0c
movzx ecx, cx
mov r9d, 0x2e
sub ecx, 2
lea r14, [rax + rcx*8 + 8]
nop dword [rax + rax]
mov rcx, qword [rax]
test rcx, rcx
je 0x7e8784
cmp qword [rcx], r10
mov ecx, 0
cmove r9d, ecx
add rax, 8
cmp rax, r14
jne 0x7e8770
mov r10d, r9d
jmp 0x7e8688
mov eax, dword [rsp + 0x6c]
movzx edx, word [rbp + 0x5e]
add eax, 1
cmp eax, edx
jge 0x7e8388
movzx esi, word [rsp + 0x3e]
cmp word [rsp + 0x54], si
jne 0x7e8388
movzx eax, byte [rbp + 0x64]
and eax, 0xffffffc0
cmp al, 0x80
jne 0x7e8388
mov rcx, qword [rsp + 0x78]
test byte [rcx + 0x5d], 0x40
jne 0x7e8388
movzx edx, word [rsp + 0x54]
mov rax, qword [rbp + 0x10]
lea rsi, [rdx + rdx + 2]
lea r9, [rax + rsi]
cmp word [r9], 0x29
jle 0x7e8388
movzx r8d, word [rsp + 0x3e]
movzx edx, word [rbx + 0x30]
add r8d, 1
cmp r8d, edx
jle 0x7e8a5e
mov rdx, rbx
call sym.whereLoopResize.part.399
test eax, eax
mov edi, eax
jne 0x7e8388
movzx eax, word [rbx + 0x2c]
movzx r8d, word [rbx + 0x18]
movzx ecx, word [rbx + 0x2e]
mov edx, dword [rbx + 0x28]
mov word [rsp + 0x3e], ax
mov rax, qword [rbp + 0x10]
movzx r10d, word [rbx + 0x16]
lea r9, [rax + rsi]
movzx edi, word [rsp + 0x3e]
add r8d, 1
add ecx, 1
or dh, 0x80
mov word [rbx + 0x18], r8w
mov r8, qword [rbx + 0x38]
mov word [rbx + 0x2e], cx
lea ecx, [rdi + 1]
mov word [rbx + 0x2c], cx
movzx ecx, di
movzx eax, word [rax + rsi - 2]
mov qword [r8 + rcx*8], 0
movzx ecx, word [r9]
mov r8, rbp
movzx edi, word [rsp + 0x9c]
mov dword [rbx + 0x28], edx
lea edx, [r10 + rcx]
sub edx, eax
lea eax, [rax + rdi + 5]
mov word [rbx + 0x16], dx
mov rdx, r13
xor edi, edi
sub eax, ecx
mov rcx, r12
movsx r9d, ax
call dbg.whereLoopAddBtreeIndex
movzx eax, word [rsp + 0x3c]
mov word [rbx + 0x16], ax
movzx eax, word [rsp + 0x54]
mov word [rbx + 0x18], ax
movzx eax, word [rsp + 0x9a]
mov word [rbx + 0x2e], ax
mov eax, dword [rsp + 0x50]
mov dword [rbx + 0x28], eax
jmp 0x7e8388
bsr r9, rax
mov ecx, 0x3c
xor r9, 0x3f
sub ecx, r9d
lea r10d, [rcx + rcx*4]
shr rax, cl
lea r10d, [r10 + r10 + 0x28]
jmp 0x7e8670
mov r9d, dword [rsp + 0x6c]
or r11d, 0x12
mov r8, rbp
mov rcx, qword [rsp + 0x90]
mov dword [rbx + 0x28], r11d
mov qword [rsp + 0x20], rsi
call sym.whereRangeVectorLen.isra.501
mov r14d, dword [rbx + 0x28]
mov word [rbx + 0x1c], ax
movsx r8d, word [rsp + 0x58]
test r14b, 0x20
mov edx, r14d
jne 0x7e8950
test r14b, 2
movzx r11d, word [rbx + 0x16]
jne 0x7e8a3a
mov qword [rsp + 0x70], rsi
xor r10d, r10d
mov qword [rsp + 0x60], 0
jmp 0x7e824f
movzx edx, word [rbx + 0x2c]
mov qword [rsp + 0x70], rsi
xor r10d, r10d
mov rax, qword [rbx + 0x38]
mov rax, qword [rax + rdx*8 - 0x10]
mov qword [rsp + 0x60], rax
jmp 0x7e823d
movzx r8d, word [rbx + 0x2c]
lea rax, [rsi + 0x38]
movzx edx, word [rbx + 0x30]
mov qword [rsp + 0x70], rax
mov rax, r8
add r8d, 1
cmp r8d, edx
jle 0x7e89a3
mov rcx, qword [rsp + 0x78]
mov rdx, rbx
call sym.whereLoopResize.part.399
test eax, eax
jne 0x7e89d0
movzx eax, word [rbx + 0x2c]
mov r14d, dword [rbx + 0x28]
lea ecx, [rax + 1]
mov rdx, qword [rbx + 0x38]
mov word [rbx + 0x2c], cx
lea rcx, [rsi + 0x38]
or r14d, 0x10
mov qword [rdx + rax*8], rcx
mov eax, 1
mov dword [rbx + 0x28], r14d
mov word [rbx + 0x1c], ax
jmp 0x7e85c6
xor edi, edi
jmp 0x7e8355
mov rax, qword [rbp + 0x10]
xor r10d, r10d
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
movsx r14d, word [rax + rcx]
xor eax, eax
jmp 0x7e86b1
movsx eax, r11w
mov qword [rsp + 0x60], rsi
xor r10d, r10d
jmp 0x7e848f
test dl, dl
jne 0x7e8a1b
mov r10d, 0x2e
jmp 0x7e8232
mov rax, qword [rbp + 0x10]
mov r10d, 0x2e
mov r9d, 0x2e
mov rcx, qword [rsp + 0x40]
movsx r14d, word [rax + rcx]
jmp 0x7e86a8
movsx eax, r11w
mov qword [rsp + 0x70], rsi
xor r10d, r10d
xor r9d, r9d
mov qword [rsp + 0x60], 0
jmp 0x7e84b5
xor eax, eax
jmp 0x7e86b1
movzx r8d, word [rsp + 0x54]
movzx r10d, word [rsp + 0x3c]
mov edx, dword [rsp + 0x50]
mov ecx, r8d
jmp 0x7e883e