Function at 0x1401c7100
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 0x1401c7749
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 0x1401c72ba
jmp 0x1401c769e
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 0x1401c7193
add eax, r12d
cmp byte [r13 + 0x1e], 0
je 0x1401c719d
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 0x1401c7578
cmp byte [r13 + 0x1c], 0
jne 0x1401c74d0
cmp byte [r13 + 0x1e], 0
mov dword [rsp + 0x38], ebp
jne 0x1401c7840
mov r8d, dword [r13 + 0x10]
test r8d, r8d
js 0x1401c7229
test ebx, ebx
jne 0x1401c7206
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 0x1401c73c0
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 0x1401c74a0
mov eax, dword [rsp + 0x34]
cmp dword [r14 + 0x28], eax
jge 0x1401c7294
mov dword [r14 + 0x28], eax
mov dword [r14 + 0x2c], ebp
test ebx, ebx
jne 0x1401c7477
mov rbx, qword [rsp + 0xb0]
add dword [rsp + 0x30], 1
add r13, 0x20
mov eax, dword [rsp + 0x30]
cmp dword [rbx + 0x30], eax
jle 0x1401c7690
mov rax, qword [r13]
xor ebx, ebx
mov rsi, qword [rax + 0x20]
test byte [rax + 7], 1
je 0x1401c731f
mov rax, qword [rax + 0x40]
mov r12, qword [rax + 0x48]
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x24]
test eax, eax
je 0x1401c7300
mov rax, qword [r13 + 8]
test byte [rax + 4], 0x20
je 0x1401c7300
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x1401c7870
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 0x1401c7170
test rsi, rsi
je 0x1401c75d0
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 0x1401c71f7
mov edx, dword [r13 + 0x18]
test edx, edx
js 0x1401c73c0
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 0x1401c7282
movzx eax, r12b
mov word [rsp + 0x34], ax
mov rax, qword [r13 + 8]
test byte [rax + 4], 0x20
jne 0x1401c7760
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 0x1401c75b0
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 0x1401c7457
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 0x1401c74a0
cmp r12d, dword [r14 + 0x28]
jle 0x1401c7294
mov dword [r14 + 0x28], r12d
mov dword [r14 + 0x2c], ebp
test ebx, ebx
je 0x1401c729c
mov rcx, qword [r15 + 0x18]
not ebx
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1401c7830
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd rbx, ebx
mov dword [rax + rbx*4], edx
jmp 0x1401c729c
test ebp, ebp
je 0x1401c7294
movzx eax, byte [r14 + 0x1f]
cmp al, 7
ja 0x1401c7294
lea edx, [rax + 1]
mov byte [r14 + 0x1f], dl
mov dword [r14 + rax*4 + 0xe8], ebp
jmp 0x1401c7294
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 0x1401c71ee
cmp byte [r13 + 0x1c], 0
je 0x1401c7840
mov r8d, dword [rsp + 0x38]
test r12d, r12d
jle 0x1401c71ee
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 0x1401c7540
mov ebx, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
jmp 0x1401c71ee
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 0x1401c71d4
test byte [rdx + 4], 0x10
jne 0x1401c7860
movsxd rax, dword [r15 + 0x90]
jmp 0x1401c743b
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 0x1401c73d7
mov rax, qword [r14]
mov rdi, qword [rax + 0x10]
nop dword [rax]
mov r10d, dword [rsp + 0x3c]
test r10d, r10d
jne 0x1401c7624
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x1401c7624
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 0x1401c78c0
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 0x1401c73d7
mov r8d, dword [rsp + 0x3c]
test r8d, r8d
jne 0x1401c77c0
mov rax, qword [rsp + 0xb0]
mov edx, dword [rsp + 0xa8]
mov eax, dword [rax + 0x24]
test edx, edx
je 0x1401c76bc
test eax, eax
jne 0x1401c77b0
mov rbx, qword [rsp + 0xb0]
xor esi, esi
mov rbx, qword [rbx + 0x18]
test eax, eax
jle 0x1401c7909
mov edi, dword [rsp + 0x44]
mov rbp, qword [rsp + 0xb0]
nop
cmp qword [r14 + 0x10], 0
je 0x1401c76fa
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 0x1401c76e0
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
test esi, esi
je 0x1401c7749
mov eax, dword [r15 + 0x90]
lea edx, [rax - 1]
cmp esi, edx
je 0x1401c78ae
mov rcx, qword [r15]
lea rdx, [0x1403f0300]
cmp byte [rcx + 0x67], 0
jne 0x1401c7746
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 0x1401c75ed
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 0x1401c7850
cmp edi, r12d
jl 0x1401c7778
mov rdi, rax
test rax, rax
jne 0x1401c75f8
mov rax, qword [r14]
mov rdi, qword [rax + 0x10]
jmp 0x1401c75f8
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 0x1401c78e4
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 0x1401c7706
mov edi, dword [rsp + 0x44]
mov rbp, rax
jmp 0x1401c76e0
mov r8d, ebx
mov rdx, r15
call dbg.resizeResolveLabel
jmp 0x1401c729c
mov r8d, ebp
jmp 0x1401c7519
mov rdi, rax
jmp 0x1401c75f8
call sym.sqlite3DbNNFreeNN
jmp 0x1401c75ba
mov ebp, dword [rsp + 0x3c]
test ebp, ebp
jne 0x1401c7887
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 0x1401c7300
mov dword [r15 + 0x90], esi
jmp 0x1401c7749
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 0x1401c7671
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 0x1401c780d
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
jmp 0x1401c7749