Function at 0x1400a1aaf
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
sub rsp, 0x2b8
movaps xmmword [rsp + 0x2a0], xmm15
movaps xmmword [rsp + 0x290], xmm14
movaps xmmword [rsp + 0x280], xmm13
movaps xmmword [rsp + 0x270], xmm12
movaps xmmword [rsp + 0x260], xmm11
movaps xmmword [rsp + 0x250], xmm10
movdqa xmmword [rsp + 0x240], xmm9
movdqa xmmword [rsp + 0x230], xmm8
movaps xmmword [rsp + 0x220], xmm7
movaps xmmword [rsp + 0x210], xmm6
movdqa xmm7, xmmword [rcx]
movdqa xmm6, xmmword [rcx + 0x10]
movdqa xmm13, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r9, [rax + 1]
movd xmm14, r9d
shr r9, 0x20
movdqa xmm2, xmm13
pslldq xmm2, 8
shufps xmm2, xmm13, 0xe8
movd xmm0, r9d
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm14, xmm1
lea r9, [rax + 2]
movd xmm15, r9d
shr r9, 0x20
movd xmm0, r9d
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm15, xmm1
lea r9, [rax + 3]
movd xmm3, r9d
shr r9, 0x20
movd xmm0, r9d
movaps xmmword [rsp + 0x70], xmm2
por xmm0, xmm2
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm3, xmm1
movdqa xmm11, xmmword [0x1404d7a20]
movdqa xmmword [rsp + 0x60], xmm3
movdqa xmm2, xmm3
movdqa xmmword [rsp + 0x80], xmm15
movdqa xmmword [rsp + 0x90], xmm14
movaps xmmword [rsp + 0xa0], xmm13
movdqa xmm10, xmm6
movdqa xmm1, xmm6
movdqa xmmword [rsp], xmm6
movdqa xmmword [rsp + 0xb0], xmm6
movdqa xmmword [rsp + 0x10], xmm6
movdqa xmm0, xmm7
movdqa xmm5, xmm7
movdqa xmm12, xmm7
movdqa xmmword [rsp + 0xc0], xmm7
movdqa xmmword [rsp + 0x50], xmm11
movdqa xmmword [rsp + 0x40], xmm11
movdqa xmmword [rsp + 0x20], xmm11
movdqa xmmword [rsp + 0x30], xmm11
sub edx, 1
jb 0x1400a20b1
movdqa xmm8, xmmword [rsp + 0x30]
paddd xmm8, xmm7
movdqa xmm11, xmmword [rsp + 0x40]
paddd xmm11, xmm12
movdqa xmm9, xmmword [rsp + 0x50]
paddd xmm9, xmm5
movdqa xmm3, xmmword [rsp + 0x20]
paddd xmm3, xmm0
movdqa xmmword [rsp + 0x20], xmm3
pxor xmm13, xmm8
pxor xmm14, xmm11
pxor xmm15, xmm9
pxor xmm2, xmm3
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm2, xmm2, 0xb1
pshufhw xmm6, xmm2, 0xb1
movdqa xmm3, xmmword [rsp + 0x10]
paddd xmm3, xmm13
movdqa xmm2, xmmword [rsp]
paddd xmm2, xmm14
paddd xmm1, xmm15
movdqa xmmword [rsp], xmm1
paddd xmm10, xmm6
pxor xmm7, xmm3
movdqa xmm4, xmm10
movdqa xmmword [rsp + 0x10], xmm10
movdqa xmm10, xmm7
psrld xmm10, 0x14
pslld xmm7, 0xc
por xmm7, xmm10
pxor xmm12, xmm2
movdqa xmm10, xmm12
psrld xmm10, 0x14
pslld xmm12, 0xc
por xmm12, xmm10
pxor xmm5, xmm1
movdqa xmm10, xmm5
psrld xmm10, 0x14
pslld xmm5, 0xc
por xmm5, xmm10
pxor xmm0, xmm4
movdqa xmm10, xmm0
psrld xmm10, 0x14
pslld xmm0, 0xc
por xmm0, xmm10
paddd xmm8, xmm7
paddd xmm11, xmm12
paddd xmm9, xmm5
movdqa xmm4, xmmword [rsp + 0x20]
paddd xmm4, xmm0
movdqa xmmword [rsp + 0x20], xmm4
movdqa xmm10, xmm8
movdqa xmm1, xmmword [0x1404d7a30]
pshufb xmm10, xmm1
pshufb xmm13, xmm1
pxor xmm13, xmm10
movdqa xmm10, xmm11
pshufb xmm10, xmm1
pshufb xmm14, xmm1
pxor xmm14, xmm10
movdqa xmm10, xmm9
pshufb xmm10, xmm1
pshufb xmm15, xmm1
pxor xmm15, xmm10
movdqa xmm10, xmm4
pshufb xmm10, xmm1
pshufb xmm6, xmm1
pxor xmm6, xmm10
paddd xmm3, xmm13
paddd xmm2, xmm14
movdqa xmm4, xmmword [rsp]
paddd xmm4, xmm15
movdqa xmmword [rsp], xmm4
movdqa xmm1, xmmword [rsp + 0x10]
paddd xmm1, xmm6
pxor xmm7, xmm3
pxor xmm12, xmm2
pxor xmm5, xmm4
pxor xmm0, xmm1
movdqa xmm10, xmm7
psrld xmm10, 0x19
pslld xmm7, 7
por xmm7, xmm10
movdqa xmm10, xmm12
psrld xmm10, 0x19
pslld xmm12, 7
por xmm12, xmm10
movdqa xmm10, xmm5
psrld xmm10, 0x19
pslld xmm5, 7
por xmm5, xmm10
movdqa xmm10, xmm0
psrld xmm10, 0x19
pslld xmm0, 7
por xmm0, xmm10
pshufd xmm10, xmm7, 0x39
pshufd xmm12, xmm12, 0x39
pshufd xmm5, xmm5, 0x39
pshufd xmm0, xmm0, 0x39
pshufd xmm3, xmm3, 0x4e
pshufd xmm4, xmm2, 0x4e
pshufd xmm2, xmmword [rsp], 0x4e
movdqa xmmword [rsp + 0x10], xmm2
pshufd xmm1, xmm1, 0x4e
movdqa xmmword [rsp], xmm1
paddd xmm8, xmm10
paddd xmm11, xmm12
paddd xmm9, xmm5
movdqa xmm2, xmmword [rsp + 0x20]
paddd xmm2, xmm0
pshuflw xmm7, xmm8, 0xb1
pshufhw xmm7, xmm7, 0xb1
movdqa xmm1, xmmword [0x1404d7a40]
pshufb xmm13, xmm1
pxor xmm13, xmm7
pshuflw xmm7, xmm11, 0xb1
pshufhw xmm7, xmm7, 0xb1
pshufb xmm14, xmm1
pxor xmm14, xmm7
pshuflw xmm7, xmm9, 0xb1
pshufhw xmm7, xmm7, 0xb1
pshufb xmm15, xmm1
pxor xmm15, xmm7
pshuflw xmm7, xmm2, 0xb1
pshufhw xmm7, xmm7, 0xb1
pshufb xmm6, xmm1
pxor xmm6, xmm7
paddd xmm3, xmm13
paddd xmm4, xmm14
movdqa xmm7, xmmword [rsp + 0x10]
paddd xmm7, xmm15
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmm1, xmmword [rsp]
paddd xmm1, xmm6
movdqa xmmword [rsp], xmm1
pxor xmm10, xmm3
pxor xmm12, xmm4
pxor xmm5, xmm7
pxor xmm0, xmm1
movdqa xmm7, xmm10
psrld xmm7, 0x14
pslld xmm10, 0xc
por xmm10, xmm7
movdqa xmm7, xmm12
psrld xmm7, 0x14
pslld xmm12, 0xc
por xmm12, xmm7
movdqa xmm7, xmm5
psrld xmm7, 0x14
pslld xmm5, 0xc
por xmm5, xmm7
movdqa xmm7, xmm0
psrld xmm7, 0x14
pslld xmm0, 0xc
por xmm0, xmm7
paddd xmm8, xmm10
paddd xmm11, xmm12
paddd xmm9, xmm5
paddd xmm2, xmm0
movdqa xmmword [rsp + 0x30], xmm8
pxor xmm13, xmm8
movdqa xmm1, xmmword [0x1404d7a30]
pshufb xmm13, xmm1
movdqa xmmword [rsp + 0x40], xmm11
pxor xmm14, xmm11
pshufb xmm14, xmm1
movdqa xmmword [rsp + 0x50], xmm9
pxor xmm15, xmm9
pshufb xmm15, xmm1
movdqa xmmword [rsp + 0x20], xmm2
pxor xmm6, xmm2
pshufb xmm6, xmm1
movdqa xmm2, xmm3
paddd xmm2, xmm13
paddd xmm4, xmm14
movdqa xmm1, xmmword [rsp + 0x10]
paddd xmm1, xmm15
movdqa xmm3, xmmword [rsp]
paddd xmm3, xmm6
pxor xmm10, xmm2
pxor xmm12, xmm4
pxor xmm5, xmm1
pxor xmm0, xmm3
movdqa xmm7, xmm10
psrld xmm7, 0x19
pslld xmm10, 7
por xmm10, xmm7
movdqa xmm7, xmm12
psrld xmm7, 0x19
pslld xmm12, 7
por xmm12, xmm7
movdqa xmm7, xmm5
psrld xmm7, 0x19
pslld xmm5, 7
por xmm5, xmm7
movdqa xmm7, xmm0
psrld xmm7, 0x19
pslld xmm0, 7
por xmm0, xmm7
pshufd xmm7, xmm10, 0x93
pshufd xmm12, xmm12, 0x93
pshufd xmm5, xmm5, 0x93
pshufd xmm0, xmm0, 0x93
pshufd xmm2, xmm2, 0x4e
movdqa xmmword [rsp + 0x10], xmm2
pshufd xmm2, xmm4, 0x4e
movdqa xmmword [rsp], xmm2
pshufd xmm1, xmm1, 0x4e
pshufd xmm10, xmm3, 0x4e
pshufd xmm13, xmm13, 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm2, xmm6, 0x39
jmp 0x1400a1c2d
add rax, 4
mov rdx, rax
shr rdx, 0x20
movd xmm3, edx
por xmm3, xmmword [rsp + 0x70]
movdqa xmm6, xmm3
pslldq xmm6, 8
shufps xmm6, xmm3, 0xe8
movd xmm4, eax
por xmm4, xmm6
movdqa xmm3, xmm1
movdqa xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0xd0], xmm1
movaps xmm8, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xe0], xmm8
movaps xmm8, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0xf0], xmm8
movaps xmm8, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x100], xmm8
movdqa xmmword [rsp + 0x110], xmm7
movdqa xmmword [rsp + 0x120], xmm12
movdqa xmmword [rsp + 0x130], xmm5
movdqa xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [rsp + 0x10]
movaps xmmword [rsp + 0x150], xmm0
movaps xmm0, xmmword [rsp]
movaps xmmword [rsp + 0x160], xmm0
movdqa xmmword [rsp + 0x170], xmm3
movdqa xmmword [rsp + 0x180], xmm10
movaps xmmword [rsp + 0x190], xmm13
movdqa xmmword [rsp + 0x1a0], xmm14
movdqa xmmword [rsp + 0x1b0], xmm15
movdqa xmmword [rsp + 0x1c0], xmm2
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x200], xmm0
movdqa xmmword [rcx + 0x20], xmm4
xor eax, eax
movdqa xmm0, xmmword [0x1404d7a20]
movdqa xmm5, xmmword [rsp + 0xc0]
movdqa xmm6, xmmword [rsp + 0xb0]
cmp rax, 0x40
je 0x1400a2250
movdqa xmm1, xmmword [rsp + rax + 0x1d0]
movdqa xmm2, xmmword [rsp + rax + 0xd0]
paddd xmm2, xmm0
movdqa xmm3, xmmword [rsp + rax + 0x110]
paddd xmm3, xmm5
movdqa xmm4, xmmword [rsp + rax + 0x150]
paddd xmm4, xmm6
paddd xmm1, xmmword [rsp + rax + 0x190]
movdqu xmmword [r8 + rax*4], xmm2
movdqu xmmword [r8 + rax*4 + 0x10], xmm3
movdqu xmmword [r8 + rax*4 + 0x20], xmm4
movdqu xmmword [r8 + rax*4 + 0x30], xmm1
add rax, 0x10
jmp 0x1400a21f0
movaps xmm6, xmmword [rsp + 0x210]
movaps xmm7, xmmword [rsp + 0x220]
movaps xmm8, xmmword [rsp + 0x230]
movaps xmm9, xmmword [rsp + 0x240]
movaps xmm10, xmmword [rsp + 0x250]
movaps xmm11, xmmword [rsp + 0x260]
movaps xmm12, xmmword [rsp + 0x270]
movaps xmm13, xmmword [rsp + 0x280]
movaps xmm14, xmmword [rsp + 0x290]
movaps xmm15, xmmword [rsp + 0x2a0]
add rsp, 0x2b8
ret