Function at 0x140024595
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, 0x418
lea rbp, [rsp + 0x80]
vmovaps xmmword [rbp + 0x380], xmm15
vmovdqa xmmword [rbp + 0x370], xmm14
vmovdqa xmmword [rbp + 0x360], xmm13
vmovaps xmmword [rbp + 0x350], xmm12
vmovaps xmmword [rbp + 0x340], xmm11
vmovdqa xmmword [rbp + 0x330], xmm10
vmovaps xmmword [rbp + 0x320], xmm9
vmovaps xmmword [rbp + 0x310], xmm8
vmovaps xmmword [rbp + 0x300], xmm7
vmovaps xmmword [rbp + 0x2f0], xmm6
and rsp, 0xffffffffffffffe0
mov r14, rcx
vmovdqa xmm0, xmmword [rcx + 0x20]
vmovq rax, xmm0
lea rcx, [rax + 1]
vpinsrd xmm1, xmm0, ecx, 0
shr rcx, 0x20
vpinsrd xmm1, xmm1, ecx, 1
mov r13, rdx
lea rcx, [rax + 2]
vpinsrd xmm2, xmm0, ecx, 0
vmovdqa xmm8, xmmword [r14]
shr rcx, 0x20
vpinsrd xmm2, xmm2, ecx, 1
vmovdqa xmm15, xmmword [r14 + 0x10]
add rax, 3
vpinsrd xmm3, xmm0, eax, 0
shr rax, 0x20
vpinsrd xmm3, xmm3, eax, 1
lea rdx, [rsp + 0x110]
vmovdqa xmmword [rdx], xmm0
vmovdqa xmmword [rdx + 0x10], xmm1
vmovdqa xmmword [rdx + 0x20], xmm2
vmovdqa xmmword [rdx + 0x30], xmm3
lea rbx, [rsp + 0x1c0]
mov rcx, rbx
call fcn.140024032
vmovdqa xmm4, xmmword [rbx]
vmovdqa xmm0, xmmword [rbx + 0x10]
vmovdqa xmm6, xmmword [rbx + 0x20]
vmovdqa xmm11, xmmword [rbx + 0x30]
vmovdqa xmm2, xmmword [0x14011d170]
push 6
pop rax
vmovdqa xmm9, xmm8
vmovdqa xmm7, xmm8
vmovdqa xmm1, xmm8
vmovdqa xmmword [rsp + 0x70], xmm8
vmovdqa xmm12, xmm15
vmovdqa xmm8, xmm15
vmovdqa xmmword [rsp + 0x40], xmm15
vmovdqa xmmword [rsp + 0x30], xmm2
vmovdqa xmmword [rsp + 0x60], xmm2
vmovdqa xmmword [rsp + 0x80], xmm2
vmovdqa xmmword [rsp + 0x50], xmm2
test eax, eax
je 0x140024a72
vpaddd xmm3, xmm7, xmmword [rsp + 0x50]
vpxor xmm4, xmm4, xmm3
vpshuflw xmm4, xmm4, 0xb1
vpshufhw xmm13, xmm4, 0xb1
vpaddd xmm15, xmm13, xmm15
vpxor xmm4, xmm15, xmm7
vpsrld xmm5, xmm4, 0x14
vpslld xmm4, xmm4, 0xc
vpor xmm10, xmm4, xmm5
vpaddd xmm2, xmm9, xmmword [rsp + 0x60]
vmovdqa xmmword [rsp + 0x60], xmm2
vpxor xmm0, xmm0, xmm2
vpshuflw xmm0, xmm0, 0xb1
vpshufhw xmm7, xmm0, 0xb1
vpaddd xmm0, xmm12, xmm7
vmovdqa xmmword [rsp + 0x50], xmm0
vpxor xmm2, xmm9, xmm0
vpsrld xmm5, xmm2, 0x14
vpslld xmm2, xmm2, 0xc
vpor xmm12, xmm2, xmm5
vpaddd xmm0, xmm1, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x30], xmm0
vpxor xmm2, xmm6, xmm0
vpshuflw xmm2, xmm2, 0xb1
vpshufhw xmm6, xmm2, 0xb1
vpaddd xmm0, xmm8, xmm6
vmovdqa xmmword [rsp + 0xc0], xmm0
vpxor xmm5, xmm0, xmm1
vpsrld xmm8, xmm5, 0x14
vpslld xmm5, xmm5, 0xc
vpor xmm9, xmm8, xmm5
vmovdqa xmm0, xmmword [rsp + 0x70]
vpaddd xmm8, xmm0, xmmword [rsp + 0x80]
vpxor xmm5, xmm11, xmm8
vpshuflw xmm5, xmm5, 0xb1
vpshufhw xmm11, xmm5, 0xb1
vpaddd xmm5, xmm11, xmmword [rsp + 0x40]
vpxor xmm14, xmm5, xmm0
vpsrld xmm0, xmm14, 0x14
vpslld xmm4, xmm14, 0xc
vpor xmm2, xmm4, xmm0
vpaddd xmm14, xmm10, xmm3
vpxor xmm4, xmm14, xmm13
vmovdqa xmm13, xmmword [0x14011d1c0]
vpshufb xmm3, xmm4, xmm13
vpaddd xmm0, xmm15, xmm3
vpxor xmm4, xmm10, xmm0
vpsrld xmm10, xmm4, 0x19
vpslld xmm4, xmm4, 7
vpor xmm1, xmm10, xmm4
vpaddd xmm15, xmm12, xmmword [rsp + 0x60]
vpxor xmm4, xmm15, xmm7
vpshufb xmm10, xmm4, xmm13
vpaddd xmm4, xmm10, xmmword [rsp + 0x50]
vpxor xmm7, xmm12, xmm4
vpsrld xmm12, xmm7, 0x19
vpslld xmm7, xmm7, 7
vpor xmm7, xmm12, xmm7
vmovdqa xmmword [rsp + 0x40], xmm7
vpaddd xmm7, xmm9, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x80], xmm7
vpxor xmm6, xmm7, xmm6
vpshufb xmm12, xmm6, xmm13
vpaddd xmm7, xmm12, xmmword [rsp + 0xc0]
vpxor xmm6, xmm9, xmm7
vpsrld xmm9, xmm6, 0x19
vpslld xmm6, xmm6, 7
vpor xmm6, xmm9, xmm6
vmovdqa xmmword [rsp + 0x70], xmm6
vpaddd xmm9, xmm8, xmm2
vpxor xmm6, xmm9, xmm11
vpshufb xmm11, xmm6, xmm13
vpaddd xmm8, xmm11, xmm5
vpxor xmm2, xmm8, xmm2
vpsrld xmm6, xmm2, 0x19
vpslld xmm2, xmm2, 7
vpor xmm6, xmm2, xmm6
vpshufd xmm1, xmm1, 0x39
vpshufd xmm0, xmm0, 0x4e
vpshufd xmm3, xmm3, 0x93
vpaddd xmm2, xmm14, xmm1
vmovdqa xmmword [rsp + 0x30], xmm2
vpxor xmm3, xmm2, xmm3
vpshuflw xmm3, xmm3, 0xb1
vpshufhw xmm14, xmm3, 0xb1
vpaddd xmm3, xmm14, xmm0
vpxor xmm0, xmm3, xmm1
vpsrld xmm1, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm2, xmm0, xmm1
vpshufd xmm0, xmmword [rsp + 0x40], 0x39
vpshufd xmm4, xmm4, 0x4e
vpshufd xmm1, xmm10, 0x93
vpaddd xmm5, xmm15, xmm0
vmovdqa xmmword [rsp + 0x40], xmm5
vpxor xmm1, xmm5, xmm1
vpshuflw xmm1, xmm1, 0xb1
vpshufhw xmm10, xmm1, 0xb1
vpaddd xmm15, xmm10, xmm4
vpxor xmm0, xmm15, xmm0
vpsrld xmm4, xmm0, 0x14
vpslld xmm0, xmm0, 0xc
vpor xmm0, xmm0, xmm4
vpshufd xmm4, xmmword [rsp + 0x70], 0x39
vpshufd xmm7, xmm7, 0x4e
vpshufd xmm12, xmm12, 0x93
vpaddd xmm13, xmm4, xmmword [rsp + 0x80]
vpxor xmm5, xmm13, xmm12
vpshuflw xmm5, xmm5, 0xb1
vpshufhw xmm5, xmm5, 0xb1
vpaddd xmm12, xmm7, xmm5
vpxor xmm4, xmm12, xmm4
vpsrld xmm7, xmm4, 0x14
vpslld xmm4, xmm4, 0xc
vpor xmm4, xmm4, xmm7
vpshufd xmm7, xmm6, 0x39
vpshufd xmm8, xmm8, 0x4e
vpshufd xmm11, xmm11, 0x93
vpaddd xmm9, xmm9, xmm7
vpxor xmm6, xmm9, xmm11
vpshuflw xmm6, xmm6, 0xb1
vpshufhw xmm6, xmm6, 0xb1
vpaddd xmm11, xmm8, xmm6
vpxor xmm7, xmm11, xmm7
vpsrld xmm8, xmm7, 0x14
vpslld xmm7, xmm7, 0xc
vpor xmm7, xmm8, xmm7
vpaddd xmm1, xmm2, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x50], xmm1
vpxor xmm1, xmm14, xmm1
vmovdqa xmm8, xmmword [0x14011d1c0]
vpshufb xmm14, xmm1, xmm8
vpaddd xmm3, xmm14, xmm3
vpxor xmm1, xmm3, xmm2
vpsrld xmm2, xmm1, 0x19
vpslld xmm1, xmm1, 7
vpor xmm1, xmm1, xmm2
vpaddd xmm2, xmm0, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0x60], xmm2
vpxor xmm2, xmm10, xmm2
vpshufb xmm10, xmm2, xmm8
vpaddd xmm2, xmm15, xmm10
vpxor xmm0, xmm2, xmm0
vpsrld xmm15, xmm0, 0x19
vpslld xmm0, xmm0, 7
vpor xmm15, xmm15, xmm0
vpaddd xmm0, xmm13, xmm4
vmovdqa xmmword [rsp + 0x30], xmm0
vpxor xmm5, xmm0, xmm5
vpshufb xmm13, xmm5, xmm8
vpaddd xmm0, xmm12, xmm13
vpxor xmm4, xmm0, xmm4
vpsrld xmm5, xmm4, 0x19
vpslld xmm4, xmm4, 7
vpor xmm4, xmm4, xmm5
vpaddd xmm5, xmm9, xmm7
vmovdqa xmmword [rsp + 0x80], xmm5
vpxor xmm5, xmm5, xmm6
vpshufb xmm5, xmm5, xmm8
vpaddd xmm11, xmm11, xmm5
vpxor xmm6, xmm11, xmm7
vpsrld xmm7, xmm6, 0x19
vpslld xmm6, xmm6, 7
vpor xmm6, xmm6, xmm7
vpshufd xmm7, xmm1, 0x93
vpshufd xmm9, xmm15, 0x93
vpshufd xmm1, xmm4, 0x93
vpshufd xmm4, xmm6, 0x93
vmovdqa xmmword [rsp + 0x70], xmm4
vpshufd xmm15, xmm3, 0x4e
vpshufd xmm12, xmm2, 0x4e
vpshufd xmm8, xmm0, 0x4e
vpshufd xmm0, xmm11, 0x4e
vmovdqa xmmword [rsp + 0x40], xmm0
vpshufd xmm4, xmm14, 0x39
vpshufd xmm0, xmm10, 0x39
vpshufd xmm6, xmm13, 0x39
vpshufd xmm11, xmm5, 0x39
dec eax
jmp 0x1400246e2
lea r8, [rsp + 0x110]
vmovdqa xmm5, xmmword [r14 + 0x20]
vmovaps xmm2, xmmword [rsp + 0x50]
vmovaps xmmword [r8 - 0x40], xmm2
vmovaps xmm2, xmmword [rsp + 0x60]
vmovaps xmmword [r8 - 0x30], xmm2
vmovaps xmm2, xmmword [rsp + 0x30]
vmovaps xmmword [r8 - 0x20], xmm2
vmovaps xmm2, xmmword [rsp + 0x80]
vmovaps xmmword [r8 - 0x10], xmm2
lea r9, [rsp + 0x270]
vmovdqa xmmword [r9], xmm7
vmovdqa xmmword [r9 + 0x10], xmm9
vmovdqa xmmword [r9 + 0x20], xmm1
vmovaps xmm1, xmmword [rsp + 0x70]
vmovaps xmmword [r9 + 0x30], xmm1
lea rbx, [rsp + 0x2b0]
vmovdqa xmmword [rbx], xmm15
vmovdqa xmmword [rbx + 0x10], xmm12
vmovdqa xmmword [rbx + 0x20], xmm8
vmovaps xmm1, xmmword [rsp + 0x40]
vmovaps xmmword [rbx + 0x30], xmm1
vmovq rax, xmm5
lea rcx, [rax + 1]
lea r15, [rsp + 0x2f0]
vmovdqa xmmword [r15], xmm4
vpinsrd xmm2, xmm5, ecx, 0
shr rcx, 0x20
vpinsrd xmm2, xmm2, ecx, 1
lea rcx, [rax + 2]
vmovdqa xmmword [r15 + 0x10], xmm0
vpinsrd xmm0, xmm5, ecx, 0
shr rcx, 0x20
vpinsrd xmm0, xmm0, ecx, 1
lea rcx, [rax + 3]
vmovdqa xmmword [r15 + 0x20], xmm6
vmovdqa xmmword [r15 + 0x30], xmm11
vmovdqa xmm9, xmmword [r14]
vmovdqa xmm10, xmmword [r14 + 0x10]
lea rdi, [rsp + 0x330]
vmovdqa xmmword [rdi], xmm5
vmovdqa xmmword [rdi + 0x10], xmm2
vpinsrd xmm2, xmm5, ecx, 0
vmovdqa xmmword [rdi + 0x20], xmm0
shr rcx, 0x20
vpinsrd xmm0, xmm2, ecx, 1
vmovdqa xmmword [rdi + 0x30], xmm0
add rax, 4
vpinsrd xmm0, xmm5, eax, 0
shr rax, 0x20
vpinsrd xmm0, xmm0, eax, 1
vmovdqa xmmword [r14 + 0x20], xmm0
lea rsi, [rsp + 0x110]
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.140025fd1
lea r12, [rsp + 0x1c0]
mov rcx, r12
mov rdx, rsi
mov r8, rbx
call fcn.140026006
lea rbx, [rsp + 0x110]
mov rcx, rbx
mov rdx, r12
mov r8, r15
call fcn.140026056
lea r15, [rsp + 0x1c0]
mov rcx, r15
mov rdx, rbx
mov r8, rdi
call fcn.1400260b2
lea rcx, [rsp + 0x110]
mov r8d, 0xb0
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r14d, 0x100
lea r15, [rsp + 0x98]
vmovdqa 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 + 0x110]
call fcn.140026120
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x140024d1e
cmp r14, 0x10
jae 0x140024c51
xor ecx, ecx
jmp 0x140024c5c
mov rcx, r13
add r13, 0x10
add r14, 0xfffffffffffffff0
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
vmovdqa xmm7, xmmword [rdx]
vmovdqa xmm13, xmmword [rbx]
vmovdqa xmm11, xmmword [rdi]
vmovdqa xmm12, xmmword [rsi]
vpaddd xmm6, xmm8, xmmword [rax]
lea rdx, str.C:Users_runneradmin.cargo_registry_srcgithub.com_1ecc6299db9ec823_rand_chacha_0.3.0_srcguts.rs
call fcn.140025faa
vmovdqu xmmword [rax], xmm6
cmp r14, 0x10
jae 0x140024caa
xor ecx, ecx
jmp 0x140024cb5
mov rcx, r13
add r13, 0x10
add r14, 0xfffffffffffffff0
vpaddd xmm6, xmm9, xmm7
lea rdx, str.C:Users_runneradmin.cargo_registry_srcgithub.com_1ecc6299db9ec823_rand_chacha_0.3.0_srcguts.rs
call fcn.140025faa
vmovdqu xmmword [rax], xmm6
cmp r14, 0x10
jae 0x140024cd3
xor ecx, ecx
jmp 0x140024cde
mov rcx, r13
add r13, 0x10
add r14, 0xfffffffffffffff0
vpaddd xmm6, xmm13, xmm10
lea rdx, str.C:Users_runneradmin.cargo_registry_srcgithub.com_1ecc6299db9ec823_rand_chacha_0.3.0_srcguts.rs
call fcn.140025faa
vmovdqu xmmword [rax], xmm6
cmp r14, 0x10
jae 0x140024cfd
xor ecx, ecx
jmp 0x140024d08
mov rcx, r13
add r13, 0x10
add r14, 0xfffffffffffffff0
vpaddd xmm6, xmm12, xmm11
mov rdx, r12
call fcn.140025faa
vmovdqu xmmword [rax], xmm6
jmp 0x140024c26
vzeroupper
vmovaps xmm6, xmmword [rbp + 0x2f0]
vmovaps xmm7, xmmword [rbp + 0x300]
vmovaps xmm8, xmmword [rbp + 0x310]
vmovaps xmm9, xmmword [rbp + 0x320]
vmovaps xmm10, xmmword [rbp + 0x330]
vmovaps xmm11, xmmword [rbp + 0x340]
vmovaps xmm12, xmmword [rbp + 0x350]
vmovaps xmm13, xmmword [rbp + 0x360]
vmovaps xmm14, xmmword [rbp + 0x370]
vmovaps xmm15, xmmword [rbp + 0x380]
lea rsp, [rbp + 0x398]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret