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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov r9, qword [rdx + 0x18]
mov r15, rcx
mov qword [rax + 8], rbx
mov r14, rdx
mov qword [rax + 0x10], rsi
mov rcx, rdx
mov qword [rax - 0x20], r12
mov r12, r8
mov qword [rax - 0x28], r13
cmp r9, 8
jb 0x14001ea88
mov rcx, qword [rdx]
mov rax, qword [rdx + 0x10]
lea rax, [rcx + rax*2]
cmp r9, 8
jb 0x14001ea99
mov rdx, qword [rdx]
xor r13d, r13d
mov r8, rax
sub r8, rdx
mov ecx, r13d
inc r8
shr r8, 1
cmp rdx, rax
lea eax, [r13 + 0x5c]
cmova r8, r13
test r8, r8
je 0x14001ead9
nop dword [rax + rax]
cmp word [rdx], 0x2f
jne 0x14001eac9
mov word [rdx], ax
add rdx, 2
inc rcx
cmp rcx, r8
jne 0x14001eac0
mov r9, qword [r14 + 0x18]
mov rbx, r14
cmp r9, 8
jb 0x14001eae5
mov rbx, qword [r14]
mov edx, eax
mov rcx, rbx
call fcn.140043bec
mov rsi, rax
test rax, rax
je 0x14001eafd
add rsi, 2
jmp 0x14001eb00
mov rsi, rbx
mov rdx, qword [r12 + 0x10]
lea rbx, [r12 + 0x10]
movdqa xmm0, xmmword [0x140067d90]
lea rcx, [rbp - 0x30]
inc rdx
mov word [rbp - 0x30], r13w
movdqu xmmword [rbp - 0x20], xmm0
call fcn.14002c410
cmp qword [r12 + 0x18], 8
jb 0x14001eb34
mov r12, qword [r12]
mov r8, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov rax, r8
mov rdx, qword [rbx]
sub rax, rcx
mov qword [rsp + 0x90], rdi
cmp rdx, rax
ja 0x14001eb7e
lea rdi, [rdx + rcx]
cmp r8, 8
lea r8, [rdx + rdx]
mov qword [rbp - 0x20], rdi
lea rbx, [rbp - 0x30]
mov rdx, r12
cmovae rbx, qword [rbp - 0x30]
lea rcx, [rbx + rcx*2]
call fcn.140042af0
mov word [rbx + rdi*2], r13w
jmp 0x14001eb95
xor eax, eax
mov qword [rsp + 0x20], rdx
movzx r8d, al
lea rcx, [rbp - 0x30]
mov r9, r12
call fcn.140016720
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov rax, rdx
mov r12, qword [rsp + 0x58]
sub rax, rcx
cmp rax, 1
jb 0x14001ebe0
cmp rdx, 8
lea rdi, [rcx + 1]
lea rbx, [rbp - 0x30]
mov qword [rbp - 0x20], rdi
cmovae rbx, qword [rbp - 0x30]
lea rdx, [0x140065954]
mov r8d, 2
lea rcx, [rbx + rcx*2]
call fcn.140042af0
mov word [rbx + rdi*2], r13w
jmp 0x14001ec02
xor eax, eax
mov qword [rsp + 0x20], 1
lea r9, [0x140065954]
movzx r8d, al
lea rcx, [rbp - 0x30]
lea edx, [rax + 1]
call fcn.140016720
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp word [rsi + rdx*2], r13w
jne 0x14001ec10
mov r8, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x14001ec5d
lea rdi, [rdx + rcx]
cmp r8, 8
lea r8, [rdx + rdx]
mov qword [rbp - 0x20], rdi
lea rbx, [rbp - 0x30]
mov rdx, rsi
cmovae rbx, qword [rbp - 0x30]
lea rcx, [rbx + rcx*2]
call fcn.140042af0
lea rax, [rbp - 0x30]
mov word [rbx + rdi*2], r13w
jmp 0x14001ec74
xor eax, eax
mov qword [rsp + 0x20], rdx
movzx r8d, al
lea rcx, [rbp - 0x30]
mov r9, rsi
call fcn.140016720
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], r13
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x10], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
mov rdx, qword [rbp - 0x18]
mov r13, qword [rsp + 0x50]
cmp rdx, 8
jb 0x14001ecf5
mov rcx, qword [rbp - 0x30]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001ecf0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001ed2e
call fcn.14003f61c
cmp qword [r15 + 0x18], 8
mov rcx, r15
jb 0x14001ed02
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14001ed19
test al, 0x10
jne 0x14001ed19
mov rcx, r15
call fcn.14001ed40
mov rcx, r14
call fcn.140011350
mov rax, r15
add rsp, 0x60
pop r15
pop r14
pop rbp
ret
call fcn.14004a3a0
int3