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

Disassembly:
sub rsp, 0xb8
vmovaps xmmword [rsp + 0xa0], xmm15
vmovaps xmmword [rsp + 0x90], xmm14
vmovaps xmmword [rsp + 0x80], xmm13
vmovaps xmmword [rsp + 0x70], xmm12
vmovaps xmmword [rsp + 0x60], xmm11
vmovaps xmmword [rsp + 0x50], xmm10
vmovaps xmmword [rsp + 0x40], xmm9
vmovaps xmmword [rsp + 0x30], xmm8
vmovaps xmmword [rsp + 0x20], xmm7
vmovaps xmmword [rsp + 0x10], xmm6
vmovdqa xmm2, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 2]
vpinsrd xmm0, xmm2, r8d, 0
shr r8, 0x20
vpinsrd xmm1, xmm0, r8d, 1
lea r8, [rax + 3]
vpinsrd xmm0, xmm2, r8d, 0
shr r8, 0x20
vpinsrd xmm0, xmm0, r8d, 1
vmovdqa xmmword [rsp], xmm0
vinserti128 ymm8, ymm1, xmm0, 1
lea r8, [rax + 1]
vpinsrd xmm3, xmm2, r8d, 0
shr r8, 0x20
vpinsrd xmm5, xmm3, r8d, 1
vbroadcasti128 ymm3, xmmword [rcx + 0x10]
vinserti128 ymm12, ymm2, xmm5, 1
vbroadcasti128 ymm4, xmmword [rcx]
vbroadcasti128 ymm9, xmmword [0x140066480]
mov r8d, 6
vbroadcasti128 ymm6, xmmword [0x140066490]
vmovdqa ymm7, ymmword [0x140066460]
vmovdqa ymm13, ymm9
vmovdqa ymm11, ymm3
vmovdqa ymm14, ymm3
vmovdqa ymm10, ymm4
vmovdqa ymm15, ymm4
nop word cs:[rax + rax]
vpaddd ymm13, ymm13, ymm15
vpaddd ymm9, ymm9, ymm10
vpxor ymm12, ymm12, ymm13
vpxor ymm8, ymm8, ymm9
vpshuflw ymm12, ymm12, 0xb1
vpshufhw ymm12, ymm12, 0xb1
vpshuflw ymm8, ymm8, 0xb1
vpshufhw ymm8, ymm8, 0xb1
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm8
vpxor ymm15, ymm14, ymm15
vpsrld ymm0, ymm15, 0x14
vpslld ymm15, ymm15, 0xc
vpor ymm0, ymm15, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm15
vpaddd ymm13, ymm13, ymm0
vpaddd ymm9, ymm10, ymm9
vpshufb ymm15, ymm13, ymm6
vpshufb ymm12, ymm12, ymm6
vpxor ymm12, ymm12, ymm15
vpshufb ymm15, ymm9, ymm6
vpshufb ymm8, ymm8, ymm6
vpxor ymm8, ymm8, ymm15
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm8
vpxor ymm0, ymm14, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpor ymm0, ymm15, ymm0
vpsrld ymm15, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm15
vpshufd ymm0, ymm0, 0x39
vpshufd ymm10, ymm10, 0x39
vpshufd ymm14, ymm14, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpaddd ymm13, ymm13, ymm0
vpaddd ymm9, ymm10, ymm9
vpshuflw ymm15, ymm13, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm12, ymm12, ymm7
vpxor ymm12, ymm12, ymm15
vpshuflw ymm15, ymm9, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm8, ymm8, ymm7
vpxor ymm8, ymm8, ymm15
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm8
vpxor ymm0, ymm14, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm0, 0x14
vpslld ymm0, ymm0, 0xc
vpor ymm0, ymm15, ymm0
vpsrld ymm15, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm15
vpaddd ymm13, ymm13, ymm0
vpaddd ymm9, ymm10, ymm9
vpxor ymm12, ymm12, ymm13
vpshufb ymm12, ymm12, ymm6
vpxor ymm8, ymm8, ymm9
vpshufb ymm8, ymm8, ymm6
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm8
vpxor ymm0, ymm14, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpor ymm0, ymm15, ymm0
vpsrld ymm15, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm15
vpshufd ymm15, ymm0, 0x93
vpshufd ymm10, ymm10, 0x93
vpshufd ymm14, ymm14, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpshufd ymm12, ymm12, 0x39
vpshufd ymm8, ymm8, 0x39
dec r8d
jne 0x140017800
add rax, 4
mov r8, rax
shr r8, 0x20
vpinsrd xmm0, xmm2, eax, 0
vpinsrd xmm0, xmm0, r8d, 1
vextracti128 xmm6, ymm13, 1
vmovdqa xmmword [rcx + 0x20], xmm0
vmovdqa xmm0, xmmword [0x140066480]
vpaddd xmm7, xmm13, xmm0
vmovdqu xmmword [rdx], xmm7
vpaddd xmm7, xmm15, xmm4
vmovdqu xmmword [rdx + 0x10], xmm7
vpaddd xmm7, xmm14, xmm3
vmovdqu xmmword [rdx + 0x20], xmm7
vextracti128 xmm7, ymm9, 1
vextracti128 xmm13, ymm15, 1
vpaddd xmm2, xmm12, xmm2
vmovdqu xmmword [rdx + 0x30], xmm2
vextracti128 xmm2, ymm10, 1
vextracti128 xmm14, ymm14, 1
vpaddd xmm6, xmm6, xmm0
vmovdqu xmmword [rdx + 0x40], xmm6
vextracti128 xmm6, ymm11, 1
vextracti128 xmm12, ymm12, 1
vpaddd xmm13, xmm13, xmm4
vmovdqu xmmword [rdx + 0x50], xmm13
vextracti128 xmm13, ymm8, 1
vpaddd xmm14, xmm14, xmm3
vmovdqu xmmword [rdx + 0x60], xmm14
vpaddd xmm5, xmm12, xmm5
vmovdqu xmmword [rdx + 0x70], xmm5
vpaddd xmm5, xmm9, xmm0
vmovdqu xmmword [rdx + 0x80], xmm5
vpaddd xmm5, xmm10, xmm4
vmovdqu xmmword [rdx + 0x90], xmm5
vpaddd xmm5, xmm11, xmm3
vmovdqu xmmword [rdx + 0xa0], xmm5
vpaddd xmm1, xmm8, xmm1
vmovdqu xmmword [rdx + 0xb0], xmm1
vpaddd xmm0, xmm7, xmm0
vmovdqu xmmword [rdx + 0xc0], xmm0
vpaddd xmm0, xmm4, xmm2
vmovdqu xmmword [rdx + 0xd0], xmm0
vpaddd xmm0, xmm3, xmm6
vmovdqu xmmword [rdx + 0xe0], xmm0
vpaddd xmm0, xmm13, xmmword [rsp]
vmovdqu xmmword [rdx + 0xf0], xmm0
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x10]
vmovaps xmm7, xmmword [rsp + 0x20]
vmovaps xmm8, xmmword [rsp + 0x30]
vmovaps xmm9, xmmword [rsp + 0x40]
vmovaps xmm10, xmmword [rsp + 0x50]
vmovaps xmm11, xmmword [rsp + 0x60]
vmovaps xmm12, xmmword [rsp + 0x70]
vmovaps xmm13, xmmword [rsp + 0x80]
vmovaps xmm14, xmmword [rsp + 0x90]
vmovaps xmm15, xmmword [rsp + 0xa0]
add rsp, 0xb8
ret