Function at 0x14026a220
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbx, qword [rsp + 0xb8]
lea rax, [rbx + 0x3f]
mov r12, rdx
sub rax, rcx
mov r13, rdx
mov rsi, rcx
mov r15d, r9d
shl r12, 5
mov rdx, rax
cmp rax, 0x7e
jbe 0x14026a479
mov rcx, r13
vmovdqu ymm1, ymmword [0x14030cb20]
xor eax, eax
shl rcx, 7
nop dword [rax]
vpermd ymm2, ymm1, ymmword [rsi + rax]
vpermd ymm0, ymm1, ymmword [rsi + rax + 0x20]
vpblendd ymm3, ymm2, ymm0, 0x6c
vpblendd ymm0, ymm0, ymm2, 0x6c
vmovdqu ymmword [rbx + rax], ymm3
vmovdqu ymmword [rbx + rax + 0x20], ymm0
add rax, 0x40
cmp rax, rcx
jne 0x14026a270
test r15d, r15d
je 0x14026a42c
mov rbp, r13
lea r10d, [r8 - 1]
lea rcx, [rbx + 4]
xor r14d, r14d
shl rbp, 7
mov eax, r10d
mov qword [rsp + 0x30], rcx
shl r12, 2
lea r11, [rbx + rbp - 0x40]
lea rdi, [rbx + rbp]
mov dword [rsp + 0x2c], r10d
mov r8, qword [rsp + 0xb0]
and eax, dword [r11]
mov qword [rsp + 0x20], r11
imul rax, r13
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0xb8], rbx
mov rbx, rdi
mov edi, r14d
mov r14, qword [rsp + 0xb8]
mov qword [rsp + 0x90], rsi
mov rsi, qword [rsp + 0xb0]
shl rax, 7
add r8, rax
nop dword [rax + rax]
lea rax, [rsi + rax + 4]
mov r11, r14
mov rdx, r8
sub r11, rax
mov rax, r14
cmp r11, 0x18
ja 0x14026a398
nop word [rax + rax]
add rax, 4
add rdx, 4
mov ecx, dword [rdx - 4]
xor dword [rax - 4], ecx
cmp rax, rbx
jne 0x14026a340
cmp r15d, 2
jne 0x14026a3c1
mov rdx, qword [rsp + 0xc0]
mov r8, r13
mov rcx, r14
add edi, 1
call sym.blockmix_pwxform_1
cmp r15d, edi
je 0x14026a40a
mov rcx, qword [rsp + 0x20]
mov eax, dword [rsp + 0x2c]
and eax, dword [rcx]
imul rax, r13
shl rax, 7
lea r8, [rsi + rax]
jmp 0x14026a320
xor eax, eax
nop word [rax + rax]
vmovdqu ymm4, ymmword [r8 + rax]
vpxor ymm0, ymm4, ymmword [r14 + rax]
vmovdqu ymmword [r14 + rax], ymm0
add rax, 0x20
cmp rax, r12
jne 0x14026a3a0
cmp r15d, 2
je 0x14026a359
mov rax, qword [rsp + 0x30]
mov rdx, r8
sub rdx, rax
xor eax, eax
cmp rdx, 0x18
ja 0x14026a3f0
nop dword [rax]
mov edx, dword [r14 + rax]
mov dword [r8 + rax], edx
add rax, 4
cmp rbp, rax
jne 0x14026a3d8
jmp 0x14026a359
vmovdqu ymm5, ymmword [r14 + rax]
vmovdqu ymmword [r8 + rax], ymm5
add rax, 0x20
cmp rax, r12
jne 0x14026a3f0
jmp 0x14026a359
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x90]
mov rbx, r14
cmp rdx, 0x7e
jbe 0x14026a529
vmovdqu ymm1, ymmword [0x14030cb20]
shl r13, 7
xor eax, eax
nop word [rax + rax]
vpermd ymm2, ymm1, ymmword [rbx + rax]
vpermd ymm0, ymm1, ymmword [rbx + rax + 0x20]
vpblendd ymm3, ymm2, ymm0, 0xc6
vpblendd ymm0, ymm0, ymm2, 0xc6
vmovdqu ymmword [rsi + rax], ymm3
vmovdqu ymmword [rsi + rax + 0x20], ymm0
add rax, 0x40
cmp rax, r13
jne 0x14026a438
vzeroupper
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r10, r13
mov rax, rcx
mov rcx, rbx
shl r10, 7
add r10, rsi
nop dword [rax]
mov r9d, dword [rax]
add rax, 0x40
add rcx, 0x40
mov dword [rcx - 0x40], r9d
mov r9d, dword [rax - 0x2c]
mov dword [rcx - 0x3c], r9d
mov r9d, dword [rax - 0x18]
mov dword [rcx - 0x38], r9d
mov r9d, dword [rax - 4]
mov dword [rcx - 0x34], r9d
mov r9d, dword [rax - 0x30]
mov dword [rcx - 0x30], r9d
mov r9d, dword [rax - 0x1c]
mov dword [rcx - 0x2c], r9d
mov r9d, dword [rax - 8]
mov dword [rcx - 0x28], r9d
mov r9d, dword [rax - 0x34]
mov dword [rcx - 0x24], r9d
mov r9d, dword [rax - 0x20]
mov dword [rcx - 0x20], r9d
mov r9d, dword [rax - 0xc]
mov dword [rcx - 0x1c], r9d
mov r9d, dword [rax - 0x38]
mov dword [rcx - 0x18], r9d
mov r9d, dword [rax - 0x24]
mov dword [rcx - 0x14], r9d
mov r9d, dword [rax - 0x10]
mov dword [rcx - 0x10], r9d
mov r9d, dword [rax - 0x3c]
mov dword [rcx - 0xc], r9d
mov r9d, dword [rax - 0x28]
mov dword [rcx - 8], r9d
mov r9d, dword [rax - 0x14]
mov dword [rcx - 4], r9d
cmp r10, rax
jne 0x14026a490
test r15d, r15d
jne 0x14026a2a6
mov rdx, r13
shl rdx, 7
add rdx, rbx
nop dword [rax + rax]
mov eax, dword [rbx]
add rbx, 0x40
add rsi, 0x40
mov dword [rsi - 0x40], eax
mov eax, dword [rbx - 0x3c]
mov dword [rsi - 0x2c], eax
mov eax, dword [rbx - 0x38]
mov dword [rsi - 0x18], eax
mov eax, dword [rbx - 0x34]
mov dword [rsi - 4], eax
mov eax, dword [rbx - 0x30]
mov dword [rsi - 0x30], eax
mov eax, dword [rbx - 0x2c]
mov dword [rsi - 0x1c], eax
mov eax, dword [rbx - 0x28]
mov dword [rsi - 8], eax
mov eax, dword [rbx - 0x24]
mov dword [rsi - 0x34], eax
mov eax, dword [rbx - 0x20]
mov dword [rsi - 0x20], eax
mov eax, dword [rbx - 0x1c]
mov dword [rsi - 0xc], eax
mov eax, dword [rbx - 0x18]
mov dword [rsi - 0x38], eax
mov eax, dword [rbx - 0x14]
mov dword [rsi - 0x24], eax
mov eax, dword [rbx - 0x10]
mov dword [rsi - 0x10], eax
mov eax, dword [rbx - 0xc]
mov dword [rsi - 0x3c], eax
mov eax, dword [rbx - 8]
mov dword [rsi - 0x28], eax
mov eax, dword [rbx - 4]
mov dword [rsi - 0x14], eax
cmp rbx, rdx
jne 0x14026a538
jmp 0x14026a468