Function at 0x1400b3820
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, 0x138
movaps xmmword [rsp + 0x120], xmm6
mov rdi, rcx
mov rax, qword [0x140131038]
xor rax, rsp
mov qword [rsp + 0x118], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x60]
mov qword [rbx + 0x50], r15
movaps xmm6, xmmword [0x1401146a0]
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 + 0xc0]
mov rcx, rsi
mov r8, rbp
mov r9d, 0x1ab
call fcn.1400498a0
xor r14d, r14d
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
call fcn.140048980
mov qword [rsi + 0x50], r15
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 + 0x40]
mov rcx, rbx
mov r8, rbp
mov r9d, 0x16b
call fcn.1400498a0
lea rcx, [rsp + 0xc0]
mov rdx, rbx
xor r8d, r8d
call fcn.140048980
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x1400b3904
mov rax, qword [rdi + 8]
test rax, rax
je 0x1400b39b2
cmp rax, 0x103
ja 0x1400b3ac1
mov rcx, rdi
mov rdx, rbx
call fcn.140007390
movzx eax, byte [rsp + 0x57]
test al, al
jns 0x1400b3937
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
test rax, rax
je 0x1400b3acc
lea rbp, [rbx + rax*2]
add rax, rax
mov rsi, rbx
movzx ecx, word [rsi]
cmp cx, 0x3f
je 0x1400b3966
cmp cx, 0x2a
je 0x1400b3966
add rsi, 2
add rax, 0xfffffffffffffffe
jne 0x1400b394a
mov rsi, rbp
lea rcx, [rsp + 0x40]
call fcn.14004e350
cmp rsi, rbp
je 0x1400b3982
sub rsi, rbx
cmp rsi, 0xfffffffffffffffe
jne 0x1400b3b96
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x1400b398e
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400b3a8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
and ecx, 0xfffffffe
xor r14d, r14d
cmp ecx, 2
cmovne r14d, eax
lea rbx, [rsp + 0xc0]
mov rcx, rbx
call fcn.140043a50
xor ebp, ebp
test r14d, r14d
jne 0x1400b3adb
lea rsi, [rsp + 0x40]
mov qword [rsi + 0x10], r15
movaps xmmword [rsi], xmm6
lea rax, str.Windows.PostOperationState.
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0x1b
lea rdi, str.DeleteFile.NonRecursive
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], 0x17
lea rdx, [rsp + 0x28]
mov qword [rdx], 2
mov qword [rdx + 8], rbx
mov rcx, rsi
call fcn.14005abb0
mov rcx, rsi
mov edx, ebp
mov r8d, 8
call fcn.1400b3c30
cmp byte [rsi + 0x17], 0
jns 0x1400b3a47
mov rcx, qword [rsp + 0x40]
call fcn.140076eb8
test r14d, r14d
jne 0x1400b3b1a
test r14d, r14d
sete bl
lea rcx, [rsp + 0x60]
call fcn.140043a50
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.140079ea0
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov ebx, eax
test bl, 1
jne 0x1400b3c01
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x1400b3aa1
mov rcx, qword [rdi]
test bl, 0x10
jne 0x1400b3ab9
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400b39b2
jmp 0x1400b399d
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x1400b3aac
mov r14d, 0xa1
jmp 0x1400b39b2
lea rcx, [rsp + 0x40]
call fcn.14004e350
jmp 0x1400b3982
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x1400b3ae7
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400b3bd9
mov ebp, 7
test al, 0x10
je 0x1400b39cd
mov rcx, rdi
call fcn.1400bf320
movzx eax, al
mov ebp, 6
sub ebp, eax
jmp 0x1400b39cd
lea rsi, [rsp + 0x40]
mov qword [rsi + 0x10], r15
movaps xmmword [rsi], xmm6
lea rax, str.Windows.FilesystemError.
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0x18
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], 0x17
lea rdx, [rsp + 0x28]
mov qword [rdx], 2
mov qword [rdx + 8], rbx
mov rcx, rsi
call fcn.14005abb0
mov rcx, rsi
mov edx, r14d
call fcn.1400c30d0
cmp byte [rsi + 0x17], 0
jns 0x1400b3b88
mov rcx, qword [rsp + 0x40]
call fcn.140076eb8
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1400b3a50
lea rsi, [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.140007390
lea rbx, [rsp + 0x28]
mov rcx, rdi
mov rdx, rbx
call fcn.1400079d0
mov rcx, rbx
mov rdx, rsi
call fcn.1400c52a0
mov r14d, eax
mov rcx, rbx
call fcn.14004e350
mov rcx, rsi
call fcn.14004e350
jmp 0x1400b39b2
call qword [sym.imp.KERNEL32.dll_GetLastError]
add eax, 0xfffffffe
mov ebp, 4
cmp eax, 4
jae 0x1400b39cd
cdqe
lea rcx, [0x140117928]
mov ebp, dword [rcx + rax*4]
jmp 0x1400b39cd
mov edx, ebx
and edx, 0xfffffffe
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x1400b3c12
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x1400b3a95
jmp 0x1400b399d