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

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb0
mov edi, edx
mov rsi, rcx
mov rax, qword [0x140327038]
xor rax, rsp
mov qword [rsp + 0xa8], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x60]
mov qword [r14 + 0x40], rax
movaps xmm0, xmmword [0x1402e6d80]
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.1400b5b90
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
call fcn.140062770
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 0x140067a51
test al, al
jns 0x1400679ad
cmp rcx, 0x104
jae 0x140067b83
mov rcx, rsi
mov rdx, rbx
call fcn.1400b0160
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 0x140067afc
lea r8, [rbx + rdx*2]
add rdx, rdx
mov r9, rbx
movzx r10d, word [r9]
cmp r10d, 0x2a
je 0x140067a03
cmp r10d, 0x3f
je 0x140067a03
add r9, 2
add rdx, 0xfffffffffffffffe
jne 0x1400679e6
mov r9, r8
cmp r9, r8
sete dl
sub r9, rbx
cmp r9, 0xfffffffffffffffe
sete bl
or bl, dl
test al, al
jns 0x140067a1e
call fcn.14013a6ac
test bl, bl
je 0x140067b1a
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140067a32
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140067a7e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x140067b6c
lea rcx, [rsp + 0x60]
call fcn.140062a80
mov sil, 1
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.14013d520
mov eax, esi
add rsp, 0xb0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov ebx, eax
test bl, 1
jne 0x140067bc0
test bl, 0x10
jne 0x140067ab0
test dil, 2
jne 0x140067be4
cmp byte [rsi + 0x17], 0
jns 0x140067aa1
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140067a51
jmp 0x140067a3d
test dil, 1
je 0x140067ae8
lea rdx, [0x1402f125a]
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400b3e36
mov rcx, rsi
mov rdx, rbx
mov r8d, edi
call fcn.1400ea290
mov ebp, eax
cmp byte [rbx + 0x17], 0
js 0x140067b0e
test ebp, ebp
jne 0x140067ba7
cmp byte [rsi + 0x17], 0
jns 0x140067af1
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x140067aaa
test al, al
jns 0x140067a26
call fcn.14013a6ac
jmp 0x140067a26
mov rcx, qword [rsp + 0x40]
call fcn.14013a6ac
jmp 0x140067ae0
lea rbx, [rsp + 0x40]
mov rcx, rsi
mov rdx, rbx
call fcn.1400b0160
lea r14, [rsp + 0x28]
mov rcx, rsi
mov rdx, r14
call fcn.1400afb90
mov rcx, r14
mov rdx, rbx
mov r8d, edi
call fcn.1400ea290
mov ebp, eax
cmp byte [r14 + 0x17], 0
jns 0x140067b5b
mov rcx, qword [rsp + 0x28]
call fcn.14013a6ac
cmp byte [rsp + 0x57], 0
jns 0x140067b6c
mov rcx, qword [rsp + 0x40]
call fcn.14013a6ac
lea rcx, [rsp + 0x60]
call fcn.140062a80
mov sil, 1
test ebp, ebp
je 0x140067a5e
jmp 0x140067bb1
lea r9, [0x1402f11f2]
mov r8d, 4
mov rcx, rsi
xor edx, edx
call fcn.1401f0440
mov ebp, 0xa1
test eax, eax
je 0x1400679ad
lea rcx, [rsp + 0x60]
call fcn.140062a80
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
jmp 0x140067a5e
mov edx, ebx
and edx, 0xfffffffe
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140067bd1
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x140067a89
jmp 0x140067a3d
call fcn.1401153b0
xor edx, edx
cmp eax, 0xd
setge dl
shl edx, 4
or edx, 2
mov rcx, rsi
call fcn.1401f8070
test al, al
jne 0x140067a51
jmp 0x140067a3d