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

Disassembly:
mov rax, qword [rcx + 0x38]
test rax, rax
jle 0x14000c166
cmp qword [rcx + 0x40], 0
js 0x14000c166
add rax, 0xffffffffffffff00
mov qword [rcx + 0x38], rax
jmp 0x14000b64b
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2e0
movaps xmmword [rsp + 0x2d0], xmm15
movaps xmmword [rsp + 0x2c0], xmm14
movaps xmmword [rsp + 0x2b0], xmm13
movaps xmmword [rsp + 0x2a0], xmm12
movaps xmmword [rsp + 0x290], xmm11
movdqa xmmword [rsp + 0x280], xmm10
movdqa xmmword [rsp + 0x270], xmm9
movdqa xmmword [rsp + 0x260], xmm8
movaps xmmword [rsp + 0x250], xmm7
movaps xmmword [rsp + 0x240], xmm6
mov rsi, rdx
mov rdi, rcx
mov ecx, 0xf
call fcn.14000c20f
test al, al
je 0x14000b741
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm13, xmmword [rsp + 0x2b0]
movaps xmm14, xmmword [rsp + 0x2c0]
movaps xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000c65c
call fcn.14000c652
test al, al
je 0x14000b7bf
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm13, xmmword [rsp + 0x2b0]
movaps xmm14, xmmword [rsp + 0x2c0]
movaps xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000cb3f
mov ecx, 0xa
call fcn.14000c20f
test al, al
je 0x14000b842
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm13, xmmword [rsp + 0x2b0]
movaps xmm14, xmmword [rsp + 0x2c0]
movaps xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000d2c3
mov ecx, 9
call fcn.14000c20f
test al, al
je 0x14000b8c5
mov rcx, rdi
mov rdx, rsi
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm13, xmmword [rsp + 0x2b0]
movaps xmm14, xmmword [rsp + 0x2c0]
movaps xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14000db1a
movdqa xmm1, xmmword [rdi]
movdqa xmm3, xmmword [rdi + 0x10]
movdqa xmm5, xmmword [rdi + 0x20]
mov rax, qword [rdi + 0x20]
lea rcx, [rax + 1]
movd xmm2, ecx
shr rcx, 0x20
pshufd xmm0, xmm5, 0xf8
pslldq xmm0, 4
movdqa xmmword [rsp + 0x90], xmm0
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm5, 0xe8
por xmm2, xmm0
lea rcx, [rax + 2]
movd xmm4, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm5, 0xe8
por xmm4, xmm0
lea rcx, [rax + 3]
movd xmm7, ecx
shr rcx, 0x20
movd xmm0, ecx
pslldq xmm0, 8
shufps xmm0, xmm5, 0xe8
por xmm7, xmm0
movdqa xmm0, xmmword [str.expand_32_byte_kexpand_32_byte_kexpand_32_byte_k]
mov ecx, 6
movdqa xmmword [rsp + 0x80], xmm7
movdqa xmmword [rsp + 0xa0], xmm4
movdqa xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xc0], xmm5
movdqa xmm14, xmm3
movdqa xmm15, xmm3
movdqa xmm12, xmm3
movdqa xmmword [rsp + 0xd0], xmm3
movdqa xmm13, xmm3
movdqa xmm11, xmm1
movdqa xmm6, xmm1
movdqa xmm3, xmm1
movdqa xmmword [rsp + 0xe0], xmm1
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmmword [rsp + 0x60], xmm0
sub ecx, 1
jb 0x14000bea2
movdqa xmmword [rsp + 0x40], xmm13
movdqa xmm0, xmmword [rsp + 0x60]
paddd xmm0, xmm1
movdqa xmm10, xmm0
movdqa xmm0, xmmword [rsp + 0x50]
paddd xmm0, xmm3
movdqa xmm9, xmmword [rsp + 0x30]
paddd xmm9, xmm6
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmm13, xmm15
movdqa xmm8, xmmword [rsp + 0x20]
paddd xmm8, xmm11
movdqa xmmword [rsp + 0x20], xmm8
pxor xmm5, xmm10
pxor xmm2, xmm0
movdqa xmm15, xmm0
pxor xmm4, xmm9
pxor xmm7, xmm8
pshuflw xmm0, xmm5, 0xb1
pshufhw xmm8, xmm0, 0xb1
pshuflw xmm2, xmm2, 0xb1
pshufhw xmm2, xmm2, 0xb1
pshuflw xmm4, xmm4, 0xb1
pshufhw xmm4, xmm4, 0xb1
pshuflw xmm5, xmm7, 0xb1
pshufhw xmm7, xmm5, 0xb1
movdqa xmm9, xmmword [rsp + 0x40]
paddd xmm9, xmm8
paddd xmm12, xmm2
paddd xmm13, xmm4
paddd xmm14, xmm7
pxor xmm1, xmm9
movdqa xmm5, xmm1
psrld xmm5, 0x14
pslld xmm1, 0xc
por xmm1, xmm5
pxor xmm3, xmm12
movdqa xmm5, xmm3
psrld xmm5, 0x14
pslld xmm3, 0xc
por xmm3, xmm5
pxor xmm6, xmm13
movdqa xmm5, xmm6
psrld xmm5, 0x14
pslld xmm6, 0xc
por xmm6, xmm5
pxor xmm11, xmm14
movdqa xmm5, xmm11
psrld xmm5, 0x14
pslld xmm11, 0xc
por xmm11, xmm5
movdqa xmm5, xmm10
paddd xmm5, xmm1
movdqa xmmword [rsp + 0x60], xmm5
movdqa xmm0, xmm15
paddd xmm0, xmm3
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmm15, xmmword [rsp + 0x30]
paddd xmm15, xmm6
movdqa xmmword [rsp + 0x30], xmm15
movdqa xmm10, xmmword [rsp + 0x20]
paddd xmm10, xmm11
pxor xmm8, xmm5
movdqa xmm5, xmm8
psrld xmm5, 0x18
pslld xmm8, 8
por xmm8, xmm5
pxor xmm2, xmm0
movdqa xmm5, xmm2
psrld xmm5, 0x18
pslld xmm2, 8
por xmm2, xmm5
pxor xmm4, xmm15
movdqa xmm5, xmm4
psrld xmm5, 0x18
pslld xmm4, 8
por xmm4, xmm5
pxor xmm7, xmm10
movdqa xmm5, xmm7
psrld xmm5, 0x18
pslld xmm7, 8
por xmm7, xmm5
paddd xmm9, xmm8
paddd xmm12, xmm2
paddd xmm13, xmm4
paddd xmm14, xmm7
pxor xmm1, xmm9
pxor xmm3, xmm12
pxor xmm6, xmm13
pxor xmm11, xmm14
movdqa xmm5, xmm1
psrld xmm5, 0x19
pslld xmm1, 7
por xmm1, xmm5
movdqa xmm5, xmm3
psrld xmm5, 0x19
pslld xmm3, 7
por xmm3, xmm5
movdqa xmm5, xmm6
psrld xmm5, 0x19
pslld xmm6, 7
por xmm6, xmm5
movdqa xmm5, xmm11
psrld xmm5, 0x19
pslld xmm11, 7
por xmm11, xmm5
pshufd xmm1, xmm1, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm6, xmm6, 0x39
pshufd xmm15, xmm11, 0x39
pshufd xmm0, xmm9, 0x4e
movdqa xmmword [rsp + 0xf0], xmm0
pshufd xmm12, xmm12, 0x4e
pshufd xmm0, xmm13, 0x4e
movdqa xmmword [rsp + 0x20], xmm0
pshufd xmm0, xmm14, 0x4e
movdqa xmmword [rsp + 0x40], xmm0
pshufd xmm0, xmm8, 0x93
pshufd xmm5, xmm2, 0x93
movdqa xmm8, xmm10
movdqa xmm9, xmmword [rsp + 0x30]
movdqa xmm10, xmmword [rsp + 0x50]
pshufd xmm13, xmm4, 0x93
pshufd xmm7, xmm7, 0x93
movdqa xmm11, xmmword [rsp + 0x60]
paddd xmm11, xmm1
paddd xmm10, xmm3
paddd xmm9, xmm6
paddd xmm8, xmm15
pshuflw xmm2, xmm11, 0xb1
pshufhw xmm4, xmm2, 0xb1
pshuflw xmm0, xmm0, 0xb1
pshufhw xmm2, xmm0, 0xb1
pxor xmm2, xmm4
pshuflw xmm0, xmm10, 0xb1
pshufhw xmm0, xmm0, 0xb1
pshuflw xmm4, xmm5, 0xb1
pshufhw xmm4, xmm4, 0xb1
pxor xmm4, xmm0
pshuflw xmm0, xmm9, 0xb1
pshufhw xmm5, xmm0, 0xb1
pshuflw xmm0, xmm13, 0xb1
pshufhw xmm0, xmm0, 0xb1
pxor xmm0, xmm5
pshuflw xmm5, xmm8, 0xb1
pshufhw xmm5, xmm5, 0xb1
pshuflw xmm7, xmm7, 0xb1
pshufhw xmm7, xmm7, 0xb1
pxor xmm7, xmm5
movdqa xmm13, xmmword [rsp + 0xf0]
paddd xmm13, xmm2
paddd xmm12, xmm4
movdqa xmm14, xmmword [rsp + 0x20]
paddd xmm14, xmm0
movdqa xmm5, xmmword [rsp + 0x40]
paddd xmm5, xmm7
movdqa xmmword [rsp + 0x40], xmm5
pxor xmm1, xmm13
pxor xmm3, xmm12
pxor xmm6, xmm14
pxor xmm15, xmm5
movdqa xmm5, xmm1
psrld xmm5, 0x14
pslld xmm1, 0xc
por xmm1, xmm5
movdqa xmm5, xmm3
psrld xmm5, 0x14
pslld xmm3, 0xc
por xmm3, xmm5
movdqa xmm5, xmm6
psrld xmm5, 0x14
pslld xmm6, 0xc
por xmm6, xmm5
movdqa xmm5, xmm15
psrld xmm5, 0x14
pslld xmm15, 0xc
por xmm15, xmm5
paddd xmm11, xmm1
paddd xmm10, xmm3
paddd xmm9, xmm6
paddd xmm8, xmm15
movdqa xmmword [rsp + 0x60], xmm11
pxor xmm2, xmm11
movdqa xmm5, xmm2
psrld xmm5, 0x18
pslld xmm2, 8
por xmm2, xmm5
movdqa xmmword [rsp + 0x50], xmm10
pxor xmm4, xmm10
movdqa xmm5, xmm4
psrld xmm5, 0x18
pslld xmm4, 8
por xmm4, xmm5
movdqa xmmword [rsp + 0x30], xmm9
pxor xmm0, xmm9
movdqa xmm5, xmm0
psrld xmm5, 0x18
pslld xmm0, 8
por xmm0, xmm5
movdqa xmmword [rsp + 0x20], xmm8
pxor xmm7, xmm8
movdqa xmm5, xmm7
psrld xmm5, 0x18
pslld xmm7, 8
por xmm7, xmm5
paddd xmm13, xmm2
paddd xmm12, xmm4
paddd xmm14, xmm0
movdqa xmm5, xmmword [rsp + 0x40]
paddd xmm5, xmm7
pxor xmm1, xmm13
pxor xmm3, xmm12
pxor xmm6, xmm14
pxor xmm15, xmm5
movdqa xmm9, xmm5
movdqa xmm5, xmm1
psrld xmm5, 0x19
pslld xmm1, 7
por xmm1, xmm5
movdqa xmm5, xmm3
psrld xmm5, 0x19
pslld xmm3, 7
por xmm3, xmm5
movdqa xmm5, xmm6
psrld xmm5, 0x19
pslld xmm6, 7
por xmm6, xmm5
movdqa xmm5, xmm15
psrld xmm5, 0x19
pslld xmm15, 7
por xmm15, xmm5
pshufd xmm1, xmm1, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm6, xmm6, 0x93
pshufd xmm11, xmm15, 0x93
pshufd xmm13, xmm13, 0x4e
pshufd xmm12, xmm12, 0x4e
pshufd xmm15, xmm14, 0x4e
pshufd xmm14, xmm9, 0x4e
pshufd xmm5, xmm2, 0x39
pshufd xmm2, xmm4, 0x39
pshufd xmm4, xmm0, 0x39
pshufd xmm7, xmm7, 0x39
jmp 0x14000b9bc
add rax, 4
mov rcx, rax
shr rcx, 0x20
movd xmm9, ecx
por xmm9, xmmword [rsp + 0x90]
movdqa xmm0, xmm9
pslldq xmm0, 8
shufps xmm0, xmm9, 0xe8
movd xmm9, eax
por xmm9, xmm0
lea rdx, [rsp + 0x140]
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rdx - 0x40], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rdx - 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rdx - 0x20], xmm0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rdx - 0x10], xmm0
lea r12, [rsp + 0x180]
movdqa xmmword [r12 - 0x40], xmm1
movdqa xmmword [r12 - 0x30], xmm3
movdqa xmmword [r12 - 0x20], xmm6
movdqa xmmword [r12 - 0x10], xmm11
lea r15, [rsp + 0x1c0]
movdqa xmmword [r15 - 0x40], xmm13
movdqa xmmword [r15 - 0x30], xmm12
movdqa xmmword [r15 - 0x20], xmm15
movdqa xmmword [r15 - 0x10], xmm14
lea r14, [rsp + 0x200]
movaps xmmword [r14 - 0x40], xmm5
movdqa xmmword [r14 - 0x30], xmm2
movdqa xmmword [r14 - 0x20], xmm4
movdqa xmmword [r14 - 0x10], xmm7
lea rbx, [rsp + 0x240]
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rbx - 0x40], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rbx - 0x30], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rbx - 0x20], xmm0
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rbx - 0x10], xmm0
movdqa xmmword [rdi + 0x20], xmm9
lea rcx, [rsp + 0x100]
call fcn.14000e716
mov r13, rax
lea rcx, [rsp + 0x140]
mov rdx, r12
call fcn.14000e716
mov rdi, rax
cmp r13, rax
cmovb rdi, r13
lea rcx, [rsp + 0x180]
mov rdx, r15
call fcn.14000e716
cmp rdi, rax
cmovae rdi, rax
lea rcx, [rsp + 0x1c0]
mov rdx, r14
call fcn.14000e716
cmp rdi, rax
cmovae rdi, rax
lea rcx, [rsp + 0x200]
mov rdx, rbx
call fcn.14000e716
cmp rdi, rax
cmovae rdi, rax
xor r15d, r15d
movdqa xmm6, xmmword [str.expand_32_byte_kexpand_32_byte_kexpand_32_byte_k]
lea rbx, [rsp + 0x70]
xor r12d, r12d
movdqa xmm10, xmmword [rsp + 0xe0]
movdqa xmm11, xmmword [rsp + 0xd0]
sub rdi, 1
jb 0x14000c0ee
cmp r12, 0x100
je 0x14000c159
lea r14, [rsi + r12]
movdqa xmm7, xmmword [rsp + r15 + 0x1c0]
movdqa xmm0, xmmword [rsp + r15 + 0x100]
paddd xmm0, xmm6
movdqa xmm8, xmmword [rsp + r15 + 0x140]
paddd xmm8, xmm10
movdqa xmm9, xmmword [rsp + r15 + 0x180]
paddd xmm9, xmm11
paddd xmm7, xmmword [rsp + r15 + 0x200]
movdqa xmmword [rsp + 0x70], xmm0
mov rcx, r14
mov rdx, rbx
call fcn.14000daee
movdqa xmmword [rsp + 0x70], xmm8
lea rcx, [r14 + 0x10]
mov rdx, rbx
call fcn.14000daee
movdqa xmmword [rsp + 0x70], xmm9
lea rcx, [r14 + 0x20]
mov rdx, rbx
call fcn.14000daee
movdqa xmmword [rsp + 0x70], xmm7
add r14, 0x30
mov rcx, r14
mov rdx, rbx
call fcn.14000daee
add r12, 0x40
add r15, 0x10
jmp 0x14000c03a
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm13, xmmword [rsp + 0x2b0]
movaps xmm14, xmmword [rsp + 0x2c0]
movaps xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
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
push rsi
push rdi
push rbx
sub rsp, 0xa0
mov rsi, rdx
mov rdi, rcx
xorps xmm0, xmm0
lea rcx, [rsp + 0x20]
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call fcn.14000e79e
test rax, rax
je 0x14000c19e
mov edx, 4
mov rcx, rax
call fcn.1400014a0
jmp 0x14000c1d7
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
lea rdx, [rsp + 0x40]
movaps xmmword [rdx + 0x10], xmm1
movaps xmmword [rdx], xmm0
lea rbx, [rsp + 0x70]
mov rcx, rbx
call fcn.14000b2c3
movaps xmm0, xmmword [rbx]
movaps xmm1, xmmword [rbx + 0x10]
movaps xmm2, xmmword [rbx + 0x20]
movaps xmmword [rdi + 0x20], xmm2
movaps xmmword [rdi + 0x10], xmm1
movaps xmmword [rdi], xmm0
and qword [rdi + 0x40], 0
mov rax, 0xffffffffffffff00
add rax, qword [rdi + 0x30]
jo 0x14000c202
mov qword [rdi + 0x38], rax
mov rcx, rdi
mov rdx, rsi
add rsp, 0xa0
pop rbx
pop rdi
pop rsi
jmp 0x14000b64b
lea rcx, [0x1401be380]
call fcn.140008220
int3
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2e0
movaps xmmword [rsp + 0x2d0], xmm15
movaps xmmword [rsp + 0x2c0], xmm14
movaps xmmword [rsp + 0x2b0], xmm13
movaps xmmword [rsp + 0x2a0], xmm12
movaps xmmword [rsp + 0x290], xmm11
movaps xmmword [rsp + 0x280], xmm10
movdqa xmmword [rsp + 0x270], xmm9
movdqa xmmword [rsp + 0x260], xmm8
movaps xmmword [rsp + 0x250], xmm7
movaps xmmword [rsp + 0x240], xmm6
mov rsi, rdx
movdqa xmm5, xmmword [rcx]
movdqa xmm2, xmmword [rcx + 0x10]
movdqa xmm13, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea rdx, [rax + 1]
movd xmm14, edx
shr rdx, 0x20
movdqa xmm3, xmm13
pslldq xmm3, 8
shufps xmm3, xmm13, 0xe8
movd xmm0, edx
por xmm0, xmm3
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm14, xmm1
lea rdx, [rax + 2]
movd xmm15, edx
shr rdx, 0x20
movd xmm0, edx
por xmm0, xmm3
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm15, xmm1
lea rdx, [rax + 3]
movd xmm4, edx
shr rdx, 0x20
movd xmm0, edx
movaps xmmword [rsp + 0x90], xmm3
por xmm0, xmm3
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm4, xmm1
movdqa xmm10, xmmword [0x14004d2e0]
mov edx, 6
movdqa xmmword [rsp + 0x80], xmm4
movdqa xmm0, xmm4
movdqa xmmword [rsp + 0xa0], xmm15
movdqa xmmword [rsp + 0xb0], xmm14
movaps xmmword [rsp + 0xc0], xmm13
movdqa xmm7, xmm2
movdqa xmm6, xmm2
movdqa xmm11, xmm2
movdqa xmmword [rsp + 0xd0], xmm2
movdqa xmm4, xmm5
movdqa xmm3, xmm5
movdqa xmm12, xmm5
movdqa xmmword [rsp + 0xe0], xmm5
movdqa xmmword [rsp + 0x20], xmm10
movdqa xmmword [rsp + 0x70], xmm10
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmmword [rsp + 0x60], xmm10
sub edx, 1
jb 0x14000e123
movdqa xmm1, xmmword [rsp + 0x60]
paddd xmm1, xmm5
movdqa xmm10, xmmword [rsp + 0x70]
paddd xmm10, xmm12
movdqa xmm9, xmmword [rsp + 0x20]
paddd xmm9, xmm3
movdqa xmm8, xmmword [rsp + 0x30]
paddd xmm8, xmm4
movdqa xmmword [rsp + 0x30], xmm8
pxor xmm13, xmm1
pxor xmm14, xmm10
pxor xmm15, xmm9
pxor xmm0, xmm8
pshuflw xmm13, xmm13, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pshuflw xmm15, xmm15, 0xb1
pshufhw xmm15, xmm15, 0xb1
pshuflw xmm0, xmm0, 0xb1
pshufhw xmm8, xmm0, 0xb1
paddd xmm2, xmm13
paddd xmm11, xmm14
movdqa xmm0, xmm6
paddd xmm0, xmm15
movdqa xmm6, xmm7
paddd xmm6, xmm8
pxor xmm5, xmm2
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmm7, xmm11
movdqa xmmword [rsp + 0x20], xmm11
movdqa xmm11, xmm5
psrld xmm11, 0x14
pslld xmm5, 0xc
por xmm5, xmm11
pxor xmm12, xmm7
movdqa xmm11, xmm12
psrld xmm11, 0x14
pslld xmm12, 0xc
por xmm12, xmm11
pxor xmm3, xmm0
movdqa xmm11, xmm3
psrld xmm11, 0x14
pslld xmm3, 0xc
por xmm3, xmm11
pxor xmm4, xmm6
movdqa xmm11, xmm4
psrld xmm11, 0x14
pslld xmm4, 0xc
por xmm4, xmm11
paddd xmm1, xmm5
paddd xmm10, xmm12
paddd xmm9, xmm3
movdqa xmm0, xmmword [rsp + 0x30]
paddd xmm0, xmm4
movdqa xmm11, xmm1
movdqa xmm7, xmmword [0x14004d2f0]
pshufb xmm11, xmm7
pshufb xmm13, xmm7
pxor xmm13, xmm11
movdqa xmm11, xmm10
pshufb xmm11, xmm7
pshufb xmm14, xmm7
pxor xmm14, xmm11
movdqa xmm11, xmm9
pshufb xmm11, xmm7
pshufb xmm15, xmm7
pxor xmm15, xmm11
movdqa xmm11, xmm0
pshufb xmm11, xmm7
pshufb xmm8, xmm7
pxor xmm8, xmm11
paddd xmm2, xmm13
movdqa xmm11, xmmword [rsp + 0x20]
paddd xmm11, xmm14
movdqa xmmword [rsp + 0x20], xmm11
movdqa xmm7, xmmword [rsp + 0x50]
paddd xmm7, xmm15
paddd xmm6, xmm8
pxor xmm5, xmm2
pxor xmm12, xmm11
pxor xmm3, xmm7
pxor xmm4, xmm6
movdqa xmm11, xmm5
psrld xmm11, 0x19
pslld xmm5, 7
por xmm5, xmm11
movdqa xmm11, xmm12
psrld xmm11, 0x19
pslld xmm12, 7
por xmm12, xmm11
movdqa xmm11, xmm3
psrld xmm11, 0x19
pslld xmm3, 7
por xmm3, xmm11
movdqa xmm11, xmm4
psrld xmm11, 0x19
pslld xmm4, 7
por xmm4, xmm11
pshufd xmm11, xmm5, 0x39
pshufd xmm12, xmm12, 0x39
pshufd xmm3, xmm3, 0x39
pshufd xmm4, xmm4, 0x39
pshufd xmm2, xmm2, 0x4e
movdqa xmmword [rsp + 0x50], xmm2
pshufd xmm2, xmmword [rsp + 0x20], 0x4e
movdqa xmmword [rsp + 0x20], xmm2
pshufd xmm2, xmm7, 0x4e
movdqa xmmword [rsp + 0x30], xmm2
pshufd xmm7, xmm6, 0x4e
paddd xmm1, xmm11
paddd xmm10, xmm12
paddd xmm9, xmm3
paddd xmm0, xmm4
pshuflw xmm5, xmm1, 0xb1
pshufhw xmm5, xmm5, 0xb1
movdqa xmm2, xmmword [0x14004d300]
pshufb xmm13, xmm2
pxor xmm13, xmm5
pshuflw xmm5, xmm10, 0xb1
pshufhw xmm5, xmm5, 0xb1
pshufb xmm14, xmm2
pxor xmm14, xmm5
pshuflw xmm5, xmm9, 0xb1
pshufhw xmm5, xmm5, 0xb1
pshufb xmm15, xmm2
pxor xmm15, xmm5
pshuflw xmm5, xmm0, 0xb1
pshufhw xmm5, xmm5, 0xb1
pshufb xmm8, xmm2
pxor xmm8, xmm5
movdqa xmm5, xmmword [rsp + 0x50]
paddd xmm5, xmm13
movdqa xmmword [rsp + 0x50], xmm5
movdqa xmm6, xmmword [rsp + 0x20]
paddd xmm6, xmm14
movdqa xmm2, xmmword [rsp + 0x30]
paddd xmm2, xmm15
paddd xmm7, xmm8
pxor xmm11, xmm5
pxor xmm12, xmm6
pxor xmm3, xmm2
pxor xmm4, xmm7
movdqa xmm5, xmm11
psrld xmm5, 0x14
pslld xmm11, 0xc
por xmm11, xmm5
movdqa xmm5, xmm12
psrld xmm5, 0x14
pslld xmm12, 0xc
por xmm12, xmm5
movdqa xmm5, xmm3
psrld xmm5, 0x14
pslld xmm3, 0xc
por xmm3, xmm5
movdqa xmm5, xmm4
psrld xmm5, 0x14
pslld xmm4, 0xc
por xmm4, xmm5
paddd xmm1, xmm11
paddd xmm10, xmm12
paddd xmm9, xmm3
paddd xmm0, xmm4
movdqa xmmword [rsp + 0x60], xmm1
pxor xmm13, xmm1
movdqa xmm1, xmmword [0x14004d2f0]
pshufb xmm13, xmm1
movdqa xmmword [rsp + 0x70], xmm10
pxor xmm14, xmm10
pshufb xmm14, xmm1
movdqa xmmword [rsp + 0x20], xmm9
pxor xmm15, xmm9
pshufb xmm15, xmm1
movdqa xmmword [rsp + 0x30], xmm0
pxor xmm8, xmm0
pshufb xmm8, xmm1
movdqa xmm1, xmmword [rsp + 0x50]
paddd xmm1, xmm13
paddd xmm6, xmm14
paddd xmm2, xmm15
paddd xmm7, xmm8
pxor xmm11, xmm1
pxor xmm12, xmm6
pxor xmm3, xmm2
movdqa xmm0, xmm2
pxor xmm4, xmm7
movdqa xmm5, xmm11
psrld xmm5, 0x19
pslld xmm11, 7
por xmm11, xmm5
movdqa xmm5, xmm12
psrld xmm5, 0x19
pslld xmm12, 7
por xmm12, xmm5
movdqa xmm5, xmm3
psrld xmm5, 0x19
pslld xmm3, 7
por xmm3, xmm5
movdqa xmm5, xmm4
psrld xmm5, 0x19
pslld xmm4, 7
por xmm4, xmm5
pshufd xmm5, xmm11, 0x93
pshufd xmm12, xmm12, 0x93
pshufd xmm3, xmm3, 0x93
pshufd xmm4, xmm4, 0x93
pshufd xmm2, xmm1, 0x4e
pshufd xmm11, xmm6, 0x4e
pshufd xmm6, xmm0, 0x4e
pshufd xmm7, xmm7, 0x4e
pshufd xmm13, xmm13, 0x39
pshufd xmm14, xmm14, 0x39
pshufd xmm15, xmm15, 0x39
pshufd xmm0, xmm8, 0x39
jmp 0x14000dca6
add rax, 4
mov rdx, rax
shr rdx, 0x20
movd xmm1, edx
por xmm1, xmmword [rsp + 0x90]
movdqa xmm8, xmm1
pslldq xmm8, 8
shufps xmm8, xmm1, 0xe8
movd xmm9, eax
por xmm9, xmm8
lea rax, [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmmword [rax - 0x40], xmm1
movaps xmm8, xmmword [rsp + 0x70]
movaps xmmword [rax - 0x30], xmm8
movaps xmm8, xmmword [rsp + 0x20]
movaps xmmword [rax - 0x20], xmm8
movdqa xmm8, xmmword [rsp + 0x30]
movdqa xmmword [rax - 0x10], xmm8
lea rdx, [rsp + 0x180]
movdqa xmmword [rdx - 0x40], xmm5
movdqa xmmword [rdx - 0x30], xmm12
movdqa xmmword [rdx - 0x20], xmm3
movdqa xmmword [rdx - 0x10], xmm4
lea r13, [rsp + 0x1c0]
movdqa xmmword [r13 - 0x40], xmm2
movdqa xmmword [r13 - 0x30], xmm11
movdqa xmmword [r13 - 0x20], xmm6
movdqa xmmword [r13 - 0x10], xmm7
lea r12, [rsp + 0x200]
movaps xmmword [r12 - 0x40], xmm13
movdqa xmmword [r12 - 0x30], xmm14
movdqa xmmword [r12 - 0x20], xmm15
movdqa xmmword [r12 - 0x10], xmm0
lea r15, [rsp + 0x240]
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [r15 - 0x40], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [r15 - 0x30], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [r15 - 0x20], xmm0
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmmword [r15 - 0x10], xmm0
movdqa xmmword [rcx + 0x20], xmm9
lea r8, [rsp + 0x100]
lea rcx, [rsp + 0xf0]
mov qword [rcx], r8
mov qword [rcx + 8], rax
lea rdi, [rsp + 0x40]
mov qword [rdi], rax
mov qword [rdi + 8], rdx
call fcn.14000e6ed
mov r14, rax
mov rcx, rdi
call fcn.14000e6ed
mov rbx, rax
cmp r14, rax
cmovb rbx, r14
lea rax, [rsp + 0x180]
mov qword [rdi], rax
mov qword [rdi + 8], r13
lea r14, [rsp + 0x40]
mov rcx, r14
call fcn.14000e6ed
cmp rbx, rax
cmovae rbx, rax
lea rax, [rsp + 0x1c0]
mov qword [r14], rax
mov qword [r14 + 8], r12
lea r14, [rsp + 0x40]
mov rcx, r14
call fcn.14000e6ed
cmp rbx, rax
cmovae rbx, rax
lea rax, [rsp + 0x200]
mov qword [r14], rax
mov qword [r14 + 8], r15
lea rcx, [rsp + 0x40]
call fcn.14000e6ed
cmp rbx, rax
cmovae rbx, rax
shl rbx, 2
xor r15d, r15d
movdqa xmm6, xmmword [0x14004d2e0]
xor r12d, r12d
movdqa xmm10, xmmword [rsp + 0xe0]
movdqa xmm11, xmmword [rsp + 0xd0]
cmp rbx, r15
je 0x14000e3a9
cmp r12, 0x100
je 0x14000e414
lea r14, [rsi + r12]
movdqa xmm7, xmmword [rsp + r15*4 + 0x200]
movdqa xmm0, xmmword [rsp + r15*4 + 0x100]
paddd xmm0, xmm6
movdqa xmm8, xmmword [rsp + r15*4 + 0x140]
paddd xmm8, xmm10
movdqa xmm9, xmmword [rsp + r15*4 + 0x180]
paddd xmm9, xmm11
paddd xmm7, xmmword [rsp + r15*4 + 0x1c0]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, r14
mov rdx, rdi
call fcn.14000daee
movdqa xmmword [rsp + 0x40], xmm8
lea rcx, [r14 + 0x10]
mov rdx, rdi
call fcn.14000daee
movdqa xmmword [rsp + 0x40], xmm9
lea rcx, [r14 + 0x20]
mov rdx, rdi
call fcn.14000daee
movdqa xmmword [rsp + 0x40], xmm7
add r14, 0x30
mov rcx, r14
mov rdx, rdi
call fcn.14000daee
add r12, 0x40
add r15, 4
jmp 0x14000e2f6
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
movaps xmm8, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm10, xmmword [rsp + 0x280]
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm12, xmmword [rsp + 0x2a0]
movaps xmm13, xmmword [rsp + 0x2b0]
movaps xmm14, xmmword [rsp + 0x2c0]
movaps xmm15, xmmword [rsp + 0x2d0]
add rsp, 0x2e0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
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