Function at 0x1400aeb30
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 [0x1401b7030]
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 0x1400aeb62
movzx ebp, byte [rcx]
mov eax, 0x2d
xor r12d, r12d
sub ebp, eax
jne 0x1400aeb84
movzx ebp, byte [rcx + 1]
movzx eax, r12b
sub ebp, eax
cmp rbx, qword [0x1401beba0]
jne 0x1400aebd6
test rdx, rdx
je 0x1400aeb9a
mov eax, dword [0x1401c0710]
mov dword [rdx], eax
test r13, r13
je 0x1400aeba6
mov dword [r8], 0xfffffffe
test r14, r14
je 0x1400aebcb
mov rax, qword [0x1401c0718]
mov qword [r9 + 0x10], rax
mov rax, qword [0x1401c0718]
mov qword [r9 + 8], rax
mov rax, qword [0x1401c0718]
mov qword [r9], rax
mov eax, dword [0x1401c0714]
jmp 0x1400aedda
lea ecx, [rdi + 1]
mov qword [rsp + 0x70], rsi
call fcn.1401313c0
mov rsi, rax
test rax, rax
je 0x1400aedf5
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 0x1400aec00
movzx ecx, byte [rsi]
mov r15, rsi
mov rbx, r12
test cl, cl
je 0x1400aec4b
nop dword [rax + rax]
cmp cl, 0x2f
mov rax, r15
cmovne rax, rbx
mov rbx, rax
call fcn.140137290
movsxd rdx, eax
mov rcx, r15
call fcn.140137210
movsxd rcx, eax
add r15, rcx
movzx ecx, byte [r15]
test cl, cl
jne 0x1400aec20
mov r15, qword [rsp + 0x68]
lea rcx, [rsi - 1]
mov eax, edi
add rcx, rax
cmp rbx, rcx
jne 0x1400aec65
lea eax, [rdi - 1]
mov byte [rax + rsi], r12b
test ebp, ebp
jne 0x1400aeccc
xor ecx, ecx
call fcn.14012f8d4
mov rcx, rax
call fcn.140134f58
lea rdx, [rsp + 0x28]
mov ecx, eax
call fcn.14013369c
test eax, eax
jne 0x1400aee07
lea rcx, [rsp + 0x48]
call fcn.14012d7b4
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400aed03
test ebp, ebp
je 0x1400aecf2
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x1400aecec
mov rcx, qword [0x14020b0c8]
lea rdx, str.zip_diagnostic:_GetFileAttributes_failed_n
call fcn.14006bf80
mov eax, 0x20
jmp 0x1400aecef
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400acbb0
test eax, eax
je 0x1400aec96
mov rcx, rsi
call fcn.140125238
xor eax, eax
jmp 0x1400aedd5
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 0x1400aed08
movzx ecx, word [rsp + 0x2e]
test r13, r13
je 0x1400aed2d
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 0x1400aed4c
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.140125238
mov ecx, dword [rsp + 0x48]
mov ebx, 0xfffffffe
inc ecx
and rcx, rbx
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x20]
call fcn.140132260
mov rdx, rax
test rax, rax
jne 0x1400aed97
xor ecx, ecx
call fcn.14012d7b4
inc eax
lea rcx, [rsp + 0x20]
and rax, rbx
mov qword [rsp + 0x20], rax
call fcn.140132260
mov rdx, rax
mov eax, dword [rdx + 0x14]
add eax, 0x76c
cmp eax, 0x7bc
jge 0x1400aedad
mov eax, 0x210000
jmp 0x1400aedd5
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.14011c340
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.1400a8390
int3
mov rcx, rsi
call fcn.140125238
lea rcx, str.fstat_stdin_
call fcn.1400a85a0
int3