Function at 0x14014f790
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm11
movdqa xmmword [rsp + 0x70], xmm10
movaps xmmword [rsp + 0x60], xmm9
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmmword [rsp + 0x30], xmm6
mov rbx, rdx
mov qword [rsp + 0x28], rcx
movsx eax, r8b
mov edi, eax
sar edi, 7
mov ecx, edi
add ecx, eax
pxor xmm8, xmm8
movdqa xmm9, xmmword [0x1402f98c0]
mov bp, 1
xor r15d, r15d
movsx eax, cx
mov dword [rsp + 0x24], eax
xor r14d, r14d
xor r13d, r13d
xor esi, esi
movdqa xmm11, xmm9
pxor xmm10, xmm10
pxor xmm7, xmm7
pxor xmm6, xmm6
nop word [rax + rax]
mov r12, rsi
mov rsi, r13
mov r13, r14
mov eax, dword [rsp + 0x24]
xor eax, ebp
cmp ax, di
sete cl
call fcn.1402a1640
movzx eax, al
neg rax
mov r14, qword [rbx + r15 + 0x20]
xor r14, r13
and r14, rax
xor r14, r13
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
movdqu xmm1, xmmword [rbx + r15]
movdqu xmm2, xmmword [rbx + r15 + 0x10]
movdqu xmm3, xmmword [rbx + r15 + 0x28]
movdqu xmm4, xmmword [rbx + r15 + 0x38]
pand xmm1, xmm0
movdqa xmm5, xmm0
pandn xmm5, xmm9
movdqa xmm9, xmm5
por xmm9, xmm1
pand xmm3, xmm0
movdqa xmm1, xmm0
pandn xmm1, xmm11
movdqa xmm11, xmm1
por xmm11, xmm3
pand xmm2, xmm0
movdqa xmm1, xmm0
pandn xmm1, xmm8
movdqa xmm8, xmm1
por xmm8, xmm2
pand xmm4, xmm0
movdqa xmm1, xmm0
pandn xmm1, xmm10
movdqa xmm10, xmm1
por xmm10, xmm4
mov r13, qword [rbx + r15 + 0x48]
xor r13, rsi
and r13, rax
xor r13, rsi
mov rsi, qword [rbx + r15 + 0x50]
xor rsi, r12
and rsi, rax
xor rsi, r12
movdqu xmm1, xmmword [rbx + r15 + 0x58]
pand xmm1, xmm0
movdqa xmm2, xmm0
pandn xmm2, xmm7
movdqa xmm7, xmm2
por xmm7, xmm1
movdqu xmm1, xmmword [rbx + r15 + 0x68]
pand xmm1, xmm0
pandn xmm0, xmm6
movdqa xmm6, xmm0
por xmm6, xmm1
add r15, 0x78
inc ebp
cmp r15, 0x3c0
jne 0x14014f820
and dil, 1
mov ecx, edi
call fcn.1402a1640
movabs rcx, 0x7ffffffffffed0
sub rcx, rsi
movdqa xmm0, xmmword [0x1402f98d0]
movdqa xmm1, xmm0
psubq xmm1, xmm7
psubq xmm0, xmm6
pshufd xmm2, xmm0, 0xee
movq rdx, xmm2
shr rdx, 0x33
movabs r8, 0x7ffffffffffff
and r8, rcx
lea r9, [rdx + rdx*8]
lea rdx, [rdx + r9*2]
add rdx, r8
movzx r8d, al
neg r8
movdqa xmm4, xmm9
pxor xmm4, xmm11
movdqa xmm3, xmm8
pxor xmm3, xmm10
mov rax, r14
xor rax, r13
and rax, r8
xor r14, rax
xor rax, r13
xor rdx, rsi
and rdx, r8
xor rdx, rsi
movq xmm2, r8
pshufd xmm2, xmm2, 0x44
pand xmm4, xmm2
pxor xmm9, xmm4
mov r8, qword [rsp + 0x28]
movdqu xmmword [r8], xmm9
pand xmm3, xmm2
pxor xmm8, xmm3
movdqu xmmword [r8 + 0x10], xmm8
mov qword [r8 + 0x20], r14
pxor xmm4, xmm11
movdqu xmmword [r8 + 0x28], xmm4
pxor xmm3, xmm10
movdqu xmmword [r8 + 0x38], xmm3
mov qword [r8 + 0x48], rax
mov qword [r8 + 0x50], rdx
movq xmm3, rcx
punpcklqdq xmm3, xmm1
psrlq xmm3, 0x33
movdqa xmm4, xmmword [0x1402f98b0]
pshufd xmm5, xmm1, 0xee
pand xmm1, xmm4
paddq xmm1, xmm3
pand xmm1, xmm2
movdqa xmm3, xmm2
pandn xmm3, xmm7
por xmm3, xmm1
movdqu xmmword [r8 + 0x58], xmm3
punpcklqdq xmm5, xmm0
psrlq xmm5, 0x33
pand xmm0, xmm4
paddq xmm0, xmm5
pand xmm0, xmm2
pandn xmm2, xmm6
por xmm2, xmm0
movdqu xmmword [r8 + 0x68], xmm2
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret