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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
mov rbx, rcx
mov rax, qword [0x1400af118]
xor rax, rsp
mov qword [rsp + 0x78], rax
call fcn.14001e444
mov esi, 0x1126
test al, al
jne 0x14001ec6e
lea rdi, [rsp + 0x50]
mov qword [rdi], 0
movaps xmm0, xmmword [0x140092950]
movups xmmword [rdi + 8], xmm0
mov qword [rdi + 0x18], 7
mov word [rdi], 0
mov rcx, rbx
mov rdx, rdi
call fcn.14001ed17
mov ebx, eax
mov rcx, rdi
call fcn.14001eeec
mov ebp, eax
mov rcx, rdi
mov rdx, rdi
call fcn.14001ef1f
test bl, bl
jne 0x14001e923
test bpl, bpl
jne 0x14001e923
mov esi, 0x7b
test al, al
je 0x14001ec26
test bpl, bpl
jne 0x14001ea8d
movaps xmm0, xmmword [0x140093b90]
movups xmmword [rsp + 0x40], xmm0
movabs rax, 0x5c002e005c005c
mov qword [rsp + 0x30], rax
mov word [rsp + 0x38], 0
mov rbx, qword [rsp + 0x60]
cmp qword [rsp + 0x68], 7
jbe 0x14001e960
mov rdi, qword [rsp + 0x50]
mov r14d, ebp
cmp rbx, 3
jbe 0x14001e98f
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x30]
mov rdx, rbx
mov r9, rdi
call fcn.140003be0
mov rsi, rax
lea r13, [rax + 0x18]
lea rbp, [rax + 0x10]
lea r15, [rax + 8]
jmp 0x14001e9c3
lea r13, [rsp + 0x48]
lea rbp, [rsp + 0x40]
lea r15, [rsp + 0x38]
lea rsi, [rsp + 0x30]
lea rax, [rbx + 4]
mov qword [rsi + 0x10], rax
lea rcx, [rsp + 0x38]
lea r8, [rbx + rbx]
mov rdx, rdi
call fcn.1400675c0
mov word [rsp + rbx*2 + 0x38], 0
mov rdi, qword [rsi]
mov rbx, qword [r15]
mov r12, qword [rbp]
mov r15, qword [r13]
mov qword [rbp], 0
mov qword [r13], 7
mov word [rsi], 0
mov rax, qword [rsp + 0x68]
cmp rax, 8
jb 0x14001ea2e
mov rcx, qword [rsp + 0x50]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14001ea29
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14001ed11
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.1400659f8
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r15
mov rax, qword [rsp + 0x48]
cmp rax, 8
mov ebp, r14d
jb 0x14001ea8d
mov rcx, qword [rsp + 0x30]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14001ea88
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14001ed11
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.1400659f8
mov byte [rsp + 0x2f], bpl
lea rbx, [rsp + 0x50]
mov r9, qword [rbx]
mov rax, qword [rbx + 0x10]
mov rsi, qword [rbx + 0x18]
mov bpl, 1
mov r14, 0xffffffffffffffff
movaps xmm6, xmmword [0x140092940]
lea r13, [rsp + 0x30]
mov r12, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r15, qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x30], 0
movups xmmword [rsp + 0x40], xmm6
mov word [rsp + 0x30], 0
cmp rax, r14
cmovb r14, rax
cmp rsi, 7
cmovbe r9, rbx
cmp r14, 7
jbe 0x14001eb02
mov rcx, r13
mov rdx, r14
call fcn.140003a20
mov rsi, qword [rsp + 0x68]
jmp 0x14001eb1e
mov qword [rsp + 0x40], r14
lea r8, [r14 + r14]
mov rcx, r13
mov rdx, r9
call fcn.1400675c0
mov word [rsp + r14*2 + 0x30], 0
cmp rsi, 8
jb 0x14001eb61
mov rcx, qword [rsp + 0x50]
lea rdx, [rsi + rsi]
add rdx, 2
cmp rdx, 0x1000
jb 0x14001eb5c
mov rax, rcx
add rax, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rax, rcx
cmp rax, 0x20
jae 0x14001ed11
add rsi, rsi
add rsi, 0x29
mov rdx, rsi
call fcn.1400659f8
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
cmp qword [rsp + 0x68], 7
mov rcx, rbx
jbe 0x14001eb85
mov rcx, qword [rsp + 0x50]
call r12
cmp eax, 0xffffffff
je 0x14001eb98
bt eax, 0xa
jae 0x14001ebac
jmp 0x14001ec24
call r15
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x14001ebac
cmp eax, 0x7b
jne 0x14001ec99
mov r9, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
cmp rsi, 7
mov rcx, rbx
cmova rcx, r9
mov rax, qword [rsp + 0x60]
mov r14, 0xffffffffffffffff
test rax, rax
je 0x14001ec11
lea rdx, [rcx + rax*2]
add rdx, 0xfffffffffffffffe
cmp word [rdx], 0x5c
jne 0x14001ebe5
mov rdi, rdx
jmp 0x14001ec08
lea rdi, [rax + rax]
mov ebp, 2
sub rbp, rdi
test rbp, rbp
je 0x14001ec11
lea rdi, [rdx - 2]
add rbp, 2
cmp word [rdx - 2], 0x5c
mov rdx, rdi
jne 0x14001ebf1
sub rdi, rcx
sar rdi, 1
mov r14, rdi
xor ebp, ebp
cmp r14, 2
ja 0x14001eac6
mov esi, 0x1126
jmp 0x14001ec26
xor esi, esi
mov rax, qword [rsp + 0x68]
cmp rax, 8
jb 0x14001ec6e
mov rcx, qword [rsp + 0x50]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x14001ec69
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14001ed11
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.1400659f8
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140065b10
mov eax, esi
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov cl, byte [rsp + 0x2f]
or cl, bpl
test cl, 1
jne 0x14001ed0a
mov rbp, qword [rsp + 0x60]
cmp qword [rsp + 0x68], 7
jbe 0x14001ecb9
mov rcx, qword [rsp + 0x50]
jmp 0x14001ecbe
lea rcx, [rsp + 0x50]
test rbp, rbp
je 0x14001ed0a
lea rdi, [rcx + rbp*2]
add rdi, 0xfffffffffffffffe
cmp word [rdi], 0x5c
jne 0x14001ecd6
mov rdx, rdi
jmp 0x14001ecf8
add rbp, rbp
mov ebx, 2
sub rbx, rbp
test rbx, rbx
je 0x14001ed0a
lea rdx, [rdi - 2]
add rbx, 2
cmp word [rdi - 2], 0x5c
mov rdi, rdx
jne 0x14001ece1
sub rdx, rcx
mov esi, 0x1126
cmp rdx, 6
je 0x14001ec26
mov esi, eax
jmp 0x14001ec26
call fcn.14006c06c
int3