Function at 0x1800661f0
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x168
movaps xmmword [rsp + 0x150], xmm15
movaps xmmword [rsp + 0x140], xmm14
movaps xmmword [rsp + 0x130], xmm13
movaps xmmword [rsp + 0x120], xmm12
movaps xmmword [rsp + 0x110], xmm11
movaps xmmword [rsp + 0x100], xmm10
movaps xmmword [rsp + 0xf0], xmm9
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0xd0], xmm7
movaps xmmword [rsp + 0xc0], xmm6
mov rsi, qword [0x180104338]
mov rax, qword [rsi]
test rax, rax
je 0x1800662dd
and eax, 0x8000
xor r9d, r9d
or rax, r9
je 0x180066303
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm14, xmmword [rsp + 0x140]
movaps xmm15, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r14
jmp sym.rand_chacha::guts::refill_wide::impl_avx2::hfb3c041cde11961c
mov rdi, r8
mov r14, rcx
mov ebx, edx
call sym.std_detect::detect::cache::detect_and_initialize::h86ec053e6d771616
mov edx, ebx
mov rcx, r14
mov r8, rdi
and eax, 0x8000
xor r9d, r9d
or rax, r9
jne 0x180066274
mov rax, qword [rsi]
test rax, rax
je 0x180066385
and eax, 0x4000
xor r9d, r9d
or rax, r9
je 0x1800663ab
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm14, xmmword [rsp + 0x140]
movaps xmm15, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r14
jmp sym.rand_chacha::guts::refill_wide::impl_avx::h514954b8d6f19a8c
mov rdi, r8
mov r14, rcx
mov ebx, edx
call sym.std_detect::detect::cache::detect_and_initialize::h86ec053e6d771616
mov edx, ebx
mov rcx, r14
mov r8, rdi
and eax, 0x4000
xor r9d, r9d
or rax, r9
jne 0x18006631c
mov rax, qword [rsi]
test rax, rax
je 0x18006642d
and eax, 0x400
xor r9d, r9d
or rax, r9
je 0x180066453
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm14, xmmword [rsp + 0x140]
movaps xmm15, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r14
jmp sym.rand_chacha::guts::refill_wide::impl_sse41::ha1abedff330591ce
mov rdi, r8
mov r14, rcx
mov ebx, edx
call sym.std_detect::detect::cache::detect_and_initialize::h86ec053e6d771616
mov edx, ebx
mov rcx, r14
mov r8, rdi
and eax, 0x400
xor r9d, r9d
or rax, r9
jne 0x1800663c4
mov rax, qword [rsi]
test rax, rax
je 0x1800664d5
and eax, 0x200
xor r9d, r9d
or rax, r9
je 0x1800664fb
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm14, xmmword [rsp + 0x140]
movaps xmm15, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r14
jmp sym.rand_chacha::guts::refill_wide::impl_ssse3::hc69e4048eec837fd
mov rsi, r8
mov rbx, rcx
mov edi, edx
call sym.std_detect::detect::cache::detect_and_initialize::h86ec053e6d771616
mov edx, edi
mov rcx, rbx
mov r8, rsi
and eax, 0x200
xor r9d, r9d
or rax, r9
jne 0x18006646c
movdqa xmm2, xmmword [rcx]
movdqa xmm14, xmmword [rcx + 0x10]
movdqa xmm4, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r9, [rax + 1]
movd xmm5, r9d
shr r9, 0x20
movd xmm0, r9d
movdqa xmm12, xmm4
pslldq xmm12, 8
shufps xmm12, xmm4, 0xe8
por xmm0, xmm12
movdqa xmm1, xmm0
pslldq xmm1, 8
shufps xmm1, xmm0, 0xe8
por xmm5, xmm1
lea r9, [rax + 2]
movd xmm6, r9d
shr r9, 0x20
movd xmm0, r9d
pslldq xmm0, 8
shufps xmm0, xmm4, 0xe8
por xmm6, xmm0
lea r9, [rax + 3]
movd xmm7, r9d
shr r9, 0x20
movd xmm0, r9d
pslldq xmm0, 8
shufps xmm0, xmm4, 0xe8
por xmm7, xmm0
test edx, edx
movdqa xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm4
movdqa xmmword [rsp + 0x90], xmm5
movdqa xmmword [rsp + 0x80], xmm6
movdqa xmmword [rsp + 0x70], xmm7
je 0x180066b00
movaps xmmword [rsp + 0x50], xmm12
movdqa xmm10, xmmword [0x18011ea80]
movdqa xmm9, xmm10
movdqa xmm8, xmm10
movdqa xmmword [rsp + 0x30], xmm10
movdqa xmm1, xmm2
movdqa xmm15, xmm2
movdqa xmm13, xmm2
movdqa xmm11, xmm2
movdqa xmm3, xmm14
movdqa xmm0, xmm14
movdqa xmmword [rsp + 0x20], xmm14
movdqa xmmword [rsp + 0x60], xmm14
movdqa xmmword [rsp + 0x40], xmm14
movdqa xmm2, xmm7
nop dword [rax + rax]
paddd xmm10, xmm1
paddd xmm9, xmm15
paddd xmm8, xmm13
movdqa xmm7, xmmword [rsp + 0x30]
paddd xmm7, xmm11
movdqa xmmword [rsp + 0x30], xmm7
pxor xmm4, xmm10
pxor xmm5, xmm9
pxor xmm6, xmm8
pxor xmm2, xmm7
pshuflw xmm4, xmm4, 0xb1
pshufhw xmm7, xmm4, 0xb1
pshuflw xmm4, xmm5, 0xb1
pshufhw xmm5, xmm4, 0xb1
pshuflw xmm4, xmm6, 0xb1
pshufhw xmm12, xmm4, 0xb1
pshuflw xmm2, xmm2, 0xb1
pshufhw xmm14, xmm2, 0xb1
paddd xmm3, xmm7
paddd xmm0, xmm5
movdqa xmm2, xmmword [rsp + 0x20]
paddd xmm2, xmm12
movdqa xmm6, xmm2
movdqa xmmword [rsp + 0x20], xmm2
movdqa xmm4, xmmword [rsp + 0x40]
paddd xmm4, xmm14
pxor xmm1, xmm3
movdqa xmm2, xmm1
psrld xmm2, 0x14
pslld xmm1, 0xc
por xmm1, xmm2
pxor xmm15, xmm0
movdqa xmm2, xmm15
psrld xmm2, 0x14
pslld xmm15, 0xc
por xmm15, xmm2
pxor xmm13, xmm6
movdqa xmm2, xmm13
psrld xmm2, 0x14
pslld xmm13, 0xc
por xmm13, xmm2
pxor xmm11, xmm4
movdqa xmm2, xmm11
psrld xmm2, 0x14
pslld xmm11, 0xc
por xmm11, xmm2
paddd xmm10, xmm1
paddd xmm9, xmm15
paddd xmm8, xmm13
movdqa xmm6, xmmword [rsp + 0x30]
paddd xmm6, xmm11
movdqa xmmword [rsp + 0x30], xmm6
pxor xmm7, xmm10
movdqa xmm2, xmm7
psrld xmm2, 0x18
pslld xmm7, 8
por xmm7, xmm2
pxor xmm5, xmm9
movdqa xmm2, xmm5
psrld xmm2, 0x18
pslld xmm5, 8
por xmm5, xmm2
pxor xmm12, xmm8
movdqa xmm2, xmm12
psrld xmm2, 0x18
pslld xmm12, 8
por xmm12, xmm2
pxor xmm14, xmm6
movdqa xmm2, xmm14
psrld xmm2, 0x18
pslld xmm14, 8
por xmm14, xmm2
paddd xmm3, xmm7
paddd xmm0, xmm5
movdqa xmm2, xmmword [rsp + 0x20]
paddd xmm2, xmm12
movdqa xmmword [rsp + 0x20], xmm2
paddd xmm4, xmm14
pxor xmm1, xmm3
pxor xmm15, xmm0
pxor xmm13, xmm2
pxor xmm11, xmm4
movdqa xmm2, xmm1
psrld xmm2, 0x19
pslld xmm1, 7
por xmm1, xmm2
movdqa xmm2, xmm15
psrld xmm2, 0x19
pslld xmm15, 7
por xmm15, xmm2
movdqa xmm2, xmm13
psrld xmm2, 0x19
pslld xmm13, 7
por xmm13, xmm2
movdqa xmm2, xmm11
psrld xmm2, 0x19
pslld xmm11, 7
por xmm11, xmm2
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm15, 0x39
pshufd xmm6, xmm13, 0x39
pshufd xmm11, xmm11, 0x39
pshufd xmm3, xmm3, 0x4e
pshufd xmm0, xmm0, 0x4e
pshufd xmm13, xmmword [rsp + 0x20], 0x4e
movdqa xmmword [rsp + 0x20], xmm13
pshufd xmm4, xmm4, 0x4e
pshufd xmm7, xmm7, 0x93
pshufd xmm13, xmm5, 0x93
pshufd xmm5, xmm12, 0x93
movdqa xmmword [rsp + 0x40], xmm5
pshufd xmm14, xmm14, 0x93
paddd xmm10, xmm1
paddd xmm9, xmm2
paddd xmm8, xmm6
movdqa xmm15, xmmword [rsp + 0x30]
paddd xmm15, xmm11
pshuflw xmm5, xmm10, 0xb1
pshufhw xmm12, xmm5, 0xb1
pshuflw xmm5, xmm7, 0xb1
pshufhw xmm5, xmm5, 0xb1
pxor xmm5, xmm12
pshuflw xmm7, xmm9, 0xb1
pshufhw xmm7, xmm7, 0xb1
pshuflw xmm12, xmm13, 0xb1
pshufhw xmm12, xmm12, 0xb1
pxor xmm12, xmm7
pshuflw xmm7, xmm8, 0xb1
pshufhw xmm13, xmm7, 0xb1
pshuflw xmm7, xmmword [rsp + 0x40], 0xb1
pshufhw xmm7, xmm7, 0xb1
pxor xmm7, xmm13
pshuflw xmm13, xmm15, 0xb1
pshufhw xmm13, xmm13, 0xb1
pshuflw xmm14, xmm14, 0xb1
pshufhw xmm14, xmm14, 0xb1
pxor xmm14, xmm13
paddd xmm3, xmm5
paddd xmm0, xmm12
movdqa xmm13, xmmword [rsp + 0x20]
paddd xmm13, xmm7
movdqa xmmword [rsp + 0x20], xmm13
paddd xmm4, xmm14
pxor xmm1, xmm3
pxor xmm2, xmm0
pxor xmm6, xmm13
pxor xmm11, xmm4
movdqa xmm13, xmm1
psrld xmm13, 0x14
pslld xmm1, 0xc
por xmm1, xmm13
movdqa xmm13, xmm2
psrld xmm13, 0x14
pslld xmm2, 0xc
por xmm2, xmm13
movdqa xmm13, xmm6
psrld xmm13, 0x14
pslld xmm6, 0xc
por xmm6, xmm13
movdqa xmm13, xmm11
psrld xmm13, 0x14
pslld xmm11, 0xc
por xmm11, xmm13
paddd xmm10, xmm1
paddd xmm9, xmm2
paddd xmm8, xmm6
paddd xmm15, xmm11
pxor xmm5, xmm10
movdqa xmm13, xmm5
psrld xmm13, 0x18
pslld xmm5, 8
por xmm5, xmm13
pxor xmm12, xmm9
movdqa xmm13, xmm12
psrld xmm13, 0x18
pslld xmm12, 8
por xmm12, xmm13
pxor xmm7, xmm8
movdqa xmm13, xmm7
psrld xmm13, 0x18
pslld xmm7, 8
por xmm7, xmm13
movdqa xmmword [rsp + 0x30], xmm15
pxor xmm14, xmm15
movdqa xmm13, xmm14
psrld xmm13, 0x18
pslld xmm14, 8
por xmm14, xmm13
paddd xmm3, xmm5
paddd xmm0, xmm12
movdqa xmm13, xmmword [rsp + 0x20]
paddd xmm13, xmm7
movdqa xmmword [rsp + 0x20], xmm13
paddd xmm4, xmm14
pxor xmm1, xmm3
pxor xmm2, xmm0
pxor xmm6, xmm13
pxor xmm11, xmm4
movdqa xmm13, xmm1
psrld xmm13, 0x19
pslld xmm1, 7
por xmm1, xmm13
movdqa xmm13, xmm2
psrld xmm13, 0x19
pslld xmm2, 7
por xmm2, xmm13
movdqa xmm13, xmm6
psrld xmm13, 0x19
pslld xmm6, 7
por xmm6, xmm13
movdqa xmm13, xmm11
psrld xmm13, 0x19
pslld xmm11, 7
por xmm11, xmm13
pshufd xmm1, xmm1, 0x93
pshufd xmm15, xmm2, 0x93
pshufd xmm13, xmm6, 0x93
pshufd xmm11, xmm11, 0x93
pshufd xmm3, xmm3, 0x4e
pshufd xmm0, xmm0, 0x4e
pshufd xmm2, xmmword [rsp + 0x20], 0x4e
movdqa xmmword [rsp + 0x20], xmm2
pshufd xmm2, xmm4, 0x4e
movdqa xmmword [rsp + 0x40], xmm2
pshufd xmm4, xmm5, 0x39
pshufd xmm5, xmm12, 0x39
pshufd xmm6, xmm7, 0x39
pshufd xmm2, xmm14, 0x39
dec edx
jne 0x180066610
movdqa xmm7, xmmword [0x18011ea80]
paddd xmm10, xmm7
paddd xmm9, xmm7
paddd xmm8, xmm7
movdqa xmm12, xmmword [rsp + 0x30]
paddd xmm12, xmm7
movdqa xmmword [rsp + 0x30], xmm12
movdqa xmm14, xmmword [rsp + 0x60]
movaps xmm12, xmmword [rsp + 0x50]
jmp 0x180066b49
movdqa xmm10, xmmword [0x18011ea90]
movdqa xmm11, xmm2
movdqa xmmword [rsp + 0x40], xmm14
movdqa xmm13, xmm2
movdqa xmmword [rsp + 0x20], xmm14
movdqa xmm15, xmm2
movdqa xmm0, xmm14
movdqa xmm1, xmm2
movdqa xmm3, xmm14
movdqa xmm2, xmm7
movdqa xmm8, xmm10
movdqa xmm9, xmm10
movdqa xmmword [rsp + 0x30], xmm10
add rax, 4
mov rdx, rax
shr rdx, 0x20
movd xmm7, edx
por xmm7, xmm12
movdqa xmm12, xmm7
pslldq xmm12, 8
shufps xmm12, xmm7, 0xe8
movd xmm7, eax
por xmm7, xmm12
movdqa xmmword [rcx + 0x20], xmm7
movdqu xmmword [r8], xmm10
movdqa xmm7, xmmword [rsp + 0xb0]
paddd xmm1, xmm7
movdqu xmmword [r8 + 0x10], xmm1
paddd xmm3, xmm14
movdqu xmmword [r8 + 0x20], xmm3
paddd xmm4, xmmword [rsp + 0xa0]
movdqu xmmword [r8 + 0x30], xmm4
movdqu xmmword [r8 + 0x40], xmm9
paddd xmm15, xmm7
movdqu xmmword [r8 + 0x50], xmm15
paddd xmm0, xmm14
movdqu xmmword [r8 + 0x60], xmm0
paddd xmm5, xmmword [rsp + 0x90]
movdqu xmmword [r8 + 0x70], xmm5
movdqu xmmword [r8 + 0x80], xmm8
paddd xmm13, xmm7
movdqu xmmword [r8 + 0x90], xmm13
movdqa xmm0, xmmword [rsp + 0x20]
paddd xmm0, xmm14
movdqu xmmword [r8 + 0xa0], xmm0
paddd xmm6, xmmword [rsp + 0x80]
movdqu xmmword [r8 + 0xb0], xmm6
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [r8 + 0xc0], xmm0
paddd xmm11, xmm7
movdqu xmmword [r8 + 0xd0], xmm11
movdqa xmm0, xmmword [rsp + 0x40]
paddd xmm0, xmm14
movdqu xmmword [r8 + 0xe0], xmm0
paddd xmm2, xmmword [rsp + 0x70]
movdqu xmmword [r8 + 0xf0], xmm2
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x100]
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm12, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm14, xmmword [rsp + 0x140]
movaps xmm15, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r14
ret