Function at 0x1401cbfb0
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, 0x58
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0xa8], edx
mov r14, rcx
mov qword [rsp + 0xb0], r8
mov dword [rsp + 0xb8], r9d
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x1401cc5f9
mov r15, qword [rcx + 0x10]
mov rdi, qword [r8 + 0x28]
mov byte [r8], 1
mov ecx, dword [r8 + 0x30]
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x30], 0
mov r13, rdi
test ecx, ecx
jg 0x1401cc16a
jmp 0x1401cc54e
mov rax, qword [r13]
cmp byte [r13 + 0x1d], 1
mov r12d, dword [rsi]
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + 0x20]
mov eax, dword [rdi]
adc eax, 0
cmp byte [r13 + 0x1c], 0
je 0x1401cc043
add eax, r12d
cmp byte [r13 + 0x1e], 0
je 0x1401cc04d
add eax, r12d
add eax, 1
mov rcx, r14
mov edx, eax
mov dword [rsp + 0x34], eax
call sym.sqlite3GetTempRange
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov rdx, rdi
mov r8d, eax
mov ebp, eax
call sym.sqlite3ExprCodeExprList.isra.0
cmp byte [r13 + 0x1d], 0
mov r10d, dword [rdi]
je 0x1401cc428
cmp byte [r13 + 0x1c], 0
jne 0x1401cc380
cmp byte [r13 + 0x1e], 0
mov dword [rsp + 0x38], ebp
jne 0x1401cc6f0
mov r8d, dword [r13 + 0x10]
test r8d, r8d
js 0x1401cc0d9
test ebx, ebx
jne 0x1401cc0b6
mov eax, dword [r14 + 0x44]
lea ebx, [rax - 1]
mov dword [r14 + 0x44], ebx
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x20], rsi
mov r9d, ebx
mov rcx, r14
mov edx, dword [rsp + 0xb8]
mov dword [rsp + 0x28], eax
call dbg.codeDistinct
mov dword [r13 + 0x10], eax
mov r11d, dword [r13 + 0x18]
test r11d, r11d
js 0x1401cc270
mov r12d, dword [rsp + 0x34]
mov r8d, ebp
mov edx, 0x61
mov rcx, r15
lea esi, [r12 + rbp - 1]
lea edi, [r12 - 1]
mov dword [rsp + 0x20], esi
mov r9d, edi
call sym.sqlite3VdbeAddOp3
mov r8d, dword [r13 + 0x18]
mov dword [rsp + 0x28], edi
mov r9d, esi
mov dword [rsp + 0x20], ebp
mov edx, 0x8a
mov rcx, r15
call sym.sqlite3VdbeAddOp4Int
cmp r12d, 1
je 0x1401cc350
mov eax, dword [rsp + 0x34]
cmp dword [r14 + 0x28], eax
jge 0x1401cc144
mov dword [r14 + 0x28], eax
mov dword [r14 + 0x2c], ebp
test ebx, ebx
jne 0x1401cc327
mov rbx, qword [rsp + 0xb0]
add dword [rsp + 0x30], 1
add r13, 0x20
mov eax, dword [rsp + 0x30]
cmp dword [rbx + 0x30], eax
jle 0x1401cc540
mov rax, qword [r13]
xor ebx, ebx
mov rsi, qword [rax + 0x20]
test byte [rax + 7], 1
je 0x1401cc1cf
mov rax, qword [rax + 0x40]
mov r12, qword [rax + 0x48]
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x24]
test eax, eax
je 0x1401cc1b0
mov rax, qword [r13 + 8]
test byte [rax + 4], 0x20
je 0x1401cc1b0
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x1401cc720
nop word [rax + rax]
mov eax, dword [r14 + 0x44]
mov r9d, 0x10
mov rdx, r12
mov rcx, r14
lea ebx, [rax - 1]
mov dword [r14 + 0x44], ebx
mov r8d, ebx
call sym.sqlite3ExprIfFalse
mov edi, dword [r13 + 0x18]
test edi, edi
jns 0x1401cc020
test rsi, rsi
je 0x1401cc480
mov r12d, dword [rsi]
mov rcx, r14
mov edx, r12d
call sym.sqlite3GetTempRange
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov rdx, rsi
mov r8d, eax
mov ebp, eax
call sym.sqlite3ExprCodeExprList.isra.0
mov r8d, dword [r13 + 0x10]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x34], 0
test r8d, r8d
jns 0x1401cc0a7
mov edx, dword [r13 + 0x18]
test edx, edx
js 0x1401cc270
lea esi, [rbp - 1]
mov r8d, ebp
mov rcx, r15
mov r9d, 0xffffffff
mov dword [rsp + 0x20], esi
mov edx, 0x61
call sym.sqlite3VdbeAddOp3
mov r8d, dword [r13 + 0x18]
mov dword [rsp + 0x20], ebp
mov r9d, esi
mov dword [rsp + 0x28], 0xffffffff
mov edx, 0x8a
mov rcx, r15
call sym.sqlite3VdbeAddOp4Int
jmp 0x1401cc132
movzx eax, r12b
mov word [rsp + 0x34], ax
mov rax, qword [r13 + 8]
test byte [rax + 4], 0x20
jne 0x1401cc610
xor r8d, r8d
mov edx, 0xa2
mov rcx, r15
mov r9d, ebp
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb0]
mov eax, dword [rax + 0x20]
add eax, dword [rdi + 0xc]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rcx, qword [r15]
mov rdx, qword [r13 + 8]
cmp byte [rcx + 0x67], 0
jne 0x1401cc460
movsxd rcx, dword [r15 + 0x90]
lea r8, [rcx + rcx*2]
mov rax, rcx
mov rcx, qword [r15 + 0x88]
lea rcx, [rcx + r8*8 - 0x18]
mov byte [rcx + 1], 0xf9
mov qword [rcx + 0x10], rdx
test eax, eax
jle 0x1401cc307
mov r9, qword [r15 + 0x88]
movzx edi, word [rsp + 0x34]
lea rax, [rax + rax*2]
lea rax, [r9 + rax*8]
mov word [rax - 0x16], di
cmp r12d, 1
je 0x1401cc350
cmp r12d, dword [r14 + 0x28]
jle 0x1401cc144
mov dword [r14 + 0x28], r12d
mov dword [r14 + 0x2c], ebp
test ebx, ebx
je 0x1401cc14c
mov rcx, qword [r15 + 0x18]
not ebx
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401cc6e0
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd rbx, ebx
mov dword [rax + rbx*4], edx
jmp 0x1401cc14c
test ebp, ebp
je 0x1401cc144
movzx eax, byte [r14 + 0x1f]
cmp al, 7
ja 0x1401cc144
lea edx, [rax + 1]
mov byte [r14 + 0x1f], dl
mov dword [r14 + rax*4 + 0xe8], ebp
jmp 0x1401cc144
lea eax, [r10 + rbp]
xor r9d, r9d
mov rdx, rsi
mov rcx, r14
mov dword [rsp + 0x20], 1
mov r8d, eax
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], eax
call sym.sqlite3ExprCodeExprList.isra.0
mov r10d, dword [rsp + 0x40]
add r10d, r12d
cmp byte [r13 + 0x1e], 0
je 0x1401cc09e
cmp byte [r13 + 0x1c], 0
je 0x1401cc6f0
mov r8d, dword [rsp + 0x38]
test r12d, r12d
jle 0x1401cc09e
lea eax, [rbp + r10]
lea edx, [r12 + r8]
mov dword [rsp + 0x40], ebx
sub eax, r8d
mov qword [rsp + 0x48], rsi
mov ebx, edx
mov esi, r8d
mov edi, eax
nop
lea r9d, [rdi + rsi]
mov r8d, esi
mov edx, 0xb5
mov rcx, r15
mov dword [rsp + 0x20], 0
add esi, 1
call sym.sqlite3VdbeAddOp3
cmp ebx, esi
jne 0x1401cc3f0
mov ebx, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
jmp 0x1401cc09e
mov r8d, dword [r13 + 0x18]
lea r9d, [rbp + r10]
mov edx, 0x7e
mov rcx, r15
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x38], r10d
call sym.sqlite3VdbeAddOp3
mov r10d, dword [rsp + 0x38]
add r10d, 1
jmp 0x1401cc084
test byte [rdx + 4], 0x10
jne 0x1401cc710
movsxd rax, dword [r15 + 0x90]
jmp 0x1401cc2eb
mov rax, qword [r13 + 8]
xor r12d, r12d
xor ebp, ebp
test byte [rax + 4], 0x20
mov eax, 0
mov word [rsp + 0x34], ax
je 0x1401cc287
mov rax, qword [r14]
mov rdi, qword [rax + 0x10]
nop dword [rax]
mov r10d, dword [rsp + 0x3c]
test r10d, r10d
jne 0x1401cc4d4
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x1401cc4d4
mov eax, dword [r14 + 0x38]
add eax, 1
mov dword [rsp + 0x3c], eax
mov dword [r14 + 0x38], eax
mov edx, dword [r15 + 0x90]
cmp edx, dword [r15 + 0x94]
jge 0x1401cc770
lea eax, [rdx + 1]
mov dword [r15 + 0x90], eax
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rcx*8]
mov ecx, dword [rsp + 0x3c]
mov qword [rax + 8], 0
mov dword [rax + 4], ecx
mov qword [rax + 0x10], 0
mov dword [rax], 0x55
mov r9d, 0xfffffffe
mov r8, rdi
mov rcx, r15
call sym.sqlite3VdbeChangeP4
jmp 0x1401cc287
mov r8d, dword [rsp + 0x3c]
test r8d, r8d
jne 0x1401cc670
mov rax, qword [rsp + 0xb0]
mov edx, dword [rsp + 0xa8]
mov eax, dword [rax + 0x24]
test edx, edx
je 0x1401cc56c
test eax, eax
jne 0x1401cc660
mov rbx, qword [rsp + 0xb0]
xor esi, esi
mov rbx, qword [rbx + 0x18]
test eax, eax
jle 0x1401cc7b9
mov edi, dword [rsp + 0x44]
mov rbp, qword [rsp + 0xb0]
nop
cmp qword [r14 + 0x10], 0
je 0x1401cc5aa
mov r8d, dword [rbp + 0xc]
mov rdx, qword [rbx + 8]
mov rcx, r14
add r8d, edi
call sym.sqlite3ExprCode.part.0
add edi, 1
add rbx, 0x18
cmp dword [rbp + 0x24], edi
jg 0x1401cc590
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
test esi, esi
je 0x1401cc5f9
mov eax, dword [r15 + 0x90]
lea edx, [rax - 1]
cmp esi, edx
je 0x1401cc75e
mov rcx, qword [r15]
lea rdx, [0x1404013a0]
cmp byte [rcx + 0x67], 0
jne 0x1401cc5f6
mov rdx, qword [r15 + 0x88]
lea rcx, [rsi + rsi*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add rsi, 8
test r12d, r12d
jle 0x1401cc49d
xor r8d, r8d
mov edi, r8d
nop dword [rax + rax]
mov rdx, qword [rsi]
mov rcx, r14
add edi, 1
add rsi, 0x20
call dbg.sqlite3ExprCollSeq
test rax, rax
jne 0x1401cc700
cmp edi, r12d
jl 0x1401cc628
mov rdi, rax
test rax, rax
jne 0x1401cc4a8
mov rax, qword [r14]
mov rdi, qword [rax + 0x10]
jmp 0x1401cc4a8
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x3c], eax
nop dword [rax + rax]
movsxd rsi, dword [r15 + 0x90]
cmp esi, dword [r15 + 0x94]
jge 0x1401cc794
lea eax, [rsi + 1]
mov ebx, dword [rsp + 0x3c]
mov dword [r15 + 0x90], eax
movsxd rax, esi
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ebx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x10
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rax + 0x24]
mov rbx, qword [rax + 0x18]
test ecx, ecx
jle 0x1401cc5b6
mov edi, dword [rsp + 0x44]
mov rbp, rax
jmp 0x1401cc590
mov r8d, ebx
mov rdx, r15
call dbg.resizeResolveLabel
jmp 0x1401cc14c
mov r8d, ebp
jmp 0x1401cc3c9
mov rdi, rax
jmp 0x1401cc4a8
call sym.sqlite3DbNNFreeNN
jmp 0x1401cc46a
mov ebp, dword [rsp + 0x3c]
test ebp, ebp
jne 0x1401cc737
mov eax, dword [r14 + 0x38]
add eax, 1
mov dword [rsp + 0x3c], eax
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x3c]
mov edx, 0x50
mov rcx, r15
mov r8d, dword [rsp + 0xa8]
call sym.sqlite3VdbeAddOp3
jmp 0x1401cc1b0
mov dword [r15 + 0x90], esi
jmp 0x1401cc5f9
mov r8d, dword [rsp + 0x3c]
mov edx, 0x55
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], 0
call dbg.growOp3
mov edx, eax
jmp 0x1401cc521
mov r8d, dword [rsp + 0x3c]
xor r9d, r9d
mov edx, 0x10
mov rcx, r15
mov dword [rsp + 0x20], 0
call dbg.growOp3
movsxd rsi, eax
jmp 0x1401cc6bd
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
jmp 0x1401cc5f9