Function at 0x1402d9630
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
lea r14, [rbx + 0x3f]
mov r15, rdx
mov r12, rdx
mov r13d, r9d
mov r11, r14
shl r15, 5
sub r11, rcx
cmp r11, 0x7e
jbe 0x1402d987b
vmovdqu32 zmm1, zmmword [0x140381ac0]
shl rdx, 7
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
vpermd zmm0, zmm1, zmmword [rcx + rax]
vmovdqu32 zmmword [rbx + rax], zmm0
add rax, 0x40
cmp rax, rdx
jne 0x1402d9690
test r13d, r13d
je 0x1402d9834
mov rbp, r12
dec r8d
xor r14d, r14d
lea rdx, [rbx + 4]
shl rbp, 7
mov eax, r8d
mov qword [rsp + 0xa8], rbx
shl r15, 2
lea rdi, [rbx + rbp - 0x40]
mov ebx, r14d
mov r14, rbp
vmovq xmm21, rdx
and eax, dword [rdi]
mov rbp, rdi
mov rdi, qword [rsp + 0xa8]
vmovd xmm23, r8d
mov qword [rsp + 0x28], r11
vmovq xmm24, rcx
imul rax, r12
shl rax, 7
lea r10, [rsi + rax]
nop dword [rax + rax]
lea rdx, [rsi + rax + 4]
mov rax, rdi
sub rax, rdx
cmp rax, 0x38
ja 0x1402d9790
lea r8, [r10 + r14]
mov rdx, r10
mov rax, rdi
nop dword [rax + rax]
add rdx, 4
add rax, 4
mov ecx, dword [rdx - 4]
xor dword [rax - 4], ecx
cmp rdx, r8
jne 0x1402d9730
cmp r13d, 2
jne 0x1402d97c4
mov rdx, qword [rsp + 0xb0]
mov r8, r12
vzeroupper
mov rcx, rdi
inc ebx
call sym.blockmix_pwxform_1
cmp r13d, ebx
je 0x1402d981c
vmovd eax, xmm23
and eax, dword [rbp]
imul rax, r12
shl rax, 7
lea r10, [rsi + rax]
jmp 0x1402d9710
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
vmovdqu32 zmm2, zmmword [r10 + rax]
vpxord zmm0, zmm2, zmmword [rdi + rax]
vmovdqu32 zmmword [rdi + rax], zmm0
add rax, 0x40
cmp rax, r15
jne 0x1402d97a0
cmp r13d, 2
je 0x1402d9749
vmovq rax, xmm21
mov rdx, r10
sub rdx, rax
xor eax, eax
cmp rdx, 0x38
ja 0x1402d9800
nop dword [rax + rax]
mov edx, dword [rdi + rax]
mov dword [r10 + rax], edx
add rax, 4
cmp r14, rax
jne 0x1402d97e0
jmp 0x1402d9749
vmovdqu32 zmm3, zmmword [rdi + rax]
vmovdqu32 zmmword [r10 + rax], zmm3
add rax, 0x40
cmp rax, r15
jne 0x1402d9800
jmp 0x1402d9749
mov r11, qword [rsp + 0x28]
vmovq rcx, xmm24
mov rbx, rdi
cmp r11, 0x7e
jbe 0x1402d9929
vmovdqu32 zmm1, zmmword [0x140381b00]
shl r12, 7
xor eax, eax
nop word cs:[rax + rax]
nop
vpermd zmm0, zmm1, zmmword [rbx + rax]
vmovdqu32 zmmword [rcx + rax], zmm0
add rax, 0x40
cmp rax, r12
jne 0x1402d9850
vzeroupper
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r10, r12
mov rax, rcx
mov rdx, rbx
shl r10, 7
add r10, rcx
nop dword [rax + rax]
mov r9d, dword [rax]
add rax, 0x40
add rdx, 0x40
mov dword [rdx - 0x40], r9d
mov r9d, dword [rax - 0x2c]
mov dword [rdx - 0x3c], r9d
mov r9d, dword [rax - 0x18]
mov dword [rdx - 0x38], r9d
mov r9d, dword [rax - 4]
mov dword [rdx - 0x34], r9d
mov r9d, dword [rax - 0x30]
mov dword [rdx - 0x30], r9d
mov r9d, dword [rax - 0x1c]
mov dword [rdx - 0x2c], r9d
mov r9d, dword [rax - 8]
mov dword [rdx - 0x28], r9d
mov r9d, dword [rax - 0x34]
mov dword [rdx - 0x24], r9d
mov r9d, dword [rax - 0x20]
mov dword [rdx - 0x20], r9d
mov r9d, dword [rax - 0xc]
mov dword [rdx - 0x1c], r9d
mov r9d, dword [rax - 0x38]
mov dword [rdx - 0x18], r9d
mov r9d, dword [rax - 0x24]
mov dword [rdx - 0x14], r9d
mov r9d, dword [rax - 0x10]
mov dword [rdx - 0x10], r9d
mov r9d, dword [rax - 0x3c]
mov dword [rdx - 0xc], r9d
mov r9d, dword [rax - 0x28]
mov dword [rdx - 8], r9d
mov r9d, dword [rax - 0x14]
mov dword [rdx - 4], r9d
cmp r10, rax
jne 0x1402d9890
test r13d, r13d
jne 0x1402d96b0
shl r12, 7
add r12, rbx
mov eax, dword [rbx]
add rbx, 0x40
add rcx, 0x40
mov dword [rcx - 0x40], eax
mov eax, dword [rbx - 0x3c]
mov dword [rcx - 0x2c], eax
mov eax, dword [rbx - 0x38]
mov dword [rcx - 0x18], eax
mov eax, dword [rbx - 0x34]
mov dword [rcx - 4], eax
mov eax, dword [rbx - 0x30]
mov dword [rcx - 0x30], eax
mov eax, dword [rbx - 0x2c]
mov dword [rcx - 0x1c], eax
mov eax, dword [rbx - 0x28]
mov dword [rcx - 8], eax
mov eax, dword [rbx - 0x24]
mov dword [rcx - 0x34], eax
mov eax, dword [rbx - 0x20]
mov dword [rcx - 0x20], eax
mov eax, dword [rbx - 0x1c]
mov dword [rcx - 0xc], eax
mov eax, dword [rbx - 0x18]
mov dword [rcx - 0x38], eax
mov eax, dword [rbx - 0x14]
mov dword [rcx - 0x24], eax
mov eax, dword [rbx - 0x10]
mov dword [rcx - 0x10], eax
mov eax, dword [rbx - 0xc]
mov dword [rcx - 0x3c], eax
mov eax, dword [rbx - 8]
mov dword [rcx - 0x28], eax
mov eax, dword [rbx - 4]
mov dword [rcx - 0x14], eax
cmp rbx, r12
jne 0x1402d9930
jmp 0x1402d986a