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

Disassembly:
xor edx, edx
jmp 0x140048ec0
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb0
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x1401fdbb8]
xor rax, rsp
mov qword [rsp + 0xa8], rax
movaps xmm0, xmmword [section..rdata]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
lea rdx, str.DoDeleteFile
lea r8, str....._base_files_file_util_win.cc
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov r9d, 0x107
call fcn.140063850
lea rcx, [rsp + 0x60]
mov rdx, rdi
xor r8d, r8d
call fcn.14004f6c0
movzx eax, byte [rsi]
test al, 1
jne 0x140048f46
test al, al
jne 0x140048f6f
jmp 0x1400490f4
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400490f4
mov ebp, 0xa1
cmp rax, 0x103
jbe 0x140048f6f
lea rcx, [rsp + 0x60]
call fcn.14004f740
jmp 0x140049111
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140066080
movzx eax, byte [rsp + 0x40]
test al, 1
je 0x140048f99
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
test rax, rax
jne 0x140048fa5
jmp 0x140049023
shr eax, 1
lea rcx, [rsp + 0x42]
test rax, rax
je 0x140049023
add rax, rax
xor edi, edi
nop word [rax + rax]
movzx edx, word [rcx + rdi]
cmp edx, 0x2a
je 0x140048fc9
cmp edx, 0x3f
je 0x140048fc9
add rdi, 2
cmp rax, rdi
jne 0x140048fb0
jmp 0x140049023
cmp rax, rdi
je 0x140049023
lea rcx, [rsp + 0x40]
call fcn.1400653b0
cmp rdi, 0xfffffffffffffffe
je 0x14004902d
lea rdi, [rsp + 0x40]
mov rcx, rsi
mov rdx, rdi
call fcn.140066080
lea r14, [rsp + 0x28]
mov rcx, rsi
mov rdx, r14
call fcn.140065da0
mov rcx, r14
mov rdx, rdi
mov r8d, ebx
call fcn.14004a870
mov ebp, eax
mov rcx, r14
call fcn.1400653b0
mov rcx, rdi
call fcn.1400653b0
jmp 0x140049103
lea rcx, [rsp + 0x40]
call fcn.1400653b0
lea rdi, [rsi + 2]
test byte [rsi], 1
mov rcx, rdi
je 0x14004903d
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400490e4
mov ebp, eax
test bpl, 1
je 0x14004906f
mov edx, ebp
and edx, 0xfffffffe
test byte [rsi], 1
mov rcx, rdi
je 0x140049065
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x1400490e4
test bpl, 0x10
jne 0x14004908d
test byte [rsi], 1
je 0x14004907e
mov rdi, qword [rsi + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400490f4
jmp 0x1400490e4
test bl, bl
je 0x1400490ce
lea rdx, [0x1401c0ed6]
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.140001990
mov rcx, rsi
mov rdx, rbx
mov r8b, 1
call fcn.14004a870
mov ebp, eax
test byte [rsp + 0x40], 1
je 0x1400490c6
mov rcx, qword [rsp + 0x50]
call fcn.140173cf0
test ebp, ebp
jne 0x140048f60
test byte [rsi], 1
je 0x1400490d7
mov rdi, qword [rsi + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1400490f4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x140049103
lea rcx, [rsp + 0x60]
call fcn.14004f740
mov sil, 1
jmp 0x14004911b
lea rcx, [rsp + 0x60]
call fcn.14004f740
test ebp, ebp
je 0x14004913b
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140174050
mov eax, esi
add rsp, 0xb0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov sil, 1
jmp 0x14004911b