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

Disassembly:
sub rsp, 0x188
vmovaps xmmword [rsp + 0x170], xmm15
vmovaps xmmword [rsp + 0x160], xmm14
vmovaps xmmword [rsp + 0x150], xmm13
vmovaps xmmword [rsp + 0x140], xmm12
vmovdqa xmmword [rsp + 0x130], xmm11
vmovaps xmmword [rsp + 0x120], xmm10
vmovaps xmmword [rsp + 0x110], xmm9
vmovaps xmmword [rsp + 0x100], xmm8
vmovaps xmmword [rsp + 0xf0], xmm7
vmovdqa xmmword [rsp + 0xe0], xmm6
vmovdqa xmm3, xmmword [rcx]
vmovdqa xmm8, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r9, [rax + 1]
vpinsrd xmm0, xmm8, r9d, 0
shr r9, 0x20
vpinsrd xmm12, xmm0, r9d, 1
vmovdqa xmm4, xmmword [rcx + 0x10]
lea r9, [rax + 2]
vpinsrd xmm0, xmm8, r9d, 0
shr r9, 0x20
vpinsrd xmm1, xmm0, r9d, 1
lea r9, [rax + 3]
vpinsrd xmm0, xmm8, r9d, 0
shr r9, 0x20
vpinsrd xmm5, xmm0, r9d, 1
test edx, edx
je 0x14012d363
vmovdqa xmm7, xmmword [0x140226570]
vmovdqa xmm2, xmm7
vmovdqa xmm15, xmm7
vmovdqa xmmword [rsp], xmm7
vmovdqa xmm0, xmm3
vmovdqa xmm13, xmm3
vmovdqa xmmword [rsp + 0x10], xmm3
vmovdqa xmmword [rsp + 0xc0], xmm3
vmovdqa xmmword [rsp + 0x20], xmm3
vmovdqa xmm10, xmm4
vmovdqa xmmword [rsp + 0x40], xmm4
vmovdqa xmmword [rsp + 0x60], xmm4
vmovdqa xmmword [rsp + 0xb0], xmm4
vmovdqa xmmword [rsp + 0xa0], xmm8
vmovdqa xmm9, xmm8
vmovdqa xmm8, xmm4
vmovdqa xmmword [rsp + 0x90], xmm12
vmovdqa xmm14, xmm12
vmovdqa xmmword [rsp + 0x80], xmm1
vmovdqa xmm3, xmm1
vmovdqa xmmword [rsp + 0x70], xmm5
vmovdqa xmmword [rsp + 0x50], xmm5
nop dword [rax + rax]
vpaddd xmm11, xmm0, xmm7
vpxor xmm5, xmm9, xmm11
vpshuflw xmm5, xmm5, 0xb1
vpshufhw xmm12, xmm5, 0xb1
vpaddd xmm1, xmm10, xmm12
vmovdqa xmmword [rsp + 0xd0], xmm1
vpxor xmm0, xmm1, xmm0
vpsrld xmm1, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm9, xmm0, xmm1
vpaddd xmm5, xmm13, xmm2
vpxor xmm0, xmm14, xmm5
vpshuflw xmm0, xmm0, 0xb1
vpshufhw xmm4, xmm0, 0xb1
vpaddd xmm0, xmm4, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0x30], xmm0
vpxor xmm0, xmm13, xmm0
vpsrld xmm2, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm13, xmm0, xmm2
vmovdqa xmm1, xmmword [rsp + 0x10]
vpaddd xmm10, xmm15, xmm1
vpxor xmm0, xmm10, xmm3
vpshuflw xmm0, xmm0, 0xb1
vpshufhw xmm3, xmm0, 0xb1
vpaddd xmm14, xmm3, xmmword [rsp + 0x60]
vpxor xmm0, xmm14, xmm1
vpsrld xmm2, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm15, xmm0, xmm2
vmovdqa xmm7, xmmword [rsp + 0x20]
vpaddd xmm6, xmm7, xmmword [rsp]
vpxor xmm2, xmm6, xmmword [rsp + 0x50]
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm1, xmm2, 0xb1
vpaddd xmm8, xmm8, xmm1
vpxor xmm2, xmm8, xmm7
vpsrld xmm7, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm2, xmm2, xmm7
vpaddd xmm7, xmm9, xmm11
vmovdqa xmm11, xmmword [0x140226580]
vpshufb xmm0, xmm12, xmm11
vpshufb xmm12, xmm7, xmm11
vpxor xmm12, xmm12, xmm0
vpaddd xmm0, xmm13, xmm5
vmovdqa xmmword [rsp + 0x10], xmm0
vpshufb xmm4, xmm4, xmm11
vpshufb xmm5, xmm0, xmm11
vpxor xmm5, xmm4, xmm5
vpaddd xmm10, xmm15, xmm10
vpshufb xmm3, xmm3, xmm11
vpshufb xmm4, xmm10, xmm11
vpxor xmm4, xmm3, xmm4
vpaddd xmm3, xmm2, xmm6
vmovdqa xmmword [rsp + 0x20], xmm3
vpshufb xmm0, xmm1, xmm11
vpshufb xmm1, xmm3, xmm11
vpxor xmm11, xmm0, xmm1
vmovdqa xmmword [rsp], xmm11
vpaddd xmm0, xmm12, xmmword [rsp + 0xd0]
vmovdqa xmmword [rsp + 0x40], xmm0
vpxor xmm0, xmm9, xmm0
vpsrld xmm1, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm0, xmm0, xmm1
vpaddd xmm9, xmm5, xmmword [rsp + 0x30]
vpxor xmm1, xmm9, xmm13
vpsrld xmm6, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm3, xmm1, xmm6
vpaddd xmm14, xmm14, xmm4
vpxor xmm6, xmm14, xmm15
vpsrld xmm13, xmm6, 0x19
vpslld xmm6, xmm6, 7
vpor xmm15, xmm13, xmm6
vpaddd xmm1, xmm8, xmm11
vmovdqa xmmword [rsp + 0x50], xmm1
vpxor xmm2, xmm1, xmm2
vpsrld xmm6, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm2, xmm2, xmm6
vpshufd xmm8, xmm0, 0x39
vpaddd xmm13, xmm8, xmm7
vpshuflw xmm6, xmm13, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vmovdqa xmm0, xmmword [0x140226590]
vpshufb xmm7, xmm12, xmm0
vpxor xmm6, xmm7, xmm6
vpshufd xmm7, xmm3, 0x39
vpaddd xmm3, xmm7, xmmword [rsp + 0x10]
vmovdqa xmmword [rsp + 0x60], xmm3
vpshuflw xmm12, xmm3, 0xb1
vpshufhw xmm12, xmm12, 0xb1
vpshufb xmm11, xmm5, xmm0
vpxor xmm1, xmm11, xmm12
vpshufd xmm12, xmm15, 0x39
vpaddd xmm3, xmm12, xmm10
vmovdqa xmmword [rsp + 0x10], xmm3
vpshuflw xmm10, xmm3, 0xb1
vpshufhw xmm10, xmm10, 0xb1
vpshufb xmm3, xmm4, xmm0
vpxor xmm3, xmm10, xmm3
vpshufd xmm2, xmm2, 0x39
vpaddd xmm4, xmm2, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm4
vpshuflw xmm10, xmm4, 0xb1
vpshufhw xmm10, xmm10, 0xb1
vmovdqa xmm4, xmmword [rsp]
vpshufb xmm4, xmm4, xmm0
vpxor xmm4, xmm10, xmm4
vmovdqa xmmword [rsp + 0x30], xmm4
vpshufd xmm5, xmmword [rsp + 0x40], 0x4e
vpaddd xmm15, xmm5, xmm6
vpxor xmm0, xmm15, xmm8
vpsrld xmm5, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm5, xmm0, xmm5
vpshufd xmm0, xmm9, 0x4e
vpaddd xmm11, xmm0, xmm1
vpxor xmm0, xmm11, xmm7
vpsrld xmm7, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm0, xmm0, xmm7
vpshufd xmm7, xmm14, 0x4e
vpaddd xmm9, xmm7, xmm3
vpxor xmm7, xmm9, xmm12
vpsrld xmm10, xmm7, 0x14
vpslld xmm7, xmm7, 0xc
vpor xmm12, xmm10, xmm7
vpshufd xmm7, xmmword [rsp + 0x50], 0x4e
vpaddd xmm8, xmm7, xmm4
vpxor xmm2, xmm8, xmm2
vpsrld xmm7, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm10, xmm2, xmm7
vpaddd xmm7, xmm13, xmm5
vpxor xmm2, xmm6, xmm7
vmovdqa xmm4, xmmword [0x140226580]
vpshufb xmm6, xmm2, xmm4
vpaddd xmm14, xmm15, xmm6
vpxor xmm2, xmm14, xmm5
vpsrld xmm5, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm5, xmm2, xmm5
vpaddd xmm2, xmm0, xmmword [rsp + 0x60]
vpxor xmm1, xmm1, xmm2
vpshufb xmm1, xmm1, xmm4
vpaddd xmm11, xmm11, xmm1
vpxor xmm0, xmm11, xmm0
vpsrld xmm13, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm13, xmm13, xmm0
vpaddd xmm15, xmm12, xmmword [rsp + 0x10]
vpxor xmm0, xmm15, xmm3
vpshufb xmm3, xmm0, xmm4
vpaddd xmm9, xmm9, xmm3
vpxor xmm0, xmm9, xmm12
vpsrld xmm12, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm12, xmm12, xmm0
vpaddd xmm0, xmm10, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp], xmm0
vpxor xmm0, xmm0, xmmword [rsp + 0x30]
vpshufb xmm4, xmm0, xmm4
vpaddd xmm8, xmm8, xmm4
vpxor xmm0, xmm8, xmm10
vpsrld xmm10, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm10, xmm10, xmm0
vpshufd xmm0, xmm5, 0x93
vpshufd xmm13, xmm13, 0x93
vpshufd xmm5, xmm12, 0x93
vmovdqa xmmword [rsp + 0x10], xmm5
vpshufd xmm5, xmm10, 0x93
vmovdqa xmmword [rsp + 0x20], xmm5
vpshufd xmm10, xmm14, 0x4e
vpshufd xmm5, xmm11, 0x4e
vmovdqa xmmword [rsp + 0x40], xmm5
vpshufd xmm5, xmm9, 0x4e
vmovdqa xmmword [rsp + 0x60], xmm5
vpshufd xmm8, xmm8, 0x4e
vpshufd xmm9, xmm6, 0x39
vpshufd xmm14, xmm1, 0x39
vpshufd xmm3, xmm3, 0x39
vpshufd xmm1, xmm4, 0x39
vmovdqa xmmword [rsp + 0x50], xmm1
dec edx
jne 0x14012cf50
vmovdqa xmm12, xmmword [0x140226570]
vpaddd xmm11, xmm12, xmm7
vpaddd xmm6, xmm12, xmm2
vpaddd xmm1, xmm15, xmm12
vmovdqa xmmword [rsp + 0x30], xmm1
vpaddd xmm2, xmm12, xmmword [rsp]
vmovdqa xmm15, xmm3
vmovdqa xmm3, xmmword [rsp + 0xc0]
vmovdqa xmm4, xmmword [rsp + 0xb0]
vmovdqa xmmword [rsp], xmm8
vmovdqa xmm8, xmmword [rsp + 0xa0]
vmovdqa xmm12, xmmword [rsp + 0x90]
vmovdqa xmm7, xmmword [rsp + 0x80]
vmovdqa xmm5, xmmword [rsp + 0x70]
jmp 0x14012d3ba
vmovdqa xmm2, xmmword [0x140226560]
vmovdqa xmmword [rsp + 0x20], xmm3
vmovdqa xmmword [rsp], xmm4
vmovdqa xmmword [rsp + 0x10], xmm3
vmovdqa xmmword [rsp + 0x60], xmm4
vmovdqa xmm13, xmm3
vmovdqa xmmword [rsp + 0x40], xmm4
vmovdqa xmm0, xmm3
vmovdqa xmm10, xmm4
vmovdqa xmm9, xmm8
vmovdqa xmmword [rsp + 0x50], xmm5
vmovdqa xmm15, xmm1
vmovdqa xmm14, xmm12
vmovdqa xmmword [rsp + 0x30], xmm2
vmovdqa xmm6, xmm2
vmovdqa xmm11, xmm2
vmovdqa xmm7, xmm1
add rax, 4
mov rdx, rax
vpinsrd xmm1, xmm8, eax, 0
shr rdx, 0x20
vpinsrd xmm1, xmm1, edx, 1
vmovdqa xmmword [rcx + 0x20], xmm1
vmovdqu xmmword [r8], xmm11
vpaddd xmm0, xmm0, xmm3
vmovdqu xmmword [r8 + 0x10], xmm0
vpaddd xmm0, xmm10, xmm4
vmovdqu xmmword [r8 + 0x20], xmm0
vpaddd xmm0, xmm9, xmm8
vmovdqu xmmword [r8 + 0x30], xmm0
vmovdqu xmmword [r8 + 0x40], xmm6
vpaddd xmm0, xmm13, xmm3
vmovdqu xmmword [r8 + 0x50], xmm0
vpaddd xmm0, xmm4, xmmword [rsp + 0x40]
vmovdqu xmmword [r8 + 0x60], xmm0
vpaddd xmm0, xmm14, xmm12
vmovdqu xmmword [r8 + 0x70], xmm0
vmovaps xmm0, xmmword [rsp + 0x30]
vmovups xmmword [r8 + 0x80], xmm0
vpaddd xmm0, xmm3, xmmword [rsp + 0x10]
vmovdqu xmmword [r8 + 0x90], xmm0
vpaddd xmm0, xmm4, xmmword [rsp + 0x60]
vmovdqu xmmword [r8 + 0xa0], xmm0
vpaddd xmm0, xmm15, xmm7
vmovdqu xmmword [r8 + 0xb0], xmm0
vmovdqu xmmword [r8 + 0xc0], xmm2
vpaddd xmm0, xmm3, xmmword [rsp + 0x20]
vmovdqu xmmword [r8 + 0xd0], xmm0
vpaddd xmm0, xmm4, xmmword [rsp]
vmovdqu xmmword [r8 + 0xe0], xmm0
vpaddd xmm0, xmm5, xmmword [rsp + 0x50]
vmovdqu xmmword [r8 + 0xf0], xmm0
vzeroupper
vmovaps xmm6, xmmword [rsp + 0xe0]
vmovaps xmm7, xmmword [rsp + 0xf0]
vmovaps xmm8, xmmword [rsp + 0x100]
vmovaps xmm9, xmmword [rsp + 0x110]
vmovaps xmm10, xmmword [rsp + 0x120]
vmovaps xmm11, xmmword [rsp + 0x130]
vmovaps xmm12, xmmword [rsp + 0x140]
vmovaps xmm13, xmmword [rsp + 0x150]
vmovaps xmm14, xmmword [rsp + 0x160]
vmovaps xmm15, xmmword [rsp + 0x170]
add rsp, 0x188
ret