Function at 0x14002e8d0
Capabilities:
Delete file

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x298]
sub rsp, 0x398
xor edi, edi
cmp dword [rbp + 0x320], 2
mov rbx, rcx
mov eax, 0x20
mov ecx, 0x18
mov r14d, edi
cmove eax, ecx
mov qword [rsp + 0x68], rdi
mov r12d, edi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x78], rdi
test rbx, rbx
je 0x14002e959
lea rdx, [0x140097ccc]
mov rcx, rbx
call sub.msvcrt.dll__wfopen
mov r14, rax
mov qword [rsp + 0x68], rax
jmp 0x14002e989
mov rcx, qword [0x140196abc]
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
imul eax, r8d
imul eax, r9d
add eax, 0x8000
movsxd r8, eax
call qword [sym.imp.KERNEL32.DLL_HeapAlloc]
mov r12, rax
mov qword [rsp + 0x60], rax
test r14, r14
jne 0x14002e997
test r12, r12
je 0x14002ed3b
lea rcx, str.1.6.19
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.14005ce20
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14002ecdf
lea rdx, [sub.msvcrt.dll_longjmp]
mov r8d, 0x100
mov rcx, rax
call fcn.140056490
mov rdx, rsp
mov rcx, rax
call sub.msvcrt.dll__setjmp
test eax, eax
je 0x14002ea2f
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.14005cf00
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14002e9fb
call fcn.1400428cc
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14002ea1e
call sub.msvcrt.dll_fclose
mov rcx, qword [rbp + 0x2e0]
call qword [sym.imp.KERNEL32.DLL_DeleteFileW]
xor eax, eax
jmp 0x14002ed3e
mov rcx, qword [rsp + 0x60]
call fcn.140046eb0
xor eax, eax
jmp 0x14002ed3e
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
test r14, r14
je 0x14002ea4d
mov rdx, r14
call fcn.140050a90
jmp 0x14002ea59
lea rdx, [rbp - 0x80]
mov r8, r12
call fcn.14002edb0
mov rcx, qword [rsp + 0x50]
call fcn.14004f6a0
mov rcx, qword [rsp + 0x50]
xor edx, edx
lea r8d, [rdx + 8]
mov qword [rsp + 0x58], rax
call fcn.14005dc10
mov rcx, qword [rsp + 0x50]
mov edx, 9
call fcn.14005db60
mov r13d, dword [rbp + 0x318]
lea eax, [r13 - 1]
cmp eax, 7
ja 0x14002ebed
mov r15d, dword [rbp + 0x2f8]
mov r9d, dword [rsp + 0x70]
mov edx, dword [rbp + 0x2f0]
mov ecx, r13d
mov eax, 1
mov r8d, r15d
shl eax, cl
mov rcx, qword [rbp + 0x2e8]
mov dword [rsp + 0x74], eax
mov eax, dword [rbp + 0x310]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x300]
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
call fcn.1400426b0
mov r8d, dword [rbp + 0x2f0]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov r9d, r15d
mov dword [rsp + 0x28], 3
mov rsi, rax
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x20], r13d
call fcn.14005f690
movsxd r9, dword [rsp + 0x74]
mov r8, r9
test r9d, r9d
jle 0x14002eb62
lea rcx, [rbp - 0x6f]
lea rdx, [rsi + 0x59]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + 1]
lea rcx, [rcx + 3]
lea rdx, [rdx + 4]
mov byte [rcx - 4], al
movzx eax, byte [rdx - 4]
mov byte [rcx - 3], al
movzx eax, byte [rdx - 5]
mov byte [rcx - 2], al
dec r8
jne 0x14002eb40
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
lea r8, [rbp - 0x70]
call fcn.14005f780
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.14005e8b0
test byte [rbp + 0x308], 2
je 0x14002ebbd
lea ebx, [r15 - 1]
test ebx, ebx
js 0x14002ebe0
mov edx, ebx
mov rcx, rsi
call fcn.14004292c
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.14005eef0
dec ebx
jns 0x14002eb95
mov rcx, rsi
call fcn.1400428cc
jmp 0x14002ecb5
test r15d, r15d
jle 0x14002ebe0
mov edx, edi
mov rcx, rsi
call fcn.14004292c
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.14005eef0
inc edi
cmp edi, r15d
jl 0x14002ebc2
mov rcx, rsi
call fcn.1400428cc
jmp 0x14002ecb5
mov eax, dword [rbp + 0x320]
mov r8d, dword [rbp + 0x2f0]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov edi, dword [rbp + 0x2f8]
mov dword [rsp + 0x28], eax
mov r9d, edi
mov dword [rsp + 0x20], 8
call fcn.14005f690
mov rcx, qword [rsp + 0x50]
call fcn.14005cc30
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.14005e8b0
test byte [rbp + 0x308], 2
je 0x14002ec87
movsxd rcx, dword [rbp + 0x300]
lea eax, [rdi - 1]
imul eax, ecx
movsxd rbx, eax
add rbx, qword [rbp + 0x2e8]
test edi, edi
jle 0x14002ecb5
mov rsi, rcx
nop word [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.14005eef0
sub rbx, rsi
dec rdi
jne 0x14002ec70
jmp 0x14002ecb5
mov rbx, qword [rbp + 0x2e8]
test edi, edi
jle 0x14002ecb5
movsxd rsi, dword [rbp + 0x300]
nop dword [rax]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.14005eef0
add rbx, rsi
dec rdi
jne 0x14002eca0
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.14005dfa0
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.14005cf00
mov rbx, qword [rbp + 0x2e0]
mov edi, 1
test r14, r14
je 0x14002ecfc
mov rcx, r14
call sub.msvcrt.dll_fclose
test rdi, rdi
jne 0x14002ed3b
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_DeleteFileW]
jmp 0x14002ed3b
test rdi, rdi
je 0x14002ed29
mov rcx, qword [rbp - 0x78]
mov edx, 1
call fcn.140046c60
mov rbx, rax
test rax, rax
je 0x14002ed29
mov r8, qword [rbp - 0x78]
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdi, rbx
mov rcx, qword [0x140196abc]
mov r8, r12
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rax, rdi
add rsp, 0x398
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret