Function at 0x1400c8780
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 + 0x10]
mov rsi, rdx
mov rbx, r9
mov qword [rsp + 0x48], r9
mov r13, rcx
mov rbp, r8
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x90], rdx
mov edx, 0xf
mov qword [rsp + 0x78], rax
call sym.sqlite3VdbeAddOp3
mov r15, qword [rsi + 0x20]
mov dword [rsp + 0xa4], eax
mov rax, qword [rsi]
mov rdi, qword [rax + 8]
movzx eax, byte [rbx + 0x40]
mov rdx, rax
lea rcx, [rax + rax*2]
mov qword [rsp + 0x50], rdi
lea rax, [rax + rcx*4]
movzx r11d, dl
movsxd rdx, dword [rsi + 0x14]
lea r14, [rdi + rax*8 + 8]
lea rax, [r11 + rcx*4]
mov rax, qword [rdi + rax*8 + 0x28]
mov qword [rsp + 0x68], rax
lea rax, [rdx*8]
sub rax, rdx
lea r12, [r15 + rax*8]
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x60], rax
cmp r15, r12
jae 0x1400c921f
xor ebx, ebx
mov qword [rsp + 0x88], r11
xor edi, edi
xor esi, esi
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x70], ebx
jmp 0x1400c88a0
mov r8, rbp
mov rdx, r14
mov rcx, r15
call sym.termCanDriveIndex
test eax, eax
je 0x1400c8893
movsxd rcx, dword [r15 + 0x20]
mov r11d, 1
movabs rax, 0x8000000000000000
shl r11, cl
cmp ecx, 0x40
cmovge r11, rax
test dil, dil
je 0x1400c8f28
mov edi, 1
test r11, rsi
je 0x1400c8900
add r15, 0x38
cmp r15, r12
jae 0x1400c8958
test byte [r15 + 0x12], 2
jne 0x1400c8850
mov rax, qword [rsp + 0x48]
mov rbx, qword [r15]
mov rdx, qword [rsp + 0x50]
movzx r8d, byte [rax + 0x40]
mov rcx, rbx
call sym.sqlite3ExprIsSingleTableConstraint
test eax, eax
je 0x1400c8850
test rbx, rbx
je 0x1400c88df
mov rcx, qword [r13]
mov rdx, rbx
xor r9d, r9d
xor r8d, r8d
call sym.exprDup
mov rbx, rax
mov rdx, qword [rsp + 0x58]
mov r8, rbx
mov rcx, r13
call sym.sqlite3ExprAnd
mov qword [rsp + 0x58], rax
jmp 0x1400c8850
movsxd rbx, dword [rsp + 0x70]
mov rcx, qword [r13]
mov qword [rsp + 0x80], r11
mov rdx, qword [rsp + 0x60]
lea r8d, [rbx + 1]
mov dword [rsp + 0x70], r8d
call sym.whereLoopResize
test eax, eax
jne 0x1400c8f96
mov rax, qword [rsp + 0x60]
mov r11, qword [rsp + 0x80]
mov rax, qword [rax + 0x48]
or rsi, r11
mov qword [rax + rbx*8], r15
add r15, 0x38
cmp r15, r12
jb 0x1400c88a0
nop dword [rax]
mov ebx, dword [rsp + 0x70]
mov r11, qword [rsp + 0x88]
mov eax, ebx
mov rdi, qword [rsp + 0x60]
mov r10, 0xffffffffffffffff
mov word [rdi + 0x3c], ax
mov word [rdi + 0x18], ax
lea rax, [r11 + r11*2]
mov dword [rdi + 0x38], 0x4241
mov rdi, qword [rsp + 0x50]
lea rax, [r11 + rax*4]
mov rdx, qword [rdi + rax*8 + 0x58]
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x3f], 2
je 0x1400c89ac
not rsi
bts rsi, 0x3f
and rsi, rdx
mov r10, rsi
mov rax, qword [rsp + 0x68]
mov r15d, 0x3f
movsx eax, word [rax + 0x36]
cmp ax, r15w
mov word [rsp + 0x88], ax
cmovle r15d, eax
test ax, ax
jle 0x1400c89eb
xor ecx, ecx
nop word [rax + rax]
mov rax, r10
shr rax, cl
add ecx, 1
and eax, 1
add ebx, eax
cmp r15d, ecx
jne 0x1400c89d8
test rdx, rdx
jns 0x1400c89fc
movsx eax, word [rsp + 0x88]
lea ebx, [rbx + rax - 0x3f]
mov rcx, qword [r13]
lea edx, [rbx + 1]
xor r8d, r8d
lea r9, [rsp + 0xd8]
movsx edx, dx
mov qword [rsp + 0x98], r11
mov qword [rsp + 0x80], r10
call sym.sqlite3AllocateIndexObject
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400c8f96
mov rsi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x80]
mov r11, qword [rsp + 0x98]
mov qword [rsi + 0x20], rax
lea rsi, str.auto_index
mov qword [rax], rsi
mov rsi, qword [rsp + 0x68]
mov qword [rax + 0x18], rsi
mov rsi, qword [rsp + 0x90]
mov rsi, qword [rsi + 0x20]
cmp rsi, r12
jae 0x1400c920a
xor edx, edx
lea r8, str.BINARY
mov dword [rsp + 0xa8], r15d
xor edi, edi
mov dword [rsp + 0xac], ebx
mov r15, rdx
mov rbx, rax
mov byte [rsp + 0x80], 0
mov qword [rsp + 0x98], r10
mov qword [rsp + 0xb0], r11
mov qword [rsp + 0xb8], r8
jmp 0x1400c8acd
add rsi, 0x38
cmp rsi, r12
jae 0x1400c8ba8
mov r8, rbp
mov rdx, r14
mov rcx, rsi
call sym.termCanDriveIndex
test eax, eax
je 0x1400c8ac0
mov ecx, dword [rsi + 0x20]
mov eax, 1
movabs rdx, 0x8000000000000000
shl rax, cl
cmp ecx, 0x40
cmovge rax, rdx
test rax, r15
jne 0x1400c8ac0
mov r10, qword [rsi]
or r15, rax
mov rax, qword [rbx + 8]
movsxd r11, edi
mov qword [rsp + 0xc8], r11
test byte [r10 + 5], 4
mov rdx, qword [r10 + 0x10]
mov word [rax + r11*2], cx
mov qword [rsp + 0xc0], r10
mov rax, qword [r10 + 0x18]
jne 0x1400c8fc0
mov r8, rax
mov rcx, r13
call sym.sqlite3BinaryCompareCollSeq
mov r11, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xc0]
lea rdx, str.BINARY
test rax, rax
je 0x1400c8b5f
mov rdx, qword [rax]
mov rax, qword [rbx + 0x40]
mov rcx, qword [r10 + 0x10]
add edi, 1
mov qword [rax + r11*8], rdx
test rcx, rcx
je 0x1400c8ac0
call sym.sqlite3ExprAffinity
movzx edx, byte [rsp + 0x80]
cmp al, 0x42
mov eax, 1
cmovne edx, eax
add rsi, 0x38
mov byte [rsp + 0x80], dl
cmp rsi, r12
jb 0x1400c8acd
nop word [rax + rax]
movzx esi, byte [rsp + 0x80]
movsxd rax, edi
mov r10, qword [rsp + 0x98]
mov r15d, dword [rsp + 0xa8]
mov ebx, dword [rsp + 0xac]
lea r9, [rax + rax]
shl rax, 3
mov r11, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
and esi, 1
cmp word [rsp + 0x88], 0
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x40]
jle 0x1400c8c28
xor eax, eax
nop
bt r10, rax
jae 0x1400c8c15
movsxd r9, edi
add edi, 1
mov word [rcx + r9*2], ax
mov qword [rdx + r9*8], r8
add eax, 1
cmp r15d, eax
jne 0x1400c8c00
movsxd rax, edi
lea r9, [rax + rax]
shl rax, 3
mov r14, qword [rsp + 0x50]
lea r10, [r11 + r11*2]
lea r10, [r11 + r10*4]
cmp qword [r14 + r10*8 + 0x58], 0
js 0x1400c9070
mov r10d, 0xffffffff
mov qword [rsp + 0x80], r11
mov word [rcx + r9], r10w
lea r9d, [rbx + 1]
mov rbx, qword [rsp + 0x78]
mov qword [rdx + rax], r8
mov r8d, dword [r13 + 0x34]
mov edx, 0x74
mov rcx, rbx
lea eax, [r8 + 1]
mov dword [r13 + 0x34], eax
mov rax, qword [rsp + 0x48]
mov dword [rax + 8], r8d
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
mov rdx, qword [rsp + 0x70]
mov rcx, r13
call sym.sqlite3VdbeSetP4KeyInfo
mov rax, qword [rsp + 0x68]
lea rdx, str.for__s
mov rcx, rbx
mov r8, qword [rax]
call sym.sqlite3VdbeComment
mov rax, qword [r13]
mov r11, qword [rsp + 0x80]
test byte [rax + 0x62], 8
jne 0x1400c8cca
test sil, sil
jne 0x1400c9193
mov rsi, qword [rsp + 0x50]
lea rax, [r11 + r11*2]
lea rax, [r11 + rax*4]
lea rsi, [rsi + rax*8]
test byte [rsi + 0x48], 0x20
mov qword [rsp + 0x68], r11
jne 0x1400c8fe8
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x78]
xor r9d, r9d
xor r12d, r12d
mov dword [rsp + 0x20], 0
mov edx, 0x24
mov r8d, dword [rax + 4]
call sym.sqlite3VdbeAddOp3
mov r11, qword [rsp + 0x68]
movsxd rbx, eax
mov rdx, qword [rsp + 0x58]
xor esi, esi
test rdx, rdx
je 0x1400c8d56
mov eax, dword [r13 + 0x44]
mov r9d, 0x10
mov rcx, r13
mov qword [rsp + 0x68], r11
lea esi, [rax - 1]
mov dword [r13 + 0x44], esi
mov r8d, esi
call sym.sqlite3ExprIfFalse
mov rax, qword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
or dword [rax + 0x38], 0x20000
movzx eax, byte [r13 + 0x1f]
test al, al
je 0x1400c90e0
sub eax, 1
mov byte [r13 + 0x1f], al
movzx eax, al
mov ebp, dword [r13 + rax*4 + 0xe8]
mov r15, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
mov r9d, ebp
mov rcx, r13
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r8d, dword [r15 + 4]
mov qword [rsp + 0x68], r11
call sym.sqlite3GenerateIndexKey
mov r8d, dword [r15 + 0x34]
mov r11, qword [rsp + 0x68]
mov r14d, eax
test r8d, r8d
jne 0x1400c9140
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0x78]
mov edx, 0x8a
mov r9d, ebp
mov dword [rsp + 0x20], 0
mov r8d, dword [rax + 8]
mov rcx, r15
mov qword [rsp + 0x60], r11
call sym.sqlite3VdbeAddOp3
mov edx, dword [r15 + 0x90]
mov r11, qword [rsp + 0x60]
test edx, edx
jle 0x1400c8e1e
movsxd rax, edx
mov r8d, 0x10
shl rax, 5
add rax, qword [r15 + 0x88]
mov word [rax - 0x1e], r8w
cmp qword [rsp + 0x58], 0
je 0x1400c8e47
mov rax, qword [rsp + 0x78]
not esi
mov rcx, qword [rax + 0x18]
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1400c91ee
mov rax, qword [rcx + 0x50]
movsxd rsi, esi
mov dword [rax + rsi*4], edx
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
lea rax, [r11 + r11*2]
lea rax, [r11 + rax*4]
test byte [rsi + rax*8 + 0x48], 0x20
je 0x1400c90f0
mov rsi, qword [rsp + 0x78]
add edi, r14d
lea rax, [0x14018a240]
mov rdx, qword [rsi]
cmp byte [rdx + 0x67], 0
jne 0x1400c8e8e
movsxd rax, r12d
shl rax, 5
add rax, qword [rsi + 0x88]
mov rdx, qword [r13 + 0x10]
mov rcx, qword [r13]
mov dword [rax + 8], edi
mov r9d, r8d
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r8d, ebx
mov eax, dword [rax + 8]
mov dword [rsp + 0x28], eax
lea rax, [r11 + r11*2]
lea rax, [r11 + rax*4]
lea rsi, [rsi + rax*8]
mov eax, dword [rsi + 0x40]
mov dword [rsp + 0x20], eax
call sym.translateColumnToCopy.isra.0
mov rdi, qword [rsp + 0x78]
mov edx, ebx
mov rcx, rdi
call sym.sqlite3VdbeGoto.isra.0
and byte [rsi + 0x48], 0xdf
mov eax, dword [rdi + 0x90]
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rsi]
cmp byte [rdx + 0x67], 0
je 0x1400c8f68
mov dword [0x14018a248], eax
test ebp, ebp
je 0x1400c8f18
movzx edx, byte [r13 + 0x1f]
cmp dl, 7
ja 0x1400c8f18
lea ecx, [rdx + 1]
mov byte [r13 + 0x1f], cl
mov dword [r13 + rdx*4 + 0xe8], ebp
nop word [rax + rax]
lea rdx, [0x14018a240]
jmp 0x1400c8f93
mov rdi, qword [rsp + 0x68]
lea rax, [rcx + rcx*2]
lea rdx, str.automatic_index_on__s__s_
mov ecx, 0x11c
shl rax, 3
mov qword [rsp + 0x80], r11
add rax, qword [rdi + 8]
mov r8, qword [rdi]
mov r9, qword [rax]
call sym.sqlite3_log
mov r11, qword [rsp + 0x80]
jmp 0x1400c8889
mov rsi, qword [rsp + 0x78]
shl rbx, 5
mov rdx, qword [rsi + 0x88]
mov dword [rdx + rbx + 8], eax
test ebp, ebp
jne 0x1400c9170
movsxd rcx, dword [rsp + 0xa4]
shl rcx, 5
add rdx, rcx
mov dword [rdx + 8], eax
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1400c90c8
mov rcx, qword [r13]
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3ExprDeleteNN
mov r8, rdx
mov rcx, r13
mov rdx, rax
call sym.sqlite3BinaryCompareCollSeq
mov r10, qword [rsp + 0xc0]
mov r11, qword [rsp + 0xc8]
jmp 0x1400c8b50
mov ebx, dword [rsi + 0x3c]
mov r14, qword [rsp + 0x78]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov edx, 0x47
mov rcx, r14
call sym.sqlite3VdbeAddOp3
mov r8d, ebx
xor r9d, r9d
mov edx, 0xb
mov r12d, eax
mov eax, dword [rsi + 0x38]
mov rcx, r14
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r8d, ebx
xor r9d, r9d
mov edx, 0xc
mov dword [rsp + 0x20], 0
mov rcx, r14
call sym.sqlite3VdbeAddOp3
lea rdx, str.next_row_of__s
mov rcx, r14
movsxd rbx, eax
mov rax, qword [rsi + 0x28]
mov r8, qword [rax]
call sym.sqlite3VdbeComment
mov r11, qword [rsp + 0x68]
jmp 0x1400c8d18
mov rbp, qword [rsp + 0x68]
cmp word [rbp + 0x36], 0x3f
jle 0x1400c8c41
add edi, 1
mov r9d, 0x3f
movsxd rdi, edi
nop dword [rax]
mov word [rcx + rdi*2 - 2], r9w
movsx r10d, word [rbp + 0x36]
add r9d, 1
mov rax, rdi
mov qword [rdx + rdi*8 - 8], r8
add rdi, 1
cmp r10d, r9d
jg 0x1400c9090
mov edi, eax
cdqe
lea r9, [rax + rax]
shl rax, 3
jmp 0x1400c8c41
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [r13 + 0x38]
lea ebp, [rax + 1]
mov dword [r13 + 0x38], ebp
jmp 0x1400c8d75
mov rsi, qword [rsp + 0x78]
lea r9d, [rbx + 1]
mov edx, 0x27
mov dword [rsp + 0x20], 0
mov rcx, rsi
call sym.sqlite3VdbeAddOp3
mov eax, dword [rsi + 0x90]
test eax, eax
jle 0x1400c8ee1
movsxd rdx, eax
mov ecx, 3
shl rdx, 5
add rdx, qword [rsi + 0x88]
mov word [rdx - 0x1e], cx
jmp 0x1400c8ee1
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
xor r9d, r9d
mov edx, 0xb7
movzx eax, word [rax + 0x18]
mov dword [rsp + 0x20], r14d
mov dword [rsp + 0x28], eax
call sym.sqlite3VdbeAddOp4Int
mov r11, qword [rsp + 0x68]
jmp 0x1400c8dca
movzx ecx, byte [r13 + 0x1f]
cmp cl, 7
ja 0x1400c8f84
lea r8d, [rcx + 1]
mov byte [r13 + 0x1f], r8b
mov dword [r13 + rcx*4 + 0xe8], ebp
jmp 0x1400c8f84
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x48]
mov rcx, r13
mov qword [rsp + 0x68], r11
mov rax, qword [rax]
mov r8, rbx
mov rdx, qword [rax + 8]
call sym.sqlite3WhereExplainBloomFilter.isra.0
mov eax, dword [r13 + 0x38]
mov rcx, qword [rsp + 0x78]
mov r8d, 0x2710
mov edx, 0x4d
lea r9d, [rax + 1]
mov dword [r13 + 0x38], r9d
mov dword [rbx + 0x34], r9d
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
mov r11, qword [rsp + 0x68]
jmp 0x1400c8cca
mov rdx, qword [rsp + 0x78]
mov r8d, esi
mov qword [rsp + 0x60], r11
call sym.resizeResolveLabel
mov r11, qword [rsp + 0x60]
jmp 0x1400c8e47
xor eax, eax
xor r9d, r9d
xor esi, esi
xor edi, edi
lea r8, str.BINARY
jmp 0x1400c8be5
mov qword [rsp + 0x58], 0
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp 0x1400c8966