Function at 0x1400ab620
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 [0x14021b0e0]
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 0x1400ab652
movzx ebp, byte [rcx]
mov eax, 0x2d
xor r12d, r12d
sub ebp, eax
jne 0x1400ab674
movzx ebp, byte [rcx + 1]
movzx eax, r12b
sub ebp, eax
cmp rbx, qword [0x1402295b8]
jne 0x1400ab6c6
test rdx, rdx
je 0x1400ab68a
mov eax, dword [0x14026b550]
mov dword [rdx], eax
test r13, r13
je 0x1400ab696
mov dword [r8], 0xfffffffe
test r14, r14
je 0x1400ab6bb
mov rax, qword [0x14026b558]
mov qword [r9 + 0x10], rax
mov rax, qword [0x14026b558]
mov qword [r9 + 8], rax
mov rax, qword [0x14026b558]
mov qword [r9], rax
mov eax, dword [0x14026b554]
jmp 0x1400ab8ca
lea ecx, [rdi + 1]
mov qword [rsp + 0x70], rsi
call fcn.1401507f8
mov rsi, rax
test rax, rax
je 0x1400ab8e5
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 0x1400ab6f0
movzx ecx, byte [rsi]
mov r15, rsi
mov rbx, r12
test cl, cl
je 0x1400ab73b
nop dword [rax + rax]
cmp cl, 0x2f
mov rax, r15
cmovne rax, rbx
mov rbx, rax
call fcn.140167244
movsxd rdx, eax
mov rcx, r15
call fcn.140167008
movsxd rcx, eax
add r15, rcx
movzx ecx, byte [r15]
test cl, cl
jne 0x1400ab710
mov r15, qword [rsp + 0x68]
lea rcx, [rsi - 1]
mov eax, edi
add rcx, rax
cmp rbx, rcx
jne 0x1400ab755
lea eax, [rdi - 1]
mov byte [rax + rsi], r12b
test ebp, ebp
jne 0x1400ab7bc
xor ecx, ecx
call fcn.14015b94c
mov rcx, rax
call fcn.140163ff4
lea rdx, [rsp + 0x28]
mov ecx, eax
call fcn.14015c6b4
test eax, eax
jne 0x1400ab8f7
lea rcx, [rsp + 0x48]
call fcn.140150920
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400ab7f3
test ebp, ebp
je 0x1400ab7e2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400ab7dc
mov rcx, qword [0x1402b65c8]
lea rdx, str.zip_diagnostic:_GetFileAttributes_failed_n
call fcn.140057c10
mov eax, 0x20
jmp 0x1400ab7df
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400a9700
test eax, eax
je 0x1400ab786
mov rcx, rsi
call fcn.14014e740
xor eax, eax
jmp 0x1400ab8c5
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 0x1400ab7f8
movzx ecx, word [rsp + 0x2e]
test r13, r13
je 0x1400ab81d
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 0x1400ab83c
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.14014e740
mov ecx, dword [rsp + 0x48]
mov ebx, 0xfffffffe
inc ecx
and rcx, rbx
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x20]
call fcn.140167bd4
mov rdx, rax
test rax, rax
jne 0x1400ab887
xor ecx, ecx
call fcn.140150920
inc eax
lea rcx, [rsp + 0x20]
and rax, rbx
mov qword [rsp + 0x20], rax
call fcn.140167bd4
mov rdx, rax
mov eax, dword [rdx + 0x14]
add eax, 0x76c
cmp eax, 0x7bc
jge 0x1400ab89d
mov eax, 0x210000
jmp 0x1400ab8c5
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.140147af0
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.1400a4dd0
int3
mov rcx, rsi
call fcn.14014e740
lea rcx, str.fstat_stdin_
call fcn.1400a4fe0
int3