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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
vmovaps xmmword [rsp + 0x230], xmm15
vmovaps xmmword [rsp + 0x220], xmm14
vmovaps xmmword [rsp + 0x210], xmm13
vmovaps xmmword [rsp + 0x200], xmm12
vmovdqa xmmword [rsp + 0x1f0], xmm11
vmovaps xmmword [rsp + 0x1e0], xmm10
vmovaps xmmword [rsp + 0x1d0], xmm9
vmovaps xmmword [rsp + 0x1c0], xmm8
vmovaps xmmword [rsp + 0x1b0], xmm7
vmovaps xmmword [rsp + 0x1a0], xmm6
mov rbx, rdx
mov rax, qword [rcx + 0x20]
vmovdqa xmm5, xmmword [rcx]
vmovdqa xmm0, xmmword [rcx + 0x20]
lea rdx, [rax + 1]
vpinsrd xmm1, xmm0, edx, 0
shr rdx, 0x20
vpinsrd xmm1, xmm1, edx, 1
lea rdx, [rax + 2]
vpinsrd xmm2, xmm0, edx, 0
shr rdx, 0x20
vpinsrd xmm2, xmm2, edx, 1
add rax, 3
vpinsrd xmm3, xmm0, eax, 0
shr rax, 0x20
vpinsrd xmm4, xmm3, eax, 1
vmovdqu ymmword [rsp + 0x80], ymm5
vperm2i128 ymm3, ymm5, ymmword [rcx], 2
vmovdqa xmm5, xmmword [rcx + 0x10]
vmovdqu ymmword [rsp + 0x60], ymm5
vperm2i128 ymm5, ymm5, ymmword [rcx + 0x10], 2
vinserti128 ymm6, ymm0, xmm1, 1
vinserti128 ymm7, ymm2, xmm4, 1
vbroadcasti128 ymm4, xmmword [0x1404ae240]
mov eax, 6
vbroadcasti128 ymm1, xmmword [0x1404ae250]
vmovdqa ymm2, ymmword [0x1404ae220]
vmovdqa ymm9, ymm5
vmovdqa ymm10, ymm3
vmovdqa ymm8, ymm4
sub eax, 1
jb 0x14013a0b3
vpaddd ymm8, ymm8, ymm10
vpaddd ymm4, ymm4, ymm3
vpxor ymm6, ymm8, ymm6
vpxor ymm7, ymm4, ymm7
vpshuflw ymm6, ymm6, 0xb1
vpshufhw ymm6, ymm6, 0xb1
vpshuflw ymm7, ymm7, 0xb1
vpshufhw ymm7, ymm7, 0xb1
vpaddd ymm9, ymm9, ymm6
vpaddd ymm5, ymm7, ymm5
vpxor ymm10, ymm9, ymm10
vpsrld ymm11, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm11
vpxor ymm3, ymm5, ymm3
vpsrld ymm11, ymm3, 0x14
vpslld ymm3, ymm3, 0xc
vpor ymm3, ymm11, ymm3
vpaddd ymm8, ymm10, ymm8
vpaddd ymm4, ymm3, ymm4
vpshufb ymm11, ymm8, ymm1
vpshufb ymm6, ymm6, ymm1
vpxor ymm6, ymm11, ymm6
vpshufb ymm11, ymm4, ymm1
vpshufb ymm7, ymm7, ymm1
vpxor ymm7, ymm11, ymm7
vpaddd ymm9, ymm9, ymm6
vpaddd ymm5, ymm5, ymm7
vpxor ymm10, ymm9, ymm10
vpsrld ymm11, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm11
vpxor ymm3, ymm5, ymm3
vpsrld ymm11, ymm3, 0x19
vpslld ymm3, ymm3, 7
vpor ymm3, ymm11, ymm3
vpshufd ymm10, ymm10, 0x39
vpshufd ymm3, ymm3, 0x39
vpshufd ymm9, ymm9, 0x4e
vpshufd ymm5, ymm5, 0x4e
vpaddd ymm8, ymm10, ymm8
vpaddd ymm4, ymm3, ymm4
vpshuflw ymm11, ymm8, 0xb1
vpshufhw ymm11, ymm11, 0xb1
vpshufb ymm6, ymm6, ymm2
vpxor ymm6, ymm11, ymm6
vpshuflw ymm11, ymm4, 0xb1
vpshufhw ymm11, ymm11, 0xb1
vpshufb ymm7, ymm7, ymm2
vpxor ymm7, ymm11, ymm7
vpaddd ymm9, ymm9, ymm6
vpaddd ymm5, ymm5, ymm7
vpxor ymm10, ymm9, ymm10
vpsrld ymm11, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm11
vpxor ymm3, ymm5, ymm3
vpsrld ymm11, ymm3, 0x14
vpslld ymm3, ymm3, 0xc
vpor ymm3, ymm11, ymm3
vpaddd ymm8, ymm10, ymm8
vpaddd ymm4, ymm3, ymm4
vpxor ymm6, ymm8, ymm6
vpshufb ymm6, ymm6, ymm1
vpxor ymm7, ymm7, ymm4
vpshufb ymm7, ymm7, ymm1
vpaddd ymm9, ymm9, ymm6
vpaddd ymm5, ymm5, ymm7
vpxor ymm10, ymm9, ymm10
vpsrld ymm11, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm11
vpxor ymm3, ymm5, ymm3
vpsrld ymm11, ymm3, 0x19
vpslld ymm3, ymm3, 7
vpor ymm3, ymm11, ymm3
vpshufd ymm6, ymm6, 0x39
vpshufd ymm7, ymm7, 0x39
vpshufd ymm10, ymm10, 0x93
vpshufd ymm3, ymm3, 0x93
vpshufd ymm9, ymm9, 0x4e
vpshufd ymm5, ymm5, 0x4e
jmp 0x140139f18
vmovq rax, xmm0
lea rdx, [rax + 1]
vpinsrd xmm1, xmm0, edx, 0
shr rdx, 0x20
vpinsrd xmm1, xmm1, edx, 1
lea rdx, [rax + 2]
vpinsrd xmm2, xmm0, edx, 0
shr rdx, 0x20
vpinsrd xmm2, xmm2, edx, 1
lea rdx, [rax + 3]
vpinsrd xmm11, xmm0, edx, 0
shr rdx, 0x20
vpinsrd xmm11, xmm11, edx, 1
add rax, 4
vpinsrd xmm12, xmm0, eax, 0
shr rax, 0x20
vpinsrd xmm12, xmm12, eax, 1
vmovdqu ymmword [rsp + 0xa0], ymm8
vmovdqu ymmword [rsp + 0xc0], ymm4
vmovdqu ymmword [rsp + 0xe0], ymm10
vmovdqu ymmword [rsp + 0x100], ymm3
vmovdqu ymmword [rsp + 0x120], ymm9
vmovdqu ymmword [rsp + 0x140], ymm5
vmovdqu ymmword [rsp + 0x160], ymm6
vmovdqu ymmword [rsp + 0x180], ymm7
vmovdqa xmmword [rsp + 0x20], xmm0
vmovdqa xmmword [rsp + 0x30], xmm1
vmovdqa xmmword [rsp + 0x40], xmm2
vmovdqa xmmword [rsp + 0x50], xmm11
vmovdqa xmmword [rcx + 0x20], xmm12
mov edi, 0x100
xor r13d, r13d
vmovdqa xmm6, xmmword [0x1404ae240]
lea r15, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rand_chacha_0.3.1_src_guts.rs
xor ebp, ebp
cmp rbp, 0x40
je 0x14013a2a0
vmovdqa xmm0, xmmword [rsp + rbp + 0xa0]
vpaddd xmm10, xmm0, xmm6
vmovdqa xmm0, xmmword [rsp + rbp + 0x20]
vmovdqu ymm1, ymmword [rsp + 0x80]
vpaddd xmm9, xmm1, xmmword [rsp + rbp + 0xe0]
vmovdqu ymm1, ymmword [rsp + 0x60]
vpaddd xmm8, xmm1, xmmword [rsp + rbp + 0x120]
vpaddd xmm7, xmm0, xmmword [rsp + rbp + 0x160]
xor esi, esi
mov r14, rdi
sub r14, 0x10
mov r12, rbx
cmovb r12, r13
cmovb r14, rdi
setae sil
mov rcx, r12
lea rdx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rand_chacha_0.3.1_src_guts.rs
vzeroupper
call fcn.14013a546
shl rsi, 4
add rsi, rbx
vmovdqu xmmword [r12], xmm10
xor ebx, ebx
mov rdi, r14
sub rdi, 0x10
mov r12, rsi
cmovb r12, r13
cmovb rdi, r14
setae bl
mov rcx, r12
lea rdx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rand_chacha_0.3.1_src_guts.rs
call fcn.14013a546
shl rbx, 4
add rbx, rsi
vmovdqu xmmword [r12], xmm9
xor r12d, r12d
mov r14, rdi
sub r14, 0x10
mov rsi, rbx
cmovb rsi, r13
cmovb r14, rdi
setae r12b
mov rcx, rsi
lea rdx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rand_chacha_0.3.1_src_guts.rs
call fcn.14013a546
shl r12, 4
add r12, rbx
vmovdqu xmmword [rsi], xmm8
xor ebx, ebx
mov rdi, r14
sub rdi, 0x10
mov rsi, r12
cmovb rsi, r13
cmovb rdi, r14
setae bl
mov rcx, rsi
mov rdx, r15
call fcn.14013a546
shl rbx, 4
add rbx, r12
vmovdqu xmmword [rsi], xmm7
add rbp, 0x10
jmp 0x14013a186
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x1a0]
vmovaps xmm7, xmmword [rsp + 0x1b0]
vmovaps xmm8, xmmword [rsp + 0x1c0]
vmovaps xmm9, xmmword [rsp + 0x1d0]
vmovaps xmm10, xmmword [rsp + 0x1e0]
vmovaps xmm11, xmmword [rsp + 0x1f0]
vmovaps xmm12, xmmword [rsp + 0x200]
vmovaps xmm13, xmmword [rsp + 0x210]
vmovaps xmm14, xmmword [rsp + 0x220]
vmovaps xmm15, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret