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

Disassembly:
sub rsp, 0xb8
vmovaps xmmword [rsp + 0xa0], xmm15
vmovaps xmmword [rsp + 0x90], xmm14
vmovaps xmmword [rsp + 0x80], xmm13
vmovaps xmmword [rsp + 0x70], xmm12
vmovaps xmmword [rsp + 0x60], xmm11
vmovaps xmmword [rsp + 0x50], xmm10
vmovaps xmmword [rsp + 0x40], xmm9
vmovaps xmmword [rsp + 0x30], xmm8
vmovaps xmmword [rsp + 0x20], xmm7
vmovaps xmmword [rsp + 0x10], xmm6
nop dword [rax]
mov eax, dword [0x141dcadd0]
and eax, dword [0x141dcadd4]
xor eax, 0xa0401009
and eax, 0xa3c43cab
cmp eax, 0x8d7b0d2
je 0x140071a80
mov rax, qword [rcx + 0x20]
lea r8, [rax + 1]
vmovdqa xmm3, xmmword [rcx + 0x20]
vpinsrd xmm0, xmm3, r8d, 0
shr r8, 0x20
lea r9, [rax + 2]
vpinsrd xmm1, xmm3, r9d, 0
shr r9, 0x20
vpinsrd xmm4, xmm0, r8d, 1
vpinsrd xmm1, xmm1, r9d, 1
lea r8, [rax + 3]
vpinsrd xmm0, xmm3, r8d, 0
shr r8, 0x20
vpinsrd xmm0, xmm0, r8d, 1
vmovdqa xmmword [rsp], xmm0
vinserti128 ymm9, ymm1, xmm0, 1
vinserti128 ymm12, ymm3, xmm4, 1
vbroadcasti128 ymm2, xmmword [rcx + 0x10]
vbroadcasti128 ymm5, xmmword [rcx]
vbroadcasti128 ymm8, xmmword [0x140102d30]
xor r8d, r8d
vbroadcasti128 ymm6, xmmword [0x140102900]
vmovdqa ymm7, ymmword [0x140102d40]
xor r9d, r9d
vmovdqa ymm13, ymm8
vmovdqa ymm11, ymm2
vmovdqa ymm14, ymm2
vmovdqa ymm10, ymm5
vmovdqa ymm15, ymm5
nop word cs:[rax + rax]
test r8b, r8b
jne 0x140071b40
inc r9d
vpaddd ymm13, ymm13, ymm15
vpaddd ymm8, ymm8, ymm10
vpxor ymm12, ymm12, ymm13
vpxor ymm9, ymm9, ymm8
vpshuflw ymm12, ymm12, 0xb1
vpshufhw ymm12, ymm12, 0xb1
vpshuflw ymm9, ymm9, 0xb1
vpshufhw ymm9, ymm9, 0xb1
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm9
vpxor ymm15, ymm14, ymm15
vpsrld ymm0, ymm15, 0x14
vpslld ymm15, ymm15, 0xc
vpor ymm0, ymm15, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm15
vpaddd ymm13, ymm13, ymm0
vpaddd ymm8, ymm10, ymm8
vpshufb ymm15, ymm13, ymm6
vpshufb ymm12, ymm12, ymm6
vpxor ymm12, ymm12, ymm15
vpshufb ymm15, ymm8, ymm6
vpshufb ymm9, ymm9, ymm6
vpxor ymm9, ymm9, ymm15
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm9
vpxor ymm0, ymm14, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpor ymm0, ymm15, ymm0
vpsrld ymm15, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm15
vpshufd ymm0, ymm0, 0x39
vpshufd ymm10, ymm10, 0x39
vpshufd ymm14, ymm14, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpaddd ymm13, ymm13, ymm0
vpaddd ymm8, ymm10, ymm8
vpshuflw ymm15, ymm13, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm12, ymm12, ymm7
vpxor ymm12, ymm12, ymm15
vpshuflw ymm15, ymm8, 0xb1
vpshufhw ymm15, ymm15, 0xb1
vpshufb ymm9, ymm9, ymm7
vpxor ymm9, ymm9, ymm15
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm9
vpxor ymm0, ymm14, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm0, 0x14
vpslld ymm0, ymm0, 0xc
vpor ymm0, ymm15, ymm0
vpsrld ymm15, ymm10, 0x14
vpslld ymm10, ymm10, 0xc
vpor ymm10, ymm10, ymm15
vpaddd ymm13, ymm13, ymm0
vpaddd ymm8, ymm10, ymm8
vpxor ymm12, ymm12, ymm13
vpshufb ymm12, ymm12, ymm6
vpxor ymm9, ymm9, ymm8
vpshufb ymm9, ymm9, ymm6
vpaddd ymm14, ymm14, ymm12
vpaddd ymm11, ymm11, ymm9
vpxor ymm0, ymm14, ymm0
vpxor ymm10, ymm11, ymm10
vpsrld ymm15, ymm0, 0x19
vpslld ymm0, ymm0, 7
vpor ymm0, ymm15, ymm0
vpsrld ymm15, ymm10, 0x19
vpslld ymm10, ymm10, 7
vpor ymm10, ymm10, ymm15
vpshufd ymm15, ymm0, 0x93
vpshufd ymm10, ymm10, 0x93
vpshufd ymm14, ymm14, 0x4e
vpshufd ymm11, ymm11, 0x4e
vpshufd ymm12, ymm12, 0x39
vpshufd ymm9, ymm9, 0x39
cmp r9d, 6
jne 0x140071b40
add rax, 4
mov r8, rax
shr r8, 0x20
vpinsrd xmm0, xmm3, eax, 0
vpinsrd xmm0, xmm0, r8d, 1
vextracti128 xmm6, ymm13, 1
vmovdqa xmmword [rcx + 0x20], xmm0
vmovdqa xmm0, xmmword [0x140102d30]
vpaddd xmm7, xmm13, xmm0
vmovdqu xmmword [rdx], xmm7
vpaddd xmm7, xmm15, xmm5
vmovdqu xmmword [rdx + 0x10], xmm7
vpaddd xmm7, xmm14, xmm2
vmovdqu xmmword [rdx + 0x20], xmm7
vextracti128 xmm7, ymm8, 1
vextracti128 xmm13, ymm15, 1
vpaddd xmm3, xmm12, xmm3
vmovdqu xmmword [rdx + 0x30], xmm3
vextracti128 xmm3, ymm10, 1
vextracti128 xmm14, ymm14, 1
vpaddd xmm6, xmm6, xmm0
vmovdqu xmmword [rdx + 0x40], xmm6
vextracti128 xmm6, ymm11, 1
vextracti128 xmm12, ymm12, 1
vpaddd xmm13, xmm13, xmm5
vmovdqu xmmword [rdx + 0x50], xmm13
vextracti128 xmm13, ymm9, 1
vpaddd xmm14, xmm14, xmm2
vmovdqu xmmword [rdx + 0x60], xmm14
vpaddd xmm4, xmm12, xmm4
vmovdqu xmmword [rdx + 0x70], xmm4
vpaddd xmm4, xmm8, xmm0
vmovdqu xmmword [rdx + 0x80], xmm4
vpaddd xmm4, xmm10, xmm5
vmovdqu xmmword [rdx + 0x90], xmm4
vpaddd xmm4, xmm11, xmm2
vmovdqu xmmword [rdx + 0xa0], xmm4
vpaddd xmm1, xmm9, xmm1
vmovdqu xmmword [rdx + 0xb0], xmm1
vpaddd xmm0, xmm7, xmm0
vmovdqu xmmword [rdx + 0xc0], xmm0
vpaddd xmm0, xmm5, xmm3
vmovdqu xmmword [rdx + 0xd0], xmm0
vpaddd xmm0, xmm2, xmm6
vmovdqu xmmword [rdx + 0xe0], xmm0
vpaddd xmm0, xmm13, xmmword [rsp]
vmovdqu xmmword [rdx + 0xf0], xmm0
vzeroupper
vmovaps xmm6, xmmword [rsp + 0x10]
vmovaps xmm7, xmmword [rsp + 0x20]
vmovaps xmm8, xmmword [rsp + 0x30]
vmovaps xmm9, xmmword [rsp + 0x40]
vmovaps xmm10, xmmword [rsp + 0x50]
vmovaps xmm11, xmmword [rsp + 0x60]
vmovaps xmm12, xmmword [rsp + 0x70]
vmovaps xmm13, xmmword [rsp + 0x80]
vmovaps xmm14, xmmword [rsp + 0x90]
vmovaps xmm15, xmmword [rsp + 0xa0]
add rsp, 0xb8
ret