Function at 0x1400d6f94
Capabilities:
Delete file
Get common file path
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x370]
sub rsp, 0x470
mov rax, qword [0x14014d030]
xor rax, rsp
mov qword [rbp + 0x360], rax
xor esi, esi
or rdi, 0xffffffffffffffff
mov r12, r9
mov r13, r8
mov r14, rdx
mov r15d, esi
mov ebx, 0x80004005
test r9, r9
je 0x1400d7237
mov word [rbp + 0x150], si
mov word [rsp + 0x40], si
test rdx, rdx
jne 0x1400d7037
lea rcx, [rbp + 0x150]
call fcn.1400d729c
mov ebx, eax
test eax, eax
jns 0x1400d7030
mov rcx, qword [0x14014dd40]
lea rsi, [0x14014dd40]
cmp rcx, rsi
je 0x1400d7218
test byte [rcx + 0x1c], 1
je 0x1400d7218
lea edx, [rdi + 0xf]
jmp 0x1400d71f5
lea r14, [rbp + 0x150]
lea rsi, [0x14014dd40]
lea r9, [rsp + 0x40]
xor r8d, r8d
lea rdx, [0x1401284a8]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x1400d713e
lea rcx, [rsp + 0x40]
test r13, r13
je 0x1400d70d6
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r8, r13
lea rcx, [rsp + 0x40]
mov edx, 0x104
call fcn.140036f20
test eax, eax
jns 0x1400d70ae
mov rcx, qword [0x14014dd40]
cmp rcx, rsi
je 0x1400d70ae
test byte [rcx + 0x1c], 1
je 0x1400d70ae
mov rcx, qword [rcx + 0x10]
lea r8, [0x1401285a0]
mov edx, reloc.OLEAUT32.dll_SafeArrayDestroy
mov r9d, ebx
call fcn.1400036d4
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
and qword [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 1
jmp 0x1400d70ec
and qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
call sub.KERNEL32.dll_CreateFileW
lea rcx, [rsp + 0x40]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400d7161
mov edx, 0x2080
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x1400d713e
mov rcx, qword [0x14014dd40]
cmp rcx, rsi
je 0x1400d713e
test byte [rcx + 0x1c], 2
je 0x1400d713e
mov rcx, qword [rcx + 0x10]
lea edx, [rdi + 0x11]
lea r8, [0x1401285a0]
call fcn.140003614
mov ecx, 0x64
inc r15d
call sub.KERNEL32.dll_Sleep
cmp r15d, 0x32
jb 0x1400d703e
mov ebx, 0x80004005
mov eax, ebx
jmp 0x1400d726a
mov r14d, 0x104
mov rdx, r12
mov r8d, r14d
call sub.KERNEL32.dll_GetLongPathNameW
dec eax
cmp eax, 0x102
jbe 0x1400d720a
call sub.KERNEL32.dll_GetLastError
movzx r9d, ax
mov ebx, 0x80004005
or r9d, 0x80070000
test eax, eax
cmovle r9d, eax
test r9d, r9d
cmovns r9d, ebx
mov rcx, qword [0x14014dd40]
cmp rcx, rsi
je 0x1400d71c8
test byte [rcx + 0x1c], 2
je 0x1400d71c8
mov rcx, qword [rcx + 0x10]
lea r8, [0x1401285a0]
mov edx, SafeArrayUnlock
call fcn.1400036d4
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, r12
call fcn.140036ea4
mov ebx, eax
test eax, eax
jns 0x1400d720a
mov rcx, qword [0x14014dd40]
cmp rcx, rsi
je 0x1400d7218
test byte [rcx + 0x1c], 1
je 0x1400d7218
mov edx, SafeArrayAccessData
mov rcx, qword [rcx + 0x10]
lea r8, [0x1401285a0]
mov r9d, eax
call fcn.1400036d4
jmp 0x1400d7218
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
or rdi, 0xffffffffffffffff
xor ebx, ebx
test ebx, ebx
jns 0x1400d715a
cmp rdi, 0xffffffffffffffff
je 0x1400d715a
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
jmp 0x1400d715a
mov rcx, qword [0x14014dd40]
lea rsi, [0x14014dd40]
cmp rcx, rsi
je 0x1400d7265
test byte [rcx + 0x1c], 1
je 0x1400d7265
mov rcx, qword [rcx + 0x10]
lea r8, [0x1401285a0]
mov edx, reloc.Cabinet.dll_FCIFlushCabinet
call fcn.140003614
mov eax, 0x80070057
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.140106ed0
mov rbx, qword [rsp + 0x4b0]
add rsp, 0x470
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret