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

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
push r14
sub rsp, 0x78
mov rax, qword [0x1401ef010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r14, r9
mov qword [rsp + 0x20], rdx
mov r13, r8
mov rbx, rcx
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rcx + rdi], 0
jne 0x1400c5a42
movzx ebp, byte [rcx]
mov eax, 0x2d
xor r12d, r12d
sub ebp, eax
jne 0x1400c5a64
movzx ebp, byte [rcx + 1]
movzx eax, r12b
sub ebp, eax
cmp rbx, qword [0x1401fce08]
jne 0x1400c5ab6
test rdx, rdx
je 0x1400c5a7a
mov eax, dword [0x14023ed98]
mov dword [rdx], eax
test r13, r13
je 0x1400c5a86
mov dword [r8], 0xfffffffe
test r14, r14
je 0x1400c5aab
mov rax, qword [0x14023eda0]
mov qword [r9 + 0x10], rax
mov rax, qword [0x14023eda0]
mov qword [r9 + 8], rax
mov rax, qword [0x14023eda0]
mov qword [r9], rax
mov eax, dword [0x14023ed9c]
jmp 0x1400c5cba
lea ecx, [rdi + 1]
mov qword [rsp + 0x70], rsi
call fcn.140139fe8
mov rsi, rax
test rax, rax
je 0x1400c5cd5
mov rcx, rax
mov qword [rsp + 0x68], r15
sub rcx, rbx
nop word [rax + rax]
movzx eax, byte [rbx]
mov byte [rcx + rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x1400c5ae0
movzx ecx, byte [rsi]
mov r15, rsi
mov rbx, r12
test cl, cl
je 0x1400c5b2b
nop dword [rax + rax]
cmp cl, 0x2f
mov rax, r15
cmovne rax, rbx
mov rbx, rax
call fcn.1401507f4
movsxd rdx, eax
mov rcx, r15
call fcn.1401505b8
movsxd rcx, eax
add r15, rcx
movzx ecx, byte [r15]
test cl, cl
jne 0x1400c5b00
mov r15, qword [rsp + 0x68]
lea rcx, [rsi - 1]
mov eax, edi
add rcx, rax
cmp rbx, rcx
jne 0x1400c5b45
lea eax, [rdi - 1]
mov byte [rax + rsi], r12b
test ebp, ebp
jne 0x1400c5bac
xor ecx, ecx
call fcn.14014a478
mov rcx, rax
call fcn.14014d5a4
lea rdx, [rsp + 0x28]
mov ecx, eax
call fcn.14014b1e0
test eax, eax
jne 0x1400c5ce7
lea rcx, [rsp + 0x48]
call fcn.14013a110
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400c5be3
test ebp, ebp
je 0x1400c5bd2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400c5bcc
mov rcx, qword [0x140289e28]
lea rdx, str.zip_diagnostic:_GetFileAttributes_failed_n
call fcn.1400560e0
mov eax, 0x20
jmp 0x1400c5bcf
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400c3a90
test eax, eax
je 0x1400c5b76
mov rcx, rsi
call fcn.140137f30
xor eax, eax
jmp 0x1400c5cb5
and eax, 0x37
mov r12d, eax
movzx ecx, word [rsp + 0x2e]
mov eax, ecx
shl eax, 0x10
or eax, r12d
mov dword [rbx], eax
jmp 0x1400c5be8
movzx ecx, word [rsp + 0x2e]
test r13, r13
je 0x1400c5c0d
mov eax, 0xf000
and cx, ax
mov eax, 0x8000
cmp cx, ax
mov rax, 0xffffffffffffffff
cmove eax, dword [rsp + 0x3c]
mov dword [r13], eax
test r14, r14
je 0x1400c5c2c
mov rax, qword [rsp + 0x40]
mov qword [r14], rax
mov rax, qword [rsp + 0x48]
mov qword [r14 + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [r14 + 0x10], rax
mov rcx, rsi
call fcn.140137f30
mov ecx, dword [rsp + 0x48]
mov ebx, 0xfffffffe
inc ecx
and rcx, rbx
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x20]
call fcn.140151184
mov rdx, rax
test rax, rax
jne 0x1400c5c77
xor ecx, ecx
call fcn.14013a110
inc eax
lea rcx, [rsp + 0x20]
and rax, rbx
mov qword [rsp + 0x20], rax
call fcn.140151184
mov rdx, rax
mov eax, dword [rdx + 0x14]
add eax, 0x76c
cmp eax, 0x7bc
jge 0x1400c5c8d
mov eax, 0x210000
jmp 0x1400c5cb5
mov ecx, dword [rdx + 0x10]
add eax, 0xffffffc4
shl eax, 9
inc ecx
or eax, dword [rdx + 0xc]
shl eax, 5
or eax, dword [rdx + 8]
shl eax, 6
or eax, dword [rdx + 4]
shl ecx, 0x15
shl eax, 5
or eax, ecx
mov ecx, dword [rdx]
shr ecx, 1
or eax, ecx
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401312e0
add rsp, 0x78
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret
lea rdx, str.filetime
mov ecx, 4
call fcn.1400bf160
int3
mov rcx, rsi
call fcn.140137f30
lea rcx, str.fstat_stdin_
call fcn.1400bf370
int3