Function at 0x494dc0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x4ff074]
xor eax, ebp
mov dword [ebp - 4], eax
movaps xmm0, xmmword [0x4fd1d0]
mov al, cl
movss xmm6, dword [ebp + 8]
movups xmmword [ebp - 0x34], xmm0
movzx eax, al
movaps xmm0, xmmword [0x4fce60]
movups xmmword [ebp - 0x44], xmm0
push esi
movaps xmm0, xmmword [0x4fd130]
xor esi, esi
movups xmmword [ebp - 0x14], xmm0
mov dword [ebp - 0x6c], eax
movaps xmm0, xmmword [0x4fcce0]
movups xmmword [ebp - 0x24], xmm0
shl eax, 4
movss xmm0, dword [0xa03724]
subss xmm0, xmm3
movzx ecx, dx
xor edx, edx
movss dword [ebp - 0x58], xmm1
movss xmm1, dword [0x4fc230]
mov dword [ebp - 0x5c], eax
mov eax, 0x2000
push edi
movss dword [ebp - 0x64], xmm2
mov dword [ebp - 0x54], 0x2000
mov dword [ebp - 0x4c], esi
movss dword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], edx
nop dword [eax]
movss xmm3, dword [ebp + edx - 0x24]
xor edi, edi
movss xmm7, dword [ebp + edx - 0x14]
movzx eax, ax
movzx esi, si
mov dword [ebp - 0x48], esi
movss dword [ebp - 0x68], xmm3
movss xmm4, dword [eax*4 + 0x98ab20]
movss xmm5, dword [eax*4 + 0x94ab20]
mulss xmm4, xmm1
mulss xmm5, xmm1
test di, di
jne 0x494e9b
movsx eax, byte [0x7e8122]
mov esi, dword [eax*4 + 0x7d0cd0]
jmp 0x494ec3
cmp di, 1
jne 0x494ea6
or esi, 0xffffffff
jmp 0x494ec3
movsx eax, byte [0x7e8122]
cmp di, 2
jne 0x494ebc
mov esi, dword [eax*4 + 0x7d0e60]
jmp 0x494ec3
mov esi, dword [eax*4 + 0x4e97b0]
mov eax, dword [ebp - 0x48]
movaps xmm1, xmm5
movsx edx, di
inc edi
cwde
add eax, dword [ebp - 0x5c]
add dword [ebp - 0x48], 4
movss xmm2, dword [ebp + edx*4 - 0x34]
movaps xmm0, xmm2
mulss xmm1, xmm2
lea eax, [eax + eax*2]
mulss xmm0, xmm4
shl eax, 4
mulss xmm1, xmm6
mulss xmm0, xmm6
mov dword [eax + 0xa849f0], 0x3f000000
movss dword [eax + 0xa849fc], xmm3
mov dword [eax + 0xa849f4], 0x3e000000
movss dword [eax + 0xa849d0], xmm0
movss xmm0, dword [ebp + edx*4 - 0x44]
mulss xmm0, xmm6
mov dword [eax + 0xa849e8], esi
movss dword [eax + 0xa849f8], xmm7
xorps xmm0, xmmword [0x4fd2b0]
movss dword [eax + 0xa849d4], xmm0
movss xmm0, dword [ebp - 0x60]
subss xmm0, xmm1
movss dword [eax + 0xa849d8], xmm0
movss xmm3, dword [eax + 0xa849d0]
movss xmm2, dword [eax + 0xa849d4]
movaps xmm1, xmm3
mulss xmm1, dword [ecx*4 + 0x94ab20]
movaps xmm0, xmm2
mulss xmm0, dword [ecx*4 + 0x98ab20]
mulss xmm2, dword [ecx*4 + 0x94ab20]
mulss xmm3, dword [ecx*4 + 0x98ab20]
subss xmm1, xmm0
addss xmm2, xmm3
movss xmm3, dword [ebp - 0x68]
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x58]
movss dword [eax + 0xa849d4], xmm2
movss xmm2, dword [ebp - 0x64]
movss dword [eax + 0xa849d0], xmm0
movss xmm0, dword [eax + 0xa849d4]
addss xmm0, xmm2
movss dword [eax + 0xa849d4], xmm0
cmp di, 4
jl 0x494e86
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
inc esi
mov eax, dword [ebp - 0x54]
add edx, 4
movss xmm1, dword [0x4fc230]
add eax, 0x4000
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], eax
cmp si, 4
jl 0x494e50
mov eax, dword [ebp - 0x6c]
movss xmm0, dword [ebp - 0x58]
pop edi
pop esi
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [eax + eax*2]
shl eax, 8
movss dword [ecx + 0xa87fd0], xmm0
mov eax, dword [eax + 0xa84a38]
movss dword [ecx + 0xa87fd4], xmm2
mov dword [ecx + 0xa87fd8], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d66b5
mov esp, ebp
pop ebp
ret