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

Disassembly:
xor edx, edx
jmp 0x140055350
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc0
mov ebx, edx
mov rsi, rcx
mov rax, qword [0x1401e5d38]
xor rax, rsp
mov qword [rsp + 0xb8], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb0], rax
movaps xmm0, xmmword [section..rdata]
movaps xmmword [rsp + 0xa0], xmm0
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, 0xfa
call fcn.14003b9f0
lea rcx, [rsp + 0x60]
mov rdx, rdi
xor r8d, r8d
call fcn.140051c40
movzx eax, byte [rsi]
test al, 1
jne 0x1400553f0
cmp al, 2
jae 0x140055419
jmp 0x1400555a4
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400555a4
mov ebp, 0xa1
cmp rax, 0x103
jbe 0x140055419
lea rcx, [rsp + 0x60]
call fcn.140051f30
jmp 0x1400555c1
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140039310
movzx eax, byte [rsp + 0x40]
test al, 1
je 0x140055443
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
test rax, rax
jne 0x140055454
jmp 0x1400554d3
shr rax, 1
lea rcx, [rsp + 0x42]
test rax, rax
je 0x1400554d3
add rax, rax
xor edi, edi
nop dword [rax]
movzx edx, word [rcx + rdi]
cmp edx, 0x2a
je 0x140055479
cmp edx, 0x3f
je 0x140055479
add rdi, 2
cmp rax, rdi
jne 0x140055460
jmp 0x1400554d3
cmp rax, rdi
je 0x1400554d3
lea rcx, [rsp + 0x40]
call fcn.1400388c0
cmp rdi, 0xfffffffffffffffe
je 0x1400554dd
lea rdi, [rsp + 0x40]
mov rcx, rsi
mov rdx, rdi
call fcn.140039310
lea r14, [rsp + 0x28]
mov rcx, rsi
mov rdx, r14
call fcn.140039130
mov rcx, r14
mov rdx, rdi
mov r8d, ebx
call fcn.140056250
mov ebp, eax
mov rcx, r14
call fcn.1400388c0
mov rcx, rdi
call fcn.1400388c0
jmp 0x1400555b3
lea rcx, [rsp + 0x40]
call fcn.1400388c0
lea rdi, [rsi + 2]
test byte [rsi], 1
mov rcx, rdi
je 0x1400554ed
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140055594
mov ebp, eax
test bpl, 1
je 0x14005551f
mov edx, ebp
and edx, 0xfffffffe
test byte [rsi], 1
mov rcx, rdi
je 0x140055515
mov rcx, qword [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x140055594
test bpl, 0x10
jne 0x14005553d
test byte [rsi], 1
je 0x14005552e
mov rdi, qword [rsi + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400555a4
jmp 0x140055594
test bl, bl
je 0x14005557e
lea rdx, [0x1401972d0]
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.140001ad8
mov rcx, rsi
mov rdx, rbx
mov r8b, 1
call fcn.140056250
mov ebp, eax
test byte [rsp + 0x40], 1
je 0x140055576
mov rcx, qword [rsp + 0x50]
call fcn.140153cd8
test ebp, ebp
jne 0x14005540a
test byte [rsi], 1
je 0x140055587
mov rdi, qword [rsi + 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1400555a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x1400555b3
lea rcx, [rsp + 0x60]
call fcn.140051f30
mov sil, 1
jmp 0x1400555cb
lea rcx, [rsp + 0x60]
call fcn.140051f30
test ebp, ebp
je 0x1400555eb
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor esi, esi
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.140154030
mov eax, esi
add rsp, 0xc0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov sil, 1
jmp 0x1400555cb