Function at 0x140268240
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 0x140268499
mov rcx, r13
vmovdqu ymm1, ymmword [0x14030cb00]
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 0x140268290
test r15d, r15d
je 0x14026844c
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 0x1402683b8
nop word [rax + rax]
add rax, 4
add rdx, 4
mov ecx, dword [rdx - 4]
xor dword [rax - 4], ecx
cmp rax, rbx
jne 0x140268360
cmp r15d, 2
jne 0x1402683e1
mov rdx, qword [rsp + 0xc0]
mov r8, r13
mov rcx, r14
add edi, 1
call sym.blockmix_pwxform
cmp r15d, edi
je 0x14026842a
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 0x140268340
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 0x1402683c0
cmp r15d, 2
je 0x140268379
mov rax, qword [rsp + 0x30]
mov rdx, r8
sub rdx, rax
xor eax, eax
cmp rdx, 0x18
ja 0x140268410
nop dword [rax]
mov edx, dword [r14 + rax]
mov dword [r8 + rax], edx
add rax, 4
cmp rbp, rax
jne 0x1402683f8
jmp 0x140268379
vmovdqu ymm5, ymmword [r14 + rax]
vmovdqu ymmword [r8 + rax], ymm5
add rax, 0x20
cmp rax, r12
jne 0x140268410
jmp 0x140268379
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x90]
mov rbx, r14
cmp rdx, 0x7e
jbe 0x140268549
vmovdqu ymm1, ymmword [0x14030cb00]
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 0x140268458
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 0x1402684b0
test r15d, r15d
jne 0x1402682c6
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 0x140268558
jmp 0x140268488