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

Disassembly:
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov r9, qword [rcx + 0x18]
mov rdi, rcx
mov r8, qword [rcx + 0x10]
mov rdx, rcx
cmp r9, 8
jb 0x14001f968
mov rdx, qword [rcx]
mov qword [rsp + 0xc0], rbx
mov r14, 0xffffffffffffffff
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0x90], r15
test r8, r8
je 0x14001fb0d
lea rcx, [r8 - 1]
mov rax, r14
cmp rcx, rax
cmovb rax, rcx
cmp word [rdx + rax*2], 0x2e
lea rbx, [rdx + rax*2]
je 0x14001f9c4
cmp rbx, rdx
je 0x14001fb0d
sub rbx, 2
cmp word [rbx], 0x2e
jne 0x14001f9b1
xor esi, esi
mov qword [rbp + 0x2f], 7
sub rbx, rdx
mov qword [rbp + 0x27], rsi
sar rbx, 1
mov word [rbp + 0x17], si
mov qword [rbp + 7], rsi
mov qword [rbp + 0xf], 7
mov word [rbp - 9], si
cmp rbx, r14
je 0x14001fb2f
cmp r8, rbx
mov qword [rbp - 0x19], rsi
mov rax, rbx
mov qword [rbp - 0x11], 7
cmovb rax, r8
mov word [rbp - 0x29], si
mov rdx, rdi
cmp r9, 8
jb 0x14001fa1b
mov rdx, qword [rdi]
mov r8, rax
lea rcx, [rbp - 0x29]
call fcn.140014450
mov rdx, qword [rbp + 0x2f]
cmp rdx, 8
jb 0x14001fa67
mov rcx, qword [rbp + 0x17]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14001fa62
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001fd2a
mov rcx, r8
call fcn.14003e23c
movups xmm1, xmmword [rbp - 0x19]
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x19], rsi
mov qword [rbp - 0x11], 7
movups xmm0, xmmword [rbp - 0x29]
mov word [rbp - 0x29], si
movups xmmword [rbp + 0x27], xmm1
movups xmmword [rbp + 0x17], xmm0
cmp rax, rbx
jb 0x14001fd30
sub rax, rbx
mov r8, r14
cmp rax, r14
cmovb r8, rax
cmp qword [rdi + 0x18], 8
mov rax, rdi
jb 0x14001faae
mov rax, qword [rdi]
lea rdx, [rax + rbx*2]
lea rcx, [rbp - 0x29]
call fcn.140014450
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14001fafb
mov rcx, qword [rbp - 9]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14001faf6
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001fd2a
mov rcx, r8
call fcn.14003e23c
movups xmm0, xmmword [rbp - 0x29]
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm1
jmp 0x14001fb4d
xor esi, esi
mov qword [rbp + 0x2f], 7
mov qword [rbp + 0x27], rsi
mov word [rbp + 0x17], si
mov qword [rbp + 7], rsi
mov word [rbp - 9], si
mov qword [rbp + 0xf], 7
lea rax, [rbp + 0x17]
cmp rax, rdi
je 0x14001fb4d
mov rdx, rdi
cmp r9, 8
jb 0x14001fb44
mov rdx, qword [rdi]
lea rcx, [rbp + 0x17]
call fcn.140014450
mov r12, qword [rdi + 0x10]
xorps xmm0, xmm0
mov r15, rsi
movdqu xmmword [rbp - 0x29], xmm0
add r12, 4
je 0x14001fb9b
movabs rax, 0x7fffffffffffffff
cmp r12, rax
ja 0x14001fd24
mov rdx, r12
lea rcx, [rbp - 0x29]
call fcn.140014260
lea r8, [r12 + r12]
xor edx, edx
mov rcx, rax
mov rbx, rax
lea r15, [rax + r8]
call fcn.140042410
mov r12, r15
jmp 0x14001fba3
mov r12, qword [rbp - 0x21]
mov rbx, qword [rbp - 0x29]
sub r12, rbx
mov qword [rsp + 0x98], r13
sar r12, 1
mov r13d, esi
nop dword [rax]
nop dword [rax + rax]
cmp qword [rbp + 0xf], 8
lea rax, [rbp - 9]
lea r9, [rbp + 0x17]
mov rdx, r12
cmovae rax, qword [rbp - 9]
lea r8, [0x140086e00]
inc r13d
mov qword [rsp + 0x28], rax
cmp qword [rbp + 0x2f], 8
mov rcx, rbx
mov dword [rsp + 0x20], r13d
cmovae r9, qword [rbp + 0x17]
call fcn.140014840
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14001fc0d
test al, 0x10
je 0x14001fbc0
mov r13, qword [rsp + 0x98]
inc r14
cmp word [rbx + r14*2], 0
jne 0x14001fc15
mov r8, r14
mov rdx, rbx
mov rcx, rdi
call fcn.140014450
test rbx, rbx
je 0x14001fc6c
sub r15, rbx
sar r15, 1
add r15, r15
cmp r15, 0x1000
jb 0x14001fc61
mov rcx, qword [rbx - 8]
add r15, 0x27
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x14001fd2a
mov rbx, rcx
mov rdx, r15
mov rcx, rbx
call fcn.14003e23c
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14001fcac
mov rcx, qword [rbp - 9]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14001fca7
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001fd2a
mov rcx, r8
call fcn.14003e23c
mov rdx, qword [rbp + 0x2f]
mov qword [rbp + 7], rsi
mov qword [rbp + 0xf], 7
mov word [rbp - 9], si
cmp rdx, 8
jb 0x14001fcf8
mov rcx, qword [rbp + 0x17]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14001fcf3
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001fd2a
mov rcx, r8
call fcn.14003e23c
mov r15, qword [rsp + 0x90]
mov r12, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
add rsp, 0xa0
pop r14
pop rdi
pop rbp
ret
call fcn.14002b1b0
int3
call fcn.14004bd18
int3
call fcn.14002b1d0
int3