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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov r9, qword [rcx + 0x18]
mov rsi, rcx
mov r8, qword [rcx + 0x10]
mov rdx, rcx
cmp r9, 8
jb 0x14001f78a
mov rdx, qword [rcx]
mov rdi, 0xffffffffffffffff
test r8, r8
je 0x14001f7c7
lea rcx, [r8 - 1]
mov rax, rdi
cmp rcx, rax
cmovb rax, rcx
cmp word [rdx + rax*2], 0x2e
lea rbx, [rdx + rax*2]
je 0x14001f7bf
nop
cmp rbx, rdx
je 0x14001f7c7
sub rbx, 2
cmp word [rbx], 0x2e
jne 0x14001f7b0
sub rbx, rdx
sar rbx, 1
jmp 0x14001f7ca
mov rbx, rdi
xor r12d, r12d
mov qword [rbp + 0x2f], 7
mov qword [rbp + 0x27], r12
mov word [rbp + 0x17], r12w
mov qword [rbp + 7], r12
mov qword [rbp + 0xf], 7
mov word [rbp - 9], r12w
cmp rbx, rdi
je 0x14001f8a6
movdqa xmm0, xmmword [0x1400839d0]
cmp r8, rbx
mov rax, rbx
mov word [rbp - 0x29], r12w
cmovb rax, r8
mov rdx, rsi
movdqu xmmword [rbp - 0x19], xmm0
cmp r9, 8
jb 0x14001f820
mov rdx, qword [rsi]
mov r8, rax
lea rcx, [rbp - 0x29]
call fcn.140029c00
lea rcx, [rbp + 0x17]
call fcn.140010f20
movups xmm0, xmmword [rbp - 0x29]
mov rax, qword [rsi + 0x10]
mov word [rbp - 0x29], r12w
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rbp + 0x17], xmm0
movdqa xmm0, xmmword [0x1400839d0]
movdqu xmmword [rbp - 0x19], xmm0
movups xmmword [rbp + 0x27], xmm1
cmp rax, rbx
jb 0x14001fa54
sub rax, rbx
mov r8, rdi
cmp rax, rdi
cmovb r8, rax
cmp qword [rsi + 0x18], 8
mov rax, rsi
jb 0x14001f87e
mov rax, qword [rsi]
lea rdx, [rax + rbx*2]
lea rcx, [rbp - 0x29]
call fcn.140029c00
lea rcx, [rbp - 9]
call fcn.140010f20
movups xmm0, xmmword [rbp - 0x29]
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm1
jmp 0x14001f8c4
lea rax, [rbp + 0x17]
cmp rax, rsi
je 0x14001f8c4
mov rdx, rsi
cmp r9, 8
jb 0x14001f8bb
mov rdx, qword [rsi]
lea rcx, [rbp + 0x17]
call fcn.140029c00
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x67]
add rdx, 4
mov qword [rsp + 0xc8], r14
lea rcx, [rbp - 0x29]
mov qword [rsp + 0xd0], r15
call fcn.140019d80
mov r14, qword [rbp - 0x21]
mov r15d, r12d
mov rbx, qword [rbp - 0x29]
sub r14, rbx
sar r14, 1
nop word [rax + rax]
cmp qword [rbp + 0xf], 8
lea rax, [rbp - 9]
lea r9, [rbp + 0x17]
mov rdx, r14
cmovae rax, qword [rbp - 9]
lea r8, [0x1400858f0]
inc r15d
mov qword [rsp + 0x28], rax
cmp qword [rbp + 0x2f], 8
mov rcx, rbx
mov dword [rsp + 0x20], r15d
cmovae r9, qword [rbp + 0x17]
call fcn.140014d00
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14001f94d
test al, 0x10
je 0x14001f900
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xc8]
nop dword [rax]
inc rdi
cmp word [rbx + rdi*2], r12w
jne 0x14001f960
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.140029c00
test rbx, rbx
je 0x14001f9b7
mov rdx, qword [rbp - 0x19]
mov rax, rbx
sub rdx, rbx
sar rdx, 1
add rdx, rdx
cmp rdx, 0x1000
jb 0x14001f9af
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa4e
mov rcx, rbx
call fcn.14003e020
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14001f9f3
mov rcx, qword [rbp - 9]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f9ee
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa4e
call fcn.14003e020
mov rdx, qword [rbp + 0x2f]
mov qword [rbp + 7], r12
mov qword [rbp + 0xf], 7
mov word [rbp - 9], r12w
cmp rdx, 8
jb 0x14001fa40
mov rcx, qword [rbp + 0x17]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001fa3b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001fa4e
call fcn.14003e020
add rsp, 0x90
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140049988
int3
call fcn.140029960
int3