Function at 0x14001f5e0
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 0x14001f60a
mov rdx, qword [rcx]
mov rdi, 0xffffffffffffffff
test r8, r8
je 0x14001f647
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 0x14001f63f
nop
cmp rbx, rdx
je 0x14001f647
sub rbx, 2
cmp word [rbx], 0x2e
jne 0x14001f630
sub rbx, rdx
sar rbx, 1
jmp 0x14001f64a
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 0x14001f726
movdqa xmm0, xmmword [0x1400849a0]
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 0x14001f6a0
mov rdx, qword [rsi]
mov r8, rax
lea rcx, [rbp - 0x29]
call fcn.140029ac0
lea rcx, [rbp + 0x17]
call fcn.140010ed0
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 [0x1400849a0]
movdqu xmmword [rbp - 0x19], xmm0
movups xmmword [rbp + 0x27], xmm1
cmp rax, rbx
jb 0x14001f8d4
sub rax, rbx
mov r8, rdi
cmp rax, rdi
cmovb r8, rax
cmp qword [rsi + 0x18], 8
mov rax, rsi
jb 0x14001f6fe
mov rax, qword [rsi]
lea rdx, [rax + rbx*2]
lea rcx, [rbp - 0x29]
call fcn.140029ac0
lea rcx, [rbp - 9]
call fcn.140010ed0
movups xmm0, xmmword [rbp - 0x29]
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm1
jmp 0x14001f744
lea rax, [rbp + 0x17]
cmp rax, rsi
je 0x14001f744
mov rdx, rsi
cmp r9, 8
jb 0x14001f73b
mov rdx, qword [rsi]
lea rcx, [rbp + 0x17]
call fcn.140029ac0
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.140019ce0
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, [0x1400868c0]
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.140014c60
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14001f7cd
test al, 0x10
je 0x14001f780
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xc8]
nop dword [rax]
inc rdi
cmp word [rbx + rdi*2], r12w
jne 0x14001f7e0
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.140029ac0
test rbx, rbx
je 0x14001f837
mov rdx, qword [rbp - 0x19]
mov rax, rbx
sub rdx, rbx
sar rdx, 1
add rdx, rdx
cmp rdx, 0x1000
jb 0x14001f82f
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f8ce
mov rcx, rbx
call fcn.14003f840
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14001f873
mov rcx, qword [rbp - 9]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f86e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f8ce
call fcn.14003f840
mov rdx, qword [rbp + 0x2f]
mov qword [rbp + 7], r12
mov qword [rbp + 0xf], 7
mov word [rbp - 9], r12w
cmp rdx, 8
jb 0x14001f8c0
mov rcx, qword [rbp + 0x17]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f8bb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f8ce
call fcn.14003f840
add rsp, 0x90
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
int3
int3