Function at 0x140027ec0
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, 0x78
mov rax, qword [0x1400b8288]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xe8]
xor r14d, r14d
mov r13, qword [rsp + 0xe0]
mov ebp, r9d
mov qword [rsp + 0x48], rax
mov r12d, r8d
mov rsi, rdx
mov r15, rcx
mov edi, r14d
mov ebx, r14d
test rcx, rcx
je 0x140028249
test rdx, rdx
je 0x140028249
test rax, rax
je 0x140028249
cmp dword [0x1400b82f4], 1
jne 0x140027f5f
test r8d, 0x4000100
jne 0x140027f5f
mov rdx, qword [rdx + 8]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x40], r14d
call fcn.140042e2c
test eax, eax
js 0x140027f5f
cmp dword [rsp + 0x40], r14d
je 0x140027f5f
mov ecx, 0x2a9
jmp 0x14002824e
cmp ebp, 2
jne 0x140027f89
bt r12d, 8
jb 0x140027f89
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x140027f89
mov rcx, qword [rsi + 8]
call fcn.140042b60
mov rdx, qword [rsi + 8]
or r12d, 0x2200000
cmp qword [r15 + 0x48], r14
mov ecx, 0xc0110100
mov r8d, 0xc11d0100
mov dword [rsp + 0x30], r12d
mov rax, r15
mov dword [rsp + 0x28], ebp
cmovne rax, qword [r15 + 0x48]
mov r14d, dword [rax + 0x24]
mov eax, r14d
and eax, 0x30000
cmp eax, 0x10000
cmovne r8d, ecx
mov rcx, r15
call fcn.140044ad4
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x1400281df
cmp qword [r15 + 0x48], rbx
mov rax, r15
cmovne rax, qword [r15 + 0x48]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x40], rax
test r13, r13
je 0x140028059
mov rdx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
nop dword [rax + rax]
test eax, eax
je 0x140028143
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
nop dword [rax + rax]
test eax, eax
je 0x140028143
mov rdx, qword [0x1400bac90]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
nop dword [rax + rax]
test eax, eax
je 0x140028143
mov rax, qword [rsp + 0x40]
mov edi, 1
cmp dword [rsi + 0x20], ebx
jne 0x14002819f
bt r12d, 9
jae 0x140028081
test rax, rax
je 0x140028081
test byte [rax], 0x40
je 0x140028081
and r14d, 0x1000000
jmp 0x1400280a4
test r13, r13
je 0x14002819f
and r14d, 0x1000000
je 0x14002819f
test r12d, 0x4000100
jne 0x14002819f
and qword [rsp + 0x38], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
xor r9d, r9d
and dword [rsp + 0x28], ebx
xor r8d, r8d
and qword [rsp + 0x20], rbx
mov edx, 0x900c4
mov rcx, rbp
xor edi, edi
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
nop dword [rax + rax]
test eax, eax
je 0x140028137
test r13, r13
je 0x14002819a
test r14d, r14d
je 0x14002819a
mov rax, qword [r13]
lea r9d, [rdi + 0x10]
and qword [rsp + 0x38], rbx
lea r8, [rsp + 0x50]
and qword [rsp + 0x50], rbx
mov edx, 0x980c8
mov qword [rsp + 0x58], rax
mov rcx, rbp
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
and dword [rsp + 0x28], ebx
and qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
nop dword [rax + rax]
mov edi, eax
test eax, eax
jne 0x14002819f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp dword [rsp + 0xf0], 0
mov ebx, eax
je 0x1400281be
mov r8, qword [rsi + 8]
lea rdx, str.CreateDestinationFileEx
movzx eax, bx
lea r9, str.SetFileSize_failed
or eax, 0x80070000
mov dword [rsp + 0x30], 0xe42
mov qword [rsp + 0x28], rdx
test ebx, ebx
mov rdx, r15
mov ecx, 1
cmovle eax, ebx
mov dword [rsp + 0x20], eax
call fcn.14002aaa0
jmp 0x1400281ba
mov edi, 1
mov rax, qword [rsp + 0x48]
mov rdx, rbp
mov rcx, r15
mov qword [rax], rbp
mov r9, qword [rsi + 0x18]
mov r8, qword [rsi + 8]
call fcn.14004269c
test edi, edi
jne 0x140028233
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
jmp 0x140028233
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
cmp dword [rsp + 0xf0], edi
je 0x140028233
mov r8, qword [rsi + 8]
lea rdx, str.CreateDestinationFileEx
movzx eax, bx
lea r9, str.CreateFile_failed
or eax, 0x80070000
mov dword [rsp + 0x30], 0xe4d
mov qword [rsp + 0x28], rdx
test ebx, ebx
mov rdx, r15
mov ecx, 1
cmovle eax, ebx
mov dword [rsp + 0x20], eax
call fcn.14002aaa0
test ebx, ebx
je 0x140028245
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
mov eax, edi
jmp 0x14002825c
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop dword [rax + rax]
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140096bd0
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret