Function at 0x1400c0420
Capabilities:
Check if file exists
Read file on windows

Disassembly:
push r15
mov eax, 0x2048
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1401be370
sub rsp, rax
mov r12, qword [0x140207460]
mov qword [rsp + 0x20a0], r8
mov ebp, edx
mov esi, edx
xor edx, edx
mov qword [rsp + 0x20a8], r9
and ebp, 0x500
mov rbx, rcx
mov edi, r8d
mov rax, qword [r12]
mov qword [rsp + 0x2038], rax
xor eax, eax
cmp ebp, 0x500
lea rax, [rsp + 0x20a0]
setne dl
mov qword [rsp + 0x20], rax
call fcn.1400bc1d0
test eax, eax
je 0x1400c08cf
mov eax, dword [0x1401c44a0]
test eax, eax
js 0x1400c0620
test eax, eax
jne 0x1400c063a
mov r13, qword [sym.imp.msvcrt.dll__wopen]
test rbx, rbx
je 0x1400c04d3
mov r13, qword [sym.imp.msvcrt.dll__wopen]
lea rdx, [0x1401e160e]
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400c06b0
call fcn.1400b9ca0
lea rbp, [rsp + 0x30]
mov r9d, 0xffffffff
mov rdx, rbx
mov r8d, 0x1000
mov rcx, rbp
mov r14d, eax
call fcn.1400bb020
test eax, eax
js 0x1400c05d0
mov r9d, r14d
mov r8d, 0x104
mov edx, eax
mov rcx, rbp
call fcn.1400bc630
test eax, eax
js 0x1400c05e2
mov r8d, edi
mov edx, esi
mov rcx, rbp
call r13
mov r14d, eax
test esi, 0x100
je 0x1400c0668
test eax, eax
jns 0x1400c06d0
test sil, 3
jne 0x1400c0730
mov eax, dword [0x1401c4554]
mov qword [rsp + 0x28], rbx
test eax, eax
je 0x1400c05f0
lea rcx, [rsp + 0x28]
call fcn.1400c36c0
mov rax, qword [rsp + 0x28]
movzx edx, byte [rax]
test dl, dl
je 0x1400c05f0
mov r15, rax
jmp 0x1400c059d
mov rdx, rax
cmp ecx, 0x5c
je 0x1400c05a8
add rax, 1
mov qword [rsp + 0x28], rax
movzx edx, byte [rdx + 1]
test dl, dl
je 0x1400c0770
movsx ecx, dl
cmp dl, 0x2f
jne 0x1400c0580
nop dword [rax]
add rax, 1
mov qword [rsp + 0x28], rax
movsx ecx, byte [rax]
cmp cl, 0x2f
je 0x1400c05a8
cmp ecx, 0x5c
je 0x1400c05a8
test cl, cl
je 0x1400c0770
mov r15, rax
mov rdx, rax
jmp 0x1400c0588
mov rbx, qword [sym.imp.msvcrt.dll__errno]
call rbx
cmp dword [rax], 0x22
je 0x1400c0880
mov r14d, 0xffffffff
nop dword [rax + rax]
mov rax, qword [rsp + 0x2038]
sub rax, qword [r12]
jne 0x1400c08ef
mov eax, r14d
add rsp, 0x2048
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [0x140207cf0]
mov rax, qword [rax]
test rax, rax
je 0x1400c063a
cmp qword [rax + 8], 0
jne 0x1400c0700
test sil, 8
je 0x1400c04a9
movsx eax, byte [rbx]
cmp eax, 0x2f
je 0x1400c07f8
cmp eax, 0x5c
je 0x1400c07f8
lea r13, [0x1400b9bd0]
jmp 0x1400c04bc
test eax, eax
jns 0x1400c05f0
and esi, 3
je 0x1400c05f0
mov rbx, qword [sym.imp.msvcrt.dll__errno]
call rbx
cmp dword [rax], 0xd
jne 0x1400c05f0
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400c05f0
test al, 0x10
je 0x1400c05f0
call rbx
mov dword [rax], 0x15
jmp 0x1400c05f0
lea rbp, [rsp + 0x30]
lea rdx, [0x1401e16b8]
mov rcx, rbp
call sub.msvcrt.dll_wcscpy
jmp 0x1400c051a
call fcn.1400c5250
test eax, eax
je 0x1400c0546
mov ecx, r14d
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov edx, edi
and edx, 0x1ff
mov rcx, rax
or dh, 0x80
call fcn.1400c53e0
jmp 0x1400c0546
lea rdx, [0x1401c44a0]
lea rcx, str.windows.appendatomically
call fcn.14000b590
test eax, eax
jne 0x1400c0870
mov eax, dword [0x1401c44a0]
jmp 0x1400c04a1
mov r15, qword [sym.imp.msvcrt.dll__errno]
call r15
cmp dword [rax], 0xd
jne 0x1400c0546
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400c0546
test al, 0x10
je 0x1400c0546
call r15
mov dword [rax], 0x15
jmp 0x1400c0546
mov eax, dword [0x1401c4554]
cmp eax, 1
je 0x1400c08c0
cmp eax, 2
jne 0x1400c08f4
mov r8d, 4
mov rdx, r15
lea rcx, str..git
call qword [sym.imp.msvcrt.dll__strnicmp]
test eax, eax
jne 0x1400c05f0
movzx eax, byte [r15 + 4]
test al, al
je 0x1400c07c0
movsx edx, al
cmp al, 0x2f
je 0x1400c07c0
cmp edx, 0x5c
jne 0x1400c05f0
nop
test r14d, r14d
js 0x1400c0890
mov edx, 1
mov rcx, rbp
call fcn.1400b9b60
test eax, eax
je 0x1400c05f0
mov rdx, rbx
lea rcx, str.could_not_mark__s_as_hidden.
call fcn.1400a0c10
jmp 0x1400c05f0
movsx eax, byte [rbx + 1]
cmp eax, 0x2f
je 0x1400c080a
cmp eax, 0x5c
jne 0x1400c0659
cmp byte [rbx + 2], 0x2e
jne 0x1400c0659
movsx eax, byte [rbx + 3]
cmp eax, 0x2f
je 0x1400c0826
cmp eax, 0x5c
jne 0x1400c0659
lea rcx, [rbx + 4]
mov r8d, 4
lea rdx, str.pipe
call qword [sym.imp.msvcrt.dll__strnicmp]
test eax, eax
jne 0x1400c0659
movsx eax, byte [rbx + 8]
cmp eax, 0x2f
je 0x1400c0857
cmp eax, 0x5c
jne 0x1400c0659
cmp byte [rbx + 9], 0
je 0x1400c0659
jmp 0x1400c04b5
mov dword [0x1401c44a0], 1
jmp 0x1400c063a
call rbx
mov dword [rax], 0x26
jmp 0x1400c05e2
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0xd
jne 0x1400c05f0
and esi, 0xfffffeff
mov r8d, edi
mov rcx, rbp
mov edx, esi
call r13
mov r14d, eax
test eax, eax
jns 0x1400c07c9
jmp 0x1400c05f0
cmp byte [r15], 0x2e
je 0x1400c07c0
jmp 0x1400c05f0
cmp ebp, 0x500
mov eax, 0x16
mov ebx, 2
cmove ebx, eax
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], ebx
jmp 0x1400c05e2
call fcn.1401be670
call fcn.1400b8cc0
nop
nop word [rax + rax]