Function at 0x14002c1b0
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, 0x78
mov rdi, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x70], rax
cmp byte [rcx + 0x17], 0
jns 0x14002c1db
mov rcx, qword [rdi]
lea rdx, [0x1402038d8]
mov r8d, 4
call fcn.14011e1e8
xor ecx, ecx
test eax, eax
sete cl
movzx eax, byte [rdi + 0x17]
mov rdx, rax
test al, al
jns 0x14002c203
mov rdx, qword [rdi + 8]
lea rbp, [rcx*4 + 5]
cmp rdx, rbp
jb 0x14002c23c
shl rcx, 2
mov rdx, rdi
test al, al
jns 0x14002c21e
mov rdx, qword [rdi]
lea rcx, [rdx + rcx*2]
lea rdx, str.pipe_
mov r8d, 5
call fcn.14011e1e8
test eax, eax
je 0x14002c3eb
xorps xmm0, xmm0
lea rsi, [rsp + 0x30]
movaps xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rcx, rdi
mov rdx, rsi
call fcn.14002ccc0
mov ebx, eax
movzx edx, byte [rsi + 0x17]
mov rax, rdx
test dl, dl
jns 0x14002c26c
mov rax, qword [rsp + 0x38]
cmp rax, 3
jb 0x14002c40d
test dl, dl
mov rbp, qword [rsp + 0x30]
mov rcx, rsi
cmovs rcx, rbp
cmp word [rcx + 2], 0x3a
jne 0x14002c406
test dl, dl
cmovns rbp, rsi
cmp word [rbp + 4], 0x5c
jne 0x14002c406
movzx edx, word [rcx]
and edx, 0xffffffdf
add edx, 0xffffffbf
cmp dx, 0x1a
setb bpl
cmp rax, 8
jb 0x14002c2d1
lea rdx, [0x140203b30]
mov r8d, 8
call fcn.14011e1e8
test eax, eax
je 0x14002c4c2
or bl, bpl
je 0x14002c4b8
mov r15b, 1
test bpl, bpl
je 0x14002c415
mov bl, 1
mov rax, 0xffffffffffffffff
lea r13, [rsp + 0x48]
lea rdi, [rsp + 0x48]
mov rbp, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r12, qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x20], r13
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9, rax
call fcn.140018aa0
cmp byte [rsp + 0x47], 0
jns 0x14002c32e
mov rcx, qword [rsp + 0x30]
call fcn.14011d780
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x30], xmm0
cmp byte [rsp + 0x47], 0
mov rcx, rsi
jns 0x14002c351
mov rcx, qword [rsp + 0x30]
call rbp
cmp eax, 0xffffffff
je 0x14002c37f
bt eax, 0xa
jb 0x14002c3fe
mov rcx, rsi
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.14010e920
xor ebx, ebx
cmp rax, 2
ja 0x14002c307
jmp 0x14002c3bf
call r12
mov r14d, eax
lea eax, [r14 - 2]
cmp eax, 2
jb 0x14002c362
cmp r14d, 0x7b
je 0x14002c362
or r15b, bl
test r15b, 1
jne 0x14002c401
lea rcx, [rsp + 0x30]
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.14010e920
mov esi, 0x1126
cmp rax, 3
je 0x14002c3c4
jmp 0x14002c401
mov esi, 0x1126
cmp byte [rsp + 0x47], 0
js 0x14002c3f2
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14011fe20
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov esi, 0x1126
jmp 0x14002c3cb
mov rcx, qword [rsp + 0x30]
call fcn.14011d780
jmp 0x14002c3cb
xor r14d, r14d
mov esi, r14d
jmp 0x14002c3c4
xor ebp, ebp
jmp 0x14002c2b1
test bl, bl
je 0x14002c4b8
lea r14, [rsp + 0x38]
lea rdx, [0x140203980]
lea rdi, [rsp + 0x48]
mov rcx, rdi
call fcn.14005c110
movzx r8d, byte [r14 + 0xf]
test r8b, r8b
cmovs r8, qword [r14]
lea rbp, [rsp + 0x30]
mov rdx, qword [rbp]
cmovns rdx, rbp
mov rcx, rdi
call fcn.1400f47c0
mov rdi, qword [rax]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0xf]
mov qword [rsp + 0x67], rdx
mov qword [rsp + 0x60], rcx
mov bl, byte [rax + 0x17]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
cmp byte [rbp + 0x17], 0
jns 0x14002c485
mov rcx, qword [rsp + 0x30]
call fcn.14011d780
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x67]
mov qword [r14 + 7], rcx
mov qword [r14], rax
mov byte [rsp + 0x47], bl
cmp byte [rsp + 0x5f], 0
jns 0x14002c4b0
mov rcx, qword [rsp + 0x48]
call fcn.14011d780
xor r15d, r15d
jmp 0x14002c2e6
mov esi, 0x7b
jmp 0x14002c3c4
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x48]
lea rdi, [rsp + 0x30]
mov r8d, 8
mov rdx, rdi
mov r9, 0xffffffffffffffff
call fcn.140018aa0
cmp byte [rdi + 0x17], 0
jns 0x14002c4fb
mov rcx, qword [rsp + 0x30]
call fcn.14011d780
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x30], xmm0
jmp 0x14002c2da