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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push r15
sub rsp, 0x28
mov r15d, dword [rsp + 0x88]
mov rbx, r9
mov rbp, r8
mov rsi, rcx
test r15d, r15d
je 0x1400d8d44
movsxd r9, dword [rsp + 0x80]
mov r11, qword [rsp + 0x90]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x20], r12
mov r12, r9
mov qword [rsp + 0x18], r13
lea eax, [r9 - 4]
mov qword [rsp + 0x10], r14
lea ecx, [r9 - 8]
mov r14, qword [rsp + 0x70]
movsxd r13, eax
mov qword [rsp], r9
nop dword [rax + rax]
dec r15d
xor edi, edi
test ecx, ecx
js 0x1400d8b12
mov rcx, rsi
mov eax, r9d
mov rdx, r14
sub rcx, rbp
sub rdx, rbp
mov r8, rbp
shr rax, 3
lea rdi, [rax*8]
nop dword [rax + rax]
movq xmm4, qword [rcx + r8]
movq xmm5, qword [r8]
lea r8, [r8 + 8]
movss xmm2, dword [r11]
punpcklbw xmm4, xmm4
psraw xmm4, 8
shufps xmm2, xmm2, 0
movdqa xmm0, xmm4
punpcklwd xmm0, xmm4
psrad xmm0, 0x10
punpcklbw xmm5, xmm5
psraw xmm5, 8
punpckhwd xmm4, xmm4
psrad xmm4, 0x10
cvtdq2ps xmm1, xmm0
movdqa xmm0, xmm5
punpcklwd xmm0, xmm5
psrad xmm0, 0x10
mulps xmm1, xmm2
cvtdq2ps xmm0, xmm0
divps xmm1, xmm0
movdqa xmm0, xmm5
punpckhwd xmm0, xmm5
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
cvtps2dq xmm3, xmm1
cvtdq2ps xmm1, xmm4
mulps xmm1, xmm2
divps xmm1, xmm0
xorps xmm0, xmm0
pcmpeqw xmm0, xmm5
cvtps2dq xmm1, xmm1
packssdw xmm3, xmm1
pand xmm0, xmm3
pxor xmm0, xmm3
packsswb xmm0, xmm0
movq qword [rdx + r8 - 8], xmm0
sub rax, 1
jne 0x1400d8a70
cmp rdi, r13
jg 0x1400d8c97
mov rbx, r13
lea rcx, [rsi + 1]
sub rbx, rdi
add rcx, rdi
mov r9, rbp
shr rbx, 2
mov r10, r14
sub r9, rsi
sub r10, rsi
mov r12d, 0x7f
inc rbx
lea rdi, [rdi + rbx*4]
movsx edx, byte [r9 + rcx - 1]
test dl, dl
je 0x1400d8b8f
movsx eax, byte [rcx - 1]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si r8d, xmm1
lea eax, [r8 + 0x80]
cmp eax, 0xff
jbe 0x1400d8b92
test r8d, r8d
mov eax, 0xffffff80
cmovg eax, r12d
movzx r8d, al
jmp 0x1400d8b92
xor r8b, r8b
movsx edx, byte [r9 + rcx]
test dl, dl
je 0x1400d8bd6
movsx eax, byte [rcx]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si edx, xmm1
lea eax, [rdx + 0x80]
cmp eax, 0xff
jbe 0x1400d8bd8
test edx, edx
mov eax, 0xffffff80
cmovg eax, r12d
movzx edx, al
jmp 0x1400d8bd8
xor dl, dl
mov byte [r10 + rcx - 1], r8b
mov byte [r10 + rcx], dl
movsx edx, byte [r9 + rcx + 1]
test dl, dl
je 0x1400d8c2b
movsx eax, byte [rcx + 1]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si r8d, xmm1
lea eax, [r8 + 0x80]
cmp eax, 0xff
jbe 0x1400d8c2e
test r8d, r8d
mov eax, 0xffffff80
cmovg eax, r12d
movzx r8d, al
jmp 0x1400d8c2e
xor r8b, r8b
movsx edx, byte [r9 + rcx + 2]
test dl, dl
je 0x1400d8c74
movsx eax, byte [rcx + 2]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si edx, xmm1
lea eax, [rdx + 0x80]
cmp eax, 0xff
jbe 0x1400d8c76
test edx, edx
mov eax, 0xffffff80
cmovg eax, r12d
movzx edx, al
jmp 0x1400d8c76
xor dl, dl
mov byte [r10 + rcx + 1], r8b
mov byte [r10 + rcx + 2], dl
add rcx, 4
sub rbx, 1
jne 0x1400d8b45
mov r12, qword [rsp]
mov rbx, qword [rsp + 0x68]
cmp rdi, r12
jge 0x1400d8d0e
mov r9, rbp
lea rdx, [rdi + rsi]
mov r10, r14
sub r9, rsi
sub r10, rsi
mov r8, r12
sub r8, rdi
mov ebx, 0x7f
movsx ecx, byte [rdx + r9]
test cl, cl
je 0x1400d8cfa
movsx eax, byte [rdx]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [r11]
divss xmm1, xmm0
cvtss2si ecx, xmm1
lea eax, [rcx + 0x80]
cmp eax, 0xff
jbe 0x1400d8cfc
test ecx, ecx
mov eax, 0xffffff80
cmovg eax, ebx
movzx ecx, al
jmp 0x1400d8cfc
xor cl, cl
mov byte [rdx + r10], cl
inc rdx
sub r8, 1
jne 0x1400d8cb7
mov rbx, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x80]
add rbp, rbx
add rsi, qword [rsp + 0x58]
add r14, qword [rsp + 0x78]
lea ecx, [r9 - 8]
test r15d, r15d
jne 0x1400d8a40
mov r14, qword [rsp + 0x10]
mov r13, qword [rsp + 0x18]
mov r12, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x50]
add rsp, 0x28
pop r15
pop rsi
pop rbp
pop rbx
ret