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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x338
vmovaps xmmword [rsp + 0x320], xmm15
vmovdqa xmmword [rsp + 0x310], xmm14
vmovaps xmmword [rsp + 0x300], xmm13
vmovaps xmmword [rsp + 0x2f0], xmm12
vmovaps xmmword [rsp + 0x2e0], xmm11
vmovaps xmmword [rsp + 0x2d0], xmm10
vmovaps xmmword [rsp + 0x2c0], xmm9
vmovaps xmmword [rsp + 0x2b0], xmm8
vmovaps xmmword [rsp + 0x2a0], xmm7
vmovaps xmmword [rsp + 0x290], xmm6
mov rsi, r8
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]
vinserti128 ymm8, ymm0, xmm1, 1
vinserti128 ymm9, ymm2, xmm3, 1
vbroadcasti128 ymm6, xmmword [0x140227da0]
vbroadcasti128 ymm4, xmmword [0x140227db0]
vmovdqa ymm5, ymmword [0x140227d80]
vmovdqa ymm7, ymm10
vmovdqu ymmword [rsp + 0x80], ymm10
vmovdqa ymm11, ymm13
vmovdqu ymmword [rsp + 0x60], ymm13
vmovdqa ymm12, ymm6
sub edx, 1
jb 0x140007bae
vpaddd ymm12, ymm12, ymm10
vpaddd ymm6, ymm6, ymm7
vpxor ymm8, ymm8, ymm12
vpxor ymm9, ymm9, ymm6
vpshuflw ymm8, ymm8, 0xb1
vpshufhw ymm8, ymm8, 0xb1
vpshuflw ymm9, ymm9, 0xb1
vpshufhw ymm9, ymm9, 0xb1
vpaddd ymm13, ymm8, ymm13
vpaddd ymm11, ymm9, ymm11
vpxor ymm10, ymm13, ymm10
vpsrld ymm14, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm14
vpxor ymm7, ymm11, ymm7
vpsrld ymm14, ymm7, 0x14
vpslld ymm7, ymm7, 0xc
vpor ymm7, ymm14, ymm7
vpaddd ymm12, ymm10, ymm12
vpaddd ymm6, ymm7, ymm6
vpshufb ymm14, ymm12, ymm4
vpshufb ymm8, ymm8, ymm4
vpxor ymm8, ymm8, ymm14
vpshufb ymm14, ymm6, ymm4
vpshufb ymm9, ymm9, ymm4
vpxor ymm9, ymm9, ymm14
vpaddd ymm13, ymm13, ymm8
vpaddd ymm11, ymm11, ymm9
vpxor ymm10, ymm13, ymm10
vpxor ymm7, ymm11, ymm7
vpsrld ymm14, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm14
vpsrld ymm14, ymm7, 0x19
vpslld ymm7, ymm7, 7
vpor ymm7, ymm14, ymm7
vpshufd ymm10, ymm10, 0x39
vpshufd ymm7, ymm7, 0x39
vpshufd ymm13, ymm13, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpaddd ymm12, ymm10, ymm12
vpaddd ymm6, ymm7, ymm6
vpshuflw ymm14, ymm12, 0xb1
vpshufhw ymm14, ymm14, 0xb1
vpshufb ymm8, ymm8, ymm5
vpxor ymm8, ymm8, ymm14
vpshuflw ymm14, ymm6, 0xb1
vpshufhw ymm14, ymm14, 0xb1
vpshufb ymm9, ymm9, ymm5
vpxor ymm9, ymm9, ymm14
vpaddd ymm13, ymm13, ymm8
vpaddd ymm11, ymm11, ymm9
vpxor ymm10, ymm13, ymm10
vpxor ymm7, ymm11, ymm7
vpsrld ymm14, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm14
vpsrld ymm14, ymm7, 0x14
vpslld ymm7, ymm7, 0xc
vpor ymm7, ymm14, ymm7
vpaddd ymm12, ymm10, ymm12
vpaddd ymm6, ymm7, ymm6
vpxor ymm8, ymm8, ymm12
vpshufb ymm8, ymm8, ymm4
vpxor ymm9, ymm9, ymm6
vpshufb ymm9, ymm9, ymm4
vpaddd ymm13, ymm13, ymm8
vpaddd ymm11, ymm11, ymm9
vpxor ymm10, ymm13, ymm10
vpxor ymm7, ymm11, ymm7
vpsrld ymm14, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm14
vpsrld ymm14, ymm7, 0x19
vpslld ymm7, ymm7, 7
vpor ymm7, ymm14, ymm7
vpshufd ymm10, ymm10, 0x93
vpshufd ymm7, ymm7, 0x93
vpshufd ymm13, ymm13, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpshufd ymm8, ymm8, 0x39
vpshufd ymm9, ymm9, 0x39
jmp 0x1400079fd
add rax, 4
mov rdx, rax
shr rdx, 0x20
vpinsrd xmm4, xmm0, eax, 0
vpinsrd xmm4, xmm4, edx, 1
lea r8, [rsp + 0xe0]
vmovdqu ymmword [r8 - 0x40], ymm12
vmovdqu ymmword [r8 - 0x20], ymm6
lea r9, [rsp + 0x1a0]
vmovdqu ymmword [r9], ymm10
vmovdqu ymmword [r9 + 0x20], ymm7
lea r12, [rsp + 0x120]
vmovdqu ymmword [r12 - 0x40], ymm13
vmovdqu ymmword [r12 - 0x20], ymm11
lea r15, [rsp + 0x160]
vmovdqu ymmword [r15 - 0x40], ymm8
vmovdqu ymmword [r15 - 0x20], ymm9
lea r14, [rsp + 0x1a0]
vmovdqa xmmword [r14 - 0x40], xmm0
vmovdqa xmmword [r14 - 0x30], xmm1
vmovdqa xmmword [r14 - 0x20], xmm2
vmovdqa xmmword [r14 - 0x10], xmm3
vmovdqa xmmword [rcx + 0x20], xmm4
lea rdi, [rsp + 0x28]
lea rdx, [rsp + 0xa0]
mov rcx, rdi
vzeroupper
call fcn.140006820
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
vmovdqu ymm0, ymmword [rdi]
lea rbx, [rsp + 0x1e0]
vmovdqu ymmword [rbx], ymm0
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rcx
sub rcx, rax
cmp rcx, 4
mov eax, 4
cmovb rax, rcx
mov rdx, qword [rdi + 0x30]
mov qword [rbx + 0x30], rdx
lea rdx, [rsp + 0xe0]
mov qword [rbx + 0x38], rdx
mov qword [rbx + 0x40], r12
and qword [rbx + 0x48], 0
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x58], rcx
lea rcx, [rsp + 0x120]
mov qword [rbx + 0x60], rcx
mov qword [rbx + 0x68], r15
and qword [rbx + 0x70], 0
mov qword [rbx + 0x78], rax
mov qword [rbx + 0x80], rax
lea rcx, [rsp + 0x160]
mov qword [rbx + 0x88], rcx
mov qword [rbx + 0x90], r14
and qword [rbx + 0x98], 0
mov qword [rbx + 0xa0], rax
mov qword [rbx + 0xa8], rax
xor r14d, r14d
vmovdqa xmm6, xmmword [0x140227da0]
mov rcx, rdi
mov rdx, rbx
vzeroupper
call fcn.1400065e4
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140007d7c
cmp r14, 0x100
je 0x140007dea
mov rcx, qword [rsp + 0x48]
vmovdqa xmm0, xmmword [rcx]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
vpaddd xmm1, xmm6, xmmword [rax]
vmovdqu ymm2, ymmword [rsp + 0x80]
vpaddd xmm2, xmm2, xmmword [rcx]
vmovdqu ymm3, ymmword [rsp + 0x60]
vpaddd xmm3, xmm3, xmmword [rdx]
mov rax, qword [rsp + 0x40]
vpaddd xmm0, xmm0, xmmword [rax]
vmovdqu xmmword [rsi + r14], xmm1
vmovdqu xmmword [rsi + r14 + 0x10], xmm2
vmovdqu xmmword [rsi + r14 + 0x20], xmm3
vmovdqu xmmword [rsi + r14 + 0x30], xmm0
add r14, 0x40
jmp 0x140007cff
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x290]
vmovaps xmm7, xmmword [rsp + 0x2a0]
vmovaps xmm8, xmmword [rsp + 0x2b0]
vmovaps xmm9, xmmword [rsp + 0x2c0]
vmovaps xmm10, xmmword [rsp + 0x2d0]
vmovaps xmm11, xmmword [rsp + 0x2e0]
vmovaps xmm12, xmmword [rsp + 0x2f0]
vmovaps xmm13, xmmword [rsp + 0x300]
vmovaps xmm14, xmmword [rsp + 0x310]
vmovaps xmm15, xmmword [rsp + 0x320]
add rsp, 0x338
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rand_chacha_0.3.1_srcguts.rs
call fcn.14008c1f0
int3