Function at 0x180068ab0
Capabilities:
Check if file exists
Get common file path

Disassembly:
push rbx
push rsi
push r12
sub rsp, 0x670
mov rax, qword [0x1801aef28]
xor rax, rsp
mov qword [rsp + 0x650], rax
mov ebx, r8d
mov r12, rdx
mov rsi, rcx
test rcx, rcx
je 0x180068aed
test rdx, rdx
je 0x180068aed
test ebx, ebx
je 0x180068aed
movzx edx, word [rcx]
test dx, dx
jne 0x180068af4
xor eax, eax
jmp 0x180068e44
or rcx, 0xffffffffffffffff
xor eax, eax
mov qword [rsp + 0x668], rbp
mov qword [rsp + 0x660], rdi
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, 3
jbe 0x180068cef
cmp dx, 0x5c
jne 0x180068be7
cmp word [rsi + 2], dx
jne 0x180068be7
movzx eax, word [rsi + 4]
lea rcx, [rsi + 4]
cmp ax, 0x2e
jne 0x180068b48
cmp word [rsi + 6], dx
je 0x180068b55
cmp ax, 0x3f
jne 0x180068b7c
cmp word [rsi + 6], 0x5c
jne 0x180068b7c
add rsi, 8
cmp word [rsi], 0
je 0x180068e0b
cmp word [rsi + 2], 0x3a
jne 0x180068e0b
cmp word [rsi + 4], 0x5c
je 0x180068be7
xor eax, eax
jmp 0x180068e34
mov edx, 0x5c
call fcn.1800a1c0c
test rax, rax
je 0x180068e0b
lea rdx, str.pipe_
mov r8d, 6
mov rcx, rax
call fcn.1800a39f8
test eax, eax
je 0x180068e0b
lea eax, [rbx - 1]
mov rdx, rsi
mov rcx, r12
mov r8d, eax
mov ebx, eax
call fcn.1800a11c4
xor ebp, ebp
or rcx, 0xffffffffffffffff
xor eax, eax
mov word [r12 + rbx*2], bp
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, 3
seta bpl
mov eax, ebp
jmp 0x180068e34
lea rcx, [rsp + 0x232]
xor ebp, ebp
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x230], bp
call fcn.1800a1250
movzx eax, word [rsi + 2]
cmp ax, 0x3a
je 0x180068db7
cmp ax, 0x7c
jne 0x180068c24
cmp word [rsi + 6], ax
je 0x180068db7
lea rdx, [rsp + 0x230]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x180068e0b
cmp eax, 0x104
jae 0x180068e0b
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x230]
repne scasw ax, word [rdi]
cmp word [rsi], 0x2e
not rcx
lea rdx, [rcx - 1]
jne 0x180068c89
movzx eax, word [rsi + 2]
cmp ax, 0x5c
jne 0x180068c78
add rsi, 4
jmp 0x180068c89
cmp ax, 0x2e
jne 0x180068c89
cmp word [rsi + 4], 0x5c
jne 0x180068c89
add rsi, 6
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rax, [rcx + rdx]
cmp rax, 0x104
jae 0x180068e0b
mov eax, 0x5c
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x230]
mov word [rsp + rdx*2 + 0x230], ax
xor eax, eax
repne scasw ax, word [rdi]
xor ecx, ecx
nop dword [rax + rax]
movzx eax, word [rsi + rcx]
add rcx, 2
mov word [rdi + rcx - 4], ax
test ax, ax
jne 0x180068cd0
lea rsi, [rsp + 0x230]
jmp 0x180068db7
lea rcx, [rsp + 0x22]
xor ebp, ebp
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x20], bp
call fcn.1800a1250
cmp word [rsi + 2], 0x3a
je 0x180068db7
lea rdx, [rsp + 0x20]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x180068e0b
cmp eax, 0x104
jae 0x180068e0b
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x20]
repne scasw ax, word [rdi]
cmp word [rsi], 0x2e
not rcx
lea rdx, [rcx - 1]
jne 0x180068d5c
cmp word [rsi + 2], 0x5c
jne 0x180068d5c
add rsi, 4
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rax, [rcx + rdx]
cmp rax, 0x104
jae 0x180068e0b
mov eax, 0x5c
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x20]
mov word [rsp + rdx*2 + 0x20], ax
xor eax, eax
repne scasw ax, word [rdi]
xor ecx, ecx
nop word [rax + rax]
movzx eax, word [rsi + rcx]
add rcx, 2
mov word [rdi + rcx - 4], ax
test ax, ax
jne 0x180068da0
lea rsi, [rsp + 0x20]
lea rcx, [rsp + 0x442]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x440], bp
call fcn.1800a1250
mov edx, 0x7e
mov rcx, rsi
call fcn.1800a1c0c
test rax, rax
je 0x180068e17
lea rdx, [rsp + 0x440]
mov r8d, 0x104
mov rcx, rsi
call fcn.180070010
test eax, eax
jne 0x180068e0f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x180068e17
xor eax, eax
jmp 0x180068e34
lea rsi, [rsp + 0x440]
lea eax, [rbx - 1]
mov rdx, rsi
mov rcx, r12
mov r8d, eax
mov edi, eax
call fcn.1800a11c4
mov word [r12 + rdi*2], bp
mov eax, 1
mov rbp, qword [rsp + 0x668]
mov rdi, qword [rsp + 0x660]
mov rcx, qword [rsp + 0x650]
xor rcx, rsp
call fcn.1800a1220
add rsp, 0x670
pop r12
pop rsi
pop rbx
ret