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

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x388
movaps xmmword [rsp + 0x370], xmm15
movaps xmmword [rsp + 0x360], xmm14
movaps xmmword [rsp + 0x350], xmm13
movaps xmmword [rsp + 0x340], xmm12
movaps xmmword [rsp + 0x330], xmm11
movaps xmmword [rsp + 0x320], xmm10
movaps xmmword [rsp + 0x310], xmm9
movdqa xmmword [rsp + 0x300], xmm8
movaps xmmword [rsp + 0x2f0], xmm7
movaps xmmword [rsp + 0x2e0], xmm6
mov rsi, rdx
movdqa xmm4, xmmword [rcx]
movdqa xmm12, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea rdx, [rax + 1]
movdqa xmm13, xmm12
pinsrd xmm13, edx, 0
shr rdx, 0x20
pinsrd xmm13, edx, 1
lea rdx, [rax + 2]
movdqa xmm14, xmm12
pinsrd xmm14, edx, 0
shr rdx, 0x20
pinsrd xmm14, edx, 1
lea rdx, [rax + 3]
movdqa xmm15, xmm12
pinsrd xmm15, edx, 0
shr rdx, 0x20
pinsrd xmm15, edx, 1
movdqa xmm1, xmmword [rcx + 0x10]
movdqa xmm11, xmmword [0x14027a510]
mov edx, 6
movdqa xmmword [rsp + 0x80], xmm15
movdqa xmmword [rsp + 0x90], xmm14
movdqa xmmword [rsp + 0xa0], xmm13
movdqa xmmword [rsp + 0xb0], xmm12
movdqa xmm7, xmm1
movdqa xmm6, xmm1
movdqa xmm5, xmm1
movdqa xmmword [rsp + 0xc0], xmm1
movdqa xmm2, xmm4
movdqa xmm3, xmm4
movdqa xmm9, xmm4
movdqa xmmword [rsp + 0xd0], xmm4
movdqa xmmword [rsp + 0x40], xmm11
movdqa xmm10, xmm11
movdqa xmmword [rsp + 0x20], xmm11
movdqa xmm0, xmm11
sub edx, 1
jb 0x1400c5c8f
paddd xmm0, xmm4
paddd xmm10, xmm9
movdqa xmm11, xmmword [rsp + 0x40]
paddd xmm11, xmm3
movdqa xmm8, xmmword [rsp + 0x20]
paddd xmm8, xmm2
pxor xmm12, xmm0
pxor xmm13, xmm10
pxor xmm14, xmm11
pxor xmm15, xmm8
pshuflw xmm12, xmm12, 0xb1
pshufhw xmm12, xmm12, 0xb1
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
paddd xmm1, xmm12
movdqa xmmword [rsp + 0x30], xmm1
paddd xmm5, xmm13
paddd xmm6, xmm14
paddd xmm7, xmm15
pxor xmm4, xmm1
movdqa xmmword [rsp + 0xe0], xmm7
movdqa xmmword [rsp + 0x40], xmm6
movdqa xmm1, xmm5
movdqa xmm5, xmm4
psrld xmm5, 0x14
pslld xmm4, 0xc
por xmm4, xmm5
pxor xmm9, xmm1
movdqa xmm5, xmm9
psrld xmm5, 0x14
pslld xmm9, 0xc
por xmm9, xmm5
pxor xmm3, xmm6
movdqa xmm5, xmm3
psrld xmm5, 0x14
pslld xmm3, 0xc
por xmm3, xmm5
pxor xmm2, xmm7
movdqa xmm5, xmm2
psrld xmm5, 0x14
pslld xmm2, 0xc
por xmm2, xmm5
paddd xmm0, xmm4
movdqa xmmword [rsp + 0x20], xmm0
paddd xmm10, xmm9
paddd xmm11, xmm3
paddd xmm8, xmm2
movdqa xmm5, xmm0
movdqa xmm0, xmm10
movdqa xmm10, xmmword [0x14027a520]
pshufb xmm5, xmm10
pshufb xmm12, xmm10
pxor xmm12, xmm5
movdqa xmm5, xmm0
pshufb xmm5, xmm10
pshufb xmm13, xmm10
pxor xmm13, xmm5
movdqa xmm5, xmm11
pshufb xmm5, xmm10
pshufb xmm14, xmm10
pxor xmm14, xmm5
movdqa xmm5, xmm8
pshufb xmm5, xmm10
pshufb xmm15, xmm10
pxor xmm15, xmm5
movdqa xmm6, xmmword [rsp + 0x30]
paddd xmm6, xmm12
movdqa xmmword [rsp + 0x30], xmm6
paddd xmm1, xmm13
movdqa xmm7, xmmword [rsp + 0x40]
paddd xmm7, xmm14
movdqa xmm5, xmmword [rsp + 0xe0]
paddd xmm5, xmm15
pxor xmm4, xmm6
pxor xmm9, xmm1
movdqa xmm6, xmm1
pxor xmm3, xmm7
pxor xmm2, xmm5
movdqa xmm10, xmm5
movdqa xmm5, xmm4
psrld xmm5, 0x19
pslld xmm4, 7
por xmm4, xmm5
movdqa xmm5, xmm9
psrld xmm5, 0x19
pslld xmm9, 7
por xmm9, xmm5
movdqa xmm5, xmm3
psrld xmm5, 0x19
pslld xmm3, 7
por xmm3, xmm5
movdqa xmm5, xmm2
psrld xmm5, 0x19
pslld xmm2, 7
por xmm2, xmm5
pshufd xmm5, xmm4, 0x39
pshufd xmm9, xmm9, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm1, xmmword [rsp + 0x30], 0x4e
pshufd xmm4, xmm6, 0x4e
movdqa xmmword [rsp + 0x30], xmm4
pshufd xmm6, xmm7, 0x4e
pshufd xmm7, xmm10, 0x4e
movdqa xmm4, xmmword [rsp + 0x20]
paddd xmm4, xmm5
movdqa xmmword [rsp + 0x20], xmm4
paddd xmm0, xmm9
paddd xmm11, xmm3
paddd xmm8, xmm2
pshuflw xmm4, xmmword [rsp + 0x20], 0xb1
pshufhw xmm4, xmm4, 0xb1
movdqa xmm10, xmmword [0x14027a530]
pshufb xmm12, xmm10
pxor xmm12, xmm4
pshuflw xmm4, xmm0, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshufb xmm13, xmm10
pxor xmm13, xmm4
pshuflw xmm4, xmm11, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshufb xmm14, xmm10
pxor xmm14, xmm4
pshuflw xmm4, xmm8, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshufb xmm15, xmm10
movdqa xmm10, xmm0
movdqa xmm0, xmmword [rsp + 0x20]
pxor xmm15, xmm4
paddd xmm1, xmm12
movdqa xmm4, xmmword [rsp + 0x30]
paddd xmm4, xmm13
movdqa xmmword [rsp + 0x30], xmm4
paddd xmm6, xmm14
paddd xmm7, xmm15
pxor xmm5, xmm1
pxor xmm9, xmm4
pxor xmm3, xmm6
pxor xmm2, xmm7
movdqa xmm4, xmm5
psrld xmm4, 0x14
pslld xmm5, 0xc
por xmm5, xmm4
movdqa xmm4, xmm9
psrld xmm4, 0x14
pslld xmm9, 0xc
por xmm9, xmm4
movdqa xmm4, xmm3
psrld xmm4, 0x14
pslld xmm3, 0xc
por xmm3, xmm4
movdqa xmm4, xmm2
psrld xmm4, 0x14
pslld xmm2, 0xc
por xmm2, xmm4
paddd xmm0, xmm5
paddd xmm10, xmm9
paddd xmm11, xmm3
paddd xmm8, xmm2
pxor xmm12, xmm0
movdqa xmm4, xmmword [0x14027a520]
pshufb xmm12, xmm4
pxor xmm13, xmm10
pshufb xmm13, xmm4
movdqa xmmword [rsp + 0x40], xmm11
pxor xmm14, xmm11
pshufb xmm14, xmm4
movdqa xmmword [rsp + 0x20], xmm8
pxor xmm15, xmm8
pshufb xmm15, xmm4
paddd xmm1, xmm12
movdqa xmm8, xmmword [rsp + 0x30]
paddd xmm8, xmm13
paddd xmm6, xmm14
paddd xmm7, xmm15
pxor xmm5, xmm1
pxor xmm9, xmm8
pxor xmm3, xmm6
pxor xmm2, xmm7
movdqa xmm4, xmm5
psrld xmm4, 0x19
pslld xmm5, 7
por xmm5, xmm4
movdqa xmm4, xmm9
psrld xmm4, 0x19
pslld xmm9, 7
por xmm9, xmm4
movdqa xmm4, xmm3
psrld xmm4, 0x19
pslld xmm3, 7
por xmm3, xmm4
movdqa xmm4, xmm2
psrld xmm4, 0x19
pslld xmm2, 7
por xmm2, xmm4
pshufd xmm4, xmm5, 0x93
pshufd xmm9, xmm9, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm2, xmm2, 0x93
pshufd xmm1, xmm1, 0x4e
pshufd xmm5, xmm8, 0x4e
pshufd xmm6, xmm6, 0x4e
pshufd xmm7, xmm7, 0x4e
pshufd xmm12, xmm12, 0x39
pshufd xmm13, xmm13, 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
jmp 0x1400c583b
lea r8, [rsp + 0x130]
movdqa xmmword [r8 - 0x40], xmm0
movdqa xmmword [r8 - 0x30], xmm10
movdqa xmm0, xmm5
movaps xmm5, xmmword [rsp + 0x40]
movaps xmmword [r8 - 0x20], xmm5
movaps xmm5, xmmword [rsp + 0x20]
movaps xmmword [r8 - 0x10], xmm5
lea rbx, [rsp + 0x170]
movdqa xmmword [rbx - 0x40], xmm4
movdqa xmmword [rbx - 0x30], xmm9
movdqa xmmword [rbx - 0x20], xmm3
movdqa xmmword [rbx - 0x10], xmm2
lea r11, [rsp + 0x1b0]
movdqa xmmword [r11 - 0x40], xmm1
movdqa xmmword [r11 - 0x30], xmm0
movdqa xmmword [r11 - 0x20], xmm6
movdqa xmmword [r11 - 0x10], xmm7
lea r9, [rsp + 0x1f0]
movdqa xmmword [r9 - 0x40], xmm12
movdqa xmmword [r9 - 0x30], xmm13
movdqa xmmword [r9 - 0x20], xmm14
movdqa xmmword [r9 - 0x10], xmm15
lea rdx, [rsp + 0x230]
movdqa xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rdx - 0x40], xmm0
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmmword [rdx - 0x30], xmm1
movaps xmm1, xmmword [rsp + 0x90]
movaps xmmword [rdx - 0x20], xmm1
movdqa xmm1, xmmword [rsp + 0x80]
movdqa xmmword [rdx - 0x10], xmm1
mov r10d, 4
add rax, r10
pinsrd xmm0, eax, 0
shr rax, 0x20
pinsrd xmm0, eax, 1
movdqa xmmword [rcx + 0x20], xmm0
lea rax, [rsp + 0xf0]
lea rdi, [rsp + 0x230]
mov qword [rdi], rax
mov qword [rdi + 8], r8
lea rax, [rsp + 0x130]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rbx
and qword [rdi + 0x20], 0
mov qword [rdi + 0x28], r10
mov qword [rdi + 0x30], r10
lea rax, [rsp + 0x170]
mov qword [rdi + 0x38], rax
mov qword [rdi + 0x40], r11
and qword [rdi + 0x48], 0
mov qword [rdi + 0x50], r10
mov qword [rdi + 0x58], r10
lea rax, [rsp + 0x1b0]
mov qword [rdi + 0x60], rax
mov qword [rdi + 0x68], r9
and qword [rdi + 0x70], 0
mov qword [rdi + 0x78], r10
mov qword [rdi + 0x80], r10
lea rax, [rsp + 0x1f0]
mov qword [rdi + 0x88], rax
mov qword [rdi + 0x90], rdx
and qword [rdi + 0x98], 0
mov qword [rdi + 0xa0], r10
mov qword [rdi + 0xa8], r10
xor r14d, r14d
lea rbx, [rsp + 0x58]
movdqa xmm6, xmmword [0x14027a510]
movdqa xmm7, xmmword [rsp + 0xd0]
movdqa xmm8, xmmword [rsp + 0xc0]
mov rcx, rbx
mov rdx, rdi
call sym._ZN102__LT_core..iter..adapters..zip..Zip_LT_A_C_B_GT__u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h5f3e727bbd
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1400c5eab
cmp r14, 0x100
je 0x1400c5f10
mov rcx, qword [rsp + 0x78]
movdqa xmm0, xmmword [rcx]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
movdqa xmm1, xmmword [rax]
paddd xmm1, xmm6
movdqa xmm2, xmmword [rdx]
paddd xmm2, xmm7
movdqa xmm3, xmmword [r8]
paddd xmm3, xmm8
paddd xmm0, xmmword [rcx]
movdqu xmmword [rsi + r14], xmm1
movdqu xmmword [rsi + r14 + 0x10], xmm2
movdqu xmmword [rsi + r14 + 0x20], xmm3
movdqu xmmword [rsi + r14 + 0x30], xmm0
add r14, 0x40
jmp 0x1400c5e32
movaps xmm6, xmmword [rsp + 0x2e0]
movaps xmm7, xmmword [rsp + 0x2f0]
movaps xmm8, xmmword [rsp + 0x300]
movaps xmm9, xmmword [rsp + 0x310]
movaps xmm10, xmmword [rsp + 0x320]
movaps xmm11, xmmword [rsp + 0x330]
movaps xmm12, xmmword [rsp + 0x340]
movaps xmm13, xmmword [rsp + 0x350]
movaps xmm14, xmmword [rsp + 0x360]
movaps xmm15, xmmword [rsp + 0x370]
add rsp, 0x388
pop rbx
pop rdi
pop rsi
pop r14
ret
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rand_chacha_0.3.1_src_guts.rs_
call dbg.unwrap_failed
int3