Function at 0x1400ff1e0
Capabilities:
Check if file exists
Delete file

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov r15, r9
mov r14, r8
mov rsi, rdx
mov dil, cl
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x1400ff233
test byte [rcx + 0x1c], 1
je 0x1400ff233
cmp byte [rcx + 0x19], 4
jb 0x1400ff233
mov rcx, qword [rcx + 0x10]
lea r8, [0x140156b10]
mov edx, 0xe
call fcn.14000c0e8
and qword [rbp - 0x28], 0
mov rax, qword [rsi]
sub rax, qword [0x140147ba0]
mov byte [rbp - 0x30], 0
jne 0x1400ff253
mov rax, qword [rsi + 8]
sub rax, qword [0x140147ba8]
test rax, rax
jne 0x1400ff270
lea r8, str.guidBackupSetId___GUID_NULL
mov edx, 0x2bc
lea rcx, str.base_stor_blbengine_blbengutils_blbspputils.cpp
call fcn.140088f60
lea rcx, [rbp - 0x30]
call fcn.140092190
mov ebx, eax
test eax, eax
jns 0x1400ff2c7
mov rcx, qword [0x14016a048]
lea r14, [0x14016a048]
cmp rcx, r14
je 0x1400ff590
test byte [rcx + 0x1c], 1
je 0x1400ff56a
cmp byte [rcx + 0x19], 2
jb 0x1400ff56a
mov rcx, qword [rcx + 0x10]
lea r8, [0x140156b10]
mov edx, 0xf
mov r9d, eax
call fcn.14000c114
jmp 0x1400ff563
cmp byte [rbp - 0x30], 0
je 0x1400ff55c
test dil, dil
je 0x1400ff43b
movups xmm0, xmmword [0x14016c478]
lea rax, [rbp - 0x28]
mov r8, r15
movaps xmm1, xmmword [rsi]
lea r9, [rbp - 0x20]
mov qword [rsp + 0x28], rax
lea rcx, [rbp - 0x10]
and dword [rsp + 0x20], 0
mov rdx, r14
movdqu xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp - 0x10], xmm1
call fcn.1400850fc
mov ebx, eax
test eax, eax
jns 0x1400ff361
mov rcx, qword [0x14016a048]
lea r14, [0x14016a048]
cmp rcx, r14
je 0x1400ff4a1
test byte [rcx + 0x1c], 1
je 0x1400ff4a1
cmp byte [rcx + 0x19], 2
jb 0x1400ff4a1
mov edx, 0x10
mov rcx, qword [rcx + 0x10]
lea r8, [0x140156b10]
mov r9d, eax
call fcn.14000c114
mov rdi, qword [rbp - 0x28]
jmp 0x1400ff53f
mov rcx, qword [0x14016a048]
lea r14, [0x14016a048]
mov rdi, qword [rbp - 0x28]
cmp rcx, r14
je 0x1400ff39c
test byte [rcx + 0x1c], 1
je 0x1400ff39c
cmp byte [rcx + 0x19], 4
jb 0x1400ff39c
mov rcx, qword [rcx + 0x10]
lea r8, [0x140156b10]
mov edx, 0x11
mov r9, rdi
call fcn.140014f10
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
test eax, eax
jne 0x1400ff420
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 2
je 0x1400ff420
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x1400ff3db
movzx ebx, ax
or ebx, 0x80070000
mov rcx, qword [0x14016a048]
cmp rcx, r14
je 0x1400ff546
test byte [rcx + 0x1c], 1
je 0x1400ff546
cmp byte [rcx + 0x19], 4
jb 0x1400ff546
mov edx, 0x12
mov rcx, qword [rcx + 0x10]
lea r8, [0x140156b10]
mov r9, rdi
mov dword [rsp + 0x20], ebx
call fcn.140014f78
jmp 0x1400ff53f
test rdi, rdi
je 0x1400ff442
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
and qword [rbp - 0x28], 0
jmp 0x1400ff442
lea r14, [0x14016a048]
movups xmm0, xmmword [0x14016c478]
lea rax, [rbp - 0x28]
xor r8d, r8d
movaps xmm1, xmmword [rsi]
lea r9, [rbp - 0x10]
mov qword [rsp + 0x28], rax
lea rcx, [rbp - 0x20]
xor edx, edx
movdqa xmmword [rbp - 0x20], xmm1
movdqu xmmword [rbp - 0x10], xmm0
mov dword [rsp + 0x20], 1
call fcn.1400850fc
mov ebx, eax
test eax, eax
jns 0x1400ff4aa
mov rcx, qword [0x14016a048]
cmp rcx, r14
je 0x1400ff4a1
test byte [rcx + 0x1c], 1
je 0x1400ff4a1
cmp byte [rcx + 0x19], 2
jb 0x1400ff4a1
mov edx, 0x13
jmp 0x1400ff345
mov rdi, qword [rbp - 0x28]
jmp 0x1400ff546
mov rdi, qword [rbp - 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
test eax, eax
jne 0x1400ff50f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 2
je 0x1400ff53f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x1400ff4ed
movzx ebx, ax
or ebx, 0x80070000
mov rcx, qword [0x14016a048]
cmp rcx, r14
je 0x1400ff546
test byte [rcx + 0x1c], 1
je 0x1400ff546
cmp byte [rcx + 0x19], 4
jb 0x1400ff546
mov edx, 0x14
jmp 0x1400ff404
mov rcx, qword [0x14016a048]
cmp rcx, r14
je 0x1400ff546
test byte [rcx + 0x1c], 1
je 0x1400ff546
cmp byte [rcx + 0x19], 4
jb 0x1400ff546
mov rcx, qword [rcx + 0x10]
lea r8, [0x140156b10]
mov edx, 0x15
mov r9, rdi
call fcn.140014f10
mov rcx, qword [0x14016a048]
test rdi, rdi
je 0x1400ff56a
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
jmp 0x1400ff563
lea r14, [0x14016a048]
mov rcx, qword [0x14016a048]
cmp rcx, r14
je 0x1400ff590
test byte [rcx + 0x1c], 1
je 0x1400ff590
cmp byte [rcx + 0x19], 4
jb 0x1400ff590
mov rcx, qword [rcx + 0x10]
lea r8, [0x140156b10]
mov edx, 0x16
call fcn.14000c0e8
mov eax, ebx
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret