Function at 0x1400d9480
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
push rbp
push rsi
push r12
push r15
sub rsp, 0x68
movsxd r10, dword [rsp + 0xc0]
mov rsi, rcx
mov rcx, qword [rsp + 0xb8]
mov rbp, r8
mov r15d, dword [rsp + 0xc8]
mov r12, r10
shr rcx, 1
shr rdx, 1
shr r9, 1
mov qword [rsp + 0x98], r10
test r15d, r15d
je 0x1400d9857
mov r11, qword [rsp + 0xd0]
add rdx, rdx
mov qword [rax + 8], rbx
add r9, r9
mov qword [rax - 0x28], rdi
add rcx, rcx
mov qword [rax - 0x30], r13
mov qword [rax - 0x38], r14
mov r14, qword [rsp + 0xb0]
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
lea eax, [r10 - 8]
movsxd rbx, eax
lea eax, [r10 - 4]
movsxd r13, eax
xor eax, eax
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xa8], rdx
mov qword [rsp], r9
mov qword [rsp + 8], rcx
nop dword [rax]
dec r15d
mov rdi, rax
test rbx, rbx
js 0x1400d961f
movdqa xmm7, xmmword [0x1401cf280]
lea rax, [rbx + 8]
movdqa xmm9, xmmword [0x1401cf2c0]
mov rcx, rsi
mov rdx, r14
sub rcx, rbp
sub rdx, rbp
xorps xmm6, xmm6
shr rax, 3
xorps xmm8, xmm8
mov r8, rbp
lea rdi, [rax*8]
nop word [rax + rax]
movss xmm2, dword [r11]
shufps xmm2, xmm2, 0
movdqu xmm5, xmmword [r8]
movdqu xmm4, xmmword [rcx + r8]
lea r8, [r8 + 0x10]
movdqa xmm0, xmm4
punpckhwd xmm4, xmm6
punpcklwd xmm0, xmm6
cvtdq2ps xmm1, xmm0
movdqa xmm0, xmm5
punpcklwd xmm0, xmm6
mulps xmm1, xmm2
cvtdq2ps xmm0, xmm0
divps xmm1, xmm0
movdqa xmm0, xmm5
punpckhwd xmm0, xmm6
cvtdq2ps xmm0, xmm0
cvtps2dq xmm3, xmm1
cvtdq2ps xmm1, xmm4
movdqa xmm4, xmm3
mulps xmm1, xmm2
pcmpgtd xmm4, xmm8
pand xmm4, xmm3
psubd xmm4, xmm7
divps xmm1, xmm0
cvtps2dq xmm2, xmm1
movdqa xmm0, xmm2
pcmpgtd xmm0, xmm8
pand xmm0, xmm2
psubd xmm0, xmm7
packssdw xmm4, xmm0
xorps xmm0, xmm0
pcmpeqw xmm0, xmm5
psubw xmm4, xmm9
pand xmm0, xmm4
pxor xmm0, xmm4
movdqu xmmword [rdx + r8 - 0x10], xmm0
sub rax, 1
jne 0x1400d9580
cmp rdi, r13
jg 0x1400d9796
lea rcx, [rdi + 1]
mov rbx, r13
sub rbx, rdi
lea rcx, [rsi + rcx*2]
mov r9, rbp
shr rbx, 2
mov r10, r14
sub r9, rsi
sub r10, rsi
mov r12d, 0xffff
inc rbx
lea rdi, [rdi + rbx*4]
movzx edx, word [r9 + rcx - 2]
test dx, dx
je 0x1400d9695
movzx eax, word [rcx - 2]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
xor eax, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si r8d, xmm1
cmp r8d, r12d
jbe 0x1400d9699
test r8d, r8d
cmovg ax, r12w
movzx r8d, ax
xor eax, eax
jmp 0x1400d9699
movzx r8d, ax
movzx edx, word [r9 + rcx]
test dx, dx
je 0x1400d96d6
movzx eax, word [rcx]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
xor eax, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si edx, xmm1
cmp edx, r12d
jbe 0x1400d96d9
test edx, edx
cmovg ax, r12w
movzx edx, ax
xor eax, eax
jmp 0x1400d96d9
movzx edx, ax
mov word [r10 + rcx - 2], r8w
mov word [r10 + rcx], dx
movzx edx, word [r9 + rcx + 2]
test dx, dx
je 0x1400d9726
movzx eax, word [rcx + 2]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
xor eax, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si r8d, xmm1
cmp r8d, r12d
jbe 0x1400d972a
test r8d, r8d
cmovg ax, r12w
movzx r8d, ax
xor eax, eax
jmp 0x1400d972a
movzx r8d, ax
movzx edx, word [r9 + rcx + 4]
test dx, dx
je 0x1400d9769
movzx eax, word [rcx + 4]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
xor eax, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si edx, xmm1
cmp edx, r12d
jbe 0x1400d976c
test edx, edx
cmovg ax, r12w
movzx edx, ax
xor eax, eax
jmp 0x1400d976c
movzx edx, ax
mov word [r10 + rcx + 2], r8w
mov word [r10 + rcx + 4], dx
add rcx, 8
sub rbx, 1
jne 0x1400d9653
mov r12, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xb8]
cmp rdi, r12
jge 0x1400d980b
mov r9, rbp
lea rcx, [rsi + rdi*2]
mov r10, r14
sub r9, rsi
sub r10, rsi
mov r8, r12
sub r8, rdi
mov ebx, 0xffff
movzx edx, word [rcx + r9]
test dx, dx
je 0x1400d97ef
movzx eax, word [rcx]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si edx, xmm1
cmp edx, ebx
ja 0x1400d97e7
movzx eax, dx
jmp 0x1400d97ef
xor eax, eax
test edx, edx
cmovg ax, bx
mov word [rcx + r10], ax
add rcx, 2
mov eax, 0
sub r8, 1
jne 0x1400d97b6
mov rbx, qword [rsp + 0xb8]
add rsi, qword [rsp + 0xa8]
mov eax, 0
add rbp, qword [rsp]
add r14, qword [rsp + 8]
test r15d, r15d
jne 0x1400d9530
movaps xmm9, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm6, xmmword [rsp + 0x40]
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x90]
add rsp, 0x68
pop r15
pop r12
pop rsi
pop rbp
ret