Function at 0x14000dd50
Capabilities:
Delete file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x90], rbx
mov r14, rcx
call fcn.140021e08
mov rcx, rax
xor edx, edx
test rax, rax
setne dl
test edx, edx
jne 0x14000dd93
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov dword [rsp + 0xa0], r8d
or ecx, 0xffffffff
cmp dword [r14 + 0xeea8], r8d
jle 0x14000e033
mov r12d, 0x57
mov qword [rsp + 0xa8], r12
lea rax, [r14 + 0x768]
mov rdx, rax
mov qword [rsp + 0x20], rax
nop
nop
cmp dword [rdx + 4], 0
je 0x14000dfed
mov dword [rsp + 0x98], 0
xor r15d, r15d
cmp dword [rdx], r15d
jle 0x14000dfed
nop
nop
nop
nop
xor r13d, r13d
cmp dword [r14 + 0xeea8], r13d
jle 0x14000df2b
mov rbp, rax
cmp dword [rbp + 4], 0
jne 0x14000df13
lea rax, [r12 + r15]
mov rbx, qword [r14 + rax*8]
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rbx - 8], 0
jl 0x14000de59
cmp rax, qword [rbx - 0x18]
jne 0x14000de59
lea rdi, [rbx - 0x18]
lock add dword [rbx - 8], 1
jmp 0x14000de91
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rbx - 0x10]
call qword [rax]
mov rdi, rax
test rax, rax
je 0x14000e022
mov ecx, dword [rbx - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rbx - 0x10]
add ecx, 1
movsxd rdx, ecx
mov r8, rbx
lea rcx, [rax + 0x18]
mov r9, rdx
call fcn.14003cf60
lea rbx, [rdi + 0x18]
mov qword [rsp + 0x40], rbx
xor r12d, r12d
xor esi, esi
cmp dword [rbp], esi
jle 0x14000dee6
lea rdi, [rbp - 0x4b0]
nop
nop
test rbx, rbx
je 0x14000ded2
mov rcx, qword [rdi]
cmp dword [rcx - 0x10], r12d
jl 0x14000ded2
mov rdx, rbx
call fcn.14003cc10
test rax, rax
je 0x14000ded2
sub eax, dword [rdi]
cmp eax, 0xffffffff
jne 0x14000dee0
add esi, 1
add rdi, 8
cmp esi, dword [rbp]
jge 0x14000dee6
jmp 0x14000deb0
mov r12d, 1
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000df02
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
test r12d, r12d
jne 0x14000dfb1
mov r12, qword [rsp + 0xa8]
add r13d, 1
add rbp, 0x4b8
cmp r13d, dword [r14 + 0xeea8]
jl 0x14000de23
lea rsi, [r12 + r15]
mov rbx, qword [r14 + rsi*8]
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rbx - 8], 0
jl 0x14000df57
cmp rax, qword [rbx - 0x18]
jne 0x14000df57
lea rdi, [rbx - 0x18]
lock add dword [rbx - 8], 1
jmp 0x14000df8f
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rbx - 0x10]
call qword [rax]
mov rdi, rax
test rax, rax
je 0x14000e028
mov ecx, dword [rbx - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rbx - 0x10]
add ecx, 1
movsxd rdx, ecx
mov r8, rbx
lea rcx, [rax + 0x18]
mov r9, rdx
call fcn.14003cf60
lea rax, [rdi + 0x18]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x28]
mov rcx, r14
call fcn.140008a80
mov rcx, qword [r14 + rsi*8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x14000dfb9
mov r12, qword [rsp + 0xa8]
mov eax, dword [rsp + 0x98]
add eax, 1
mov dword [rsp + 0x98], eax
add r15, 1
mov rdx, qword [rsp + 0x20]
cmp eax, dword [rdx]
lea rax, [r14 + 0x768]
jl 0x14000de10
or ecx, 0xffffffff
mov r8d, dword [rsp + 0xa0]
add r8d, 1
mov dword [rsp + 0xa0], r8d
add rdx, 0x4b8
mov qword [rsp + 0x20], rdx
add r12, 0x97
mov qword [rsp + 0xa8], r12
cmp r8d, dword [r14 + 0xeea8]
jge 0x14000e02e
jmp 0x14000dde0
call fcn.140002210
int3
call fcn.140002210
int3
mov rax, qword [rsp + 0x30]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x14000e04c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret