Function at 0x14005d100
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes
Set file attributes

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movaps xmmword [rsp + 0x110], xmm6
mov rdi, rcx
mov rax, qword [0x14010c038]
xor rax, rsp
mov qword [rsp + 0x108], rax
movaps xmm6, xmmword [0x1400ec9c0]
lea rbx, [rsp + 0x20]
movaps xmmword [rbx + 0x40], xmm6
movaps xmmword [rbx + 0x30], xmm6
movaps xmmword [rbx + 0x20], xmm6
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
lea rdx, str.DeleteFileAndRecordMetrics
lea rbp, str..._.._base_files_file_util_win.cc
lea rsi, [rsp + 0xb0]
mov rcx, rsi
mov r8, rbp
mov r9d, 0x16b
call fcn.140065cb0
xor r14d, r14d
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
call fcn.140065ce0
movaps xmmword [rsi + 0x40], xmm6
movaps xmmword [rsi + 0x30], xmm6
movaps xmmword [rsi + 0x20], xmm6
movaps xmmword [rsi + 0x10], xmm6
movaps xmmword [rsi], xmm6
lea rdx, str.DoDeleteFile
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov r8, rbp
mov r9d, 0x130
call fcn.140065cb0
lea rcx, [rsp + 0xb0]
mov rdx, rbx
xor r8d, r8d
call fcn.140065ce0
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x14005d1d5
mov rax, qword [rdi + 8]
test rax, rax
je 0x14005d28f
cmp rax, 0x103
ja 0x14005d47d
mov rcx, rdi
mov rdx, rbx
call fcn.14005a4a0
movzx eax, byte [rsp + 0xa7]
test al, al
jns 0x14005d211
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x90]
test rax, rax
je 0x14005d488
lea rbp, [rbx + rax*2]
add rax, rax
mov rsi, rbx
movzx ecx, word [rsi]
cmp cx, 0x3f
je 0x14005d240
cmp cx, 0x2a
je 0x14005d240
add rsi, 2
add rax, 0xfffffffffffffffe
jne 0x14005d224
mov rsi, rbp
lea rcx, [rsp + 0x90]
call fcn.140059e20
cmp rsi, rbp
je 0x14005d25f
sub rsi, rbx
cmp rsi, 0xfffffffffffffffe
jne 0x14005d49a
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x14005d26b
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14005d377
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
and ecx, 0xfffffffe
xor r14d, r14d
cmp ecx, 2
cmovne r14d, eax
lea r15, [rsp + 0xb0]
mov rcx, r15
call fcn.140065e70
xor ebp, ebp
test r14d, r14d
jne 0x14005d3aa
movabs rdi, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0x90]
mov qword [rsi + 0x10], rdi
movaps xmmword [rsi], xmm6
lea rax, str.Windows.PostOperationState.
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 0x1b
lea rbx, str.DeleteFile.NonRecursive
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], 0x17
lea rdx, [rsp + 0x78]
mov qword [rdx], 2
mov qword [rdx + 8], r15
mov rcx, rsi
call fcn.14005ea90
mov rcx, rsi
mov edx, ebp
mov r8d, 8
call fcn.140028630
cmp byte [rsi + 0x17], 0
jns 0x14005d334
mov rcx, qword [rsp + 0x90]
call fcn.140078974
test r14d, r14d
jne 0x14005d3e4
test r14d, r14d
sete bl
lea rcx, [rsp + 0x20]
call fcn.140065e70
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.1400797f0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov ebx, eax
test bl, 1
jne 0x14005d4e3
test bl, 0x10
jne 0x14005d466
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x14005d397
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14005d28f
jmp 0x14005d27a
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x14005d3b6
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14005d507
test al, 0x10
je 0x14005d526
mov rcx, rdi
call fcn.140034af0
movzx eax, al
mov ebp, 6
sub ebp, eax
jmp 0x14005d2aa
lea rsi, [rsp + 0x90]
mov qword [rsi + 0x10], rdi
movaps xmmword [rsi], xmm6
lea rax, str.Windows.FilesystemError.
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 0x18
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], 0x17
lea rdx, [rsp + 0x78]
mov qword [rdx], 2
mov qword [rdx + 8], r15
mov rcx, rsi
call fcn.14005ea90
mov rcx, rsi
mov edx, r14d
call fcn.140028710
cmp byte [rsi + 0x17], 0
jns 0x14005d458
mov rcx, qword [rsp + 0x90]
call fcn.140078974
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14005d33d
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x14005d472
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x14005d39d
mov r14d, 0xa1
jmp 0x14005d28f
lea rcx, [rsp + 0x90]
call fcn.140059e20
jmp 0x14005d25f
lea rsi, [rsp + 0x90]
mov rcx, rdi
mov rdx, rsi
call fcn.14005a4a0
lea rbx, [rsp + 0x78]
mov rcx, rdi
mov rdx, rbx
call fcn.140059fe0
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
call fcn.14002a650
mov r14d, eax
mov rcx, rbx
call fcn.140059e20
mov rcx, rsi
call fcn.140059e20
jmp 0x14005d28f
mov edx, ebx
and edx, 0xfffffffe
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x14005d4f4
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x14005d382
jmp 0x14005d27a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x14005d530
cmp eax, 5
je 0x14005d53a
cmp eax, 3
jne 0x14005d544
mov ebp, 2
jmp 0x14005d2aa
mov ebp, 7
jmp 0x14005d2aa
mov ebp, 1
jmp 0x14005d2aa
mov ebp, 3
jmp 0x14005d2aa
mov ebp, 4
jmp 0x14005d2aa