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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rdi, rcx
add rcx, 0x18
call fcn.14000b920
xor r14d, r14d
mov r12, rax
and dword [rbp + 0x40], r14d
and qword [rbp + 0x48], r14
mov qword [rbp + 0x50], r14
mov rcx, qword [0x140173048]
lea rsi, [0x140173048]
lea r15, [0x1401529e0]
cmp rcx, rsi
je 0x14002f7cb
test byte [rcx + 0x1c], 1
je 0x14002f7cb
cmp byte [rcx + 0x19], 4
jb 0x14002f7cb
mov rcx, qword [rcx + 0x10]
mov edx, 0x18f
mov r8, r15
call fcn.14000c328
cmp qword [rdi + 0x190], r14
jne 0x14002f7ec
lea r8, str.m_pLocalCatalog
mov edx, 0x23bc
lea rcx, str.base_stor_blbengine_service_backup.cpp
call fcn.1400906e0
mov rax, qword [r12]
movabs r10, 0xf8188fb71cd23270
mov rdx, qword [rdi + 0x190]
mov rcx, r12
mov rax, qword [rax + 0xc0]
call qword [vtable.H_MA8HI.0]
mov ebx, eax
test eax, eax
js 0x14002f895
test byte [rdi + 0x154], 1
jne 0x14002fa32
mov rax, qword [r12]
xor r8d, r8d
cmp dword [rdi + 0x150], 4
setne r8b
movabs r10, 0xcf2136183258c970
mov rdx, qword [rdi + 0x248]
mov rcx, r12
mov rax, qword [rax + 0xd0]
call qword [vtable.H_MA8HI.0]
mov ebx, eax
test eax, eax
jns 0x14002f8a1
mov rcx, qword [0x140173048]
cmp rcx, rsi
je 0x14002fae2
test byte [rcx + 0x1c], 1
je 0x14002fae2
cmp byte [rcx + 0x19], 2
jb 0x14002fae2
mov rcx, qword [rcx + 0x10]
mov edx, 0x190
mov r9d, eax
mov r8, r15
call fcn.14000c354
mov rcx, qword [0x140173048]
jmp 0x14002fae2
cmp qword [rdi + 0x1d8], r14
jne 0x14002f8c2
lea r8, str.m_wszBackupSetDirectory
mov edx, 0x23d5
lea rcx, str.base_stor_blbengine_service_backup.cpp
call fcn.1400906e0
mov rcx, qword [rdi + 0x1d8]
lea rdx, [rdi + 0x128]
lea r9, [rbp + 0x50]
xor r8d, r8d
call fcn.140113480
mov r14, qword [rbp + 0x50]
mov ebx, eax
test eax, eax
js 0x14002fab9
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
test eax, eax
jne 0x14002f95d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 2
je 0x14002f95d
mov rcx, qword [0x140173048]
cmp rcx, rsi
je 0x14002f947
test byte [rcx + 0x1c], 1
je 0x14002f947
cmp byte [rcx + 0x19], 2
jb 0x14002f947
mov rcx, qword [rcx + 0x10]
mov edx, 0x191
mov r9, r14
mov dword [rsp + 0x20], eax
mov r8, r15
call fcn.14003fe00
mov rcx, qword [0x140173048]
test ebx, ebx
jle 0x14002fac0
movzx ebx, bx
or ebx, 0x80070000
jmp 0x14002fac0
test byte [rdi + 0x154], 0x80
je 0x14002fa32
cmp byte [rdi + 0x114], 0
je 0x14002fa32
lea rcx, [rdi + 0x2d8]
mov rdx, r14
call fcn.140036a14
test al, al
jne 0x14002f9a2
lea r8, str.m_BackupsetVerifier.Remove_wszLocalCatalogFile_
mov edx, 0x23ec
lea rcx, str.base_stor_blbengine_service_backup.cpp
call fcn.1400906e0
mov ecx, 0x20
call fcn.140006fcc
mov qword [rbp + 0x50], rax
mov rsi, rax
test rax, rax
je 0x14002f9d2
and qword [rsi + 0x18], 0
lea rax, [0x14014ca20]
and qword [rsi + 0x10], 0
mov qword [rsi], rax
mov byte [rsi + 8], 1
jmp 0x14002f9d4
xor esi, esi
mov rdx, qword [rdi + 0x248]
mov rcx, rsi
call fcn.14002b31c
mov ebx, eax
test eax, eax
js 0x14002fab9
lea rbx, [rdi + 0x308]
mov r15, qword [rbx + 8]
cmp r15, qword [rbx + 0x10]
jb 0x14002fa19
lea rdx, [r15 + 1]
mov rcx, rbx
call fcn.1400109ec
test al, al
jne 0x14002fa19
mov ecx, 0x8007000e
call fcn.140008e64
int3
mov rax, qword [rbx]
mov qword [rax + r15*8], rsi
lea rsi, [0x140173048]
inc qword [rbx + 8]
lea r15, [0x1401529e0]
mov rcx, qword [rdi + 0x50]
movups xmm0, xmmword [0x14014fdf0]
mov rax, qword [rcx]
movdqu xmmword [rbp - 0x10], xmm0
movabs r10, 0xb5882f4034dc3270
mov rax, qword [rax + 0xb0]
lea rdx, [rbp + 0x48]
mov qword [rsp + 0x38], rdx
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x30], rdx
mov rdx, r12
mov byte [rsp + 0x28], 0
or qword [rsp + 0x20], 0xffffffffffffffff
call qword [vtable.H_MA8HI.0]
mov ebx, eax
test eax, eax
jns 0x14002fb61
mov rcx, qword [0x140173048]
cmp rcx, rsi
je 0x14002fac0
test byte [rcx + 0x1c], 1
je 0x14002fac0
cmp byte [rcx + 0x19], 2
jb 0x14002fac0
mov rcx, qword [rcx + 0x10]
mov edx, 0x192
mov r9d, eax
mov r8, r15
call fcn.14000c354
mov rcx, qword [0x140173048]
test r14, r14
je 0x14002fadb
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x140173048]
lea rsi, [0x140173048]
cmp qword [rbp + 0x48], 0
je 0x14002fafd
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x48]
call fcn.1401417c8
mov rcx, qword [0x140173048]
test ebx, ebx
jns 0x14002fb2d
cmp rcx, rsi
je 0x14002fb4f
test byte [rcx + 0x1c], 1
je 0x14002fb2d
cmp byte [rcx + 0x19], 2
jb 0x14002fb2d
mov rcx, qword [rcx + 0x10]
mov edx, 0x194
mov r9d, ebx
mov r8, r15
call fcn.14000c47c
mov rcx, qword [0x140173048]
cmp rcx, rsi
je 0x14002fb4f
test byte [rcx + 0x1c], 1
je 0x14002fb4f
cmp byte [rcx + 0x19], 4
jb 0x14002fb4f
mov rcx, qword [rcx + 0x10]
mov edx, 0x195
mov r8, r15
call fcn.14000c328
mov eax, ebx
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rbp + 0x48]
lea r8, [rdi + 0x28]
mov r9d, dword [rbp + 0x40]
mov rdx, qword [rdi + 0x330]
mov rcx, qword [rdi + 0x158]
mov qword [rsp + 0x20], rax
call fcn.14008c398
mov ebx, eax
test eax, eax
jns 0x14002fab9
mov rcx, qword [0x140173048]
cmp rcx, rsi
je 0x14002fbc2
test byte [rcx + 0x1c], 1
je 0x14002fbc2
cmp byte [rcx + 0x19], 3
jb 0x14002fbc2
mov rcx, qword [rcx + 0x10]
mov edx, 0x193
mov r9d, eax
mov r8, r15
call fcn.14000c354
mov rcx, qword [0x140173048]
xor ebx, ebx
jmp 0x14002fac0