Function at 0x14001dbdc
Capabilities:
Delete file

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
mov qword [rbp + 7], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140178010]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rbx, rcx
xor edx, edx
mov edi, edx
mov esi, edx
mov qword [rbp - 0x11], rdx
mov r15d, edx
mov qword [rbp - 9], rdx
mov r12d, edx
mov qword [rbp - 1], rdx
mov r13d, edx
mov qword [rbp - 0x21], rdx
mov r14d, edx
mov qword [rbp - 0x19], rdx
mov rax, qword [rcx + 0x1c8]
test rax, rax
jne 0x14001dc8f
lea rax, [0x1401782b0]
mov rcx, qword [0x1401782b0]
cmp rcx, rax
je 0x14001e02a
test byte [rcx + 0x1c], 1
je 0x14001e02a
cmp byte [rcx + 0x19], 4
jb 0x14001e02a
mov edx, 0x167
lea r8, [0x140151a70]
mov rcx, qword [rcx + 0x10]
call fcn.140004c6c
jmp 0x14001e02a
mov ecx, edx
mov dword [rbp - 0x29], edx
cmp dword [rax + 8], edx
jbe 0x14001e02a
test r14, r14
je 0x14001dcb3
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbp - 0x19], 0
mov ecx, dword [rbp - 0x29]
lea r9, [rbp - 0x19]
lea r8, [rbp + 0x17]
mov edx, ecx
mov rcx, qword [rbx + 0x1c8]
call fcn.140128350
mov edi, eax
lea r14, [0x1401782b0]
xor edx, edx
test eax, eax
js 0x14001dfab
cmp qword [rbx + 0x1d8], rdx
jne 0x14001dcfd
lea r8, str.m_wszBackupSetDirectory
mov edx, 0x1d38
lea rcx, str.base_stor_blbengine_service_backup.cpp
call fcn.14008624c
test byte [rbx + 0x154], 4
je 0x14001dd85
test rsi, rsi
je 0x14001dd19
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbp - 0x11], 0
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0x17]
xor edx, edx
mov rcx, qword [rbx + 0x1d8]
call fcn.140110414
mov edi, eax
test eax, eax
js 0x14001dfab
test r15, r15
je 0x14001dd54
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbp - 9], 0
lea rdx, [rbp - 9]
mov rcx, qword [rbp - 0x11]
call fcn.1400fd654
mov edi, eax
mov r15, qword [rbp - 9]
test eax, eax
js 0x14001dfab
test r15, r15
je 0x14001dd85
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x14001df27
test r12, r12
je 0x14001dd98
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbp - 1], 0
lea rsi, [rbx + 0x128]
lea rax, [rbp - 1]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0x17]
mov rdx, rsi
mov rcx, qword [rbx + 0x1d8]
call fcn.140110414
mov edi, eax
test eax, eax
js 0x14001df9e
test r13, r13
je 0x14001dddb
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
and qword [rbp - 0x21], 0
mov r12, qword [rbp - 1]
test byte [rbx + 0x154], 1
je 0x14001ddf9
xor r8d, r8d
lea rdx, [rbp - 0x21]
mov rcx, r12
call fcn.14008704c
jmp 0x14001de18
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
mov r9b, 1
lea r8, [rbp + 0x17]
mov rdx, rsi
mov rcx, qword [rbx + 0x1d8]
call fcn.140110414
test eax, eax
mov edi, eax
mov r13, qword [rbp - 0x21]
js 0x14001dfab
mov r14, qword [rbp - 0x19]
mov r9, r14
mov r8d, dword [rbx + 0x150]
mov rdx, r13
mov rcx, r12
call fcn.1400fcd54
mov edi, eax
xor edx, edx
test eax, eax
js 0x14001dfa4
test byte [rbx + 0x154], 0x80
je 0x14001df06
cmp byte [rbx + 0x114], dl
je 0x14001df06
lea ecx, [rdx + 0x40]
call fcn.1401470a8
mov qword [rbp + 0xf], rax
test rax, rax
je 0x14001de82
mov rcx, rax
call fcn.14003babc
mov rsi, rax
jmp 0x14001de84
xor esi, esi
mov rdx, r12
mov rcx, rsi
call fcn.14001186c
mov edi, eax
xor edx, edx
test eax, eax
js 0x14001df7e
or r8, 0xffffffffffffffff
inc r8
cmp word [r14 + r8*2], dx
jne 0x14001de9f
lea r8, [r8*2 + 2]
mov rdx, r14
mov rcx, rsi
call fcn.140011b90
mov edi, eax
test eax, eax
js 0x14001df7e
lea r14, [rbx + 0x308]
mov r13, qword [r14 + 8]
cmp r13, qword [r14 + 0x10]
jb 0x14001deeb
lea rdx, [r13 + 1]
mov rcx, r14
call fcn.14000ff48
test al, al
je 0x14001df73
mov rax, qword [r14]
lea rcx, [rax + r13*8]
test rcx, rcx
je 0x14001defa
mov qword [rcx], rsi
inc qword [r14 + 8]
mov r14, qword [rbp - 0x19]
mov r13, qword [rbp - 0x21]
mov ecx, dword [rbp - 0x29]
inc ecx
mov dword [rbp - 0x29], ecx
mov rax, qword [rbx + 0x1c8]
cmp ecx, dword [rax + 8]
jae 0x14001dfa4
mov rsi, qword [rbp - 0x11]
jmp 0x14001dc9d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x1401782b0]
cmp rcx, r14
je 0x14001df63
test byte [rcx + 0x1c], 1
je 0x14001df63
cmp byte [rcx + 0x19], 2
jb 0x14001df63
mov edx, 0x168
mov dword [rsp + 0x20], eax
mov r9, r15
lea r8, [0x140151a70]
mov rcx, qword [rcx + 0x10]
call fcn.140005ce8
movzx edi, bx
or edi, 0x80070000
test ebx, ebx
cmovle edi, ebx
jmp 0x14001dfab
mov ecx, 0x8007000e
call fcn.140001b20
int3
test rsi, rsi
je 0x14001dfa4
mov rax, qword [rsi]
mov rbx, qword [rax]
mov rcx, rbx
call qword [0x14014cce0]
mov edx, 1
mov rcx, rsi
call rbx
jmp 0x14001dfa4
mov r12, qword [rbp - 1]
jmp 0x14001dfab
lea r14, [0x1401782b0]
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14001dfba
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r13, r13
je 0x14001dfc8
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r15, r15
je 0x14001dfd6
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rax, qword [rbp - 0x11]
test rax, rax
je 0x14001dfe8
mov rcx, rax
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r12, r12
je 0x14001dff6
mov rcx, r12
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test edi, edi
jns 0x14001e02a
mov rcx, qword [0x1401782b0]
cmp rcx, r14
je 0x14001e02a
test byte [rcx + 0x1c], 1
je 0x14001e02a
cmp byte [rcx + 0x19], 2
jb 0x14001e02a
mov edx, 0x169
mov r9d, edi
lea r8, [0x140151a70]
mov rcx, qword [rcx + 0x10]
call fcn.140004c90
mov eax, edi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1401474d0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret