Function at 0x140006530
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 [0x14017e028]
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 [0x14015c320]
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.140048d60
xor r15d, r15d
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
call fcn.140048d80
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.140048d60
lea rcx, [rsp + 0xc0]
mov rdx, rbx
xor r8d, r8d
call fcn.140048d80
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x14000663d
mov rax, qword [rdi + 8]
test rax, rax
je 0x1400066eb
cmp rax, 0x103
ja 0x14000685a
mov rcx, rdi
mov rdx, rbx
call fcn.140007a70
movzx eax, byte [rsp + 0x57]
test al, al
jns 0x140006670
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
test rax, rax
je 0x140006865
lea rbp, [rbx + rax*2]
add rax, rax
mov rsi, rbx
movzx ecx, word [rsi]
cmp cx, 0x3f
je 0x14000669f
cmp cx, 0x2a
je 0x14000669f
add rsi, 2
add rax, 0xfffffffffffffffe
jne 0x140006683
mov rsi, rbp
lea rcx, [rsp + 0x40]
call fcn.14005b0c0
cmp rsi, rbp
je 0x1400066bb
sub rsi, rbx
cmp rsi, 0xfffffffffffffffe
jne 0x14000692b
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x1400066c7
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400067d6
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.140046cc0
xor ebp, ebp
test r15d, r15d
jne 0x140006874
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.14005ac20
mov rcx, rsi
mov edx, ebp
mov r8d, 8
call fcn.1400c2310
cmp byte [rsi + 0x17], 0
jns 0x14000678f
mov rcx, qword [rsp + 0x40]
call fcn.14008d2a8
test r15d, r15d
jne 0x1400068b3
test r15d, r15d
sete bl
lea rcx, [rsp + 0x60]
call fcn.140046cc0
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.14008fec0
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 0x140006999
test bl, 0x10
jne 0x14000680f
test r14b, 2
jne 0x1400069bd
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x1400067fc
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400066eb
jmp 0x1400066d6
test r14b, 1
je 0x140006846
lea rsi, [rsp + 0x40]
mov byte [rsi + 0x17], 1
mov dword [rsi], 0x2a
mov rcx, rdi
mov rdx, rsi
mov r8d, r14d
call fcn.1400c2350
mov ebx, eax
cmp byte [rsi + 0x17], 0
js 0x1400069d2
test ebx, ebx
jne 0x1400069e1
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x140006852
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x140006802
mov r15d, 0xa1
jmp 0x1400066eb
lea rcx, [rsp + 0x40]
call fcn.14005b0c0
jmp 0x1400066bb
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x140006880
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140006971
mov ebp, 7
test al, 0x10
je 0x140006711
mov rcx, rdi
call fcn.1400d1d60
movzx eax, al
mov ebp, 6
sub ebp, eax
jmp 0x140006711
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.14005ac20
mov rcx, rsi
mov edx, r15d
call fcn.1400d93e0
cmp byte [rsi + 0x17], 0
jns 0x14000691d
mov rcx, qword [rsp + 0x40]
call fcn.14008d2a8
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140006798
lea rsi, [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.140007a70
lea rbx, [rsp + 0x28]
mov rcx, rdi
mov rdx, rbx
call fcn.1400085d0
mov rcx, rbx
mov rdx, rsi
mov r8d, r14d
call fcn.1400c2350
mov r15d, eax
mov rcx, rbx
call fcn.14005b0c0
mov rcx, rsi
call fcn.14005b0c0
jmp 0x1400066eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
add eax, 0xfffffffe
mov ebp, 4
cmp eax, 4
jae 0x140006711
cdqe
lea rcx, [0x14015fc68]
mov ebp, dword [rcx + rax*4]
jmp 0x140006711
mov edx, ebx
and edx, 0xfffffffe
cmp byte [rdi + 0x17], 0
mov rcx, rdi
jns 0x1400069aa
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x1400067e1
jmp 0x1400066d6
mov rcx, rdi
call fcn.14010d120
test al, al
jne 0x1400066eb
jmp 0x1400066d6
mov rcx, qword [rsp + 0x40]
call fcn.14008d2a8
jmp 0x14000683e
mov r15d, ebx
jmp 0x1400066eb