Function at 0x140003e00
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
movaps xmmword [rsp + 0x120], xmm6
mov r14d, edx
mov rdi, rcx
mov rax, qword [0x14030d038]
xor rax, rsp
mov qword [rsp + 0x118], rax
xor r13d, r13d
test r14b, 1
sete r13b
lea rax, str.DeleteFile.NonRecursive
lea rcx, str.DeleteFile.Recursive
cmove rcx, rax
mov qword [rsp + 0x20], rcx
movabs r12, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x60]
mov qword [rbx + 0x50], r12
movaps xmm6, xmmword [0x1402ae190]
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.1400c0870
xor r15d, r15d
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
call fcn.1400c3400
mov qword [rsi + 0x50], r12
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.1400c0870
lea rcx, [rsp + 0xc0]
mov rdx, rbx
xor r8d, r8d
call fcn.1400c3400
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x140003f0d
mov rax, qword [rdi + 8]
test rax, rax
je 0x140003fbb
cmp rax, 0x103
ja 0x14000412a
mov rcx, rdi
mov rdx, rbx
call fcn.140009050
movzx eax, byte [rsp + 0x57]
test al, al
jns 0x140003f40
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
test rax, rax
je 0x140004135
lea rbp, [rbx + rax*2]
add rax, rax
mov rsi, rbx
movzx ecx, word [rsi]
cmp cx, 0x3f
je 0x140003f6f
cmp cx, 0x2a
je 0x140003f6f
add rsi, 2
add rax, 0xfffffffffffffffe
jne 0x140003f53
mov rsi, rbp
lea rcx, [rsp + 0x40]
call fcn.1400e1350
cmp rsi, rbp
je 0x140003f8b
sub rsi, rbx
cmp rsi, 0xfffffffffffffffe
jne 0x1400041fb
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x140003f97
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400040a6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
and ecx, 0xfffffffe
xor r15d, r15d
cmp ecx, 2
cmovne r15d, eax
lea r12, [r13*2 + 0x14]
add r12, r13
lea r14, [rsp + 0xc0]
mov rcx, r14
call fcn.1400c20a0
xor ebp, ebp
test r15d, r15d
jne 0x140004144
lea rsi, [rsp + 0x40]
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x10], rdi
movaps xmmword [rsi], xmm6
lea rax, str.Windows.PostOperationState.
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0x1b
mov rbx, qword [rsp + 0x20]
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], r12
lea rdx, [rsp + 0x28]
mov qword [rdx], 2
mov qword [rdx + 8], r14
mov rcx, rsi
call fcn.1400c1740
mov rcx, rsi
mov edx, ebp
mov r8d, 8
call fcn.14014d180
cmp byte [rsi + 0x17], 0
jns 0x14000405f
mov rcx, qword [rsp + 0x40]
call fcn.140112038
test r15d, r15d
jne 0x140004183
test r15d, r15d
sete bl
lea rcx, [rsp + 0x60]
call fcn.1400c20a0
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.140115e50
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, eax
test bl, 1
jne 0x140004269
test bl, 0x10
jne 0x1400040df
test r14b, 2
jne 0x14000428d
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x1400040cc
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140003fbb
jmp 0x140003fa6
test r14b, 1
je 0x140004116
lea rsi, [rsp + 0x40]
mov byte [rsi + 0x17], 1
mov dword [rsi], 0x2a
mov rcx, rdi
mov rdx, rsi
mov r8d, r14d
call fcn.14014d1f0
mov ebx, eax
cmp byte [rsi + 0x17], 0
js 0x1400042a2
test ebx, ebx
jne 0x1400042b1
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x140004122
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x1400040d2
mov r15d, 0xa1
jmp 0x140003fbb
lea rcx, [rsp + 0x40]
call fcn.1400e1350
jmp 0x140003f8b
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x140004150
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140004241
mov ebp, 7
test al, 0x10
je 0x140003fe1
mov rcx, rdi
call fcn.1401c8570
movzx eax, al
mov ebp, 6
sub ebp, eax
jmp 0x140003fe1
lea rsi, [rsp + 0x40]
mov qword [rsi + 0x10], rdi
movaps xmmword [rsi], xmm6
lea rax, str.Windows.FilesystemError.
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0x18
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], r12
lea rdx, [rsp + 0x28]
mov qword [rdx], 2
mov qword [rdx + 8], r14
mov rcx, rsi
call fcn.1400c1740
mov rcx, rsi
mov edx, r15d
call fcn.1401831c0
cmp byte [rsi + 0x17], 0
jns 0x1400041ed
mov rcx, qword [rsp + 0x40]
call fcn.140112038
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140004068
lea rsi, [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.140009050
lea rbx, [rsp + 0x28]
mov rcx, rdi
mov rdx, rbx
call fcn.14000afb0
mov rcx, rbx
mov rdx, rsi
mov r8d, r14d
call fcn.14014d1f0
mov r15d, eax
mov rcx, rbx
call fcn.1400e1350
mov rcx, rsi
call fcn.1400e1350
jmp 0x140003fbb
call qword [sym.imp.KERNEL32.dll_GetLastError]
add eax, 0xfffffffe
mov ebp, 4
cmp eax, 4
jae 0x140003fe1
cdqe
lea rcx, [0x1402bc82c]
mov ebp, dword [rcx + rax*4]
jmp 0x140003fe1
mov edx, ebx
and edx, 0xfffffffe
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x14000427a
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x1400040b1
jmp 0x140003fa6
mov rcx, rdi
call fcn.1401cdbf0
test al, al
jne 0x140003fbb
jmp 0x140003fa6
mov rcx, qword [rsp + 0x40]
call fcn.140112038
jmp 0x14000410e
mov r15d, ebx
jmp 0x140003fbb