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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x2c0
vmovdqa xmmword [rsp + 0x2b0], xmm15
vmovaps xmmword [rsp + 0x2a0], xmm14
vmovaps xmmword [rsp + 0x290], xmm13
vmovaps xmmword [rsp + 0x280], xmm12
vmovaps xmmword [rsp + 0x270], xmm11
vmovaps xmmword [rsp + 0x260], xmm10
vmovaps xmmword [rsp + 0x250], xmm9
vmovaps xmmword [rsp + 0x240], xmm8
vmovaps xmmword [rsp + 0x230], xmm7
vmovaps xmmword [rsp + 0x220], xmm6
vmovdqa xmm11, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
mov r9, r8
shr r9, 0x20
nop dword [rax + rax]
mov r10d, dword [0x141dcb398]
xor r10d, dword [0x141dcb39c]
xor r10d, 0xacbdb558
add r10d, 0xcae0a117
or r10d, 0x705bb46e
cmp r10d, 0x30d5f97b
jb 0x140070da0
lea r10, [rax + 2]
mov r11, r10
shr r11, 0x20
lea rsi, [rax + 3]
mov rdi, rsi
shr rdi, 0x20
nop word cs:[rax + rax]
mov ebx, dword [0x141dcb3a0]
or ebx, dword [0x141dcb3a4]
add ebx, 0x9c7e1517
and ebx, 0x618d85c7
imul ebx, ebx, 0x6e599621
cmp ebx, 0xa4eda47f
ja 0x140070df0
vpinsrd xmm0, xmm11, r8d, 0
vpinsrd xmm1, xmm0, r9d, 1
vpinsrd xmm0, xmm11, r10d, 0
vpinsrd xmm12, xmm0, r11d, 1
vpinsrd xmm0, xmm11, esi, 0
vpinsrd xmm0, xmm0, edi, 1
vmovdqa xmmword [rsp], xmm0
vinserti128 ymm5, ymm12, xmm0, 1
vbroadcasti128 ymm13, xmmword [rcx + 0x10]
vmovdqa xmmword [rsp + 0x40], xmm1
vinserti128 ymm4, ymm11, xmm1, 1
vbroadcasti128 ymm14, xmmword [rcx]
vbroadcasti128 ymm10, xmmword [0x140102d40]
mov r8d, 6
vbroadcasti128 ymm0, xmmword [0x140102900]
vmovdqa ymm1, ymmword [0x140102d60]
vmovdqa ymm2, ymm10
vmovdqa ymm7, ymm13
vmovdqa ymm9, ymm13
vmovdqa ymm6, ymm14
vmovdqa ymm8, ymm14
nop word cs:[rax + rax]
vpaddd ymm2, ymm8, ymm2
vpaddd ymm3, ymm10, ymm6
vpxor ymm4, ymm4, ymm2
vpxor ymm5, ymm5, ymm3
vpshuflw ymm4, ymm4, 0xb1
vpshufhw ymm4, ymm4, 0xb1
vpshuflw ymm5, ymm5, 0xb1
vpshufhw ymm5, ymm5, 0xb1
vmovdqa ymm10, ymm6
vpaddd ymm6, ymm9, ymm4
vpaddd ymm7, ymm7, ymm5
vpxor ymm8, ymm8, ymm6
vpsrld ymm9, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm9
vpxor ymm9, ymm10, ymm7
vpsrld ymm10, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm9, ymm9, ymm10
vpaddd ymm2, ymm8, ymm2
vpaddd ymm3, ymm9, ymm3
vpshufb ymm10, ymm2, ymm0
vpshufb ymm4, ymm4, ymm0
vpxor ymm4, ymm10, ymm4
vpshufb ymm10, ymm3, ymm0
vpshufb ymm5, ymm5, ymm0
vpxor ymm5, ymm10, ymm5
vpaddd ymm6, ymm6, ymm4
vpaddd ymm7, ymm7, ymm5
vpxor ymm8, ymm8, ymm6
vpxor ymm9, ymm9, ymm7
vpsrld ymm10, ymm8, 0x19
vpslld ymm8, ymm8, 7
vpor ymm8, ymm8, ymm10
vpsrld ymm10, ymm9, 0x19
vpslld ymm9, ymm9, 7
vpor ymm9, ymm9, ymm10
vpshufd ymm8, ymm8, 0x39
vpshufd ymm9, ymm9, 0x39
vpshufd ymm6, ymm6, 0x4e
vpshufd ymm7, ymm7, 0x4e
vpaddd ymm2, ymm8, ymm2
vpaddd ymm3, ymm9, ymm3
vpshuflw ymm10, ymm2, 0xb1
vpshufhw ymm10, ymm10, 0xb1
vpshufb ymm4, ymm4, ymm1
vpxor ymm4, ymm10, ymm4
vpshuflw ymm10, ymm3, 0xb1
vpshufhw ymm10, ymm10, 0xb1
vpshufb ymm5, ymm5, ymm1
vpxor ymm5, ymm10, ymm5
vpaddd ymm6, ymm6, ymm4
vpaddd ymm7, ymm7, ymm5
vpxor ymm8, ymm8, ymm6
vpxor ymm9, ymm9, ymm7
vpsrld ymm10, ymm8, 0x14
vpslld ymm8, ymm8, 0xc
vpor ymm8, ymm8, ymm10
vpsrld ymm10, ymm9, 0x14
vpslld ymm9, ymm9, 0xc
vpor ymm9, ymm9, ymm10
vpaddd ymm15, ymm8, ymm2
vpaddd ymm10, ymm9, ymm3
vpxor ymm2, ymm15, ymm4
vpshufb ymm2, ymm2, ymm0
vpxor ymm3, ymm10, ymm5
vpshufb ymm3, ymm3, ymm0
vpaddd ymm4, ymm6, ymm2
vpaddd ymm5, ymm7, ymm3
vpxor ymm6, ymm8, ymm4
vpxor ymm7, ymm9, ymm5
vpsrld ymm8, ymm6, 0x19
vpslld ymm6, ymm6, 7
vpor ymm6, ymm8, ymm6
vpsrld ymm8, ymm7, 0x19
vpslld ymm7, ymm7, 7
vpor ymm7, ymm8, ymm7
vpshufd ymm8, ymm6, 0x93
vpshufd ymm6, ymm7, 0x93
vpshufd ymm9, ymm4, 0x4e
vpshufd ymm7, ymm5, 0x4e
vpshufd ymm4, ymm2, 0x39
vmovdqa ymm2, ymm15
vpshufd ymm5, ymm3, 0x39
dec r8d
jne 0x140070ea0
mov r8d, dword [0x141dcb3a8]
xor r8d, dword [0x141dcb3ac]
add r8d, 0x99989b43
imul r8, r8, 0x40d28281
shr r8, 0x38
add r8d, 0xe09a243a
vextracti128 xmm1, ymm2, 1
vextracti128 xmm3, ymm10, 1
vextracti128 xmmword [rsp + 0x60], ymm8, 1
vextracti128 xmmword [rsp + 0x20], ymm6, 1
vextracti128 xmmword [rsp + 0x50], ymm9, 1
vextracti128 xmm0, ymm7, 1
vextracti128 xmmword [rsp + 0x30], ymm4, 1
vextracti128 xmmword [rsp + 0x80], ymm5, 1
cmp r8d, 0xdf56aacf
vmovdqu ymmword [rsp + 0x200], ymm11
vmovdqu ymmword [rsp + 0x1e0], ymm12
vmovdqu ymmword [rsp + 0x1c0], ymm13
vmovdqu ymmword [rsp + 0x1a0], ymm14
vmovdqu ymmword [rsp + 0x180], ymm10
vmovdqu ymmword [rsp + 0x160], ymm2
vmovdqu ymmword [rsp + 0x140], ymm6
vmovdqu ymmword [rsp + 0x120], ymm5
vmovdqu ymmword [rsp + 0x100], ymm4
vmovdqu ymmword [rsp + 0xe0], ymm8
vmovdqu ymmword [rsp + 0xc0], ymm7
vmovdqu ymmword [rsp + 0xa0], ymm9
jae 0x140071295
lea r8, [rax + 4]
vmovdqa xmmword [rsp + 0x70], xmm0
vpinsrd xmm0, xmm11, r8d, 0
shr r8, 0x20
vpinsrd xmm0, xmm0, r8d, 1
vmovdqa xmmword [rcx + 0x20], xmm0
vmovdqa xmm0, xmmword [0x140102d40]
vmovdqa xmmword [rsp + 0x10], xmm1
vpaddd xmm1, xmm2, xmm0
vmovdqu xmmword [rdx], xmm1
vpaddd xmm1, xmm14, xmm8
vmovdqu xmmword [rdx + 0x10], xmm1
vpaddd xmm1, xmm13, xmm9
vmovdqu xmmword [rdx + 0x20], xmm1
vpaddd xmm1, xmm11, xmm4
vmovdqu xmmword [rdx + 0x30], xmm1
vpaddd xmm1, xmm0, xmmword [rsp + 0x10]
vmovdqu xmmword [rdx + 0x40], xmm1
vpaddd xmm1, xmm14, xmmword [rsp + 0x60]
vmovdqu xmmword [rdx + 0x50], xmm1
vpaddd xmm1, xmm13, xmmword [rsp + 0x50]
vmovdqu xmmword [rdx + 0x60], xmm1
vmovdqa xmm1, xmmword [rsp + 0x30]
vpaddd xmm1, xmm1, xmmword [rsp + 0x40]
vmovdqu xmmword [rdx + 0x70], xmm1
vpaddd xmm1, xmm10, xmm0
vmovdqu xmmword [rdx + 0x80], xmm1
vpaddd xmm1, xmm14, xmm6
vmovdqu xmmword [rdx + 0x90], xmm1
vpaddd xmm1, xmm13, xmm7
vmovdqu xmmword [rdx + 0xa0], xmm1
vpaddd xmm1, xmm12, xmm5
vmovdqu xmmword [rdx + 0xb0], xmm1
vpaddd xmm0, xmm3, xmm0
vmovdqu xmmword [rdx + 0xc0], xmm0
vpaddd xmm0, xmm14, xmmword [rsp + 0x20]
vmovdqu xmmword [rdx + 0xd0], xmm0
vpaddd xmm0, xmm13, xmmword [rsp + 0x70]
vmovdqu xmmword [rdx + 0xe0], xmm0
vmovdqa xmm0, xmmword [rsp + 0x80]
vpaddd xmm0, xmm0, xmmword [rsp]
vmovdqu xmmword [rdx + 0xf0], xmm0
vmovdqa xmmword [rsp + 0x90], xmm3
vzeroupper
vmovdqa xmm1, xmmword [rsp + 0x10]
vmovdqa xmm0, xmmword [rsp + 0x70]
vmovdqa xmm3, xmmword [rsp + 0x90]
vmovdqu ymm9, ymmword [rsp + 0xa0]
vmovdqu ymm7, ymmword [rsp + 0xc0]
vmovdqu ymm8, ymmword [rsp + 0xe0]
vmovdqu ymm4, ymmword [rsp + 0x100]
vmovdqu ymm5, ymmword [rsp + 0x120]
vmovdqu ymm6, ymmword [rsp + 0x140]
vmovdqu ymm2, ymmword [rsp + 0x160]
vmovdqu ymm10, ymmword [rsp + 0x180]
vmovdqu ymm14, ymmword [rsp + 0x1a0]
vmovdqu ymm13, ymmword [rsp + 0x1c0]
vmovdqu ymm12, ymmword [rsp + 0x1e0]
vmovdqu ymm11, ymmword [rsp + 0x200]
add rax, 4
mov r8, rax
shr r8, 0x20
vmovdqa xmm15, xmmword [0x140102d40]
vpaddd xmm1, xmm15, xmm1
vmovdqa xmmword [rsp + 0x70], xmm1
vpaddd xmm1, xmm14, xmmword [rsp + 0x60]
vmovdqa xmmword [rsp + 0x60], xmm1
vpaddd xmm1, xmm13, xmmword [rsp + 0x50]
vmovdqa xmmword [rsp + 0x50], xmm1
vmovdqa xmm1, xmmword [rsp + 0x30]
vpaddd xmm1, xmm1, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0x40], xmm1
vpaddd xmm1, xmm15, xmm3
vmovdqa xmmword [rsp + 0x30], xmm1
vpaddd xmm1, xmm14, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm1
vpaddd xmm0, xmm13, xmm0
vmovdqa xmmword [rsp + 0x10], xmm0
vmovdqa xmm0, xmmword [rsp + 0x80]
vpaddd xmm0, xmm0, xmmword [rsp]
vmovdqa xmmword [rsp], xmm0
nop
mov r9d, dword [0x141dcb3b0]
or r9d, dword [0x141dcb3b4]
vpinsrd xmm0, xmm11, eax, 0
vpinsrd xmm0, xmm0, r8d, 1
vmovdqa xmmword [rcx + 0x20], xmm0
vmovdqa xmm1, xmmword [0x140102d40]
vpaddd xmm0, xmm2, xmm1
vmovdqu xmmword [rdx], xmm0
vpaddd xmm0, xmm14, xmm8
vmovdqu xmmword [rdx + 0x10], xmm0
vpaddd xmm0, xmm13, xmm9
vmovdqu xmmword [rdx + 0x20], xmm0
vpaddd xmm0, xmm11, xmm4
vmovdqu xmmword [rdx + 0x30], xmm0
vmovaps xmm0, xmmword [rsp + 0x70]
vmovups xmmword [rdx + 0x40], xmm0
vmovaps xmm0, xmmword [rsp + 0x60]
vmovups xmmword [rdx + 0x50], xmm0
vmovaps xmm0, xmmword [rsp + 0x50]
vmovups xmmword [rdx + 0x60], xmm0
vmovaps xmm0, xmmword [rsp + 0x40]
vmovups xmmword [rdx + 0x70], xmm0
vpaddd xmm0, xmm10, xmm1
vmovdqu xmmword [rdx + 0x80], xmm0
vpaddd xmm0, xmm14, xmm6
vmovdqu xmmword [rdx + 0x90], xmm0
vpaddd xmm0, xmm13, xmm7
vmovdqu xmmword [rdx + 0xa0], xmm0
vpaddd xmm0, xmm12, xmm5
vmovdqu xmmword [rdx + 0xb0], xmm0
vmovaps xmm0, xmmword [rsp + 0x30]
vmovups xmmword [rdx + 0xc0], xmm0
vmovaps xmm0, xmmword [rsp + 0x20]
vmovups xmmword [rdx + 0xd0], xmm0
vmovaps xmm0, xmmword [rsp + 0x10]
vmovups xmmword [rdx + 0xe0], xmm0
vmovdqa xmm0, xmmword [rsp]
vmovdqu xmmword [rdx + 0xf0], xmm0
vzeroupper
vmovdqu ymm9, ymmword [rsp + 0xa0]
vmovdqu ymm7, ymmword [rsp + 0xc0]
vmovdqu ymm8, ymmword [rsp + 0xe0]
vmovdqu ymm4, ymmword [rsp + 0x100]
vmovdqu ymm5, ymmword [rsp + 0x120]
vmovdqu ymm6, ymmword [rsp + 0x140]
vmovdqu ymm2, ymmword [rsp + 0x160]
vmovdqu ymm10, ymmword [rsp + 0x180]
vmovdqu ymm14, ymmword [rsp + 0x1a0]
vmovdqu ymm13, ymmword [rsp + 0x1c0]
vmovdqu ymm12, ymmword [rsp + 0x1e0]
vmovdqu ymm11, ymmword [rsp + 0x200]
and r9d, 0x2004b840
imul r9d, r9d, 0x206970c3
cmp r9d, 0x196d3f80
jb 0x140071310
vmovaps xmm6, xmmword [rsp + 0x220]
vmovaps xmm7, xmmword [rsp + 0x230]
vmovaps xmm8, xmmword [rsp + 0x240]
vmovaps xmm9, xmmword [rsp + 0x250]
vmovaps xmm10, xmmword [rsp + 0x260]
vmovaps xmm11, xmmword [rsp + 0x270]
vmovaps xmm12, xmmword [rsp + 0x280]
vmovaps xmm13, xmmword [rsp + 0x290]
vmovaps xmm14, xmmword [rsp + 0x2a0]
vmovaps xmm15, xmmword [rsp + 0x2b0]
add rsp, 0x2c0
pop rbx
pop rdi
pop rsi
vzeroupper
ret