Function at 0x140024d85
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, 0x3f8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x360], xmm15
movaps xmmword [rbp + 0x350], xmm14
movaps xmmword [rbp + 0x340], xmm13
movaps xmmword [rbp + 0x330], xmm12
movdqa xmmword [rbp + 0x320], xmm11
movaps xmmword [rbp + 0x310], xmm10
movaps xmmword [rbp + 0x300], xmm9
movdqa xmmword [rbp + 0x2f0], xmm8
movaps xmmword [rbp + 0x2e0], xmm7
movaps xmmword [rbp + 0x2d0], xmm6
and rsp, 0xffffffffffffffe0
mov r14, rcx
movdqa xmm0, xmmword [rcx + 0x20]
movq rax, xmm0
lea rcx, [rax + 1]
movdqa xmm1, xmm0
pinsrd xmm1, ecx, 0
shr rcx, 0x20
pinsrd xmm1, ecx, 1
mov r13, rdx
movdqa xmm2, xmm0
movdqa xmm3, xmm0
lea rcx, [rax + 2]
pinsrd xmm2, ecx, 0
movdqa xmm15, xmmword [r14]
shr rcx, 0x20
pinsrd xmm2, ecx, 1
movdqa xmm6, xmmword [r14 + 0x10]
add rax, 3
pinsrd xmm3, eax, 0
shr rax, 0x20
pinsrd xmm3, eax, 1
lea rdx, [rsp + 0xf0]
movdqa xmmword [rdx], xmm0
movdqa xmmword [rdx + 0x10], xmm1
movdqa xmmword [rdx + 0x20], xmm2
movdqa xmmword [rdx + 0x30], xmm3
lea rbx, [rsp + 0x1a0]
mov rcx, rbx
call fcn.140024032
movdqa xmm1, xmmword [rbx]
movdqa xmm4, xmmword [rbx + 0x10]
movdqa xmm10, xmmword [rbx + 0x20]
movdqa xmm3, xmmword [rbx + 0x30]
movdqa xmm2, xmmword [0x14011d170]
push 6
pop rax
movdqa xmm13, xmm15
movdqa xmm0, xmm15
movdqa xmm14, xmm15
movdqa xmm12, xmm6
movdqa xmm7, xmm6
movdqa xmm9, xmm6
movdqa xmmword [rsp + 0x20], xmm2
movdqa xmmword [rsp + 0x60], xmm2
movdqa xmmword [rsp + 0x30], xmm2
movdqa xmmword [rsp + 0x70], xmm2
test eax, eax
je 0x140025377
movdqa xmmword [rsp + 0x50], xmm12
movdqa xmm12, xmmword [rsp + 0x70]
paddd xmm12, xmm0
movdqa xmm8, xmmword [rsp + 0x60]
paddd xmm8, xmm13
movdqa xmm5, xmmword [rsp + 0x20]
paddd xmm5, xmm15
movdqa xmmword [rsp + 0x20], xmm7
movdqa xmm7, xmm9
movdqa xmm9, xmmword [rsp + 0x30]
paddd xmm9, xmm14
pxor xmm1, xmm12
pxor xmm4, xmm8
pxor xmm10, xmm5
pxor xmm3, xmm9
pshuflw xmm1, xmm1, 0xb1
pshufhw xmm11, xmm1, 0xb1
pshuflw xmm1, xmm4, 0xb1
pshufhw xmm1, xmm1, 0xb1
pshuflw xmm2, xmm10, 0xb1
pshufhw xmm10, xmm2, 0xb1
pshuflw xmm3, xmm3, 0xb1
pshufhw xmm3, xmm3, 0xb1
movdqa xmm4, xmm6
paddd xmm4, xmm11
movdqa xmm2, xmm11
movdqa xmmword [rsp + 0x40], xmm4
movdqa xmm6, xmmword [rsp + 0x50]
paddd xmm6, xmm1
movdqa xmm11, xmm1
movdqa xmmword [rsp + 0x50], xmm6
movdqa xmm1, xmmword [rsp + 0x20]
paddd xmm1, xmm10
paddd xmm7, xmm3
pxor xmm0, xmm4
movdqa xmm4, xmm0
psrld xmm4, 0x14
pslld xmm0, 0xc
por xmm0, xmm4
pxor xmm13, xmm6
movdqa xmm4, xmm13
psrld xmm4, 0x14
pslld xmm13, 0xc
por xmm13, xmm4
pxor xmm15, xmm1
movdqa xmm4, xmm15
psrld xmm4, 0x14
pslld xmm15, 0xc
por xmm15, xmm4
movdqa xmm6, xmm7
pxor xmm14, xmm7
movdqa xmm4, xmm14
psrld xmm4, 0x14
pslld xmm14, 0xc
por xmm14, xmm4
paddd xmm12, xmm0
paddd xmm8, xmm13
paddd xmm5, xmm15
paddd xmm9, xmm14
pxor xmm2, xmm12
movdqa xmm7, xmm11
pxor xmm7, xmm8
pxor xmm10, xmm5
pxor xmm3, xmm9
movdqa xmm4, xmmword [0x14011d1c0]
pshufb xmm2, xmm4
movdqa xmm11, xmm2
pshufb xmm7, xmm4
movdqa xmm2, xmm7
movdqa xmmword [rsp + 0x20], xmm7
pshufb xmm10, xmm4
pshufb xmm3, xmm4
movdqa xmm7, xmmword [rsp + 0x40]
paddd xmm7, xmm11
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmm4, xmmword [rsp + 0x50]
paddd xmm4, xmm2
movdqa xmmword [rsp + 0x50], xmm4
paddd xmm1, xmm10
paddd xmm6, xmm3
movdqa xmmword [rsp + 0x30], xmm6
pxor xmm0, xmm7
pxor xmm13, xmm4
pxor xmm15, xmm1
pxor xmm14, xmm6
movdqa xmm4, xmm0
psrld xmm4, 0x19
pslld xmm0, 7
por xmm0, xmm4
movdqa xmm4, xmm13
psrld xmm4, 0x19
pslld xmm13, 7
por xmm13, xmm4
movdqa xmm4, xmm15
psrld xmm4, 0x19
pslld xmm15, 7
por xmm15, xmm4
movdqa xmm4, xmm14
psrld xmm4, 0x19
pslld xmm14, 7
por xmm14, xmm4
pshufd xmm0, xmm0, 0x39
pshufd xmm7, xmm13, 0x39
pshufd xmm4, xmm15, 0x39
pshufd xmm6, xmm14, 0x39
pshufd xmm2, xmmword [rsp + 0x40], 0x4e
movdqa xmmword [rsp + 0x40], xmm2
pshufd xmm13, xmmword [rsp + 0x50], 0x4e
pshufd xmm1, xmm1, 0x4e
movdqa xmmword [rsp + 0x60], xmm1
pshufd xmm1, xmmword [rsp + 0x30], 0x4e
movdqa xmmword [rsp + 0x30], xmm1
pshufd xmm11, xmm11, 0x93
pshufd xmm1, xmmword [rsp + 0x20], 0x93
pshufd xmm10, xmm10, 0x93
pshufd xmm15, xmm3, 0x93
paddd xmm12, xmm0
paddd xmm8, xmm7
paddd xmm5, xmm4
paddd xmm9, xmm6
pxor xmm11, xmm12
pxor xmm1, xmm8
pxor xmm10, xmm5
pxor xmm15, xmm9
pshuflw xmm2, xmm11, 0xb1
pshufhw xmm11, xmm2, 0xb1
movdqa xmmword [rsp + 0x20], xmm11
pshuflw xmm1, xmm1, 0xb1
pshufhw xmm14, xmm1, 0xb1
pshuflw xmm1, xmm10, 0xb1
pshufhw xmm10, xmm1, 0xb1
pshuflw xmm1, xmm15, 0xb1
pshufhw xmm2, xmm1, 0xb1
movdqa xmm3, xmmword [rsp + 0x40]
paddd xmm3, xmm11
movdqa xmmword [rsp + 0x40], xmm3
paddd xmm13, xmm14
movdqa xmmword [rsp + 0x50], xmm13
movdqa xmm11, xmmword [rsp + 0x60]
paddd xmm11, xmm10
movdqa xmm1, xmmword [rsp + 0x30]
paddd xmm1, xmm2
pxor xmm0, xmm3
movdqa xmm3, xmm0
psrld xmm3, 0x14
pslld xmm0, 0xc
por xmm0, xmm3
pxor xmm7, xmm13
movdqa xmm3, xmm7
psrld xmm3, 0x14
pslld xmm7, 0xc
por xmm7, xmm3
pxor xmm4, xmm11
movdqa xmm13, xmm11
movdqa xmm3, xmm4
psrld xmm3, 0x14
pslld xmm4, 0xc
por xmm4, xmm3
pxor xmm6, xmm1
movdqa xmm11, xmm1
movdqa xmm3, xmm6
psrld xmm3, 0x14
pslld xmm6, 0xc
por xmm6, xmm3
paddd xmm12, xmm0
paddd xmm8, xmm7
paddd xmm5, xmm4
paddd xmm9, xmm6
movdqa xmmword [rsp + 0x70], xmm12
movdqa xmm1, xmmword [rsp + 0x20]
pxor xmm1, xmm12
movdqa xmmword [rsp + 0x60], xmm8
pxor xmm14, xmm8
movdqa xmmword [rsp + 0x20], xmm5
pxor xmm10, xmm5
movdqa xmmword [rsp + 0x30], xmm9
pxor xmm2, xmm9
movdqa xmm3, xmmword [0x14011d1c0]
pshufb xmm1, xmm3
pshufb xmm14, xmm3
pshufb xmm10, xmm3
pshufb xmm2, xmm3
movdqa xmm12, xmmword [rsp + 0x40]
paddd xmm12, xmm1
movdqa xmm9, xmmword [rsp + 0x50]
paddd xmm9, xmm14
movdqa xmm8, xmm14
movdqa xmm3, xmm13
paddd xmm3, xmm10
paddd xmm11, xmm2
pxor xmm0, xmm12
pxor xmm7, xmm9
pxor xmm4, xmm3
movdqa xmm5, xmm3
pxor xmm6, xmm11
movdqa xmm3, xmm0
psrld xmm3, 0x19
pslld xmm0, 7
por xmm0, xmm3
movdqa xmm3, xmm7
psrld xmm3, 0x19
pslld xmm7, 7
por xmm7, xmm3
movdqa xmm3, xmm4
psrld xmm3, 0x19
pslld xmm4, 7
por xmm4, xmm3
movdqa xmm3, xmm6
psrld xmm3, 0x19
pslld xmm6, 7
por xmm6, xmm3
pshufd xmm0, xmm0, 0x93
pshufd xmm13, xmm7, 0x93
pshufd xmm15, xmm4, 0x93
pshufd xmm14, xmm6, 0x93
pshufd xmm6, xmm12, 0x4e
pshufd xmm12, xmm9, 0x4e
pshufd xmm7, xmm5, 0x4e
pshufd xmm9, xmm11, 0x4e
pshufd xmm1, xmm1, 0x39
pshufd xmm4, xmm8, 0x39
pshufd xmm10, xmm10, 0x39
pshufd xmm3, xmm2, 0x39
dec eax
jmp 0x140024ed6
lea r8, [rsp + 0xf0]
movdqa xmm2, xmmword [r14 + 0x20]
movaps xmm5, xmmword [rsp + 0x70]
movaps xmmword [r8 - 0x40], xmm5
movaps xmm5, xmmword [rsp + 0x60]
movaps xmmword [r8 - 0x30], xmm5
movaps xmm5, xmmword [rsp + 0x20]
movaps xmmword [r8 - 0x20], xmm5
movaps xmm5, xmmword [rsp + 0x30]
movaps xmmword [r8 - 0x10], xmm5
lea r9, [rsp + 0x250]
movdqa xmmword [r9], xmm0
movdqa xmmword [r9 + 0x10], xmm13
movdqa xmmword [r9 + 0x20], xmm15
movdqa xmmword [r9 + 0x30], xmm14
lea rbx, [rsp + 0x290]
movdqa xmmword [rbx], xmm6
movdqa xmmword [rbx + 0x10], xmm12
movdqa xmmword [rbx + 0x20], xmm7
movdqa xmmword [rbx + 0x30], xmm9
movq rax, xmm2
lea rcx, [rax + 1]
lea rdi, [rsp + 0x2d0]
movdqa xmmword [rdi], xmm1
movdqa xmm0, xmm2
pinsrd xmm0, ecx, 0
movdqa xmmword [rdi + 0x10], xmm4
movdqa xmm4, xmm2
shr rcx, 0x20
pinsrd xmm0, ecx, 1
lea rcx, [rax + 2]
pinsrd xmm4, ecx, 0
movdqa xmmword [rdi + 0x20], xmm10
movdqa xmmword [rdi + 0x30], xmm3
movdqa xmm9, xmmword [r14]
movdqa xmm10, xmmword [r14 + 0x10]
lea r15, [rsp + 0x310]
movdqa xmmword [r15], xmm2
shr rcx, 0x20
pinsrd xmm4, ecx, 1
movdqa xmmword [r15 + 0x10], xmm0
movdqa xmm0, xmm2
lea rcx, [rax + 3]
pinsrd xmm0, ecx, 0
movdqa xmmword [r15 + 0x20], xmm4
shr rcx, 0x20
pinsrd xmm0, ecx, 1
movdqa xmmword [r15 + 0x30], xmm0
movdqa xmm1, xmm2
add rax, 4
pinsrd xmm1, eax, 0
shr rax, 0x20
pinsrd xmm1, eax, 1
movdqa xmmword [r14 + 0x20], xmm1
lea rsi, [rsp + 0xf0]
lea rdx, [rsp + 0xb0]
mov rcx, rsi
call fcn.140025fd1
lea r12, [rsp + 0x1a0]
mov rcx, r12
mov rdx, rsi
mov r8, rbx
call fcn.140026006
lea rbx, [rsp + 0xf0]
mov rcx, rbx
mov rdx, r12
mov r8, rdi
call fcn.140026056
lea rdi, [rsp + 0x1a0]
mov rcx, rdi
mov rdx, rbx
mov r8, r15
call fcn.1400260b2
lea rcx, [rsp + 0xf0]
mov r8d, 0xb0
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r14d, 0x100
lea r15, [rsp + 0x88]
movdqa xmm8, xmmword [0x14011d170]
lea r12, str.C:Users_runneradmin.cargo_registry_srcgithub.com_1ecc6299db9ec823_rand_chacha_0.3.0_srcguts.rs
mov rcx, r15
lea rdx, [rsp + 0xf0]
call fcn.140026120
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14002562b
cmp r14, 0x10
jae 0x140025553
xor ecx, ecx
jmp 0x14002555e
mov rcx, r13
add r13, 0x10
add r14, 0xfffffffffffffff0
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
movdqa xmm6, xmmword [rdx]
movdqa xmm13, xmmword [rbx]
movdqa xmm11, xmmword [rdi]
movdqa xmm12, xmmword [rsi]
movdqa xmm7, xmmword [rax]
paddd xmm7, xmm8
lea rdx, str.C:Users_runneradmin.cargo_registry_srcgithub.com_1ecc6299db9ec823_rand_chacha_0.3.0_srcguts.rs
call fcn.140025faa
movdqu xmmword [rax], xmm7
cmp r14, 0x10
jae 0x1400255b4
xor ecx, ecx
jmp 0x1400255bf
mov rcx, r13
add r13, 0x10
add r14, 0xfffffffffffffff0
paddd xmm6, xmm9
lea rdx, str.C:Users_runneradmin.cargo_registry_srcgithub.com_1ecc6299db9ec823_rand_chacha_0.3.0_srcguts.rs
call fcn.140025faa
movdqu xmmword [rax], xmm6
cmp r14, 0x10
jae 0x1400255de
xor ecx, ecx
jmp 0x1400255e9
mov rcx, r13
add r13, 0x10
add r14, 0xfffffffffffffff0
paddd xmm13, xmm10
lea rdx, str.C:Users_runneradmin.cargo_registry_srcgithub.com_1ecc6299db9ec823_rand_chacha_0.3.0_srcguts.rs
call fcn.140025faa
movdqu xmmword [rax], xmm13
cmp r14, 0x10
jae 0x140025609
xor ecx, ecx
jmp 0x140025614
mov rcx, r13
add r13, 0x10
add r14, 0xfffffffffffffff0
paddd xmm12, xmm11
mov rdx, r12
call fcn.140025faa
movdqu xmmword [rax], xmm12
jmp 0x140025528
movaps xmm6, xmmword [rbp + 0x2d0]
movaps xmm7, xmmword [rbp + 0x2e0]
movaps xmm8, xmmword [rbp + 0x2f0]
movaps xmm9, xmmword [rbp + 0x300]
movaps xmm10, xmmword [rbp + 0x310]
movaps xmm11, xmmword [rbp + 0x320]
movaps xmm12, xmmword [rbp + 0x330]
movaps xmm13, xmmword [rbp + 0x340]
movaps xmm14, xmmword [rbp + 0x350]
movaps xmm15, xmmword [rbp + 0x360]
lea rsp, [rbp + 0x378]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret