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

Disassembly:
xor edx, edx
jmp 0x140041b50
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb0
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x1401c6b58]
xor rax, rsp
mov qword [rsp + 0xa8], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], 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, 0x104
call fcn.140059c00
lea rcx, [rsp + 0x60]
mov rdx, rdi
xor r8d, r8d
call fcn.140048050
movzx eax, byte [rsi]
test al, 1
jne 0x140041be8
cmp al, 2
jae 0x140041c11
jmp 0x140041d94
mov rax, qword [rsi + 8]
test rax, rax
je 0x140041d94
mov ebp, 0xa1
cmp rax, 0x103
jbe 0x140041c11
lea rcx, [rsp + 0x60]
call fcn.1400480b0
jmp 0x140041db1
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.14005c180
movzx eax, byte [rsp + 0x40]
test al, 1
je 0x140041c3b
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
test rax, rax
jne 0x140041c47
jmp 0x140041cc3
shr eax, 1
lea rcx, [rsp + 0x42]
test rax, rax
je 0x140041cc3
add rax, rax
xor edi, edi
nop dword [rax]
movzx edx, word [rcx + rdi]
cmp edx, 0x2a
je 0x140041c69
cmp edx, 0x3f
je 0x140041c69
add rdi, 2
cmp rax, rdi
jne 0x140041c50
jmp 0x140041cc3
cmp rax, rdi
je 0x140041cc3
lea rcx, [rsp + 0x40]
call fcn.14005b430
cmp rdi, 0xfffffffffffffffe
je 0x140041ccd
lea rdi, [rsp + 0x40]
mov rcx, rsi
mov rdx, rdi
call fcn.14005c180
lea r14, [rsp + 0x28]
mov rcx, rsi
mov rdx, r14
call fcn.14005be60
mov rcx, r14
mov rdx, rdi
mov r8d, ebx
call fcn.140043640
mov ebp, eax
mov rcx, r14
call fcn.14005b430
mov rcx, rdi
call fcn.14005b430
jmp 0x140041da3
lea rcx, [rsp + 0x40]
call fcn.14005b430
lea rdi, [rsi + 2]
test byte [rsi], 1
mov rcx, rdi
je 0x140041cdd
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140041d84
mov ebp, eax
test bpl, 1
je 0x140041d0f
mov edx, ebp
and edx, 0xfffffffe
test byte [rsi], 1
mov rcx, rdi
je 0x140041d05
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x140041d84
test bpl, 0x10
jne 0x140041d2d
test byte [rsi], 1
je 0x140041d1e
mov rdi, qword [rsi + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140041d94
jmp 0x140041d84
test bl, bl
je 0x140041d6e
lea rdx, [0x14018dc7a]
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.140001b50
mov rcx, rsi
mov rdx, rbx
mov r8b, 1
call fcn.140043640
mov ebp, eax
test byte [rsp + 0x40], 1
je 0x140041d66
mov rcx, qword [rsp + 0x50]
call fcn.140148278
test ebp, ebp
jne 0x140041c02
test byte [rsi], 1
je 0x140041d77
mov rdi, qword [rsi + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x140041d94
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x140041da3
lea rcx, [rsp + 0x60]
call fcn.1400480b0
mov sil, 1
jmp 0x140041dbb
lea rcx, [rsp + 0x60]
call fcn.1400480b0
test ebp, ebp
je 0x140041ddb
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140148650
mov eax, esi
add rsp, 0xb0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov sil, 1
jmp 0x140041dbb