Function at 0x1401518b0
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov rax, qword [0x1402fa010]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov r13, r9
mov qword [rbp - 0x68], r9
mov r14d, r8d
mov esi, edx
mov r15, rcx
mov qword [rsp + 0x58], rcx
mov qword [rbp - 0x20], r9
mov rax, qword [rbp + 0x280]
mov qword [rsp + 0x60], rax
mov qword [rbp - 0x18], rax
xor ebx, ebx
mov qword [rbp - 0x10], rbx
lea rdx, [rbp - 0x10]
call fcn.14014f620
nop
mov dword [rsp + 0x50], ebx
lea rcx, [rbp + 0xd0]
call fcn.14010fed0
nop
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
lea ecx, [rbx + 0x18]
call fcn.1401f4268
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp], rax
call fcn.1400ef2a0
mov rax, qword [rax + 0x90]
test rax, rax
je 0x14015196c
mov ecx, 0x20230308
call qword [case.0x140038716.0]
mov r12, rax
jmp 0x14015196f
mov r12, rbx
call fcn.1400ef2a0
mov rax, qword [rax + 8]
mov qword [rbp - 0x80], rax
mov rcx, r12
call fcn.14013bdb0
mov rbx, qword [r12]
call fcn.1400ef2a0
mov rdx, qword [rax + 8]
mov rcx, r12
mov rax, qword [rbx + 0x70]
call qword [case.0x140038716.0]
mov rdi, 0xffffffffffffffff
test eax, eax
jne 0x140151a77
mov esi, 1
mov dword [rsp + 0x50], esi
lea rax, [rsp + 0x58]
mov qword [rbp - 0x78], rax
call fcn.140044940
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_EDIT_NOT_SUPPORTED_ARCHIVE
call fcn.140048080
mov rbx, rax
call fcn.1400195b0
mov rcx, rax
test rax, rax
je 0x140152400
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140018bd0
test al, al
jne 0x140151a3b
test rbx, rbx
jne 0x140151a1f
xor r8d, r8d
jmp 0x140151a2d
mov r8, rdi
inc r8
cmp word [rbx + r8*2], 0
jne 0x140151a22
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140018f70
nop
call fcn.1401285c0
lea rcx, [0x1402620b8]
lea r9, [0x1402620c0]
cmp dword [rax + 0x88], 0
cmovne r9, rcx
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x58]
mov rdx, qword [r15 + 8]
mov rcx, r15
call fcn.140159eb0
jmp 0x140152122
cmp esi, edi
je 0x140151b19
mov rax, qword [r12]
mov r8, qword [rsp + 0x60]
mov r8, qword [r8]
mov edx, esi
mov rcx, r12
mov rax, qword [rax + 0x78]
call qword [case.0x140038716.0]
test eax, eax
jne 0x140151f3e
mov esi, 1
mov dword [rsp + 0x50], esi
lea rax, [rsp + 0x58]
mov qword [rbp - 0x78], rax
call fcn.140044940
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_CANT_CHANGE_FILENAME
call fcn.140048080
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140019100
mov rbx, rax
call fcn.1401285c0
lea rcx, [0x1402620b8]
lea r9, [0x1402620c0]
cmp dword [rax + 0x88], 0
cmovne r9, rcx
mov dword [rsp + 0x20], 0
mov r8, rbx
mov rdx, qword [r15 + 8]
mov rcx, r15
call fcn.140159eb0
jmp 0x140152122
test r14d, r14d
je 0x140151bc9
mov rax, qword [r12]
mov qword [rsp + 0x28], rdi
xor r14d, r14d
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov rsi, qword [rsp + 0x60]
mov r8, qword [rsi]
xor edx, edx
mov rcx, r12
mov rax, qword [rax + 0x30]
call qword [case.0x140038716.0]
test eax, eax
jne 0x140151f3e
mov esi, 1
mov dword [rsp + 0x50], esi
lea rax, [rsp + 0x58]
mov qword [rbp - 0x78], rax
call fcn.140044940
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_CANT_CREATE_FOLDER
call fcn.140048080
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140019100
mov rbx, rax
call fcn.1401285c0
lea rcx, [0x1402620b8]
lea r9, [0x1402620c0]
cmp dword [rax + 0x88], r14d
cmovne r9, rcx
mov dword [rsp + 0x20], r14d
mov r8, rbx
mov rdx, qword [r15 + 8]
mov rcx, r15
call fcn.140159eb0
jmp 0x140152122
mov r8d, 1
lea rdx, [rbp - 0x38]
mov rcx, r13
call fcn.14001da50
nop
mov rcx, qword [rax]
movzx ebx, word [rcx]
sub ebx, 0x5c
jne 0x140151bf6
movzx ebx, word [rcx + 2]
xor r15d, r15d
movzx eax, r15w
sub ebx, eax
jmp 0x140151bf9
xor r15d, r15d
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140151c1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
lea r14, [0x1402624f4]
test ebx, ebx
je 0x140151c46
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp word [r14 + r8*2], 0
jne 0x140151c30
mov rdx, r14
mov rcx, r13
call fcn.14001dda0
mov r8d, 1
lea rdx, [rbp - 0x30]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.14001da50
nop
mov rcx, qword [rax]
movzx ebx, word [rcx]
sub ebx, 0x5c
jne 0x140151c73
movzx ebx, word [rcx + 2]
movzx eax, r15w
sub ebx, eax
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140151c97
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
test ebx, ebx
je 0x140151cb6
mov r8, rdi
nop
inc r8
cmp word [r14 + r8*2], 0
jne 0x140151ca0
mov rdx, r14
mov rcx, rsi
call fcn.14001dda0
mov rax, qword [r13]
mov ebx, dword [rax - 0x10]
mov dword [rsp + 0x68], ebx
call fcn.1400ef2a0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x68]
call qword [case.0x140038716.0]
test eax, eax
jle 0x140151f39
lea r13, [0x1402620c0]
call fcn.1400ef2a0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov edx, r15d
mov rax, qword [rax + 0x70]
call qword [case.0x140038716.0]
mov r14, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x140151f04
movsxd rsi, ebx
mov r8, rsi
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
call fcn.140214c00
test eax, eax
jne 0x140151f04
xor eax, eax
mov qword [rbp - 8], rax
call fcn.1400195b0
mov rcx, rax
test rax, rax
je 0x140152416
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038716.0]
lea rbx, [rax + 0x18]
mov qword [rbp - 8], rbx
mov rax, qword [r14]
lea r8, [rax + rsi*2]
mov rdx, qword [rsp + 0x60]
lea rcx, [rbp - 0x28]
call fcn.1400179d0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140151dca
cmp dword [rbx + 0x10], 0
jl 0x140151dbc
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140151dbc
call fcn.1400191a0
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x140151db2
mov r8, qword [rbx]
mov rcx, qword [r8]
mov rax, qword [rcx + 8]
mov rdx, rbx
mov rcx, r8
call qword [case.0x140038716.0]
lea rax, [rsi + 0x18]
mov qword [rbp - 8], rax
jmp 0x140151dca
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 8]
call fcn.140018f70
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140151dee
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
mov rax, qword [r12]
mov rbx, qword [rbp - 8]
mov r8, rbx
mov edx, r15d
mov rcx, r12
mov rax, qword [rax + 0x78]
call qword [case.0x140038716.0]
test eax, eax
jne 0x140151ee0
mov dword [rsp + 0x50], 1
lea rax, [rsp + 0x70]
mov qword [rbp - 0x70], rax
call fcn.140044940
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_CANT_CHANGE_FILENAME
call fcn.140048080
mov rsi, rax
call fcn.1400195b0
mov rdx, rax
test rax, rax
je 0x14015240b
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140018bd0
test al, al
jne 0x140151ea9
test rsi, rsi
jne 0x140151e87
xor eax, eax
mov r8d, eax
jmp 0x140151e9b
mov r8, rdi
nop word [rax + rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x140151e90
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140018f70
nop
call fcn.1401285c0
mov r9, r13
cmp dword [rax + 0x88], 0
lea rax, [0x1402620b8]
cmovne r9, rax
xor eax, eax
mov dword [rsp + 0x20], eax
lea r8, [rsp + 0x70]
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 8]
mov rcx, rax
call fcn.140159eb0
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140151f00
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
mov ebx, dword [rsp + 0x68]
inc r15d
call fcn.1400ef2a0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x68]
call qword [case.0x140038716.0]
cmp r15d, eax
jl 0x140151ce6
mov esi, dword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
test esi, esi
jne 0x140152122
jmp 0x140151f3e
mov r15, qword [rsp + 0x58]
movdqa xmm0, xmmword [0x1402ae730]
movdqa xmmword [rbp + 0x10], xmm0
mov dword [rbp + 0x20], 8
mov dword [rbp + 0x24], 1
mov dword [rbp + 0x28], edi
xor eax, eax
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], 1
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x58], 1
mov dword [rbp + 0x50], eax
mov dword [rbp + 0x54], 1
movdqa xmm0, xmmword [0x1402ae750]
movdqa xmmword [rbp + 0x60], xmm0
mov dword [rbp + 0x70], eax
mov qword [rbp + 0x74], 1
mov qword [rbp + 0x80], rdi
mov dword [rbp + 0x88], edi
mov dword [rbp + 0x8c], eax
mov dword [rbp + 0x90], 1
mov qword [rbp + 0x94], 1
mov qword [rbp + 0xa0], rax
mov dword [rbp + 0x9c], eax
mov qword [rbp + 0xa8], rax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
mov dword [rbp + 0xc0], eax
call fcn.140163500
mov rcx, rax
lea rdx, [rbp + 0x10]
call fcn.14016cd60
mov rax, qword [r12]
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov rcx, r12
mov rax, qword [rax + 0x20]
call qword [case.0x140038716.0]
mov dword [rbp + 0xd0], InitCommonControls
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.14013a330
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x1e0]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14015209b
cmp dword [rbx + 0x10], 0
jl 0x14015208a
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14015208a
call fcn.1400191a0
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14015207d
mov r8, qword [rbx]
mov rcx, qword [r8]
mov rax, qword [rcx + 8]
mov rdx, rbx
mov rcx, r8
call qword [case.0x140038716.0]
lea rax, [rsi + 0x18]
mov qword [rbp + 0x1e0], rax
jmp 0x14015209b
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x1e0]
call fcn.140018f70
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1401520bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x70], rax
mov rcx, qword [rbp - 0x10]
add rcx, 0xffffffffffffffe8
call fcn.1400191a0
add rax, 0x18
mov qword [rbp - 0x50], rax
lea rax, [rbp]
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x80]
mov r8, r12
mov rdx, qword [r15 + 8]
mov rcx, r15
call fcn.14013be50
mov esi, dword [rsp + 0x50]
mov rax, qword [r12]
mov rcx, r12
mov rax, qword [rax]
call qword [case.0x140038716.0]
test esi, esi
je 0x140152286
mov rcx, qword [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [rbp - 0x60], edi
lea rax, [rbp - 0x58]
mov qword [rbp - 0x70], rax
call fcn.1400195b0
mov rcx, rax
test rax, rax
je 0x140152421
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x60], edi
lea rcx, [rbp - 0x58]
call fcn.140018ce0
nop
lea rax, [rbp - 0x48]
mov qword [rbp - 0x70], rax
mov rcx, qword [r15 + 0x1b8]
sub rcx, 0x18
call fcn.1400191a0
add rax, 0x18
mov qword [rbp - 0x48], rax
mov r9d, 1
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x48]
mov rcx, r15
call fcn.1401579a0
nop
lea rax, [rbp - 0x58]
mov qword [rsp + 0x68], rax
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1401521e7
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
nop
mov rdx, qword [rbp]
call fcn.1400d72a0
mov edx, 0x18
mov rcx, qword [rbp]
call fcn.1401f3fac
nop
lea rcx, [rbp + 0xd0]
call fcn.140110270
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140152231
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
nop
mov rax, qword [rbp - 0x68]
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140152259
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
nop
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14015227f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
xor eax, eax
jmp 0x1401523cb
lea rax, [rsp + 0x78]
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x68], rax
call fcn.1400195b0
mov rcx, rax
test rax, rax
je 0x1401523f5
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038716.0]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rbx, str.rename
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140018bd0
test al, al
jne 0x1401522f9
mov r8, rdi
nop word [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x1401522e0
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140018f70
nop
mov rcx, qword [rbp - 0x10]
add rcx, 0xffffffffffffffe8
call fcn.1400191a0
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xd0]
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.140154650
mov ebx, eax
mov rdx, qword [rbp]
call fcn.1400d72a0
mov edx, 0x18
mov rcx, qword [rbp]
call fcn.1401f3fac
nop
lea rcx, [rbp + 0xd0]
call fcn.140110270
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14015237b
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
nop
mov rax, qword [rbp - 0x68]
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1401523a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
nop
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1401523c9
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038716.0]
mov eax, ebx
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.1401f3bf0
mov rbx, qword [rsp + 0x370]
add rsp, 0x320
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140019320
int3
mov ecx, 0x80004005
call fcn.140019320
nop
mov ecx, 0x80004005
call fcn.140019320
nop
mov ecx, 0x80004005
call fcn.140019320
int3
mov ecx, 0x80004005
call fcn.140019320
int3