Function at 0x14001ed40
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 rdx, rcx
cmp r9, 8
jb 0x14001ed66
mov rdx, qword [rcx]
mov r8, qword [rcx + 0x10]
mov rdi, 0xffffffffffffffff
test r8, r8
je 0x14001eda7
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 0x14001ed9f
nop
cmp rbx, rdx
je 0x14001eda7
sub rbx, 2
cmp word [rbx], 0x2e
jne 0x14001ed90
sub rbx, rdx
sar rbx, 1
jmp 0x14001edaa
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 0x14001ee86
movdqa xmm0, xmmword [0x140067d90]
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 0x14001ee00
mov rdx, qword [rsi]
mov r8, rax
lea rcx, [rbp - 0x29]
call fcn.14002a200
lea rcx, [rbp + 0x17]
call fcn.140011350
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 [0x140067d90]
movdqu xmmword [rbp - 0x19], xmm0
movups xmmword [rbp + 0x27], xmm1
cmp rax, rbx
jb 0x14001f02e
sub rax, rbx
mov r8, rdi
cmp rax, rdi
cmovb r8, rax
cmp qword [rsi + 0x18], 8
mov rax, rsi
jb 0x14001ee5e
mov rax, qword [rsi]
lea rdx, [rax + rbx*2]
lea rcx, [rbp - 0x29]
call fcn.14002a200
lea rcx, [rbp - 9]
call fcn.140011350
movups xmm0, xmmword [rbp - 0x29]
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm1
jmp 0x14001eea4
lea rax, [rbp + 0x17]
cmp rax, rsi
je 0x14001eea4
mov rdx, rsi
cmp r9, 8
jb 0x14001ee9b
mov rdx, qword [rsi]
lea rcx, [rbp + 0x17]
call fcn.14002a200
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.1400191d0
mov r14, qword [rbp - 0x21]
mov r15d, r12d
mov rbx, qword [rbp - 0x29]
sub r14, rbx
sar r14, 1
nop word [rax + rax]
inc r15d
lea rax, [rbp - 9]
cmp qword [rbp + 0xf], 8
lea r9, [rbp + 0x17]
lea r8, str._s_03d_s
mov rdx, r14
cmovae rax, qword [rbp - 9]
mov rcx, rbx
cmp qword [rbp + 0x2f], 8
mov qword [rsp + 0x28], rax
cmovae r9, qword [rbp + 0x17]
mov dword [rsp + 0x20], r15d
call fcn.140014770
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14001ef2d
test al, 0x10
je 0x14001eee0
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xc8]
nop dword [rax]
inc rdi
cmp word [rbx + rdi*2], r12w
jne 0x14001ef40
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.14002a200
test rbx, rbx
je 0x14001ef97
mov rdx, qword [rbp - 0x19]
mov rax, rbx
sub rdx, rbx
sar rdx, 1
add rdx, rdx
cmp rdx, 0x1000
jb 0x14001ef8f
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f034
mov rcx, rbx
call fcn.14003f61c
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14001efd3
mov rcx, qword [rbp - 9]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001efce
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f03a
call fcn.14003f61c
mov rdx, qword [rbp + 0x2f]
mov qword [rbp + 7], r12
mov qword [rbp + 0xf], 7
mov word [rbp - 9], r12w
cmp rdx, 8
jb 0x14001f020
mov rcx, qword [rbp + 0x17]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001f01b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001f040
call fcn.14003f61c
add rsp, 0x90
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14002a150
int3
call fcn.14004a3a0
int3
call fcn.14004a3a0
int3
call fcn.14004a3a0
int3