Function at 0x180019870
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r15
mov eax, 0xa0a0
call fcn.1800533c0
sub rsp, rax
mov eax, dword [r9 + 0x20]
mov rbp, r8
movaps xmmword [rsp + 0xa090], xmm6
mov r12, rdx
movaps xmmword [rsp + 0xa080], xmm7
movaps xmmword [rsp + 0xa050], xmm10
movaps xmmword [rsp + 0xa040], xmm11
movaps xmmword [rsp + 0xa030], xmm12
movaps xmmword [rsp + 0xa020], xmm13
movaps xmmword [rsp + 0xa010], xmm14
movaps xmmword [rsp + 0xa000], xmm15
test eax, eax
je 0x1800198e9
lea r15, [rcx + rax]
jmp 0x1800198ec
xor r15d, r15d
mov eax, dword [r9 + 0x24]
mov qword [rsp + 0xa0d0], r14
test eax, eax
je 0x180019902
lea r14, [rcx + rax]
jmp 0x180019905
xor r14d, r14d
mov eax, dword [r9 + 0x28]
test eax, eax
je 0x180019913
lea rsi, [rcx + rax]
jmp 0x180019915
xor esi, esi
movups xmm0, xmmword [r9]
mov r10, qword [rsp + 0xa0f0]
mov edi, 1
movups xmm1, xmmword [r9 + 0x10]
lea r13, [0x180068de8]
mov qword [rsp], r15
movaps xmm14, xmmword [0x180068c50]
movaps xmm15, xmmword [0x180068c70]
movaps xmm13, xmmword [0x180068c10]
movaps xmm10, xmmword [0x180068bb0]
movaps xmmword [rsp + 0xa070], xmm8
movaps xmmword [rsp + 0x2000], xmm0
movaps xmmword [rsp + 0x2010], xmm1
movaps xmmword [rsp + 0xa060], xmm9
nop dword [rax + rax]
mov r11, rdi
lea r8, [rsp]
dec rdi
lea rdx, [rsp + 0x2000]
mov rcx, qword [r8 + rdi*8]
lea r8, [r8 + rdi*8]
mov rax, rdi
shl rax, 5
add rdx, rax
test rcx, rcx
je 0x180019c7a
movups xmm9, xmmword [rdx]
xorps xmm7, xmm7
movups xmm11, xmmword [rbp]
movaps xmm0, xmm9
addps xmm0, xmmword [rdx + 0x10]
movups xmm12, xmmword [r12]
movaps xmm2, xmm11
movups xmm8, xmmword [rdx + 0x10]
movaps xmm5, xmm12
mulps xmm2, xmm14
subps xmm8, xmm9
mulps xmm0, xmm14
addps xmm5, xmm2
movaps xmm3, xmm2
andps xmm3, xmm15
movaps xmm6, xmm8
mulps xmm6, xmm14
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xc9
subps xmm5, xmm0
movaps xmm0, xmm6
mulps xmm1, xmm6
shufps xmm0, xmm6, 0xc9
movaps xmm4, xmm5
mulps xmm0, xmm3
shufps xmm4, xmm5, 0xc9
addps xmm3, xmm6
mulps xmm4, xmm2
shufps xmm2, xmm2, 0xc9
addps xmm1, xmm0
mulps xmm2, xmm5
andps xmm5, xmm15
cmpleps xmm5, xmm3
subps xmm4, xmm2
andps xmm4, xmm15
cmpleps xmm4, xmm1
andps xmm4, xmm5
cmpeqps xmm4, xmm7
movmskps eax, xmm4
test al, 7
jne 0x180019c7a
movzx ebx, word [rcx]
movzx eax, bx
movzx r9d, bx
shr ax, 0xf
test al, al
je 0x180019bdf
movsxd rax, dword [rcx + 4]
mov r9d, 0
lea rdx, [r14 + rax*8]
and ebx, 0x7fff
jbe 0x180019c7a
mov r8, qword [r10]
movzx r11d, word [r10 + 0xc]
nop dword [rax]
movzx eax, word [rdx + 6]
test r8, r8
je 0x180019aa1
movzx ecx, word [r10 + 8]
cmp ax, cx
jae 0x180019a99
lea rax, [r8 + rax*4]
jmp 0x180019aa4
mov rax, r8
test cx, cx
jne 0x180019aa4
mov rax, r13
test r11w, r11w
je 0x180019ab5
test word [rax + 2], r11w
jne 0x180019bca
cmp byte [r10 + 0x20], 0
je 0x180019ad6
movzx ecx, word [rax]
lea eax, [rcx - 1]
cmp ax, 2
jbe 0x180019bca
cmp cx, 0x15
je 0x180019bca
test byte [r10 + 0xa], 1
movaps xmm0, xmm11
movzx eax, word [rdx]
movaps xmm1, xmm12
shufps xmm0, xmm11, 0xc9
lea rcx, [rax + rax*2]
movzx eax, word [rdx + 4]
movups xmm2, xmmword [rsi + rcx*4]
blendps xmm2, xmm13, 8
subps xmm1, xmm2
lea rcx, [rax + rax*2]
movzx eax, word [rdx + 2]
movups xmm4, xmmword [rsi + rcx*4]
subps xmm4, xmm2
lea rcx, [rax + rax*2]
movups xmm5, xmmword [rsi + rcx*4]
subps xmm5, xmm2
blendps xmm4, xmm7, 8
mulps xmm0, xmm4
movaps xmm3, xmm4
shufps xmm3, xmm4, 0xc9
blendps xmm5, xmm7, 8
mulps xmm3, xmm11
movaps xmm2, xmm5
shufps xmm2, xmm5, 0xc9
mulps xmm2, xmm1
subps xmm3, xmm0
movaps xmm0, xmm7
movlhps xmm0, xmm3
shufps xmm3, xmm0, 0x29
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xc9
mulps xmm0, xmm5
mulps xmm1, xmm3
mulps xmm3, xmm5
subps xmm2, xmm0
movaps xmm0, xmm7
movlhps xmm0, xmm2
shufps xmm2, xmm0, 0x29
movaps xmm6, xmm2
mulps xmm2, xmm11
mulps xmm6, xmm4
haddps xmm2, xmm3
haddps xmm6, xmm1
haddps xmm6, xmm2
je 0x180019b8f
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xff
andps xmm0, xmm10
xorps xmm6, xmm0
movaps xmm0, xmm6
cmpltps xmm0, xmm7
movmskps eax, xmm0
test eax, eax
jne 0x180019bca
movaps xmm1, xmm6
shufps xmm1, xmm6, 0xff
comiss xmm1, xmm7
sete cl
setnp al
test al, cl
jne 0x180019bca
movaps xmm0, xmm7
shufps xmm0, xmm6, 0x50
addps xmm0, xmm6
cmpltps xmm1, xmm0
movmskps eax, xmm1
test al, 7
je 0x180019ce9
inc r9d
add rdx, 8
cmp r9d, ebx
jl 0x180019a80
jmp 0x180019c7a
movq xmm0, qword [rcx]
lea rdi, [r11 + 1]
mulps xmm8, xmmword [0x180068b70]
xorps xmm2, xmm2
mov rax, r11
shl rax, 5
xorps xmm1, xmm1
punpcklbw xmm1, xmm0
and r9d, 0x7fff
pcmpgtw xmm2, xmm1
movdqa xmm0, xmm1
punpckhwd xmm0, xmm2
cvtdq2ps xmm3, xmm0
punpcklwd xmm1, xmm2
movaps xmm2, xmm3
shufps xmm3, xmm3, 0xf4
cvtdq2ps xmm0, xmm1
mulps xmm3, xmm8
movhlps xmm2, xmm0
mulps xmm2, xmm8
movaps xmm0, xmm2
minps xmm0, xmm7
maxps xmm2, xmm7
subps xmm9, xmm0
movaps xmm0, xmm3
minps xmm0, xmm7
movups xmmword [rsp + rax + 0x2000], xmm9
addps xmm2, xmmword [rdx]
maxps xmm3, xmm7
movups xmmword [rdx], xmm2
addps xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + rax + 0x2010], xmm0
lea rax, [r15 + r9*8]
movups xmm0, xmmword [rdx + 0x10]
mov qword [r8], rax
subps xmm0, xmm3
lea rax, [rcx + 8]
mov qword [rsp + r11*8], rax
movups xmmword [rdx + 0x10], xmm0
test rdi, rdi
jg 0x180019980
xor al, al
movaps xmm9, xmmword [rsp + 0xa060]
lea r11, [rsp + 0xa0a0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
movaps xmm8, xmmword [rsp + 0xa070]
mov r14, qword [rsp + 0xa0d0]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret
mov al, 1
jmp 0x180019c85