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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x380]
sub rsp, 0x480
cmp word [rcx], 0
mov r15d, r8d
movzx edi, r9b
mov rsi, rdx
je 0x14006c380
cmp word [rdx], 0
je 0x14006c380
lea eax, [r8 - 1]
mov edx, 0x104
cmp eax, 1
lea r9, [rbp + 0x3b0]
lea r8, [rsp + 0x60]
setbe r14b
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov rbx, 0xffffffffffffffff
lea rcx, [rsp + 0x60]
mov rax, rbx
inc rax
cmp word [rcx + rax*2], 0
jne 0x14006c160
xor r12d, r12d
test rax, rax
je 0x14006c180
cmp word [rsp + rax*2 + 0x5e], 0x5c
jne 0x14006c180
mov word [rsp + rax*2 + 0x5e], r12w
lea r9, [rbp + 0x3b0]
mov edx, 0x104
lea r8, [rbp + 0x170]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea rcx, [rbp + 0x170]
mov rax, rbx
inc rax
cmp word [rcx + rax*2], r12w
jne 0x14006c1a6
test rax, rax
je 0x14006c1c9
cmp word [rbp + rax*2 + 0x16e], 0x5c
jne 0x14006c1c9
mov word [rbp + rax*2 + 0x16e], r12w
test dil, dil
je 0x14006c260
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14006c380
test al, 0x10
je 0x14006c380
movzx ecx, word [rsp + 0x60]
mov r8d, ecx
sub cx, 0x41
mov eax, r8d
or eax, 0x20
cmp cx, 0x19
movzx ecx, word [rbp + 0x170]
mov edx, ecx
cmovbe r8d, eax
mov eax, edx
or eax, 0x20
sub cx, 0x41
cmp cx, 0x19
cmovbe edx, eax
cmp r8w, dx
jne 0x14006c22f
cmp word [rsp + 0x62], 0x3a
je 0x14006c260
movzx r8d, r14b
lea rdx, [rbp + 0x170]
xor r9d, r9d
lea rcx, [rsp + 0x60]
call fcn.14006c0f0
test al, al
je 0x14006c380
mov dl, 1
lea rcx, [rsp + 0x60]
call fcn.14006c3a0
jmp 0x14006c382
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14006c28a
test al, 0x10
je 0x14006c380
test r14b, r14b
je 0x14006c380
test dil, dil
jne 0x14006c2d2
jmp 0x14006c2a3
test dil, dil
jne 0x14006c2d2
lea rcx, [rbp + 0x170]
call fcn.1400277c0
test al, al
je 0x14006c380
lea rcx, [rsp + 0x60]
sub rcx, 2
nop dword [rax]
cmp word [rcx + 2], r12w
lea rcx, [rcx + 2]
jne 0x14006c2b0
movsd xmm0, qword [str..]
movzx eax, word [0x140107c18]
movsd qword [rcx], xmm0
mov word [rcx + 8], ax
lea rcx, [rsp + 0x60]
mov rax, rbx
nop word [rax + rax]
cmp word [rcx + rax*2 + 2], r12w
lea rax, [rax + 1]
jne 0x14006c2e0
mov word [rsp + rax*2 + 0x62], r12w
lea rax, [rbp + 0x170]
nop dword [rax]
cmp word [rax + rbx*2 + 2], r12w
lea rbx, [rbx + 1]
jne 0x14006c300
lea rax, [rsp + 0x60]
mov word [rbp + rbx*2 + 0x172], r12w
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
lea rax, [rbp + 0x170]
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x38], rax
mov eax, edi
xor eax, 1
mov dword [rsp + 0x2c], r12d
inc eax
mov dword [rsp + 0x52], r12d
mov dword [rsp + 0x28], eax
mov eax, 0x614
mov word [rsp + 0x40], ax
mov word [rsp + 0x56], r12w
movdqu xmmword [rsp + 0x42], xmm0
cmp r15d, 2
jne 0x14006c36e
mov eax, 0x615
mov word [rsp + 0x40], ax
lea rcx, [rsp + 0x20]
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
sete al
jmp 0x14006c382
xor al, al
lea r11, [rsp + 0x480]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret