Function at 0x4c5760
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
cmp byte [0x7e8120], 1
mov eax, dword [0x90aa58]
mov dword [ebp - 0x24], eax
jne 0x4c578a
movzx eax, byte [0x7ea709]
lea ecx, [eax + eax*4]
movzx eax, byte [0x7ea755]
jmp 0x4c57c1
cmp byte [0x7e8028], 1
jne 0x4c57ab
movzx eax, byte [0x7ea700]
add eax, 0xc8
lea ecx, [eax + eax*4]
movzx eax, byte [0x7ea754]
jmp 0x4c57c1
movzx eax, byte [0x7ea6ff]
add eax, 0x190
lea ecx, [eax + eax*4]
movzx eax, byte [0x7ea753]
movss xmm7, dword [0x4fc3d4]
add ecx, eax
movss xmm3, dword [0x4fbf70]
movss xmm2, dword [0x4fc008]
movss xmm4, dword [0x4fc8c4]
movss xmm5, dword [0x4fbf7c]
push esi
push edi
mov dword [0x90aa58], ecx
mov edi, 0xaccd84
mov dword [ebp - 8], 0x10
nop
xor cl, cl
call fcn.0045a9a0
and al, 3
mov cl, al
shr al, 1
and cl, 1
movzx eax, al
movzx ecx, cl
movd xmm0, ecx
xor cl, cl
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [ebp - 0x14], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [ebp - 0x18], xmm0
call fcn.0045a9a0
xor cl, cl
movzx esi, ax
call fcn.0045a9a0
and al, 0xf
xor cl, cl
add al, 0x10
mov word [ebp - 2], ax
call fcn.0045a9a0
movzx ecx, ax
movd xmm6, ecx
xor cl, cl
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm3
mulss xmm6, xmm2
addss xmm6, xmm2
call fcn.0045a9a0
movzx eax, ax
xor cl, cl
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm3
mulss xmm1, xmm2
addss xmm1, xmm2
movss dword [ebp - 0x1c], xmm1
call fcn.0045a9a0
movss xmm2, dword [0x7e8094]
xor cl, cl
subss xmm2, dword [0x7e80c4]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm4
mulss xmm0, xmm5
mulss xmm2, xmm0
movss dword [ebp - 0xc], xmm2
call fcn.0045a9a0
movss xmm2, dword [0x7e8098]
mov ecx, esi
subss xmm2, dword [0x7e80c4]
movzx eax, ax
xor dl, dl
shl ecx, 2
movd xmm0, eax
mov ax, word [ebp - 2]
cvtdq2ps xmm0, xmm0
movzx eax, al
mov esi, eax
shl esi, 8
or esi, eax
shl esi, 8
subss xmm0, xmm4
or esi, eax
mulss xmm0, xmm5
mulss xmm2, xmm0
movss dword [ebp - 0x10], xmm2
movaps xmm2, xmm1
xorps xmm2, xmmword [0x4fd2b0]
movss dword [ebp - 0x20], xmm2
nop dword [eax + eax]
mov al, dl
mov dword [edi + 4], 0xb8d1b717
and al, 1
mov dword [edi + 0x14], esi
movzx eax, al
movd xmm5, eax
mov al, dl
shr al, 1
inc dl
movzx eax, al
cvtdq2ps xmm5, xmm5
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movaps xmm3, xmm5
mulss xmm5, xmm7
movaps xmm0, xmm4
mulss xmm3, xmm6
mulss xmm0, xmm1
movss xmm1, dword [ecx + 0x94ab20]
addss xmm3, xmm3
addss xmm5, dword [ebp - 0x14]
addss xmm0, xmm0
mulss xmm4, xmm7
subss xmm3, xmm6
addss xmm4, dword [ebp - 0x18]
subss xmm2, xmm0
movss dword [edi + 0x1c], xmm5
movss xmm0, dword [ecx + 0x98ab20]
mulss xmm1, xmm3
mulss xmm0, xmm2
movss dword [edi + 0x20], xmm4
subss xmm1, xmm0
movss xmm0, dword [ecx + 0x98ab20]
mulss xmm0, xmm3
addss xmm1, dword [ebp - 0xc]
movss dword [edi - 4], xmm1
movss xmm1, dword [ecx + 0x94ab20]
mulss xmm1, xmm2
movss xmm2, dword [ebp - 0x20]
addss xmm1, xmm0
addss xmm1, dword [ebp - 0x10]
movss dword [edi], xmm1
add edi, 0x30
movss xmm1, dword [ebp - 0x1c]
cmp dl, 4
jb 0x4c5920
sub dword [ebp - 8], 1
movss xmm2, dword [0x4fc008]
movss xmm3, dword [0x4fbf70]
movss xmm4, dword [0x4fc8c4]
movss xmm5, dword [0x4fbf7c]
jne 0x4c5800
mov eax, dword [ebp - 0x24]
pop edi
mov dword [0x90aa58], eax
pop esi
mov esp, ebp
pop ebp
ret