Function at 0x14014c4d0
Capabilities:
Delete file
Set file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xdd8]
sub rsp, 0xed8
mov rax, qword [0x140300040]
xor rax, rsp
mov qword [rbp + 0xdc0], rax
mov r12d, r9d
mov dword [rbp], r9d
mov r14, r8
mov qword [rsp + 0x38], r8
mov r15d, edx
mov r13, rcx
mov rax, qword [rbp + 0xe40]
mov qword [rsp + 0x68], rax
xor esi, esi
mov dword [rsp + 0x30], esi
mov qword [rbp - 8], rsi
mov rbx, qword [r8]
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14014cec3
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rbp - 8], rax
mov rdx, rbx
lea rcx, [rbp - 8]
call fcn.140018bb0
lea rdi, [rsi - 1]
test al, al
jne 0x14014c58a
test rbx, rbx
jne 0x14014c56f
mov r8d, esi
jmp 0x14014c57d
mov r8, rdi
inc r8
cmp word [rbx + r8*2], 0
jne 0x14014c572
mov rdx, rbx
lea rcx, [rbp - 8]
call fcn.140018f50
nop
mov rbx, qword [rbp - 8]
cmp r12d, 1
ja 0x14014c5ce
lea rax, [rsp + 0x70]
mov qword [rsp + 0x60], rax
lea rcx, [rbx - 0x18]
call fcn.140019180
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call fcn.140123e50
test eax, eax
je 0x14014c5ce
mov r8, r14
mov rcx, r13
call fcn.14014d1d0
jmp 0x14014ce6c
mov qword [rbp + 8], rsi
xor edx, edx
lea rcx, [rbp + 8]
call fcn.1400d0d60
nop
mov qword [rbp - 0x18], rsi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x30]
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x58], rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14014cece
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, [0x140267514]
lea rcx, [rsp + 0x40]
call fcn.140018bb0
test al, al
jne 0x14014c65a
mov r8, rdi
lea rdx, [0x140267514]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14014c644
lea rcx, [rsp + 0x40]
call fcn.140018f50
nop
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.1400237b0
mov rbx, rax
mov rcx, qword [rbp + 8]
add rcx, 0xffffffffffffffe8
call fcn.140019180
add rax, 0x18
mov qword [rsp + 0x78], rax
lea r9, [rsp + 0x40]
mov r8, rbx
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x18]
call fcn.140025320
nop
mov rbx, qword [rbp - 0x18]
mov edx, 0x80
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x78]
call fcn.1400230a0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14014c725
cmp dword [rbx + 0x10], 0
jl 0x14014c717
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14014c717
call fcn.140019180
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14014c708
mov rcx, qword [rbx]
mov rdx, qword [rcx]
mov rax, qword [rdx + 8]
mov rdx, rbx
call qword [case.0x140038ca6.0]
lea rax, [r14 + 0x18]
mov qword [rbp - 0x18], rax
mov r14, qword [rsp + 0x38]
jmp 0x14014c725
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x18]
call fcn.140018f50
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014c749
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov qword [rbp - 0x10], rsi
mov rcx, qword [rbp - 0x18]
add rcx, 0xffffffffffffffe8
call fcn.140019180
add rax, 0x18
mov qword [rbp - 0x10], rax
mov rbx, qword [r14 + 0x20]
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x90]
call qword [case.0x140038ca6.0]
test eax, eax
jne 0x14014c943
test rbx, rbx
js 0x14014c943
cmp rbx, 0x300000
jge 0x14014c943
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [r13 + 8]
lea rdx, vtable.CPassEvent.0
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rcx
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
lea rdx, [rbp + 0x10]
mov rax, qword [rax + 0x118]
call qword [case.0x140038ca6.0]
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0x200
lea r9, [rbp + 0x9c0]
mov r8, qword [rbp - 0x18]
mov edx, r15d
mov rax, qword [rax + 0xe0]
call qword [case.0x140038ca6.0]
test eax, eax
jne 0x14014c8fe
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
lea rdx, [rbp + 0x10]
mov rax, qword [rax + 0x118]
call qword [case.0x140038ca6.0]
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x120]
call qword [case.0x140038ca6.0]
mov ebx, eax
mov qword [rbp], rsi
lea rax, [rsp + 0x60]
mov qword [rbp - 0x70], rax
lea rdx, [0x140267540]
lea rcx, [rsp + 0x60]
call fcn.1400190e0
nop
mov r8, rax
mov edx, ebx
lea rcx, [rbp]
call fcn.140121020
nop
lea rax, [rsp + 0x68]
mov qword [rbp - 0x68], rax
lea r9, str.TEXT
mov r8, qword [rbp]
lea rdx, str.TEXT_MSG_EXTRACT_FAIL_WITH_ERRCODE
lea rcx, [rsp + 0x68]
call fcn.140044df0
mov rbx, rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r9, [0x1402670e0]
cmp dword [rax + 0x88], 0
cmovne r9, rcx
mov dword [rsp + 0x20], esi
mov r8, rbx
mov rdx, qword [r13 + 8]
mov rcx, r13
call fcn.14015ccf0
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014cdfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
jmp 0x14014cdfa
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
xor edx, edx
mov rax, qword [rax + 0x118]
call qword [case.0x140038ca6.0]
lea rax, [rbp + 0x9c0]
mov r8, rdi
inc r8
cmp word [rax + r8*2], 0
jne 0x14014c923
lea rdx, [rbp + 0x9c0]
lea rcx, [rbp - 0x10]
call fcn.140018f50
jmp 0x14014cd72
xor edx, edx
mov r8d, 0x848
lea rcx, [rbp + 0x170]
call fcn.14022eb00
lea rcx, [rbp + 0x170]
call fcn.140119a30
nop
lea rcx, [rbp + 0x30]
call fcn.140112850
nop
mov qword [rbp - 0x58], rsi
mov dword [rbp - 0x60], esi
mov dword [rbp - 0x40], esi
mov dword [rbp - 0x34], esi
mov dword [rbp + 0x30], 0x18
mov qword [rsp + 0x50], rsi
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14014cead
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x30], 1
mov ecx, 1
sub ecx, dword [rax + 0x10]
mov eax, dword [rax + 0xc]
sub eax, 0x20
mov r12d, 0x20
or eax, ecx
jge 0x14014c9e0
mov edx, r12d
lea rcx, [rsp + 0x50]
call fcn.140018ea0
mov rbx, qword [rsp + 0x50]
mov r9d, r15d
lea r8, str.idx:
lea rdx, str._ls_d
mov rcx, rbx
call qword [sym.imp.USER32.dll_wsprintfW]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1401fe5d0
test eax, eax
js 0x14014ceb8
cmp eax, dword [rbx - 0xc]
jg 0x14014ceb8
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], si
lea r14, [rbx - 0x18]
mov r15, qword [rbp + 0xa8]
add r15, 0xffffffffffffffe8
cmp r14, r15
je 0x14014ca8e
cmp dword [r15 + 0x10], 0
jl 0x14014ca7b
mov rax, qword [r15]
cmp qword [r14], rax
jne 0x14014ca7b
mov rcx, r14
call fcn.140019180
mov rbx, rax
mov ecx, edi
lock xadd dword [r15 + 0x10], ecx
sub ecx, 1
jg 0x14014ca6e
mov rcx, qword [r15]
mov r8, qword [rcx]
mov rdx, r15
mov rax, qword [r8 + 8]
call qword [case.0x140038ca6.0]
lea rax, [rbx + 0x18]
mov qword [rbp + 0xa8], rax
jmp 0x14014ca8e
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rbp + 0xa8]
call fcn.140018f50
mov eax, 1
and eax, 0xfffffffe
mov dword [rsp + 0x30], eax
mov eax, edi
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jg 0x14014caba
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov rdx, qword [rbp - 0x18]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0xb0]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14014cb24
cmp dword [rbx + 0x10], 0
jl 0x14014cb14
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14014cb14
call fcn.140019180
mov r14, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14014cb07
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
mov rax, qword [r8 + 8]
call qword [case.0x140038ca6.0]
lea rax, [r14 + 0x18]
mov qword [rbp + 0xb0], rax
jmp 0x14014cb24
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0xb0]
call fcn.140018f50
mov dword [rbp - 0x5c], 1
mov dword [rbp - 0x44], 1
mov qword [rbp - 0x4c], 1
mov dword [rbp - 0x50], 1
mov dword [rbp - 0x3c], 1
mov dword [rbp - 0x38], 1
lea rax, [rsp + 0x48]
mov qword [rbp - 0x68], rax
mov rcx, qword [r13 + 0x1b8]
sub rcx, 0x18
call fcn.140019180
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x48]
mov qword [rbp - 0x70], rax
xor r9d, r9d
mov r8, qword [rbp + 0x830]
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x828]
call fcn.140029e40
mov rcx, qword [rbp + 0x830]
test rcx, rcx
je 0x14014cba6
mov qword [rcx], rax
jmp 0x14014cbad
mov qword [rbp + 0x828], rax
mov qword [rbp + 0x830], rax
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014cbd9
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov qword [rbp + 0x7f8], r13
lea rax, [rbp + 0x30]
mov qword [rbp + 0x870], rax
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp + 0x878], xmm0
movups xmm1, xmmword [rbp - 0x50]
movups xmmword [rbp + 0x888], xmm1
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rbp + 0x898], xmm0
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x8a8]
call fcn.140017b80
mov qword [rbp + 0x8d8], rsi
mov qword [rbp + 0x8e0], rsi
mov qword [rbp + 0x8d0], rsi
call fcn.140166630
mov ecx, 0x40
cmp dword [rax + 0x6a0], 0
cmovne r12d, ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, r12d
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14014cc73
mov rdx, rax
lea rcx, [rbp + 0x170]
call fcn.140142be0
jmp 0x14014cc82
lea rdx, [rbp + 0x170]
mov rcx, r13
call fcn.140151ba0
cmp rax, 1
jne 0x14014cc91
cmp dword [rbp + 0x8d8], 0
je 0x14014cc96
mov esi, 1
mov rcx, qword [rbp + 0x8f0]
add rcx, 0xffffffffffffffe8
call fcn.140019180
mov rbx, rax
lea rdx, [rax + 0x18]
mov qword [rbp - 0x28], rdx
mov r14d, dword [rsp + 0x30]
or r14d, 2
mov dword [rsp + 0x30], r14d
mov r15, qword [rbp - 0x10]
add r15, 0xffffffffffffffe8
cmp rax, r15
je 0x14014cd22
cmp dword [r15 + 0x10], 0
jl 0x14014cd15
mov rax, qword [r15]
cmp qword [rbx], rax
jne 0x14014cd15
mov rcx, rbx
call fcn.140019180
mov r14, rax
mov ecx, edi
lock xadd dword [r15 + 0x10], ecx
sub ecx, 1
jg 0x14014cd06
mov rcx, qword [r15]
mov r8, qword [rcx]
mov rdx, r15
mov rax, qword [r8 + 8]
call qword [case.0x140038ca6.0]
lea rax, [r14 + 0x18]
mov qword [rbp - 0x10], rax
mov r14d, dword [rsp + 0x30]
jmp 0x14014cd22
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x10]
call fcn.140018f50
and r14d, 0xfffffffd
mov dword [rsp + 0x30], r14d
mov eax, edi
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x14014cd4b
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
lea rcx, [rbp + 0x30]
call fcn.140112bf0
nop
lea rcx, [rbp + 0x170]
call fcn.14011a010
test esi, esi
jne 0x14014cdef
mov r14, qword [rsp + 0x38]
mov r12d, dword [rbp]
lea rax, [rsp + 0x38]
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x80]
mov qword [rbp - 0x70], rax
lea rax, [rsp + 0x58]
mov qword [rbp - 0x20], rax
mov rcx, qword [rbp - 8]
add rcx, 0xffffffffffffffe8
call fcn.140019180
add rax, 0x18
mov qword [rsp + 0x38], rax
mov rcx, qword [rbp - 0x10]
add rcx, 0xffffffffffffffe8
call fcn.140019180
add rax, 0x18
mov qword [rbp - 0x80], rax
mov rcx, qword [rbp + 8]
add rcx, 0xffffffffffffffe8
call fcn.140019180
add rax, 0x18
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x38]
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x58]
mov rcx, r13
call fcn.14014cee0
jmp 0x14014cdfa
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014ce1f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014ce44
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14014ce68
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov rbx, qword [rbp - 8]
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14014ce8a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov rcx, qword [rbp + 0xdc0]
xor rcx, rsp
call fcn.1401f74b0
add rsp, 0xed8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140019300
int3
mov ecx, 0x80070057
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
int3