Function at 0x100074524
Capabilities:
Delete file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x50
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rsi, rcx
lea r15, [0x100152eb8]
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x100074577
test byte [rcx + 0x1c], 1
je 0x100074577
cmp byte [rcx + 0x19], 5
jb 0x100074577
mov edx, 0xcb
mov r9d, dword [rsi + 8]
lea r8, [0x10001e430]
mov rcx, qword [rcx + 0x10]
call fcn.100036328
lea rcx, [0x100151100]
mov rax, qword [0x100151100]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x98], rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
mov edi, 0x104
sub eax, edi
or eax, ecx
jge 0x1000745c1
mov edx, edi
lea rcx, [rsp + 0x98]
call fcn.100036140
mov rbx, qword [rsp + 0x98]
mov edx, edi
mov rcx, rbx
call fcn.10006a774
or r13, 0xffffffffffffffff
xor r12d, r12d
cmp eax, r12d
jne 0x1000748b5
cmp rbx, r12
jne 0x1000745e5
mov ecx, r12d
jmp 0x1000745ff
xor eax, eax
mov rcx, r13
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp ecx, r12d
jl 0x1000748aa
cmp ecx, dword [rbx - 0xc]
jg 0x1000748aa
mov dword [rbx - 0x10], ecx
movsxd rax, ecx
mov word [rbx + rax*2], r12w
xor eax, eax
mov rcx, r13
lea rdx, [0x1000021e8]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x98]
call fcn.10003577c
lea r8, [0x1000217b8]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x30]
call fcn.100057780
nop
mov edi, r12d
mov eax, dword [rsi + 8]
cmp eax, r12d
jle 0x100074874
cmp edi, r12d
jl 0x10007485e
cmp edi, eax
jge 0x10007485e
movsxd rbp, edi
mov rax, qword [rsi]
lea r8, [rax + rbp*8]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x38]
call fcn.100076de8
nop
lea r8, [0x1000217d0]
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.100057780
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x1000746ca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r8d, r12d
cmp eax, r12d
jne 0x1000746e9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x100074723
test byte [rcx + 0x1c], 2
je 0x100074723
cmp byte [rcx + 0x19], 5
jb 0x100074723
mov edx, 0xcc
mov dword [rsp + 0x20], r8d
mov r9, qword [rsp + 0xa8]
lea r8, [0x10001e430]
mov rcx, qword [rcx + 0x10]
call fcn.10009b2f4
mov ebx, r12d
cmp edi, dword [rsi + 8]
jge 0x100074848
mov rax, qword [rsi]
lea r8, [rax + rbp*8]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.100076de8
nop
movsxd rcx, ebx
lea rdx, [rcx + rcx*4]
lea rcx, [0x10001e500]
lea r8, [rcx + rdx*2]
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.100057780
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x10007478b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r8d, r12d
cmp eax, r12d
jne 0x1000747aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x1000747e4
test byte [rcx + 0x1c], 2
je 0x1000747e4
cmp byte [rcx + 0x19], 5
jb 0x1000747e4
mov edx, 0xcd
mov dword [rsp + 0x20], r8d
mov r9, qword [rsp + 0xa0]
lea r8, [0x10001e430]
mov rcx, qword [rcx + 0x10]
call fcn.10009b2f4
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x100074809
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc ebx
cmp ebx, 6
jb 0x100074726
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x100074839
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc edi
mov eax, dword [rsi + 8]
cmp edi, eax
jl 0x100074662
jmp 0x100074874
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov ecx, 0xc000008c
call qword [sym.imp.KERNEL32.dll_RaiseException]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov ecx, 0xc000008c
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x1000748a0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x98]
jmp 0x1000748b5
mov rbx, qword [rsp + 0x98]
jmp 0x1000748b5
mov ecx, 0x80070057
call fcn.100036264
int3
mov rcx, qword [0x100152eb8]
cmp rcx, r15
je 0x1000748dd
test byte [rcx + 0x1c], 1
je 0x1000748dd
mov edx, 0xce
lea r8, [0x10001e430]
mov rcx, qword [rcx + 0x10]
call fcn.100034764
nop
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
cmp eax, r12d
jg 0x1000748fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
add rsp, 0x50
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret