Function at 0x14000c84c
Capabilities:
Check if file exists
Clear file content
Delete file
Get file attributes

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov rax, qword [0x14006c080]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r14, qword [rsp + 0xd0]
xor ebp, ebp
mov r13, qword [rsp + 0xd8]
xor edi, edi
mov esi, r9d
mov r15d, r8d
mov rbx, rdx
mov r12, rcx
test rdx, rdx
je 0x14000cb39
test r13, r13
je 0x14000cb39
cmp r9d, 2
jne 0x14000c8c9
bt r8d, 8
jb 0x14000c8c9
mov rcx, qword [rdx + 8]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x14000c8c9
mov rcx, qword [rbx + 8]
call fcn.14001a5d0
mov rdx, qword [rbx + 8]
or r15d, 0x2200000
cmp qword [r12 + 0x40], rdi
mov ecx, 0xc0110100
mov r8d, 0xc11d0100
mov dword [rsp + 0x30], r15d
mov rax, r12
mov dword [rsp + 0x28], esi
cmovne rax, qword [r12 + 0x40]
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x40], eax
and eax, 0x30000
cmp eax, 0x10000
cmovne r8d, ecx
mov rcx, r12
call fcn.14001affc
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x14000caa6
test r14, r14
je 0x14000c980
mov rdx, qword [r14]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointerEx]
nop dword [rax + rax]
test eax, eax
je 0x14000ca3e
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetEndOfFile]
nop dword [rax + rax]
test eax, eax
je 0x14000ca3e
mov rdx, qword [0x14006c898]
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointerEx]
nop dword [rax + rax]
test eax, eax
je 0x14000ca3e
mov ebp, 1
test r14, r14
je 0x14000ca8d
test dword [rsp + 0x40], 0x1000000
je 0x14000ca8d
test r15d, 0x4000100
jne 0x14000ca8d
cmp dword [rbx + 0x20], edi
jne 0x14000ca8d
and qword [rsp + 0x38], rdi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
xor r9d, r9d
and dword [rsp + 0x28], edi
xor r8d, r8d
and qword [rsp + 0x20], rdi
mov edx, 0x900c4
mov rcx, rsi
xor ebp, ebp
call qword [sym.imp.api_ms_win_core_io_l1_1_0.dll_DeviceIoControl]
nop dword [rax + rax]
test eax, eax
je 0x14000ca32
mov rax, qword [r14]
lea r9d, [rbp + 0x10]
and qword [rsp + 0x38], rdi
lea r8, [rsp + 0x48]
and qword [rsp + 0x48], rdi
mov edx, 0x980c8
mov qword [rsp + 0x50], rax
mov rcx, rsi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
and dword [rsp + 0x28], edi
and qword [rsp + 0x20], rdi
call qword [sym.imp.api_ms_win_core_io_l1_1_0.dll_DeviceIoControl]
nop dword [rax + rax]
mov ebp, eax
test eax, eax
jne 0x14000ca8d
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
cmp dword [rsp + 0xe0], 0
mov edi, eax
je 0x14000cafe
mov dword [rsp + 0x30], 0xda1
lea rcx, str.CreateDestinationFileEx
movzx r8d, ax
lea r9, str.SetFileSize_failed
or r8d, 0x80070000
mov qword [rsp + 0x28], rcx
test eax, eax
cmovle r8d, eax
mov dword [rsp + 0x20], r8d
jmp 0x14000cae9
mov qword [r13], rsi
mov rdx, rsi
mov r9, qword [rbx + 0x18]
mov rcx, r12
mov r8, qword [rbx + 8]
call fcn.14001a108
jmp 0x14000cafa
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
cmp dword [rsp + 0xe0], ebp
je 0x14000cb23
mov dword [rsp + 0x30], 0xdac
lea rcx, str.CreateDestinationFileEx
movzx eax, di
lea r9, str.CreateFile_failed
or eax, 0x80070000
mov qword [rsp + 0x28], rcx
test edi, edi
cmovle eax, edi
mov dword [rsp + 0x20], eax
mov r8, qword [rbx + 8]
mov rdx, r12
mov ecx, 1
call fcn.14000f794
test ebp, ebp
jne 0x14000cb23
cmp rsi, 0xffffffffffffffff
je 0x14000cb23
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
nop dword [rax + rax]
test edi, edi
je 0x14000cb35
mov ecx, edi
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov eax, ebp
jmp 0x14000cb4c
mov ecx, 0x57
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
xor eax, eax
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400582e0
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret