Function at 0x140021841
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, 0x458
lea rbp, [rsp + 0x80]
vmovdqa xmmword [rbp + 0x3c0], xmm15
vmovaps xmmword [rbp + 0x3b0], xmm14
vmovaps xmmword [rbp + 0x3a0], xmm13
vmovaps xmmword [rbp + 0x390], xmm12
vmovaps xmmword [rbp + 0x380], xmm11
vmovaps xmmword [rbp + 0x370], xmm10
vmovdqa xmmword [rbp + 0x360], xmm9
vmovaps xmmword [rbp + 0x350], xmm8
vmovaps xmmword [rbp + 0x340], xmm7
vmovaps xmmword [rbp + 0x330], xmm6
and rsp, 0xffffffffffffffe0
mov r14, rdx
mov r12, rcx
vmovdqa xmm10, xmmword [rcx]
vmovdqa xmm1, xmmword [rcx + 0x20]
mov rsi, qword [rcx + 0x20]
lea rax, [rsi + 1]
vpinsrd xmm0, xmm1, eax, 0
shr rax, 0x20
vpinsrd xmm2, xmm0, eax, 1
vmovdqa xmm7, xmmword [rcx + 0x10]
lea rax, [rsi + 2]
vpinsrd xmm0, xmm1, eax, 0
shr rax, 0x20
vpinsrd xmm3, xmm0, eax, 1
lea rax, [rsi + 3]
vpinsrd xmm0, xmm1, eax, 0
shr rax, 0x20
vpinsrd xmm0, xmm0, eax, 1
lea rdx, [rsp + 0x150]
vmovdqa xmmword [rsp + 0xd0], xmm1
vmovdqa xmmword [rdx], xmm1
vmovdqa xmmword [rsp + 0xc0], xmm2
vmovdqa xmmword [rdx + 0x10], xmm2
vmovdqa xmmword [rsp + 0xb0], xmm3
vmovdqa xmmword [rdx + 0x20], xmm3
vmovdqa xmmword [rsp + 0xa0], xmm0
vmovdqa xmmword [rdx + 0x30], xmm0
lea rdi, [rsp + 0x200]
mov rcx, rdi
call fcn.1400235ba
vmovdqa xmm8, xmmword [rdi]
vmovdqa xmm2, xmmword [rdi + 0x10]
vmovdqa xmm14, xmmword [rdi + 0x20]
vmovdqa xmm6, xmmword [rdi + 0x30]
vmovaps xmm1, xmmword [str.expand_32_byte_kexpand_32_byte_kexpand_32_byte_k]
push 6
pop rax
vmovdqa xmm13, xmm10
vmovdqa xmm11, xmm10
vmovdqa xmm3, xmm10
vmovaps xmmword [rsp + 0x40], xmm1
vmovaps xmmword [rsp + 0x30], xmm1
vmovaps xmmword [rsp + 0x50], xmm1
vmovaps xmmword [rsp + 0x20], xmm1
vmovdqa xmm1, xmm7
vmovdqa xmm0, xmm7
vmovdqa xmm5, xmm7
vmovdqa xmm12, xmm7
sub eax, 1
jb 0x140021d76
vpaddd xmm7, xmm10, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm7
vpxor xmm4, xmm8, xmm7
vpshuflw xmm4, xmm4, 0xb1
vmovdqa xmm15, xmm0
vmovdqa xmm8, xmm5
vpshufhw xmm9, xmm4, 0xb1
vpaddd xmm0, xmm9, xmm1
vmovdqa xmmword [rsp + 0x60], xmm0
vpxor xmm1, xmm10, xmm0
vpsrld xmm0, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm7, xmm1, xmm0
vpaddd xmm4, xmm13, xmmword [rsp + 0x30]
vpxor xmm1, xmm2, xmm4
vpshuflw xmm1, xmm1, 0xb1
vmovdqa xmm10, xmm12
vmovdqa xmm5, xmm6
vpshufhw xmm6, xmm1, 0xb1
vpaddd xmm0, xmm15, xmm6
vmovdqa xmmword [rsp + 0x30], xmm0
vpxor xmm2, xmm13, xmm0
vpsrld xmm0, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm12, xmm2, xmm0
vpaddd xmm13, xmm11, xmmword [rsp + 0x40]
vpxor xmm0, xmm14, xmm13
vpshuflw xmm0, xmm0, 0xb1
vpshufhw xmm15, xmm0, 0xb1
vpaddd xmm14, xmm15, xmm8
vpxor xmm0, xmm14, xmm11
vpsrld xmm2, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm8, xmm0, xmm2
vpaddd xmm0, xmm3, xmmword [rsp + 0x50]
vpxor xmm2, xmm5, xmm0
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm1, xmm2, 0xb1
vpaddd xmm10, xmm10, xmm1
vpxor xmm11, xmm10, xmm3
vpsrld xmm2, xmm11, 0x14
vpslld xmm5, xmm11, 0xc
vpor xmm5, xmm5, xmm2
vpaddd xmm2, xmm7, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x50], xmm2
vmovdqa xmm11, xmmword [0x1400416e0]
vpshufb xmm9, xmm9, xmm11
vpshufb xmm2, xmm2, xmm11
vpxor xmm9, xmm9, xmm2
vpaddd xmm3, xmm12, xmm4
vpshufb xmm2, xmm6, xmm11
vpshufb xmm6, xmm3, xmm11
vpxor xmm4, xmm6, xmm2
vmovdqa xmmword [rsp + 0x40], xmm4
vpaddd xmm13, xmm8, xmm13
vpshufb xmm2, xmm15, xmm11
vpshufb xmm6, xmm13, xmm11
vpxor xmm15, xmm6, xmm2
vpaddd xmm0, xmm5, xmm0
vmovdqa xmmword [rsp + 0x20], xmm0
vpshufb xmm1, xmm1, xmm11
vpshufb xmm2, xmm0, xmm11
vpxor xmm1, xmm2, xmm1
vmovdqa xmmword [rsp + 0xf0], xmm1
vpaddd xmm0, xmm9, xmmword [rsp + 0x60]
vmovdqa xmmword [rsp + 0x100], xmm0
vpxor xmm2, xmm0, xmm7
vpsrld xmm6, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm2, xmm2, xmm6
vpaddd xmm0, xmm4, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x30], xmm0
vpxor xmm6, xmm12, xmm0
vpsrld xmm7, xmm6, 0x19
vpslld xmm6, xmm6, 7
vpor xmm6, xmm6, xmm7
vpaddd xmm14, xmm14, xmm15
vpxor xmm4, xmm14, xmm8
vpsrld xmm7, xmm4, 0x19
vpslld xmm4, xmm4, 7
vpor xmm8, xmm4, xmm7
vpaddd xmm12, xmm10, xmm1
vpxor xmm5, xmm12, xmm5
vpsrld xmm7, xmm5, 0x19
vpslld xmm5, xmm5, 7
vpor xmm0, xmm5, xmm7
vmovdqa xmmword [rsp + 0x60], xmm0
vpshufd xmm5, xmm2, 0x39
vpaddd xmm10, xmm5, xmmword [rsp + 0x50]
vpshuflw xmm7, xmm10, 0xb1
vpshufhw xmm7, xmm7, 0xb1
vmovdqa xmm1, xmmword [0x1400416f0]
vpshufb xmm4, xmm9, xmm1
vpxor xmm7, xmm4, xmm7
vpshufd xmm9, xmm6, 0x39
vpaddd xmm0, xmm9, xmm3
vmovdqa xmmword [rsp + 0x50], xmm0
vpshuflw xmm3, xmm0, 0xb1
vpshufhw xmm3, xmm3, 0xb1
vmovdqa xmm0, xmmword [rsp + 0x40]
vpshufb xmm6, xmm0, xmm1
vpxor xmm4, xmm6, xmm3
vmovdqa xmmword [rsp + 0xe0], xmm4
vpshufd xmm3, xmm8, 0x39
vpaddd xmm0, xmm13, xmm3
vmovdqa xmmword [rsp + 0x40], xmm0
vpshuflw xmm6, xmm0, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vpshufb xmm0, xmm15, xmm1
vpxor xmm13, xmm0, xmm6
vpshufd xmm6, xmmword [rsp + 0x60], 0x39
vpaddd xmm0, xmm6, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x60], xmm0
vpshuflw xmm0, xmm0, 0xb1
vpshufhw xmm0, xmm0, 0xb1
vmovdqa xmm2, xmmword [rsp + 0xf0]
vpshufb xmm1, xmm2, xmm1
vpxor xmm15, xmm1, xmm0
vpshufd xmm0, xmmword [rsp + 0x100], 0x4e
vpaddd xmm8, xmm0, xmm7
vpxor xmm0, xmm8, xmm5
vpsrld xmm1, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm5, xmm0, xmm1
vpshufd xmm0, xmmword [rsp + 0x30], 0x4e
vpaddd xmm0, xmm0, xmm4
vpxor xmm1, xmm9, xmm0
vpsrld xmm4, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm4, xmm1, xmm4
vpshufd xmm1, xmm14, 0x4e
vpaddd xmm14, xmm13, xmm1
vpxor xmm1, xmm14, xmm3
vpsrld xmm3, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm3, xmm1, xmm3
vpshufd xmm1, xmm12, 0x4e
vpaddd xmm12, xmm15, xmm1
vpxor xmm1, xmm12, xmm6
vpsrld xmm6, xmm1, 0x14
vpslld xmm1, xmm1, 0xc
vpor xmm9, xmm1, xmm6
vpaddd xmm1, xmm10, xmm5
vmovdqa xmmword [rsp + 0x20], xmm1
vpxor xmm2, xmm1, xmm7
vpshufb xmm7, xmm2, xmm11
vpaddd xmm8, xmm8, xmm7
vpxor xmm2, xmm8, xmm5
vpsrld xmm5, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm5, xmm2, xmm5
vpaddd xmm1, xmm4, xmmword [rsp + 0x50]
vmovdqa xmmword [rsp + 0x30], xmm1
vpxor xmm2, xmm1, xmmword [rsp + 0xe0]
vpshufb xmm2, xmm2, xmm11
vpaddd xmm0, xmm0, xmm2
vpxor xmm4, xmm0, xmm4
vpsrld xmm6, xmm4, 0x19
vpslld xmm4, xmm4, 7
vpor xmm4, xmm4, xmm6
vpaddd xmm1, xmm3, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0x40], xmm1
vpxor xmm6, xmm13, xmm1
vpshufb xmm6, xmm6, xmm11
vpaddd xmm14, xmm14, xmm6
vpxor xmm3, xmm14, xmm3
vpsrld xmm10, xmm3, 0x19
vpslld xmm3, xmm3, 7
vpor xmm3, xmm10, xmm3
vpaddd xmm1, xmm9, xmmword [rsp + 0x60]
vmovdqa xmmword [rsp + 0x50], xmm1
vpxor xmm1, xmm15, xmm1
vpshufb xmm15, xmm1, xmm11
vpaddd xmm12, xmm12, xmm15
vpxor xmm1, xmm12, xmm9
vpsrld xmm9, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm1, xmm9, xmm1
vpshufd xmm10, xmm5, 0x93
vpshufd xmm13, xmm4, 0x93
vpshufd xmm11, xmm3, 0x93
vpshufd xmm3, xmm1, 0x93
vpshufd xmm1, xmm8, 0x4e
vpshufd xmm0, xmm0, 0x4e
vpshufd xmm5, xmm14, 0x4e
vpshufd xmm12, xmm12, 0x4e
vpshufd xmm8, xmm7, 0x39
vpshufd xmm2, xmm2, 0x39
vpshufd xmm14, xmm6, 0x39
vpshufd xmm6, xmm15, 0x39
jmp 0x1400219a7
lea rdx, [rsp + 0x150]
vmovaps xmm7, xmmword [rsp + 0x20]
vmovaps xmmword [rdx - 0x40], xmm7
vmovdqa xmm7, xmm1
vmovaps xmm1, xmmword [rsp + 0x30]
vmovaps xmmword [rdx - 0x30], xmm1
vmovaps xmm1, xmmword [rsp + 0x40]
vmovaps xmmword [rdx - 0x20], xmm1
vmovaps xmm1, xmmword [rsp + 0x50]
vmovaps xmmword [rdx - 0x10], xmm1
lea r9, [rsp + 0x2b0]
vmovdqa xmmword [r9], xmm10
vmovdqa xmmword [r9 + 0x10], xmm13
vmovdqa xmmword [r9 + 0x20], xmm11
vmovdqa xmmword [r9 + 0x30], xmm3
lea rdi, [rsp + 0x2f0]
vmovdqa xmmword [rdi], xmm7
vmovdqa xmmword [rdi + 0x10], xmm0
vmovdqa xmmword [rdi + 0x20], xmm5
vmovdqa xmmword [rdi + 0x30], xmm12
lea rbx, [rsp + 0x330]
vmovdqa xmmword [rbx], xmm8
vmovdqa xmmword [rbx + 0x10], xmm2
vmovdqa xmmword [rbx + 0x20], xmm14
vmovdqa xmmword [rbx + 0x30], xmm6
lea r15, [rsp + 0x370]
vmovdqa xmm0, xmmword [rsp + 0xd0]
vmovdqa xmmword [r15], xmm0
vmovaps xmm1, xmmword [rsp + 0xc0]
vmovaps xmmword [r15 + 0x10], xmm1
add rsi, 4
vpinsrd xmm0, xmm0, esi, 0
shr rsi, 0x20
vpinsrd xmm0, xmm0, esi, 1
vmovaps xmm1, xmmword [rsp + 0xb0]
vmovaps xmmword [r15 + 0x20], xmm1
vmovdqa xmm9, xmmword [r12]
vmovaps xmm1, xmmword [rsp + 0xa0]
vmovaps xmmword [r15 + 0x30], xmm1
vmovdqa xmm10, xmmword [r12 + 0x10]
vmovdqa xmmword [r12 + 0x20], xmm0
lea rsi, [rsp + 0x150]
lea r8, [rsp + 0x110]
mov rcx, rsi
call fcn.140023385
lea r12, [rsp + 0x200]
mov rcx, r12
mov rdx, rsi
mov r8, rdi
call fcn.1400233ba
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov rdx, r12
mov r8, rbx
call fcn.14002340a
lea rbx, [rsp + 0x200]
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call fcn.14002346d
lea rcx, [rsp + 0x150]
mov r8d, 0xb0
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r15d, 0x100
vmovdqa xmm8, xmmword [str.expand_32_byte_kexpand_32_byte_kexpand_32_byte_k]
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x150]
call fcn.1400234d2
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14002201a
vmovdqa xmm0, xmmword [rax]
vpaddd xmm7, xmm8, xmm0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
vmovdqa xmm0, xmmword [rbx]
vpaddd xmm6, xmm9, xmmword [rax]
vpaddd xmm12, xmm10, xmmword [rcx]
vpaddd xmm11, xmm0, xmmword [rdx]
xor esi, esi
mov r12, r15
sub r12, 0x10
mov rdi, r14
mov r13d, 0
cmovb r14, r13
cmovb r12, r15
setae sil
mov rcx, r14
lea rdx, str.C:Users_admin.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8_rand_chacha_0.3.1_srcguts.rs
call fcn.14002335e
shl rsi, 4
add rsi, rdi
vmovdqu xmmword [r14], xmm7
xor edi, edi
mov r14, r12
sub r14, 0x10
mov rbx, rsi
cmovb rbx, r13
cmovb r14, r12
setae dil
mov rcx, rbx
lea rdx, str.C:Users_admin.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8_rand_chacha_0.3.1_srcguts.rs
call fcn.14002335e
shl rdi, 4
add rdi, rsi
vmovdqu xmmword [rbx], xmm6
xor ebx, ebx
mov rsi, r14
sub rsi, 0x10
mov r12, rdi
cmovb r12, r13
cmovb rsi, r14
setae bl
mov rcx, r12
lea rdx, str.C:Users_admin.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8_rand_chacha_0.3.1_srcguts.rs
call fcn.14002335e
shl rbx, 4
add rbx, rdi
vmovdqu xmmword [r12], xmm12
xor r14d, r14d
mov r15, rsi
sub r15, 0x10
mov rdi, rbx
cmovb rdi, r13
cmovb r15, rsi
setae r14b
mov rcx, rdi
lea rdx, str.C:Users_admin.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8_rand_chacha_0.3.1_srcguts.rs
call fcn.14002335e
shl r14, 4
add r14, rbx
vmovdqu xmmword [rdi], xmm11
jmp 0x140021eec
vzeroupper
vmovaps xmm6, xmmword [rbp + 0x330]
vmovaps xmm7, xmmword [rbp + 0x340]
vmovaps xmm8, xmmword [rbp + 0x350]
vmovaps xmm9, xmmword [rbp + 0x360]
vmovaps xmm10, xmmword [rbp + 0x370]
vmovaps xmm11, xmmword [rbp + 0x380]
vmovaps xmm12, xmmword [rbp + 0x390]
vmovaps xmm13, xmmword [rbp + 0x3a0]
vmovaps xmm14, xmmword [rbp + 0x3b0]
vmovaps xmm15, xmmword [rbp + 0x3c0]
lea rsp, [rbp + 0x3d8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret