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

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb0
mov edi, edx
mov rsi, rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0xa8], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x60]
mov qword [r14 + 0x40], rax
movaps xmm0, xmmword [0x1402fccc0]
movaps xmmword [r14 + 0x30], xmm0
movaps xmmword [r14 + 0x20], xmm0
movaps xmmword [r14 + 0x10], xmm0
movaps xmmword [r14], xmm0
lea rdx, str.DoDeleteFile
lea r8, str....._base_files_file_util_win.cc
lea rbx, [rsp + 0x40]
mov rcx, rbx
mov r9d, 0x14d
call fcn.1400c6940
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
call fcn.140066fa0
movzx eax, byte [rsi + 0x17]
mov edx, eax
and edx, 0x7f
test al, al
mov rcx, qword [rsi + 8]
cmovs rdx, rcx
test rdx, rdx
je 0x14005d861
test al, al
jns 0x14005d7bd
cmp rcx, 0x104
jae 0x14005d99a
mov rcx, rsi
mov rdx, rbx
call fcn.1400e0100
movzx eax, byte [rsp + 0x57]
mov edx, eax
and edx, 0x7f
test al, al
cmovs rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
cmovs rbx, rcx
test rdx, rdx
je 0x14005d913
lea r8, [rbx + rdx*2]
add rdx, rdx
mov r9, rbx
movzx r10d, word [r9]
cmp r10d, 0x2a
je 0x14005d813
cmp r10d, 0x3f
je 0x14005d813
add r9, 2
add rdx, 0xfffffffffffffffe
jne 0x14005d7f6
mov r9, r8
cmp r9, r8
sete dl
sub r9, rbx
cmp r9, 0xfffffffffffffffe
sete bl
or bl, dl
test al, al
jns 0x14005d82e
call fcn.140153bcc
test bl, bl
je 0x14005d931
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x14005d842
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14005d88e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x14005d983
lea rcx, [rsp + 0x60]
call fcn.140067230
mov sil, 1
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140156fe0
mov eax, esi
add rsp, 0xb0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov ebx, eax
test bl, 1
jne 0x14005d9d7
test bl, 0x10
je 0x14005d8f5
test dil, 1
je 0x14005d8d6
lea rdx, [0x140310840]
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400c7802
mov rcx, rsi
mov rdx, rbx
mov r8d, edi
call fcn.1400f9d90
mov ebp, eax
cmp byte [rbx + 0x17], 0
js 0x14005d925
test ebp, ebp
jne 0x14005d9be
cmp byte [rsi + 0x17], 0
jns 0x14005d8df
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x14005d861
jmp 0x14005d84d
test dil, 2
jne 0x14005d9fb
cmp byte [rsi + 0x17], 0
jns 0x14005d908
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x14005d8e8
test al, al
jns 0x14005d836
call fcn.140153bcc
jmp 0x14005d836
mov rcx, qword [rsp + 0x40]
call fcn.140153bcc
jmp 0x14005d8ce
lea rbx, [rsp + 0x40]
mov rcx, rsi
mov rdx, rbx
call fcn.1400e0100
lea r14, [rsp + 0x28]
mov rcx, rsi
mov rdx, r14
call fcn.1400df8d0
mov rcx, r14
mov rdx, rbx
mov r8d, edi
call fcn.1400f9d90
mov ebp, eax
cmp byte [r14 + 0x17], 0
jns 0x14005d972
mov rcx, qword [rsp + 0x28]
call fcn.140153bcc
cmp byte [rsp + 0x57], 0
jns 0x14005d983
mov rcx, qword [rsp + 0x40]
call fcn.140153bcc
lea rcx, [rsp + 0x60]
call fcn.140067230
mov sil, 1
test ebp, ebp
je 0x14005d86e
jmp 0x14005d9c8
lea r9, [0x1403107d8]
mov r8d, 4
mov rcx, rsi
xor edx, edx
call fcn.140237b28
mov ebp, 0xa1
test eax, eax
je 0x14005d7bd
lea rcx, [rsp + 0x60]
call fcn.140067230
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
jmp 0x14005d86e
mov edx, ebx
and edx, 0xfffffffe
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x14005d9e8
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x14005d899
jmp 0x14005d84d
call fcn.140137920
xor edx, edx
cmp eax, 0xd
setge dl
shl edx, 4
or edx, 2
mov rcx, rsi
call fcn.14023ea90
test al, al
jne 0x14005d861
jmp 0x14005d84d