Function at 0x1401544f0
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 [0x140300040]
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.140152200
nop
mov dword [rsp + 0x50], ebx
lea rcx, [rbp + 0xd0]
call fcn.140112850
nop
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
lea ecx, [rbx + 0x18]
call fcn.1401f7b18
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp], rax
call fcn.1400f1ae0
mov rax, qword [rax + 0x88]
test rax, rax
je 0x1401545ac
mov ecx, 0x20240423
call qword [case.0x140038ca6.0]
mov r12, rax
jmp 0x1401545af
mov r12, rbx
call fcn.1400f1ae0
mov rax, qword [rax + 8]
mov qword [rbp - 0x80], rax
mov rcx, r12
call fcn.14013f510
mov rbx, qword [r12]
call fcn.1400f1ae0
mov rdx, qword [rax + 8]
mov rcx, r12
mov rax, qword [rbx + 0x70]
call qword [case.0x140038ca6.0]
mov rdi, 0xffffffffffffffff
test eax, eax
jne 0x1401546b7
mov esi, 1
mov dword [rsp + 0x50], esi
lea rax, [rsp + 0x58]
mov qword [rbp - 0x78], rax
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_EDIT_NOT_SUPPORTED_ARCHIVE
call fcn.140048480
mov rbx, rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x140155040
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140018bb0
test al, al
jne 0x14015467b
test rbx, rbx
jne 0x14015465f
xor r8d, r8d
jmp 0x14015466d
mov r8, rdi
inc r8
cmp word [rbx + r8*2], 0
jne 0x140154662
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140018f50
nop
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r9, [0x1402670e0]
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.14015ccf0
jmp 0x140154d63
cmp esi, edi
je 0x140154759
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.0x140038ca6.0]
test eax, eax
jne 0x140154b7e
mov esi, 1
mov dword [rsp + 0x50], esi
lea rax, [rsp + 0x58]
mov qword [rbp - 0x78], rax
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_CANT_CHANGE_FILENAME
call fcn.140048480
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1400190e0
mov rbx, rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r9, [0x1402670e0]
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.14015ccf0
jmp 0x140154d63
test r14d, r14d
je 0x140154809
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.0x140038ca6.0]
test eax, eax
jne 0x140154b7e
mov esi, 1
mov dword [rsp + 0x50], esi
lea rax, [rsp + 0x58]
mov qword [rbp - 0x78], rax
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_CANT_CREATE_FOLDER
call fcn.140048480
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1400190e0
mov rbx, rax
call fcn.14012bfe0
lea rcx, [0x1402670d8]
lea r9, [0x1402670e0]
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.14015ccf0
jmp 0x140154d63
mov r8d, 1
lea rdx, [rbp - 0x38]
mov rcx, r13
call fcn.14001dba0
nop
mov rcx, qword [rax]
movzx ebx, word [rcx]
sub ebx, 0x5c
jne 0x140154836
movzx ebx, word [rcx + 2]
xor r15d, r15d
movzx eax, r15w
sub ebx, eax
jmp 0x140154839
xor r15d, r15d
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14015485d
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
lea r14, [0x140267514]
test ebx, ebx
je 0x140154886
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp word [r14 + r8*2], 0
jne 0x140154870
mov rdx, r14
mov rcx, r13
call fcn.14001def0
mov r8d, 1
lea rdx, [rbp - 0x30]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.14001dba0
nop
mov rcx, qword [rax]
movzx ebx, word [rcx]
sub ebx, 0x5c
jne 0x1401548b3
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 0x1401548d7
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
test ebx, ebx
je 0x1401548f6
mov r8, rdi
nop
inc r8
cmp word [r14 + r8*2], 0
jne 0x1401548e0
mov rdx, r14
mov rcx, rsi
call fcn.14001def0
mov rax, qword [r13]
mov ebx, dword [rax - 0x10]
mov dword [rsp + 0x68], ebx
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x68]
call qword [case.0x140038ca6.0]
test eax, eax
jle 0x140154b79
lea r13, [0x1402670e0]
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov edx, r15d
mov rax, qword [rax + 0x70]
call qword [case.0x140038ca6.0]
mov r14, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x140154b44
movsxd rsi, ebx
mov r8, rsi
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
call fcn.140218af0
test eax, eax
jne 0x140154b44
xor eax, eax
mov qword [rbp - 8], rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x140155056
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.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.1400179b0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140154a0a
cmp dword [rbx + 0x10], 0
jl 0x1401549fc
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1401549fc
call fcn.140019180
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1401549f2
mov r8, qword [rbx]
mov rcx, qword [r8]
mov rax, qword [rcx + 8]
mov rdx, rbx
mov rcx, r8
call qword [case.0x140038ca6.0]
lea rax, [rsi + 0x18]
mov qword [rbp - 8], rax
jmp 0x140154a0a
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 8]
call fcn.140018f50
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140154a2e
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.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.0x140038ca6.0]
test eax, eax
jne 0x140154b20
mov dword [rsp + 0x50], 1
lea rax, [rsp + 0x70]
mov qword [rbp - 0x70], rax
call fcn.140044d30
mov rcx, rax
lea r8, str.TEXT
lea rdx, str.TEXT_ERR_CANT_CHANGE_FILENAME
call fcn.140048480
mov rsi, rax
call fcn.140019590
mov rdx, rax
test rax, rax
je 0x14015504b
mov rcx, qword [rax]
mov rax, qword [rcx + 0x18]
mov rcx, rdx
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140018bb0
test al, al
jne 0x140154ae9
test rsi, rsi
jne 0x140154ac7
xor eax, eax
mov r8d, eax
jmp 0x140154adb
mov r8, rdi
nop word [rax + rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x140154ad0
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140018f50
nop
call fcn.14012bfe0
mov r9, r13
cmp dword [rax + 0x88], 0
lea rax, [0x1402670d8]
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.14015ccf0
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140154b40
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov ebx, dword [rsp + 0x68]
inc r15d
call fcn.1400f1ae0
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x68]
call qword [case.0x140038ca6.0]
cmp r15d, eax
jl 0x140154926
mov esi, dword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
test esi, esi
jne 0x140154d63
jmp 0x140154b7e
mov r15, qword [rsp + 0x58]
movdqa xmm0, xmmword [0x1402b4410]
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 [0x1402b4430]
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 qword [rbp + 0xc0], rax
call fcn.140166630
mov rcx, rax
lea rdx, [rbp + 0x10]
call fcn.14016ff70
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.0x140038ca6.0]
mov dword [rbp + 0xd0], InitCommonControls
lea rdx, [rbp - 0x78]
mov rcx, r15
call fcn.14013da90
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp + 0x1e8]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140154cdc
cmp dword [rbx + 0x10], 0
jl 0x140154ccb
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140154ccb
call fcn.140019180
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x140154cbe
mov r8, qword [rbx]
mov rcx, qword [r8]
mov rax, qword [rcx + 8]
mov rdx, rbx
mov rcx, r8
call qword [case.0x140038ca6.0]
lea rax, [rsi + 0x18]
mov qword [rbp + 0x1e8], rax
jmp 0x140154cdc
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp + 0x1e8]
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 0x140154d00
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x70], rax
mov rcx, qword [rbp - 0x10]
add rcx, 0xffffffffffffffe8
call fcn.140019180
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.14013f5b0
mov esi, dword [rsp + 0x50]
mov rax, qword [r12]
mov rcx, r12
mov rax, qword [rax]
call qword [case.0x140038ca6.0]
test esi, esi
je 0x140154ec7
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.140019590
mov rcx, rax
test rax, rax
je 0x140155061
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x60], edi
lea rcx, [rbp - 0x58]
call fcn.140018cc0
nop
lea rax, [rbp - 0x48]
mov qword [rbp - 0x70], rax
mov rcx, qword [r15 + 0x1b8]
sub rcx, 0x18
call fcn.140019180
add rax, 0x18
mov qword [rbp - 0x48], rax
mov r9d, 1
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x48]
mov rcx, r15
call fcn.14015a7e0
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 0x140154e28
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbp]
call fcn.1400d9940
mov edx, 0x18
mov rcx, qword [rbp]
call fcn.1401f785c
nop
lea rcx, [rbp + 0xd0]
call fcn.140112bf0
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140154e72
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.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 0x140154e9a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140154ec0
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
xor eax, eax
jmp 0x14015500b
lea rax, [rsp + 0x78]
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x68], rax
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x140155035
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rbx, str.rename
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140018bb0
test al, al
jne 0x140154f39
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x140154f20
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.140018f50
nop
mov rcx, qword [rbp - 0x10]
add rcx, 0xffffffffffffffe8
call fcn.140019180
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.140157350
mov ebx, eax
mov rdx, qword [rbp]
call fcn.1400d9940
mov edx, 0x18
mov rcx, qword [rbp]
call fcn.1401f785c
nop
lea rcx, [rbp + 0xd0]
call fcn.140112bf0
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140154fbb
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.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 0x140154fe3
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140155009
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov eax, ebx
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.1401f74b0
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.140019300
int3
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
nop
mov ecx, 0x80004005
call fcn.140019300
int3
mov ecx, 0x80004005
call fcn.140019300
int3