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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movaps xmmword [rsp + 0x110], xmm6
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x1400e0338]
xor rax, rsp
mov qword [rsp + 0x108], rax
lea rax, str.DeleteFile.Recursive
lea r12, str.DeleteFile.NonRecursive
test dl, dl
cmovne r12, rax
mov eax, edx
xor al, 1
movzx r13d, al
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm6
lea rdx, str.DeleteFileAndRecordMetrics
lea rbp, str..._.._base_files_file_util_win.cc
lea rdi, [rsp + 0xb0]
mov rcx, rdi
mov r8, rbp
mov r9d, 0x168
call fcn.140047740
lea rcx, [rsp + 0x20]
xor r14d, r14d
mov rdx, rdi
xor r8d, r8d
call fcn.140049050
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
lea rdx, str.DoDeleteFile
lea rdi, [rsp + 0x90]
mov rcx, rdi
mov r8, rbp
mov r9d, 0x130
call fcn.140047740
lea rcx, [rsp + 0xb0]
mov rdx, rdi
xor r8d, r8d
call fcn.140049050
movzx ecx, byte [rsi + 0x17]
test cl, cl
mov rax, qword [rsi + 8]
mov rdx, rcx
cmovs rdx, rax
mov ebp, 0
test rdx, rdx
je 0x14003a049
test cl, cl
jns 0x140039ea7
mov ebp, 0xa1
cmp rax, 0x103
ja 0x14003a049
mov rcx, rsi
mov rdx, rdi
call fcn.1400365c0
movzx eax, byte [rsp + 0xa7]
test al, al
jns 0x140039ece
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x90]
mov rbp, 0xffffffffffffffff
test rax, rax
je 0x140039f06
add rax, rax
xor ecx, ecx
nop
movzx edx, word [rdi + rcx]
cmp dx, 0x3f
je 0x140039efb
cmp dx, 0x2a
je 0x140039efb
add rcx, 2
cmp rax, rcx
jne 0x140039ee0
jmp 0x140039f06
cmp rax, rcx
je 0x140039f06
sar rcx, 1
mov rbp, rcx
lea rcx, [rsp + 0x90]
call fcn.1400359f0
cmp rbp, 0xffffffffffffffff
je 0x140039f61
lea r15, [rsp + 0x90]
mov rcx, rsi
mov rdx, r15
call fcn.1400365c0
lea rdi, [rsp + 0x78]
mov rcx, rsi
mov rdx, rdi
call fcn.140036450
mov rcx, rdi
mov rdx, r15
mov r8d, ebx
call fcn.14003a820
mov ebp, eax
mov rcx, rdi
call fcn.1400359f0
mov rcx, r15
call fcn.1400359f0
jmp 0x14003a049
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140039f6d
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14003a036
mov edi, eax
test dil, 1
je 0x140039fa3
mov edx, edi
and edx, 0xfffffffe
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140039f95
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x14003a036
test dil, 0x10
jne 0x140039fbd
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140039fb5
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x14003a02d
test bl, bl
je 0x14003a01b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0xa7], 1
mov dword [rsp + 0x90], 0x2a
lea rdx, [rsp + 0x90]
mov rcx, rsi
mov r8b, 1
call fcn.14003a820
mov ebp, eax
cmp byte [rsp + 0xa7], 0
jns 0x14003a017
mov rcx, qword [rsp + 0x90]
call fcn.14008f3a4
test ebp, ebp
jne 0x14003a049
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x14003a027
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ebp, 0
test eax, eax
jne 0x14003a049
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
and ecx, 0xfffffffe
xor ebp, ebp
cmp ecx, 2
cmovne ebp, eax
lea rdi, [r13*2 + 0x14]
add rdi, r13
lea r15, [rsp + 0xb0]
mov rcx, r15
call fcn.140049190
test ebp, ebp
je 0x14003a0c0
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x14003a074
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14003a09f
mov r14d, 7
test al, 0x10
je 0x14003a0c0
mov rcx, rsi
call fcn.140037b30
movzx eax, al
mov r14d, 6
sub r14d, eax
jmp 0x14003a0c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
add eax, 0xfffffffe
mov r14d, 4
cmp eax, 4
jae 0x14003a0c0
cdqe
lea rcx, [0x1400beb48]
mov r14d, dword [rcx + rax*4]
movabs rbx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rbx
movaps xmmword [rsp + 0x90], xmm6
lea rax, str.Windows.PostOperationState.
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 0x1b
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0x78], 2
mov qword [rsp + 0x80], r15
lea rsi, [rsp + 0x90]
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.140047820
mov rcx, rsi
mov edx, r14d
mov r8d, 8
call fcn.140052c80
cmp byte [rsp + 0xa7], 0
js 0x14003a1d8
test ebp, ebp
je 0x14003a1ed
mov qword [rsp + 0xa0], rbx
movaps xmmword [rsp + 0x90], xmm6
lea rax, str.Windows.FilesystemError.
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 0x18
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0x78], 2
mov qword [rsp + 0x80], r15
lea rsi, [rsp + 0x90]
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.140047820
mov rcx, rsi
mov edx, ebp
call fcn.140052cc0
cmp byte [rsp + 0xa7], 0
jns 0x14003a1d4
mov rcx, qword [rsp + 0x90]
call fcn.14008f3a4
xor esi, esi
jmp 0x14003a1f0
mov rcx, qword [rsp + 0x90]
call fcn.14008f3a4
test ebp, ebp
jne 0x14003a152
mov sil, 1
lea rcx, [rsp + 0x20]
call fcn.140049190
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.14008f710
mov eax, esi
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jmp 0x140039d70