Function at 0x140062860
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 [0x140181040]
xor rax, rsp
mov qword [rsp + 0xa8], rax
movaps xmm0, xmmword [0x140152e90]
lea r14, [rsp + 0x60]
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, 0x152
call fcn.140048ae0
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
call fcn.14004c250
movsx rcx, byte [rsi + 0x17]
test rcx, rcx
mov rax, qword [rsi + 8]
mov rdx, rcx
cmovs rdx, rax
test rdx, rdx
je 0x1400629b0
test cl, cl
sets cl
cmp rax, 0x104
setae al
and al, cl
cmp al, 1
je 0x140062a71
mov rcx, rsi
mov rdx, rbx
call fcn.14008e5a0
movsx rax, byte [rsp + 0x57]
test rax, rax
jns 0x140062926
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
test rax, rax
je 0x140062a62
lea rax, [rbx + rax*2]
lea rdx, [0x140163cb2]
mov rcx, rbx
movzx r8d, word [rcx]
xor r9d, r9d
cmp r8w, word [r9 + rdx]
je 0x140062961
add r9, 2
cmp r9, 4
jne 0x140062944
add rcx, 2
cmp rcx, rax
jne 0x14006293d
mov rcx, rax
cmp rcx, rax
sete al
sub rcx, rbx
cmp rcx, 0xfffffffffffffffe
sete bl
or bl, al
lea rcx, [rsp + 0x40]
call fcn.140048d70
test bl, bl
je 0x140062ae1
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140062991
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400629dd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x140062b21
lea rcx, [rsp + 0x60]
call fcn.14004c2d0
mov sil, 1
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140092f10
mov eax, esi
add rsp, 0xb0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov ebx, eax
test bl, 1
jne 0x140062abd
test bl, 0x10
je 0x140062a44
test dil, 1
je 0x140062a25
lea rdx, [0x140163cb8]
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.140104eb0
mov rcx, rsi
mov rdx, rbx
mov r8d, edi
call fcn.140063230
mov ebp, eax
cmp byte [rbx + 0x17], 0
js 0x140062aae
test ebp, ebp
jne 0x140062a95
cmp byte [rsi + 0x17], 0
jns 0x140062a2e
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1400629b0
jmp 0x14006299c
test dil, 2
jne 0x140062b3b
cmp byte [rsi + 0x17], 0
jns 0x140062a57
mov rsi, qword [rsi]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x140062a37
lea rcx, [rsp + 0x40]
call fcn.140048d70
jmp 0x140062985
lea r9, str.__
mov r8d, 4
mov rcx, rsi
xor edx, edx
call fcn.140103f9a
mov ebp, 0xa1
test eax, eax
je 0x140062906
lea rcx, [rsp + 0x60]
call fcn.14004c2d0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
jmp 0x1400629bd
mov rcx, qword [rsp + 0x40]
call fcn.140091a2c
jmp 0x140062a21
mov edx, ebx
and edx, 0xfffffffe
cmp byte [rsi + 0x17], 0
mov rcx, rsi
jns 0x140062ace
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x1400629e8
jmp 0x14006299c
lea rbx, [rsp + 0x40]
mov rcx, rsi
mov rdx, rbx
call fcn.14008e5a0
lea r14, [rsp + 0x28]
mov rcx, rsi
mov rdx, r14
call fcn.14008dda0
mov rcx, r14
mov rdx, rbx
mov r8d, edi
call fcn.140063230
mov ebp, eax
mov rcx, r14
call fcn.140048d70
mov rcx, rbx
call fcn.140048d70
lea rcx, [rsp + 0x60]
call fcn.14004c2d0
mov sil, 1
test ebp, ebp
je 0x1400629bd
jmp 0x140062a9f
mov rcx, rsi
call fcn.1401064b0
test al, al
jne 0x1400629b0
jmp 0x14006299c