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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x298
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x200], xmm10
movaps xmmword [rbp + 0x1f0], xmm9
movaps xmmword [rbp + 0x1e0], xmm8
movaps xmmword [rbp + 0x1d0], xmm7
movaps xmmword [rbp + 0x1c0], xmm6
and rsp, 0xffffffffffffffe0
mov r12, r8
mov r15, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm0
lea rsi, [rsp + 0x60]
mov qword [rsi], rdx
mov qword [rsi + 8], 0x20
mov qword [rsi + 0x10], 4
and qword [rsi + 0x20], 0
movups xmm0, xmmword [str.expand_32_byte_k_Users_boob_.cargo_registry_src_mirrors.ustc.edu.cn_61ef6e0cd06fb9b8_chacha20_0.8.1_src_backend_sse2.rs]
movaps xmmword [rsp + 0x100], xmm0
push 8
pop rax
lea rdi, [0x1401eba50]
test rax, rax
je 0x14000b147
dec rax
mov qword [rsp + 0x78], rax
mov rcx, rsi
call fcn.14001228b
test rax, rax
je 0x14000b147
mov rbx, qword [rsp + 0x80]
lea rcx, [rbx + 1]
mov qword [rsp + 0x80], rcx
mov cl, 1
cmp rdx, 4
jne 0x14000b119
mov r8d, dword [rax]
xor ecx, ecx
shl r8, 8
movzx ecx, cl
or rcx, r8
mov rdx, rdi
call fcn.140006426
lea rcx, [rbx + 4]
cmp rcx, 0x10
jae 0x14000b628
mov dword [rsp + rbx*4 + 0x110], eax
mov rax, qword [rsp + 0x78]
jmp 0x14000b0de
lea rax, [rsp + 0x60]
mov qword [rax], r12
mov qword [rax + 8], 0x10
mov qword [rax + 0x10], 4
mov qword [rsp + 0x30], rax
and qword [rax + 0x18], 0
lea rsi, [0x1401eba20]
lea rcx, [rsp + 0x60]
call fcn.14001228b
test rax, rax
je 0x14000b1c3
mov rdi, qword [rsp + 0x78]
lea rcx, [rdi + 1]
mov qword [rsp + 0x78], rcx
mov cl, 1
cmp rdx, 4
jne 0x14000b19a
mov r8d, dword [rax]
xor ecx, ecx
shl r8, 8
movzx ecx, cl
or rcx, r8
mov rdx, rsi
call fcn.140006426
lea rcx, [rdi + 0xc]
cmp rcx, 0x10
jae 0x14000b61f
mov dword [rsp + rdi*4 + 0x130], eax
jmp 0x14000b170
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x38], r12
push 0xa
pop rsi
lea r13, [rsp + 0x100]
push 0xc
pop rdi
push 5
pop r12
push 0xa
pop rbx
push 0xf
pop r14
sub rsi, 1
jb 0x14000b2b4
mov qword [rsp + 0x20], r13
xor ecx, ecx
push 4
pop rdx
push 8
pop r8
mov r15, rdi
mov r9, rdi
call fcn.140011d74
mov qword [rsp + 0x20], r13
push 1
pop rcx
mov rdx, r12
push 9
pop r8
push 0xd
pop r9
call fcn.140011d74
mov qword [rsp + 0x20], r13
push 2
pop rcx
push 6
pop rdx
mov r8, rbx
push 0xe
pop r9
call fcn.140011d74
mov qword [rsp + 0x20], r13
push 3
pop rcx
push 7
pop rdx
push 0xb
pop rdi
mov r8, rdi
mov r9, r14
call fcn.140011d74
mov qword [rsp + 0x20], r13
xor ecx, ecx
mov rdx, r12
mov r8, rbx
mov r9, r14
call fcn.140011d74
mov qword [rsp + 0x20], r13
push 1
pop rcx
push 6
pop rdx
mov r8, rdi
mov rdi, r15
mov r9, r15
call fcn.140011d74
mov qword [rsp + 0x20], r13
push 2
pop rcx
push 7
pop rdx
push 8
pop r8
push 0xd
pop r9
call fcn.140011d74
mov qword [rsp + 0x20], r13
push 3
pop rcx
push 4
pop rdx
push 9
pop r8
push 0xe
pop r9
call fcn.140011d74
jmp 0x14000b1e6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
push 0x20
pop rbx
xor r12d, r12d
lea r13, [0x1401eba08]
lea rsi, [rsp + 0x1c0]
cmp r12, 4
je 0x14000b31d
cmp rbx, 4
push 4
pop r9
mov rdx, r9
cmovb rdx, rbx
sub rbx, rdx
mov rcx, qword [rsp + 0x30]
lea r15, [rcx + rdx]
mov eax, dword [rsp + r12*4 + 0x100]
inc r12
mov dword [rsp + 0x1c0], eax
mov qword [rsp + 0x20], r13
mov r8, rsi
call fcn.14000631c
mov qword [rsp + 0x30], r15
jmp 0x14000b2d6
push 0x10
pop rcx
push 0x20
pop rbx
lea r15, [rsp + 0x60]
xor eax, eax
lea r12, [0x1401eb9f0]
lea rsi, [rsp + 0x1c0]
test al, 1
je 0x14000b355
test rbx, rbx
je 0x14000b3b4
cmp rbx, 4
push 4
pop rax
cmovb rax, rbx
mov rcx, r15
mov rdx, rax
jmp 0x14000b377
cmp rcx, rbx
jae 0x14000b3b4
mov rax, rcx
or rax, 4
cmp rbx, rax
cmovb rax, rbx
mov rdx, rax
sub rdx, rcx
jb 0x14000b648
add rcx, r15
test rcx, rcx
je 0x14000b3b4
cmp rdi, 0x10
je 0x14000b634
sub rbx, rax
add r15, rax
mov eax, dword [rsp + rdi*4 + 0x100]
mov dword [rsp + 0x1c0], eax
mov qword [rsp + 0x20], r12
mov r8, rsi
push 4
pop r9
call fcn.14000631c
inc rdi
mov al, 1
xor ecx, ecx
jmp 0x14000b339
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax + 0x10]
mov al, byte [section..data]
cmp al, 0xff
je 0x14000b4b7
cmp al, 1
mov r15, qword [rsp + 0x28]
jne 0x14000b4ef
lea rbx, [rsp + 0x100]
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140011d1b
movaps xmm9, xmmword [rbx]
movaps xmm6, xmmword [rbx + 0x10]
movaps xmm7, xmmword [rbx + 0x20]
movq xmm8, qword [rbx + 0x30]
mov r14, qword [rbx + 0x38]
movaps xmm0, xmmword [rbx + 0x40]
lea rsi, [rsp + 0x60]
movaps xmmword [rsi], xmm0
movaps xmm0, xmmword [rbx + 0x50]
movaps xmmword [rsi + 0x10], xmm0
movaps xmm0, xmmword [rbx + 0x60]
movaps xmmword [rsi + 0x20], xmm0
movaps xmm0, xmmword [rbx + 0x70]
movaps xmmword [rsi + 0x30], xmm0
movaps xmm0, xmmword [rbx + 0x80]
movaps xmmword [rsi + 0x40], xmm0
movaps xmm0, xmmword [rbx + 0x90]
movaps xmmword [rsi + 0x50], xmm0
movaps xmm0, xmmword [rbx + 0xa0]
movaps xmmword [rsi + 0x60], xmm0
movaps xmm0, xmmword [rbx + 0xb0]
movaps xmmword [rsi + 0x70], xmm0
mov rcx, rdi
shr rcx, 0x18
and rcx, 0xffffffffffffff00
lea rdx, str._Users_boob_.cargo_registry_src_mirrors.ustc.edu.cn_61ef6e0cd06fb9b8_chacha20_0.8.1_src_backend_avx2.rs
call fcn.140006426
mov ebx, eax
shl rdi, 8
lea rdx, str._Users_boob_.cargo_registry_src_mirrors.ustc.edu.cn_61ef6e0cd06fb9b8_chacha20_0.8.1_src_backend_avx2.rs
mov rcx, rdi
call fcn.140006426
movd xmm10, ebx
movd xmm0, eax
punpckldq xmm10, xmm0
push 0x10
pop rcx
lea rdi, [rsp + 0x1c0]
rep movsq qword [rdi], qword [rsi]
jmp 0x14000b53e
push 1
pop rax
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
push 7
pop rax
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
and r8d, 0x20
mov eax, r8d
shr eax, 5
mov byte [section..data], al
test r8d, r8d
mov r15, qword [rsp + 0x28]
jne 0x14000b3ec
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
mov rcx, rdi
shr rcx, 0x18
and rcx, 0xffffffffffffff00
lea rdx, [0x1401eb990]
call fcn.140006426
mov esi, eax
shl rdi, 8
lea rdx, [0x1401eb9a8]
mov rcx, rdi
call fcn.140006426
movd xmm8, esi
movd xmm0, eax
punpckldq xmm8, xmm0
movaps xmm9, xmmword [0x1401e10e0]
lea rdi, [r15 + 0x140]
push 0x10
pop rcx
lea rsi, [rsp + 0x1c0]
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0xf8]
mov qword [r15 + 0x1d8], rax
movups xmm0, xmmword [rsp + 0xe8]
movups xmmword [r15 + 0x1c8], xmm0
mov r8d, 0x100
mov rcx, r15
xor edx, edx
call sub.msvcrt.dll_memset
movaps xmmword [r15 + 0x100], xmm9
movaps xmmword [r15 + 0x110], xmm6
movaps xmmword [r15 + 0x120], xmm7
movq qword [r15 + 0x130], xmm8
mov qword [r15 + 0x138], r14
movq qword [r15 + 0x1c0], xmm10
xorps xmm0, xmm0
movaps xmmword [r15 + 0x1e0], xmm0
and word [r15 + 0x1f0], 0
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x106]
mov qword [r15 + 0x1f2], rax
mov qword [r15 + 0x1f8], rcx
movaps xmm6, xmmword [rbp + 0x1c0]
movaps xmm7, xmmword [rbp + 0x1d0]
movaps xmm8, xmmword [rbp + 0x1e0]
movaps xmm9, xmmword [rbp + 0x1f0]
movaps xmm10, xmmword [rbp + 0x200]
lea rsp, [rbp + 0x218]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, [0x1401eba38]
jmp 0x14000b62f
lea r8, [0x1401eba68]
push 0x10
pop rdx
jmp 0x14000b641
lea r8, [0x1401eb9d8]
push 0x10
pop rcx
mov rdx, rcx
call fcn.140024f00
ud2
lea rcx, str.assertion_failed:_mid___self.len__chunk_size_must_be_non_zero
lea r8, str._rustc_58eefc33adf769a1abe12ad94b3e6811185b4ce5librarycore_src_sliceiter.rs
push 0x23
pop rdx
call fcn.140025cf0
ud2