Function at 0x14003e2ec
Capabilities:
Delete file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x88
mov rbx, rcx
xor r13d, r13d
mov r12d, r13d
mov qword [rbp + 0x7f], r13
mov esi, r13d
mov qword [rbp + 0x67], r13
mov r14d, r13d
mov qword [rbp - 0x39], r13
mov qword [rbp + 0x6f], r13
mov qword [rbp + 0x77], r13
mov qword [rbp - 0x31], r13
mov qword [rbp - 0x29], r13
mov qword [rbp - 0x21], r13
mov dword [rbp - 0x19], r13d
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], r13
mov qword [rbp - 1], r13
mov dword [rbp + 7], r13d
cmp qword [rcx + 0x1d8], r13
jne 0x14003e369
lea r8, str.m_wszBackupSetDirectory
mov edx, 0x1dfb
lea rcx, str.base_stor_blbengine_service_backup.cpp
call fcn.140088f60
lea r15, [0x14016a048]
test byte [rbx + 0x154], 4
je 0x14003e46f
lea r9, [rbp + 0x7f]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbx + 0x1d8]
call fcn.14010be3c
mov edi, eax
mov r12, qword [rbp + 0x7f]
test eax, eax
js 0x14003e68a
lea rdx, [rbp + 0x67]
mov rcx, r12
call fcn.1400fae0c
mov edi, eax
test eax, eax
jns 0x14003e3fb
mov rcx, qword [0x14016a048]
cmp rcx, r15
je 0x14003e3f2
test byte [rcx + 0x1c], 1
je 0x14003e3f2
cmp byte [rcx + 0x19], 2
jb 0x14003e3f2
mov edx, 0x16a
mov dword [rsp + 0x28], eax
mov rax, qword [rbx + 0x1d8]
mov qword [rsp + 0x20], rax
mov r9, r12
lea r8, [0x14014a790]
mov rcx, qword [rcx + 0x10]
call fcn.14003fe44
mov rsi, qword [rbp + 0x67]
jmp 0x14003e662
mov rsi, qword [rbp + 0x67]
test rsi, rsi
je 0x14003e46f
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
test eax, eax
jne 0x14003e46f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
mov rcx, qword [0x14016a048]
cmp rcx, r15
je 0x14003e459
test byte [rcx + 0x1c], 1
je 0x14003e459
cmp byte [rcx + 0x19], 2
jb 0x14003e459
mov edx, 0x16b
mov dword [rsp + 0x20], eax
mov r9, rsi
lea r8, [0x14014a790]
mov rcx, qword [rcx + 0x10]
call fcn.14003fbc0
test edi, edi
jle 0x14003e662
movzx edi, di
or edi, 0x80070000
jmp 0x14003e662
lea r15, [rbx + 0x128]
lea r9, [rbp - 0x39]
xor r8d, r8d
mov rdx, r15
mov rcx, qword [rbx + 0x1d8]
call fcn.14010be3c
mov edi, eax
mov r14, qword [rbp - 0x39]
test eax, eax
js 0x14003e65b
test byte [rbx + 0x154], 1
je 0x14003e4b4
xor r8d, r8d
lea rdx, [rbp + 0x6f]
mov rcx, r14
call fcn.14008a470
jmp 0x14003e4ca
lea r9, [rbp + 0x6f]
mov r8b, 1
mov rdx, r15
mov rcx, qword [rbx + 0x1d8]
call fcn.14010be3c
test eax, eax
mov edi, eax
js 0x14003e63d
mov rcx, qword [rbx + 0x1c8]
test rcx, rcx
je 0x14003e4f3
lea rdx, [rbp - 0x31]
call fcn.140124550
mov edi, eax
test eax, eax
js 0x14003e63d
lea rcx, [rbx + 0x3e8]
lea rdx, [rbp - 0x11]
call fcn.1400fd90c
mov edi, eax
test eax, eax
jns 0x14003e551
mov rcx, qword [0x14016a048]
lea r15, [0x14016a048]
cmp rcx, r15
je 0x14003e644
test byte [rcx + 0x1c], 1
je 0x14003e644
cmp byte [rcx + 0x19], 2
jb 0x14003e644
mov edx, 0x16c
mov r9d, eax
lea r8, [0x14014a790]
mov rcx, qword [rcx + 0x10]
call fcn.14000c114
jmp 0x14003e644
lea r8, [rbp + 0x77]
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x31]
call fcn.14013546c
mov edi, eax
test eax, eax
js 0x14003e63d
mov r9, qword [rbp + 0x77]
mov r8d, dword [rbx + 0x150]
mov rdx, qword [rbp + 0x6f]
mov rcx, r14
call fcn.1400fc574
mov edi, eax
test eax, eax
js 0x14003e63d
test byte [rbx + 0x154], 0x80
je 0x14003e63d
cmp byte [rbx + 0x114], r13b
je 0x14003e63d
mov ecx, 0x40
call fcn.140006d9c
mov qword [rbp + 0x67], rax
test rax, rax
je 0x14003e5c7
mov rcx, rax
call fcn.1400155ac
mov r15, rax
jmp 0x14003e5ca
mov r15, r13
mov rdx, r14
mov rcx, r15
call fcn.14002b020
mov edi, eax
test eax, eax
js 0x14003e63d
mov rdx, qword [rbp + 0x77]
or r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], r13w
jne 0x14003e5e3
lea r8, [r8*2 + 2]
mov rcx, r15
call fcn.140037ca0
mov edi, eax
test eax, eax
js 0x14003e63d
add rbx, 0x308
mov r13, qword [rbx + 8]
cmp r13, qword [rbx + 0x10]
jb 0x14003e62f
lea rdx, [r13 + 1]
mov rcx, rbx
call fcn.1400107ac
test al, al
jne 0x14003e62f
mov ecx, 0x8007000e
call fcn.140008c24
int3
mov rax, qword [rbx]
mov qword [rax + r13*8], r15
inc qword [rbx + 8]
xor r13d, r13d
lea r15, [0x14016a048]
mov rcx, qword [rbp + 0x6f]
test rcx, rcx
je 0x14003e662
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
jmp 0x14003e662
lea r15, [0x14016a048]
test rsi, rsi
je 0x14003e676
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
test r14, r14
je 0x14003e68a
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
test r12, r12
je 0x14003e69e
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
lea rcx, [rbp - 0x11]
call fcn.14012c9e0
mov esi, r13d
cmp qword [rbp - 0x29], r13
jbe 0x14003e6de
mov rax, r13
mov rdx, rax
lea rcx, [rbp - 0x31]
call fcn.1400160e8
mov rbx, rax
mov rcx, qword [rax]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop dword [rax + rax]
mov qword [rbx], r13
inc esi
mov eax, esi
cmp rax, qword [rbp - 0x29]
jb 0x14003e6b3
xor edx, edx
lea rcx, [rbp - 0x31]
call fcn.140037de4
nop
test edi, edi
jns 0x14003e71f
mov rcx, qword [0x14016a048]
cmp rcx, r15
je 0x14003e71f
test byte [rcx + 0x1c], 1
je 0x14003e71f
cmp byte [rcx + 0x19], 2
jb 0x14003e71f
mov edx, 0x16d
mov r9d, edi
lea r8, [0x14014a790]
mov rcx, qword [rcx + 0x10]
call fcn.14000c23c
nop
lea rcx, [rbp - 0x11]
call fcn.140006be4
nop
lea rcx, [rbp - 0x31]
call fcn.14001580c
nop
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop dword [rax + rax]
mov eax, edi
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret