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

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