Function at 0x18001a5f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push rdi
mov eax, 0xa0b8
call fcn.1800533c0
sub rsp, rax
mov rax, qword [rsp + 0xa0f0]
mov r10, r9
movaps xmmword [rsp + 0xa090], xmm6
xor edi, edi
movaps xmmword [rsp + 0xa080], xmm7
movaps xmmword [rsp + 0xa070], xmm8
mov r9d, dword [rax + 0x20]
movaps xmmword [rsp + 0xa060], xmm9
mov qword [rsp + 0xa0d0], rbx
mov qword [rsp + 0xa0d8], rsi
mov qword [rsp + 0xa0e0], r12
mov r12, r8
mov qword [rsp + 0xa0b0], r13
mov r13, rdx
mov qword [rsp + 0xa0a0], r15
lea r15, [rcx + r9]
movaps xmmword [rsp + 0xa050], xmm10
movaps xmmword [rsp + 0xa040], xmm11
movaps xmmword [rsp + 0xa010], xmm14
movaps xmmword [rsp + 0xa000], xmm15
test r9d, r9d
jne 0x18001a691
mov r15d, edi
mov edx, dword [rax + 0x24]
mov qword [rsp + 0xa0a8], r14
lea r14, [rcx + rdx]
test edx, edx
jne 0x18001a6a7
mov r14, rdi
mov edx, dword [rax + 0x28]
lea rbp, [rcx + rdx]
test edx, edx
jne 0x18001a6b5
mov rbp, rdi
movups xmm0, xmmword [rax]
mov r8, qword [rsp + 0xa0f8]
mov ebx, 1
movups xmm1, xmmword [rax + 0x10]
mov qword [rsp], r15
movaps xmm9, xmmword [0x180068c50]
movaps xmm10, xmmword [0x180068c70]
movaps xmm11, xmmword [0x180068c10]
movaps xmm8, xmmword [0x180068bb0]
movaps xmmword [rsp + 0xa030], xmm12
movaps xmmword [rsp + 0x2000], xmm0
movaps xmmword [rsp + 0x2010], xmm1
movaps xmmword [rsp + 0xa020], xmm13
nop
mov r9, qword [rsp + rbx*8 - 8]
mov rsi, rbx
dec rbx
mov rdx, rbx
shl rdx, 5
test r9, r9
je 0x18001aa5b
movups xmm1, xmmword [rsp + rdx + 0x2010]
xorps xmm7, xmm7
movups xmm13, xmmword [rsp + rdx + 0x2000]
movaps xmm12, xmm1
movups xmm2, xmmword [r10]
subps xmm12, xmm13
movups xmm14, xmmword [r12]
movaps xmm0, xmm13
movups xmm15, xmmword [r13]
addps xmm0, xmm1
shufps xmm2, xmm2, 0
movaps xmm5, xmm15
mulps xmm2, xmm14
movaps xmm6, xmm12
mulps xmm0, xmm9
mulps xmm2, xmm9
mulps xmm6, xmm9
addps xmm5, xmm2
movaps xmm3, xmm2
andps xmm3, xmm10
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xc9
mulps xmm1, xmm6
subps xmm5, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xc9
mulps xmm0, xmm3
addps xmm3, xmm6
movaps xmm4, xmm5
shufps xmm4, xmm5, 0xc9
mulps xmm4, xmm2
addps xmm1, xmm0
shufps xmm2, xmm2, 0xc9
mulps xmm2, xmm5
andps xmm5, xmm10
cmpleps xmm5, xmm3
subps xmm4, xmm2
andps xmm4, xmm10
cmpleps xmm4, xmm1
andps xmm4, xmm5
cmpeqps xmm4, xmm7
movmskps eax, xmm4
test al, 7
jne 0x18001aa5b
movzx ecx, word [r9]
movzx eax, cx
movzx r11d, cx
shr ax, 0xf
test al, al
je 0x18001a9a8
movsxd rax, dword [r9 + 4]
lea rdx, [r14 + rax*8]
and ecx, 0x7fff
jbe 0x18001aa5b
mov r11d, ecx
mov rcx, qword [r8]
movzx eax, word [rdx + 6]
test rcx, rcx
je 0x18001a826
movzx r9d, word [r8 + 8]
cmp ax, r9w
jae 0x18001a820
lea rcx, [rcx + rax*4]
jmp 0x18001a82d
test r9w, r9w
jne 0x18001a82d
lea rcx, [0x180068de8]
movzx eax, word [r8 + 0xc]
test ax, ax
je 0x18001a841
test word [rcx + 2], ax
jne 0x18001a985
cmp byte [r8 + 0x20], 0
je 0x18001a865
movzx r9d, word [rcx]
lea eax, [r9 - 1]
cmp ax, 2
jbe 0x18001a985
cmp r9w, 0x15
je 0x18001a985
test byte [r8 + 0xa], 1
movaps xmm0, xmm14
movzx eax, word [rdx]
movaps xmm1, xmm15
shufps xmm0, xmm14, 0xc9
lea rcx, [rax + rax*2]
movzx eax, word [rdx + 4]
movups xmm2, xmmword [rbp + rcx*4]
blendps xmm2, xmm11, 8
subps xmm1, xmm2
lea rcx, [rax + rax*2]
movzx eax, word [rdx + 2]
movups xmm4, xmmword [rbp + rcx*4]
subps xmm4, xmm2
lea rcx, [rax + rax*2]
movups xmm5, xmmword [rbp + 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, xmm14
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, xmm14
mulps xmm6, xmm4
haddps xmm2, xmm3
haddps xmm6, xmm1
haddps xmm6, xmm2
je 0x18001a921
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xff
andps xmm0, xmm8
xorps xmm6, xmm0
movaps xmm0, xmm6
cmpltps xmm0, xmm7
movmskps eax, xmm0
test eax, eax
jne 0x18001a985
movaps xmm2, xmm6
shufps xmm2, xmm6, 0xff
comiss xmm2, xmm7
sete cl
setnp al
and cl, al
jne 0x18001a985
movaps xmm0, xmm2
movaps xmm1, xmm7
mulss xmm0, dword [r10]
shufps xmm1, xmm6, 0x50
addps xmm1, xmm6
cmpltps xmm0, xmm1
movmskps eax, xmm0
test al, 7
jne 0x18001a985
divps xmm6, xmm2
mov rdi, rdx
movups xmmword [r10], xmm6
andps xmm6, xmmword [0x180068c70]
movups xmmword [r10], xmm6
movaps xmm11, xmmword [0x180068c10]
movaps xmm8, xmmword [0x180068bb0]
add rdx, 8
sub r11, 1
jne 0x18001a803
movaps xmm9, xmmword [0x180068c50]
movaps xmm10, xmmword [0x180068c70]
jmp 0x18001aa5b
movq xmm0, qword [r9]
xorps xmm2, xmm2
mulps xmm12, xmmword [0x180068b70]
xorps xmm1, xmm1
mov rax, rsi
punpcklbw xmm1, xmm0
pcmpgtw xmm2, xmm1
shl rax, 5
movdqa xmm0, xmm1
and r11d, 0x7fff
punpckhwd xmm0, xmm2
cvtdq2ps xmm3, xmm0
punpcklwd xmm1, xmm2
movaps xmm2, xmm3
shufps xmm3, xmm3, 0xf4
cvtdq2ps xmm0, xmm1
mulps xmm3, xmm12
movhlps xmm2, xmm0
mulps xmm2, xmm12
movaps xmm0, xmm2
minps xmm0, xmm7
maxps xmm2, xmm7
subps xmm13, xmm0
movaps xmm0, xmm3
minps xmm0, xmm7
movups xmmword [rsp + rax + 0x2000], xmm13
addps xmm2, xmmword [rsp + rdx + 0x2000]
maxps xmm3, xmm7
movups xmmword [rsp + rdx + 0x2000], xmm2
addps xmm0, xmmword [rsp + rdx + 0x2010]
movups xmmword [rsp + rax + 0x2010], xmm0
lea rax, [r15 + r11*8]
movups xmm0, xmmword [rsp + rdx + 0x2010]
mov qword [rsp + rbx*8], rax
subps xmm0, xmm3
lea rax, [r9 + 8]
mov qword [rsp + rsi*8], rax
lea rbx, [rsi + 1]
movups xmmword [rsp + rdx + 0x2010], xmm0
test rbx, rbx
jg 0x18001a710
movaps xmm15, xmmword [rsp + 0xa000]
movaps xmm14, xmmword [rsp + 0xa010]
movaps xmm13, xmmword [rsp + 0xa020]
movaps xmm12, xmmword [rsp + 0xa030]
movaps xmm11, xmmword [rsp + 0xa040]
movaps xmm10, xmmword [rsp + 0xa050]
mov r15, qword [rsp + 0xa0a0]
mov r14, qword [rsp + 0xa0a8]
mov r13, qword [rsp + 0xa0b0]
mov r12, qword [rsp + 0xa0e0]
mov rsi, qword [rsp + 0xa0d8]
mov rbx, qword [rsp + 0xa0d0]
test rdi, rdi
jne 0x18001aad6
xor al, al
jmp 0x18001ac04
test byte [r8 + 0xa], 2
movzx eax, word [rdi + 2]
lea rdx, [rax + rax*2]
movzx eax, word [rdi]
movss xmm7, dword [rbp + rdx*4]
movss xmm8, dword [rbp + rdx*4 + 4]
movss xmm9, dword [rbp + rdx*4 + 8]
lea rcx, [rax + rax*2]
movzx eax, word [rdi + 4]
movss xmm2, dword [rbp + rcx*4]
movss xmm1, dword [rbp + rcx*4 + 4]
subss xmm7, xmm2
movss xmm0, dword [rbp + rcx*4 + 8]
subss xmm8, xmm1
lea rcx, [rax + rax*2]
movss xmm6, dword [rbp + rcx*4]
subss xmm9, xmm0
movss xmm3, dword [rbp + rcx*4 + 4]
subss xmm6, xmm2
movss xmm2, dword [rbp + rcx*4 + 8]
subss xmm3, xmm1
subss xmm2, xmm0
je 0x18001abd4
movaps xmm4, xmm2
movaps xmm0, xmm3
mulss xmm2, xmm7
movaps xmm5, xmm6
mulss xmm0, xmm9
mulss xmm4, xmm8
mulss xmm5, xmm9
subss xmm4, xmm0
mulss xmm3, xmm7
subss xmm5, xmm2
mulss xmm6, xmm8
movaps xmm0, xmm4
subss xmm3, xmm6
mulss xmm0, xmm4
movaps xmm2, xmm5
mulss xmm2, xmm5
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm2, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
sqrtss xmm1, xmm2
comiss xmm1, dword [0x18005801c]
jbe 0x18001abc0
movss xmm0, dword [0x18005804c]
divss xmm0, xmm1
mulss xmm4, xmm0
mulss xmm5, xmm0
mulss xmm3, xmm0
movaps xmm1, xmm4
movd eax, xmm3
unpcklps xmm1, xmm5
movsd qword [r8 + 0x10], xmm1
mov dword [r8 + 0x18], eax
mov rcx, qword [r8]
test rcx, rcx
je 0x18001abf5
movzx eax, word [r8 + 8]
movzx edx, word [rdi + 6]
cmp dx, ax
jae 0x18001abf0
lea rcx, [rcx + rdx*4]
jmp 0x18001abfc
test ax, ax
jne 0x18001abfc
lea rcx, [0x180068de8]
mov eax, dword [rcx]
mov dword [r8 + 0x1c], eax
mov al, 1
lea r11, [rsp + 0xa0b8]
movaps xmm6, xmmword [r11 - 0x28]
movaps xmm7, xmmword [r11 - 0x38]
movaps xmm8, xmmword [r11 - 0x48]
movaps xmm9, xmmword [r11 - 0x58]
mov rsp, r11
pop rdi
pop rbp
ret