Function at 0x140007470
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push rbp
push r14
push r15
lea rbp, [rsp - 0x2f80]
mov eax, 0x3080
call fcn.140247340
sub rsp, rax
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x30a8], rbx
mov qword [rsp + 0x30b0], rsi
mov qword [rsp + 0x30b8], rdi
mov ebx, r9d
mov rsi, r8
mov rdi, rdx
mov r14, rcx
mov r8, rdx
lea rdx, str.DeleteFileW___S__
lea rcx, [rbp + 0x1f80]
call fcn.140006bc0
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0xf80]
call fcn.140249b10
lea r8, [rbp + 0x1f80]
lea rdx, [0x1402862f8]
lea rcx, [rbp + 0xf80]
call fcn.140006bc0
mov r9d, 1
mov r8d, r9d
lea rdx, [rbp + 0xf80]
lea rcx, vtable.CSASApplicationLogManager.0
call fcn.140004a50
nop
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0xf80]
call fcn.140249b10
lea r8, [rbp + 0x1f80]
lea rdx, [0x140286a98]
lea rcx, [rbp + 0xf80]
call fcn.140006bc0
mov r9d, 1
mov r8d, r9d
lea rdx, [rbp + 0xf80]
lea rcx, vtable.CSASApplicationLogManager.0
call fcn.140004a50
nop
xor r15d, r15d
mov dword [rsi], r15d
test rdi, rdi
je 0x14000784d
cmp word [rdi], r15w
je 0x14000784d
and ebx, 3
cmp bl, 3
jne 0x1400075e7
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rbp + 0x2fa0], rax
test rax, rax
je 0x140007875
lea rdx, [rbp + 0x2fa0]
lea rcx, [rsp + 0x28]
call fcn.140006e70
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rsp + 0x30]
mov rdx, rbx
mov rcx, r14
call fcn.1400078a0
test eax, eax
jne 0x1400075d3
or dword [rsi], 4
cmp dword [rsp + 0x3c], 1
jne 0x1400075e7
test rbx, rbx
je 0x1400075e7
mov rcx, rbx
call fcn.140247060
mov rcx, qword [r14 + 0x100]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + SysAllocStringByteLen]
test eax, eax
jne 0x140007630
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0xf8], eax
mov rdx, rdi
mov rcx, r14
call fcn.140007eb0
mov rcx, qword [r14 + 0x100]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + SysAllocStringByteLen]
test eax, eax
jne 0x140007630
or dword [rsi], 0x22
xor edx, edx
mov r8d, 0x820
lea rcx, [rsp + 0x40]
call fcn.140249b10
mov rcx, rdi
lea rbx, [rsp + 0x40]
sub rbx, rdi
nop dword [rax]
movzx eax, word [rcx]
mov word [rbx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140007650
lea rcx, [rsp + 0x40]
sub rcx, 2
nop dword [rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x140007670
movups xmm0, xmmword [str..SUPERDelete]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x140286980]
movsd qword [rcx + 0x10], xmm1
movzx eax, word [0x140286988]
mov word [rcx + 0x18], ax
mov rcx, qword [r14 + 0x100]
mov rax, qword [rcx]
mov r9d, 8
lea r8, [rsp + 0x40]
mov rdx, rdi
call qword [rax + 0xe8]
test eax, eax
jne 0x1400076e0
or dword [rsi], 0xa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0xf8], eax
nop
movzx eax, word [rdi]
mov word [rbx + rdi], ax
lea rdi, [rdi + 2]
test ax, ax
jne 0x1400076d0
xor edx, edx
mov r8d, 0x81e
lea rcx, [rbp + 0x762]
call fcn.140249b10
movzx eax, word [rsp + 0x40]
mov word [rbp + 0x760], ax
lea rcx, [rbp + 0x760]
sub rcx, 2
nop dword [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x140007710
movups xmm0, xmmword [str.:SUPERDelete]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x1402869a0]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [0x1402869a8]
mov dword [rcx + 0x18], eax
lea rcx, [rbp + 0x760]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140007763
xor edx, edx
lea rcx, [rbp + 0x760]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x140007806
xor edx, edx
mov r8d, 0x820
lea rcx, [rbp + 0xf80]
call fcn.140249b10
mov rcx, r15
nop word [rax + rax]
movzx eax, word [rbp + rcx + 0x760]
mov word [rbp + rcx + 0xf80], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140007780
lea rcx, [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rdx, rax
lea rcx, [rbp + 0xf80]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov rcx, qword [r14 + 0x100]
mov rax, qword [rcx]
mov r9d, 8
lea r8, [rbp + 0xf80]
lea rdx, [rsp + 0x40]
call qword [rax + 0xe8]
test eax, eax
jne 0x1400077ec
or dword [rsi], 0xa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0xf8], eax
jmp 0x140007806
mov rcx, r15
nop
movzx eax, word [rbp + rcx + 0xf80]
mov word [rsp + rcx + 0x40], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400077f0
mov rcx, qword [r14 + 0x100]
mov rax, qword [rcx]
mov r9d, 4
xor r8d, r8d
lea rdx, [rsp + 0x40]
call qword [rax + 0xe8]
test eax, eax
jne 0x140007838
or dword [rsi], 0x12
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0xf8], eax
movzx eax, byte [rsi]
and al, 0x3c
mov ecx, 0x40
cmp al, 0x3c
cmove r15d, ecx
mov eax, r15d
jmp 0x140007858
mov dword [rsi], 1
mov eax, 1
lea r11, [rsp + 0x3080]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, 0x8007000e
call fcn.140004cd0
int3