Function at 0x14005e0f0
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x680]
sub rsp, 0x780
mov r14, r8
mov r15, rdx
mov r12, rcx
test rdx, rdx
je 0x14005e659
test r8, r8
je 0x14005e659
lea rbx, [0x1401b7738]
mov qword [rbp + 0x160], rbx
lea rax, [rbp + 0x178]
mov qword [rbp + 0x168], rax
xor r13d, r13d
mov dword [rbp + 0x170], r13d
mov dword [rbp + 0x174], 0x104
mov word [rbp + 0x178], r13w
mov edx, 0x104
mov rcx, r8
call fcn.14003c814
mov r8, rax
mov eax, dword [rbp + 0x174]
cmp r8d, eax
jb 0x14005e186
lea r8d, [rax - 1]
lea edx, [r8 + r8]
mov rax, qword [rbp + 0x168]
mov ecx, edx
shr rcx, 2
mov rdi, rax
mov rsi, r14
rep movsd dword [rdi], dword [rsi]
mov ecx, edx
and ecx, 3
je 0x14005e1b4
and rdx, 0xfffffffffffffffc
lea rsi, [rdx + r14]
lea rdi, [rdx + rax]
rep movsb byte [rdi], byte [rsi]
mov dword [rbp + 0x170], r8d
mov ecx, r8d
mov rax, qword [rbp + 0x168]
mov word [rax + rcx*2], r13w
lea rax, [0x1401b7690]
mov qword [rbp + 0x160], rax
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x54], 0x104
mov word [rsp + 0x58], r13w
mov edx, 0x104
mov rcx, r14
call fcn.14003c814
mov r8, rax
mov eax, dword [rsp + 0x54]
cmp r8d, eax
jb 0x14005e217
lea r8d, [rax - 1]
lea edx, [r8 + r8]
mov rax, qword [rsp + 0x48]
mov ecx, edx
shr rcx, 2
mov rdi, rax
mov rsi, r14
rep movsd dword [rdi], dword [rsi]
mov ecx, edx
and ecx, 3
je 0x14005e243
and rdx, 0xfffffffffffffffc
lea rsi, [rdx + r14]
lea rdi, [rdx + rax]
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x50], r8d
mov ecx, r8d
mov rax, qword [rsp + 0x48]
mov word [rax + rcx*2], r13w
lea rax, [0x1401b7690]
mov qword [rsp + 0x40], rax
mov rbx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x48]
mov edx, dword [rsp + 0x50]
test rdi, rdi
je 0x14005e29e
test edx, edx
je 0x14005e29e
lea edx, [rbx + 0x5d]
mov rcx, rdi
call fcn.140031060
mov r8, rax
mov rdi, qword [rsp + 0x48]
mov edx, dword [rsp + 0x50]
test rax, rax
je 0x14005e29e
sub r8, rdi
sar r8, 1
jmp 0x14005e2a1
mov r8d, ebx
mov rsi, qword [rbp + 0x168]
test rsi, rsi
je 0x14005e2fd
mov ecx, dword [rbp + 0x170]
lea eax, [rcx + 4]
cmp eax, dword [rbp + 0x174]
jae 0x14005e2fd
lea rdi, [rsi + rcx*2]
lea rsi, str..zip
mov ecx, 2
rep movsd dword [rdi], dword [rsi]
mov eax, dword [rbp + 0x170]
add eax, 4
mov dword [rbp + 0x170], eax
mov ecx, eax
mov rax, qword [rbp + 0x168]
mov word [rax + rcx*2], r13w
mov rsi, qword [rbp + 0x168]
mov edx, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
test r8d, r8d
js 0x14005e365
inc r8d
test edx, edx
je 0x14005e365
test r8d, r8d
je 0x14005e365
test rdi, rdi
je 0x14005e365
cmp r8d, edx
jbe 0x14005e31d
mov r8d, edx
jmp 0x14005e352
jae 0x14005e352
mov esi, r13d
je 0x14005e352
nop dword [rax]
nop dword [rax + rax]
lea eax, [rsi + r8]
mov ecx, esi
movzx eax, word [rdi + rax*2]
mov word [rdi + rcx*2], ax
inc esi
mov edx, dword [rsp + 0x50]
mov eax, edx
sub eax, r8d
mov rdi, qword [rsp + 0x48]
cmp esi, eax
jb 0x14005e330
sub edx, r8d
mov dword [rsp + 0x50], edx
mov word [rdi + rdx*2], r13w
mov rsi, qword [rbp + 0x168]
mov dword [rbp + 0x380], ebx
lea rax, [rbp + 0x3a0]
mov qword [rbp + 0x390], rax
mov dword [rbp + 0x398], r13d
mov dword [rbp + 0x39c], 0x100
mov word [rbp + 0x3a0], r13w
lea rax, [0x1401b7740]
mov qword [rbp + 0x388], rax
lea rax, [0x1401b76b0]
mov qword [rbp + 0x5a0], rax
mov qword [rbp + 0x5a8], rbx
xor edx, edx
mov r8d, 0xc8
lea rcx, [rbp + 0x5b0]
call fcn.14014e180
mov qword [rbp + 0x678], r13
test rsi, rsi
je 0x14005e52b
lea rcx, [rbp + 0x380]
call fcn.14006aeb0
mov rdx, rsi
lea rcx, [rbp + 0x388]
call fcn.140003290
cmp dword [rbp + 0x398], 0
jbe 0x14005e52b
mov rdi, qword [rbp + 0x390]
mov rax, qword [rbp + 0x5a8]
mov rcx, rax
mov rdx, rax
cmp rax, 0xffffffffffffffff
je 0x14005e431
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, rbx
mov qword [rbp + 0x5a8], rbx
mov rcx, rbx
mov rdx, rbx
test rdi, rdi
je 0x14005e46c
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbp + 0x5a8], rax
mov rcx, rax
mov rdx, rax
cmp rcx, 0xffffffffffffffff
je 0x14005e52b
cmp rdx, 0xffffffffffffffff
je 0x14005e4b3
mov qword [rbp + 0x6c8], r13
mov r9d, 2
lea r8, [rbp + 0x6cc]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x6c8], eax
cmp eax, 0xffffffff
jne 0x14005e4ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rax, qword [rbp + 0x5a8]
cmp rax, 0xffffffffffffffff
je 0x14005e4f4
mov qword [rbp + 0x6d8], r13
mov r9d, 1
lea r8, [rbp + 0x6dc]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x6d8], eax
cmp eax, 0xffffffff
jne 0x14005e4ed
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14005e4f4
mov rbx, qword [rbp + 0x6d8]
mov dword [rbp + 0x670], ebx
mov r8, qword [rsp + 0x48]
mov rdx, r14
lea rcx, [rbp + 0x380]
call fcn.14006aba0
lea rcx, [rbp + 0x380]
test al, al
jne 0x14005e57c
call fcn.14006aeb0
mov rcx, qword [rbp + 0x168]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rdi, r13
mov rcx, qword [rbp + 0x678]
test rcx, rcx
je 0x14005e546
call fcn.14002ec58
mov qword [rbp + 0x678], r13
lea rcx, [rbp + 0x380]
call fcn.14006aeb0
lea rax, [0x1401b76b0]
mov qword [rbp + 0x5a0], rax
mov rcx, qword [rbp + 0x5a8]
cmp rcx, 0xffffffffffffffff
je 0x14005e574
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rax, rdi
jmp 0x14005e65b
call fcn.14006aeb0
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14005e62c
mov edx, dword [rsp + 0x54]
mov rcx, r15
call fcn.14003c814
mov rdx, rax
mov eax, dword [rsp + 0x54]
cmp edx, eax
jb 0x14005e5a9
lea edx, [rax - 1]
lea r8d, [rdx + rdx]
mov rax, qword [rsp + 0x48]
mov ecx, r8d
shr rcx, 2
mov rdi, rax
mov rsi, r15
rep movsd dword [rdi], dword [rsi]
mov ecx, r8d
and ecx, 3
je 0x14005e5d7
and r8, 0xfffffffffffffffc
lea rsi, [r8 + r15]
lea rdi, [r8 + rax]
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x50], edx
mov ecx, edx
mov rax, qword [rsp + 0x48]
mov word [rax + rcx*2], r13w
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14005e62c
mov edi, dword [rsp + 0x50]
lea eax, [rdi + 4]
cmp eax, dword [rsp + 0x54]
jae 0x14005e62c
lea rdi, [rdx + rdi*2]
lea rsi, str..zip
mov ecx, 2
rep movsd dword [rdi], dword [rsi]
mov eax, dword [rsp + 0x50]
add eax, 4
mov dword [rsp + 0x50], eax
mov ecx, eax
mov rax, qword [rsp + 0x48]
mov word [rax + rcx*2], r13w
mov rdx, qword [rsp + 0x48]
mov rax, qword [r12]
lea r9, str.file
mov r8, qword [rbp + 0x168]
mov rcx, r12
call qword [rax + 0x58]
mov rdi, rax
mov rcx, qword [rbp + 0x168]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x14005e52e
xor eax, eax
mov rbx, qword [rsp + 0x7c0]
add rsp, 0x780
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret