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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x398
vmovaps xmmword [rsp + 0x380], xmm15
vmovdqa xmmword [rsp + 0x370], xmm14
vmovaps xmmword [rsp + 0x360], xmm13
vmovaps xmmword [rsp + 0x350], xmm12
vmovaps xmmword [rsp + 0x340], xmm11
vmovaps xmmword [rsp + 0x330], xmm10
vmovaps xmmword [rsp + 0x320], xmm9
vmovaps xmmword [rsp + 0x310], xmm8
vmovaps xmmword [rsp + 0x300], xmm7
vmovaps xmmword [rsp + 0x2f0], xmm6
vmovdqa xmm0, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
vpinsrd xmm1, xmm0, r8d, 0
shr r8, 0x20
vpinsrd xmm1, xmm1, r8d, 1
lea r8, [rax + 2]
vpinsrd xmm2, xmm0, r8d, 0
shr r8, 0x20
vpinsrd xmm2, xmm2, r8d, 1
lea r8, [rax + 3]
vpinsrd xmm3, xmm0, r8d, 0
shr r8, 0x20
vpinsrd xmm3, xmm3, r8d, 1
vbroadcasti128 ymm10, xmmword [rcx]
vbroadcasti128 ymm13, xmmword [rcx + 0x10]
mov rsi, rdx
vinserti128 ymm7, ymm0, xmm1, 1
vinserti128 ymm9, ymm2, xmm3, 1
vbroadcasti128 ymm6, xmmword [0x14004d260]
mov edx, 6
vbroadcasti128 ymm4, xmmword [0x14004d270]
vmovdqa ymm5, ymmword [0x14004d240]
vmovdqa ymm8, ymm10
vmovdqu ymmword [rsp + 0x50], ymm10
vmovdqa ymm11, ymm13
vmovdqu ymmword [rsp + 0x30], ymm13
vmovdqa ymm12, ymm6
sub edx, 1
jb 0x14000c916
vpaddd ymm12, ymm12, ymm10
vpaddd ymm6, ymm8, ymm6
vpxor ymm7, ymm12, ymm7
vpxor ymm9, ymm9, ymm6
vpshuflw ymm7, ymm7, 0xb1
vpshufhw ymm7, ymm7, 0xb1
vpshuflw ymm9, ymm9, 0xb1
vpshufhw ymm9, ymm9, 0xb1
vpaddd ymm13, ymm13, ymm7
vpaddd ymm11, ymm9, ymm11
vpxor ymm10, ymm13, ymm10
vpsrld ymm14, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm14
vpxor ymm8, ymm11, ymm8
vpsrld ymm14, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm14
vpaddd ymm12, ymm10, ymm12
vpaddd ymm6, ymm8, ymm6
vpshufb ymm14, ymm12, ymm4
vpshufb ymm7, ymm7, ymm4
vpxor ymm7, ymm14, ymm7
vpshufb ymm14, ymm6, ymm4
vpshufb ymm9, ymm9, ymm4
vpxor ymm9, ymm9, ymm14
vpaddd ymm13, ymm13, ymm7
vpaddd ymm11, ymm11, ymm9
vpxor ymm10, ymm13, ymm10
vpxor ymm8, ymm11, ymm8
vpsrld ymm14, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm14
vpsrld ymm14, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm8, ymm8, ymm14
vpshufd ymm10, ymm10, 0x39
vpshufd ymm8, ymm8, 0x39
vpshufd ymm13, ymm13, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpaddd ymm12, ymm10, ymm12
vpaddd ymm6, ymm8, ymm6
vpshuflw ymm14, ymm12, 0xb1
vpshufhw ymm14, ymm14, 0xb1
vpshufb ymm7, ymm7, ymm5
vpxor ymm7, ymm14, ymm7
vpshuflw ymm14, ymm6, 0xb1
vpshufhw ymm14, ymm14, 0xb1
vpshufb ymm9, ymm9, ymm5
vpxor ymm9, ymm9, ymm14
vpaddd ymm13, ymm13, ymm7
vpaddd ymm11, ymm11, ymm9
vpxor ymm10, ymm13, ymm10
vpxor ymm8, ymm11, ymm8
vpsrld ymm14, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm14
vpsrld ymm14, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm14
vpaddd ymm12, ymm10, ymm12
vpaddd ymm6, ymm8, ymm6
vpxor ymm7, ymm12, ymm7
vpshufb ymm7, ymm7, ymm4
vpxor ymm9, ymm9, ymm6
vpshufb ymm9, ymm9, ymm4
vpaddd ymm13, ymm13, ymm7
vpaddd ymm11, ymm11, ymm9
vpxor ymm10, ymm13, ymm10
vpxor ymm8, ymm11, ymm8
vpsrld ymm14, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm14
vpsrld ymm14, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm8, ymm8, ymm14
vpshufd ymm10, ymm10, 0x93
vpshufd ymm8, ymm8, 0x93
vpshufd ymm13, ymm13, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpshufd ymm7, ymm7, 0x39
vpshufd ymm9, ymm9, 0x39
jmp 0x14000c75e
add rax, 4
mov rdx, rax
shr rdx, 0x20
vpinsrd xmm4, xmm0, eax, 0
vpinsrd xmm4, xmm4, edx, 1
lea r8, [rsp + 0x140]
vmovdqu ymmword [r8 - 0x40], ymm12
vmovdqu ymmword [r8 - 0x20], ymm6
lea r9, [rsp + 0x140]
vmovdqu ymmword [r9], ymm10
vmovdqu ymmword [r9 + 0x20], ymm8
lea r15, [rsp + 0x180]
vmovdqu ymmword [r15], ymm13
vmovdqu ymmword [r15 + 0x20], ymm11
lea r12, [rsp + 0x1c0]
vmovdqu ymmword [r12], ymm7
vmovdqu ymmword [r12 + 0x20], ymm9
lea r14, [rsp + 0x200]
vmovdqa xmmword [r14], xmm0
vmovdqa xmmword [r14 + 0x10], xmm1
vmovdqa xmmword [r14 + 0x20], xmm2
vmovdqa xmmword [r14 + 0x30], xmm3
vmovdqa xmmword [rcx + 0x20], xmm4
lea rdi, [rsp + 0x78]
lea rdx, [rsp + 0x100]
mov rcx, rdi
vzeroupper
call fcn.14000e45c
lea rbx, [rsp + 0x240]
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call fcn.14000e4c3
lea r15, [rsp + 0x78]
mov rcx, r15
mov rdx, rbx
mov r8, r12
call fcn.14000e534
lea rcx, [rsp + 0x240]
mov rdx, r15
mov r8, r14
call fcn.14000e599
xor r12d, r12d
vmovdqa xmm6, xmmword [0x14004d260]
lea r14, [rsp + 0x20]
mov rcx, rdi
mov rdx, rbx
call fcn.14000e613
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14000cac4
cmp r12, 0x100
je 0x14000cb32
lea r15, [rsi + r12]
mov rcx, qword [rsp + 0x98]
vmovdqa xmm0, xmmword [rcx]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
vpaddd xmm1, xmm6, xmmword [rax]
vmovdqu ymm2, ymmword [rsp + 0x50]
vpaddd xmm7, xmm2, xmmword [rcx]
vmovdqu ymm2, ymmword [rsp + 0x30]
vpaddd xmm8, xmm2, xmmword [rdx]
mov rax, qword [rsp + 0x90]
vpaddd xmm9, xmm0, xmmword [rax]
vmovdqa xmmword [rsp + 0x20], xmm1
mov rcx, r15
mov rdx, r14
vzeroupper
call fcn.14000daee
vmovdqa xmmword [rsp + 0x20], xmm7
lea rcx, [r15 + 0x10]
mov rdx, r14
call fcn.14000daee
vmovdqa xmmword [rsp + 0x20], xmm8
lea rcx, [r15 + 0x20]
mov rdx, r14
call fcn.14000daee
vmovdqa xmmword [rsp + 0x20], xmm9
add r15, 0x30
mov rcx, r15
mov rdx, r14
call fcn.14000daee
add r12, 0x40
jmp 0x14000ca04
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x2f0]
vmovaps xmm7, xmmword [rsp + 0x300]
vmovaps xmm8, xmmword [rsp + 0x310]
vmovaps xmm9, xmmword [rsp + 0x320]
vmovaps xmm10, xmmword [rsp + 0x330]
vmovaps xmm11, xmmword [rsp + 0x340]
vmovaps xmm12, xmmword [rsp + 0x350]
vmovaps xmm13, xmmword [rsp + 0x360]
vmovaps xmm14, xmmword [rsp + 0x370]
vmovaps xmm15, xmmword [rsp + 0x380]
add rsp, 0x398
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rand_chacha_0.3.1_srcguts.rs
call fcn.140006140
int3