Function at 0x1401e5670
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
sub rsp, 0x148
movdqa xmmword [rsp + 0x130], xmm15
movaps xmmword [rsp + 0x120], xmm14
movaps xmmword [rsp + 0x110], xmm13
movaps xmmword [rsp + 0x100], xmm12
movaps xmmword [rsp + 0xf0], xmm11
movaps xmmword [rsp + 0xe0], xmm10
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm6
movdqa xmm3, xmmword [rcx]
movdqa xmm13, xmmword [rcx + 0x10]
movdqa xmm7, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r9, [rax + 1]
movdqa xmm4, xmm7
pinsrd xmm4, r9d, 0
shr r9, 0x20
pinsrd xmm4, r9d, 1
lea r9, [rax + 2]
movdqa xmm11, xmm7
pinsrd xmm11, r9d, 0
shr r9, 0x20
pinsrd xmm11, r9d, 1
lea r9, [rax + 3]
movdqa xmm10, xmm7
pinsrd xmm10, r9d, 0
shr r9, 0x20
pinsrd xmm10, r9d, 1
test edx, edx
movdqa xmmword [rsp + 0x90], xmm13
movdqa xmmword [rsp + 0x80], xmm4
movdqa xmmword [rsp + 0x70], xmm10
je 0x1401e5c5d
movdqa xmm9, xmmword [str.expand_32_byte_k]
movdqa xmm8, xmm9
movdqa xmm6, xmm7
movdqa xmm7, xmm9
movdqa xmmword [rsp + 0x10], xmm9
movdqa xmm2, xmm3
movdqa xmm1, xmm3
movdqa xmm14, xmm3
movdqa xmmword [rsp + 0x60], xmm3
movdqa xmm12, xmm3
movdqa xmm5, xmm13
movdqa xmm0, xmm13
movdqa xmmword [rsp], xmm13
movdqa xmmword [rsp + 0x20], xmm13
movdqa xmmword [rsp + 0x40], xmm6
movdqa xmm3, xmm6
movdqa xmmword [rsp + 0x50], xmm11
nop word cs:[rax + rax]
paddd xmm9, xmm2
paddd xmm8, xmm1
paddd xmm7, xmm14
movdqa xmm6, xmmword [rsp + 0x10]
paddd xmm6, xmm12
movdqa xmmword [rsp + 0x10], xmm6
pxor xmm3, xmm9
pxor xmm4, xmm8
pxor xmm11, xmm7
pxor xmm10, xmm6
pshuflw xmm3, xmm3, 0xb1
pshufhw xmm3, xmm3, 0xb1
pshuflw xmm4, xmm4, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshuflw xmm11, xmm11, 0xb1
pshufhw xmm11, xmm11, 0xb1
pshuflw xmm10, xmm10, 0xb1
pshufhw xmm10, xmm10, 0xb1
paddd xmm5, xmm3
paddd xmm0, xmm4
movdqa xmm15, xmmword [rsp]
paddd xmm15, xmm11
movdqa xmmword [rsp], xmm15
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmm10
movdqa xmmword [rsp + 0x20], xmm0
pxor xmm2, xmm5
movdqa xmm13, xmm2
psrld xmm13, 0x14
pslld xmm2, 0xc
por xmm2, xmm13
pxor xmm1, xmm6
movdqa xmm13, xmm1
psrld xmm13, 0x14
pslld xmm1, 0xc
por xmm1, xmm13
pxor xmm14, xmm15
movdqa xmm13, xmm14
psrld xmm13, 0x14
pslld xmm14, 0xc
por xmm14, xmm13
pxor xmm12, xmm0
movdqa xmm13, xmm12
psrld xmm13, 0x14
pslld xmm12, 0xc
por xmm12, xmm13
paddd xmm9, xmm2
paddd xmm8, xmm1
paddd xmm7, xmm14
movdqa xmm6, xmmword [rsp + 0x10]
paddd xmm6, xmm12
movdqa xmm13, xmm9
movdqa xmm15, xmmword [0x1403be140]
pshufb xmm13, xmm15
pshufb xmm3, xmm15
pxor xmm3, xmm13
movdqa xmm13, xmm8
pshufb xmm13, xmm15
pshufb xmm4, xmm15
pxor xmm4, xmm13
movdqa xmm13, xmm7
pshufb xmm13, xmm15
pshufb xmm11, xmm15
pxor xmm11, xmm13
movdqa xmm13, xmm6
pshufb xmm13, xmm15
pshufb xmm10, xmm15
pxor xmm10, xmm13
paddd xmm5, xmm3
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm4
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm13, xmmword [rsp]
paddd xmm13, xmm11
movdqa xmm15, xmm5
movdqa xmm5, xmmword [rsp + 0x20]
paddd xmm5, xmm10
pxor xmm2, xmm15
pxor xmm1, xmm0
pxor xmm14, xmm13
movdqa xmm0, xmm13
pxor xmm12, xmm5
movdqa xmm13, xmm2
psrld xmm13, 0x19
pslld xmm2, 7
por xmm2, xmm13
movdqa xmm13, xmm1
psrld xmm13, 0x19
pslld xmm1, 7
por xmm1, xmm13
movdqa xmm13, xmm14
psrld xmm13, 0x19
pslld xmm14, 7
por xmm14, xmm13
movdqa xmm13, xmm12
psrld xmm13, 0x19
pslld xmm12, 7
por xmm12, xmm13
pshufd xmm2, xmm2, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm12, xmm12, 0x39
pshufd xmm13, xmm15, 0x4e
movdqa xmmword [rsp + 0x10], xmm13
pshufd xmm13, xmmword [rsp + 0x30], 0x4e
movdqa xmmword [rsp], xmm13
pshufd xmm15, xmm0, 0x4e
pshufd xmm13, xmm5, 0x4e
paddd xmm9, xmm2
paddd xmm8, xmm1
paddd xmm7, xmm14
paddd xmm6, xmm12
pshuflw xmm0, xmm9, 0xb1
pshufhw xmm0, xmm0, 0xb1
movdqa xmm5, xmmword [0x1403be150]
pshufb xmm3, xmm5
pxor xmm3, xmm0
pshuflw xmm0, xmm8, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufb xmm4, xmm5
pxor xmm4, xmm0
pshuflw xmm0, xmm7, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufb xmm11, xmm5
pxor xmm11, xmm0
pshuflw xmm0, xmm6, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshufb xmm10, xmm5
pxor xmm10, xmm0
movdqa xmm5, xmmword [rsp + 0x10]
paddd xmm5, xmm3
movdqa xmm0, xmmword [rsp]
paddd xmm0, xmm4
movdqa xmmword [rsp], xmm0
paddd xmm15, xmm11
paddd xmm13, xmm10
pxor xmm2, xmm5
pxor xmm1, xmm0
pxor xmm14, xmm15
pxor xmm12, xmm13
movdqa xmm0, xmm2
psrld xmm0, 0x14
pslld xmm2, 0xc
por xmm2, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x14
pslld xmm1, 0xc
por xmm1, xmm0
movdqa xmm0, xmm14
psrld xmm0, 0x14
pslld xmm14, 0xc
por xmm14, xmm0
movdqa xmm0, xmm12
psrld xmm0, 0x14
pslld xmm12, 0xc
por xmm12, xmm0
paddd xmm9, xmm2
paddd xmm8, xmm1
paddd xmm7, xmm14
paddd xmm6, xmm12
pxor xmm3, xmm9
movdqa xmm0, xmmword [0x1403be140]
pshufb xmm3, xmm0
pxor xmm4, xmm8
pshufb xmm4, xmm0
pxor xmm11, xmm7
pshufb xmm11, xmm0
movdqa xmmword [rsp + 0x10], xmm6
pxor xmm10, xmm6
pshufb xmm10, xmm0
paddd xmm5, xmm3
movdqa xmm0, xmmword [rsp]
paddd xmm0, xmm4
paddd xmm15, xmm11
paddd xmm13, xmm10
pxor xmm2, xmm5
pxor xmm1, xmm0
movdqa xmm6, xmm0
pxor xmm14, xmm15
pxor xmm12, xmm13
movdqa xmm0, xmm2
psrld xmm0, 0x19
pslld xmm2, 7
por xmm2, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x19
pslld xmm1, 7
por xmm1, xmm0
movdqa xmm0, xmm14
psrld xmm0, 0x19
pslld xmm14, 7
por xmm14, xmm0
movdqa xmm0, xmm12
psrld xmm0, 0x19
pslld xmm12, 7
por xmm12, xmm0
pshufd xmm2, xmm2, 0x93
pshufd xmm1, xmm1, 0x93
pshufd xmm14, xmm14, 0x93
pshufd xmm12, xmm12, 0x93
pshufd xmm5, xmm5, 0x4e
pshufd xmm0, xmm6, 0x4e
pshufd xmm15, xmm15, 0x4e
movdqa xmmword [rsp], xmm15
pshufd xmm6, xmm13, 0x4e
movdqa xmmword [rsp + 0x20], xmm6
pshufd xmm3, xmm3, 0x39
pshufd xmm4, xmm4, 0x39
pshufd xmm11, xmm11, 0x39
pshufd xmm10, xmm10, 0x39
dec edx
jne 0x1401e57c0
movdqa xmm13, xmmword [str.expand_32_byte_k]
paddd xmm9, xmm13
paddd xmm8, xmm13
paddd xmm7, xmm13
movdqa xmm6, xmmword [rsp + 0x10]
paddd xmm6, xmm13
movdqa xmmword [rsp + 0x10], xmm6
movdqa xmm6, xmmword [rsp + 0x60]
movdqa xmm15, xmmword [rsp + 0x50]
movdqa xmm13, xmmword [rsp + 0x40]
jmp 0x1401e5cb2
movdqa xmm9, xmmword [0x1403be120]
movdqa xmm12, xmm3
movdqa xmmword [rsp + 0x20], xmm13
movdqa xmm14, xmm3
movdqa xmmword [rsp], xmm13
movdqa xmm1, xmm3
movdqa xmm0, xmm13
movdqa xmm2, xmm3
movdqa xmm5, xmm13
movdqa xmm6, xmm3
movdqa xmm3, xmm7
movdqa xmm15, xmm11
movdqa xmm13, xmm7
movdqa xmm7, xmm9
movdqa xmm8, xmm9
movdqa xmmword [rsp + 0x10], xmm9
add rax, 4
mov rdx, rax
shr rdx, 0x20
paddd xmm3, xmm13
pinsrd xmm13, eax, 0
pinsrd xmm13, edx, 1
movdqa xmmword [rcx + 0x20], xmm13
movdqu xmmword [r8], xmm9
paddd xmm2, xmm6
movdqu xmmword [r8 + 0x10], xmm2
movdqa xmm2, xmmword [rsp + 0x90]
paddd xmm5, xmm2
movdqu xmmword [r8 + 0x20], xmm5
movdqu xmmword [r8 + 0x30], xmm3
movdqu xmmword [r8 + 0x40], xmm8
paddd xmm1, xmm6
movdqu xmmword [r8 + 0x50], xmm1
paddd xmm0, xmm2
movdqu xmmword [r8 + 0x60], xmm0
paddd xmm4, xmmword [rsp + 0x80]
movdqu xmmword [r8 + 0x70], xmm4
movdqu xmmword [r8 + 0x80], xmm7
paddd xmm14, xmm6
movdqu xmmword [r8 + 0x90], xmm14
movdqa xmm0, xmmword [rsp]
paddd xmm0, xmm2
movdqu xmmword [r8 + 0xa0], xmm0
paddd xmm11, xmm15
movdqu xmmword [r8 + 0xb0], xmm11
movaps xmm0, xmmword [rsp + 0x10]
movups xmmword [r8 + 0xc0], xmm0
paddd xmm12, xmm6
movdqu xmmword [r8 + 0xd0], xmm12
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmm2
movdqu xmmword [r8 + 0xe0], xmm0
paddd xmm10, xmmword [rsp + 0x70]
movdqu xmmword [r8 + 0xf0], xmm10
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0x100]
movaps xmm13, xmmword [rsp + 0x110]
movaps xmm14, xmmword [rsp + 0x120]
movaps xmm15, xmmword [rsp + 0x130]
add rsp, 0x148
ret