Function at 0x1400c58b0
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 [0x1401f0010]
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 0x1400c58e2
movzx ebp, byte [rcx]
mov eax, 0x2d
xor r12d, r12d
sub ebp, eax
jne 0x1400c5904
movzx ebp, byte [rcx + 1]
movzx eax, r12b
sub ebp, eax
cmp rbx, qword [0x1401fde08]
jne 0x1400c5956
test rdx, rdx
je 0x1400c591a
mov eax, dword [0x14023fda4]
mov dword [rdx], eax
test r13, r13
je 0x1400c5926
mov dword [r8], 0xfffffffe
test r14, r14
je 0x1400c594b
mov rax, qword [0x14023fdb0]
mov qword [r9 + 0x10], rax
mov rax, qword [0x14023fdb0]
mov qword [r9 + 8], rax
mov rax, qword [0x14023fdb0]
mov qword [r9], rax
mov eax, dword [0x14023fda8]
jmp 0x1400c5b5a
lea ecx, [rdi + 1]
mov qword [rsp + 0x70], rsi
call fcn.14013abf8
mov rsi, rax
test rax, rax
je 0x1400c5b75
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 0x1400c5980
movzx ecx, byte [rsi]
mov r15, rsi
mov rbx, r12
test cl, cl
je 0x1400c59cb
nop dword [rax + rax]
cmp cl, 0x2f
mov rax, r15
cmovne rax, rbx
mov rbx, rax
call fcn.140151404
movsxd rdx, eax
mov rcx, r15
call fcn.1401511c8
movsxd rcx, eax
add r15, rcx
movzx ecx, byte [r15]
test cl, cl
jne 0x1400c59a0
mov r15, qword [rsp + 0x68]
lea rcx, [rsi - 1]
mov eax, edi
add rcx, rax
cmp rbx, rcx
jne 0x1400c59e5
lea eax, [rdi - 1]
mov byte [rax + rsi], r12b
test ebp, ebp
jne 0x1400c5a4c
xor ecx, ecx
call fcn.14014b088
mov rcx, rax
call fcn.14014e1b4
lea rdx, [rsp + 0x28]
mov ecx, eax
call fcn.14014bdf0
test eax, eax
jne 0x1400c5b87
lea rcx, [rsp + 0x48]
call fcn.14013ad20
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400c5a83
test ebp, ebp
je 0x1400c5a72
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400c5a6c
mov rcx, qword [0x14028ae48]
lea rdx, str.zip_diagnostic:_GetFileAttributes_failed_n
call fcn.140055f80
mov eax, 0x20
jmp 0x1400c5a6f
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400c3930
test eax, eax
je 0x1400c5a16
mov rcx, rsi
call fcn.140138b40
xor eax, eax
jmp 0x1400c5b55
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 0x1400c5a88
movzx ecx, word [rsp + 0x2e]
test r13, r13
je 0x1400c5aad
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 0x1400c5acc
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.140138b40
mov ecx, dword [rsp + 0x48]
mov ebx, 0xfffffffe
inc ecx
and rcx, rbx
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x20]
call fcn.140151d94
mov rdx, rax
test rax, rax
jne 0x1400c5b17
xor ecx, ecx
call fcn.14013ad20
inc eax
lea rcx, [rsp + 0x20]
and rax, rbx
mov qword [rsp + 0x20], rax
call fcn.140151d94
mov rdx, rax
mov eax, dword [rdx + 0x14]
add eax, 0x76c
cmp eax, 0x7bc
jge 0x1400c5b2d
mov eax, 0x210000
jmp 0x1400c5b55
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.140131ef0
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.1400bf000
int3
mov rcx, rsi
call fcn.140138b40
lea rcx, str.fstat_stdin_
call fcn.1400bf210
int3