Function at 0x14018ca10
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rdi, rcx
mov rax, qword [0x140362028]
xor rax, rsp
mov qword [rsp + 0x80], rax
cmp byte [rcx + 0x17], 0
jns 0x14018ca41
mov rcx, qword [rdi]
lea rdx, [0x14034ff46]
mov r8d, 4
call fcn.1401c349c
xor ecx, ecx
test eax, eax
sete cl
movzx eax, byte [rdi + 0x17]
mov rdx, rax
test al, al
jns 0x14018ca69
mov rdx, qword [rdi + 8]
lea rbp, [rcx*4 + 5]
cmp rdx, rbp
jb 0x14018caa2
shl rcx, 2
mov rdx, rdi
test al, al
jns 0x14018ca84
mov rdx, qword [rdi]
lea rcx, [rdx + rcx*2]
lea rdx, str.pipe_
mov r8d, 5
call fcn.1401c349c
test eax, eax
je 0x14018cb54
xorps xmm0, xmm0
lea r15, [rsp + 0x40]
movaps xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rcx, rdi
mov rdx, r15
call fcn.14018cdd0
mov ebx, eax
movzx edx, byte [r15 + 0x17]
mov rax, rdx
test dl, dl
jns 0x14018cad4
mov rax, qword [rsp + 0x48]
cmp rax, 3
jae 0x14018caef
mov dword [rsp + 0x30], 0x7b
test bl, bl
jne 0x14018cbba
jmp 0x14018cd86
test dl, dl
mov rbp, qword [rsp + 0x40]
mov rcx, r15
cmovs rcx, rbp
cmp word [rcx + 2], 0x3a
jne 0x14018cb24
test dl, dl
cmovns rbp, r15
cmp word [rbp + 4], 0x5c
jne 0x14018cb24
movzx edx, word [rcx]
and edx, 0xffffffdf
add edx, 0xffffffbf
cmp dx, 0x1a
setb bpl
jmp 0x14018cb26
xor ebp, ebp
cmp rax, 8
jb 0x14018cb42
lea rdx, [0x140350190]
mov r8d, 8
call fcn.1401c349c
test eax, eax
je 0x14018cb5e
or bl, bpl
mov dword [rsp + 0x30], 0x7b
jne 0x14018cbab
jmp 0x14018cd86
mov esi, 0x1126
jmp 0x14018cd9b
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x58]
lea rdi, [rsp + 0x40]
mov r8d, 8
mov rdx, rdi
mov r9, 0xffffffffffffffff
call fcn.1400b9ce0
cmp byte [rdi + 0x17], 0
jns 0x14018cb97
mov rcx, qword [rsp + 0x40]
call fcn.1401a2ea8
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0x40], xmm0
mov al, 1
mov dword [rsp + 0x34], eax
test bpl, bpl
jne 0x14018cc63
lea r14, [rsp + 0x48]
lea rcx, [rsp + 0x58]
mov byte [rcx + 0x17], 4
movabs rax, 0x5c002e005c005c
mov qword [rcx], rax
mov word [rcx + 8], 0
movzx r8d, byte [r14 + 0xf]
test r8b, r8b
cmovs r8, qword [r14]
lea rdi, [rsp + 0x40]
mov rdx, qword [rdi]
cmovns rdx, rdi
call fcn.1400b9bc0
mov rbx, qword [rax]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0xf]
mov qword [rsp + 0x77], rdx
mov qword [rsp + 0x70], rcx
mov bpl, byte [rax + 0x17]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
cmp byte [rdi + 0x17], 0
jns 0x14018cc2f
mov rcx, qword [rsp + 0x40]
call fcn.1401a2ea8
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x77]
mov qword [r14 + 7], rcx
mov qword [r14], rax
mov byte [rsp + 0x57], bpl
cmp byte [rsp + 0x6f], 0
jns 0x14018cc5b
mov rcx, qword [rsp + 0x58]
call fcn.1401a2ea8
mov dword [rsp + 0x34], 0
mov rdi, 0xffffffffffffffff
lea r13, [rsp + 0x58]
xor r14d, r14d
lea rsi, [rsp + 0x58]
mov rbx, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov qword [rsp + 0x20], r13
mov rcx, rsi
mov rdx, r15
xor r8d, r8d
mov r9, rdi
call fcn.1400b9ce0
cmp byte [rsp + 0x57], 0
jns 0x14018cca5
mov rcx, qword [rsp + 0x40]
call fcn.1401a2ea8
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0x40], xmm0
cmp byte [rsp + 0x57], 0
mov rcx, r15
jns 0x14018ccc8
mov rcx, qword [rsp + 0x40]
call rbx
cmp eax, 0xffffffff
je 0x14018ccda
bt eax, 0xa
jae 0x14018cd3d
jmp 0x14018cd6e
mov qword [rsp + 0x38], r14
xor r12d, r12d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea r14d, [rbp - 2]
cmp r14d, 2
jb 0x14018cd32
cmp ebp, 0x7b
je 0x14018cd32
test byte [rsp + 0x38], 1
sete al
or al, byte [rsp + 0x34]
jne 0x14018cd26
mov rcx, r15
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.1400ba150
mov r12d, 2
cmp rax, 3
je 0x14018cd32
mov r12d, 1
mov eax, ebp
mov dword [rsp + 0x30], ebp
cmp r14d, 2
jb 0x14018cd3d
cmp ebp, 0x7b
jne 0x14018cd62
mov rcx, r15
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.1400ba150
mov rdi, rax
mov r14b, 1
cmp rdi, 2
ja 0x14018cc7e
jmp 0x14018cd7e
test r12d, r12d
jne 0x14018cd78
mov r14, qword [rsp + 0x38]
jmp 0x14018cd56
mov dword [rsp + 0x30], 0
jmp 0x14018cd86
cmp r12d, 2
jne 0x14018cd86
mov dword [rsp + 0x30], 0x1126
cmp byte [rsp + 0x57], 0
jns 0x14018cd97
mov rcx, qword [rsp + 0x40]
call fcn.1401a2ea8
mov esi, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1401a4270
mov eax, esi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret