Function at 0x4458a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
movsd xmm0, qword [0x498380]
mov eax, 0xfffff2ac
mov word [ebp - 0x10], ax
mov eax, 0xffff9a62
movsd qword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], 0x4e9364bc
mov dword [ebp - 0x20], 0x216c352e
mov dword [ebp - 0x1c], 0xcde585eb
mov word [ebp - 0xc], ax
mov eax, 0xffff9621
mov word [ebp - 4], ax
mov eax, 0xffffa860
mov edx, dword [ebp + 8]
mov dword [ebp - 0x14], 0x4ef019e9
mov dword [ebp - 0x20], 0xceec66a4
mov word [ebp - 0x18], ax
movzx eax, word [0x4a52d4]
imul eax, eax, 0xefc9d899
push esi
mov word [0x4a52d4], ax
inc dword [ebp - 0xc]
mov eax, dword [ebp + 0xc]
lea esi, [edx + eax*4]
movsx eax, word [ebp - 0xc]
add eax, 0x4b6924b0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x4a53e4]
movss dword [0x4a53e4], xmm0
movzx ecx, word [ebp - 0xc]
movzx eax, word [ebp - 0xc]
sub ecx, eax
mov word [ebp - 0xc], cx
movsx eax, word [ebp - 4]
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [0x49dcf4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, dword [0x49ac40]
subss xmm1, xmm0
cvttss2si eax, xmm1
mov word [ebp - 4], ax
movsd xmm0, qword [ebp - 0x2c]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
addsd xmm0, qword [0x496bc8]
movsd qword [0x4a53f0], xmm0
movsd xmm1, qword [0x4a5118]
movss xmm0, dword [0x4a52c4]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4a5118], xmm1
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [0x49da40]
movss dword [ebp - 0x20], xmm0
cmp edx, esi
je 0x445ba3
movsd xmm4, qword [0x495120]
movss xmm3, dword [0x49511c]
movss xmm7, dword [0x499b74]
movss xmm5, dword [0x49ae3c]
movss xmm6, dword [0x49dda8]
push edi
mov edi, 0xffffc0b4
mov word [ebp - 4], di
mov eax, dword [0x4a5034]
movsd xmm0, qword [0x4a5118]
addsd xmm0, qword [0x497c88]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, qword [0x498118]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4a5034], eax
movsd xmm0, qword [0x4a5118]
mov eax, dword [ebp - 8]
addsd xmm0, xmm4
movsd qword [0x4a5118], xmm0
xor dword [edx], eax
ror eax, 1
mov dword [ebp - 8], eax
movsx eax, word [ebp - 0x10]
add eax, 0x7d2cb126
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x14]
movss dword [ebp - 0x14], xmm0
dec dword [ebp - 0x10]
movsx eax, word [ebp - 0xc]
add eax, 0x62ebff78
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x4a5184]
cvttss2si eax, xmm0
mov word [0x4a5104], ax
movss xmm0, dword [0x4a5184]
addss xmm0, xmm3
movss dword [0x4a5184], xmm0
movzx eax, word [ebp - 0x18]
add eax, 0x487520fb
mov word [0x4a52e4], ax
dec dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov al, byte [ebp - 8]
shr ecx, 8
add cl, al
add al, cl
mov byte [ebp - 7], cl
mov byte [ebp - 8], al
movzx eax, word [0x4a5014]
imul eax, eax, 0x4a112846
mov word [0x4a5014], ax
mov eax, dword [0x4a52c0]
movss xmm2, dword [ebp - 0x1c]
movd xmm0, eax
mov eax, dword [0x4a50e0]
cvtdq2ps xmm0, xmm0
addss xmm2, xmm0
movd xmm0, eax
movsx eax, word [ebp - 0x10]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
subss xmm2, xmm0
movss xmm0, dword [ebp - 0x1c]
cvtdq2ps xmm1, xmm1
subss xmm0, xmm3
comiss xmm1, xmm2
movss dword [ebp - 0x1c], xmm0
jbe 0x445b4c
movsd xmm0, qword [ebp - 0x2c]
subsd xmm0, xmm4
movsd qword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, xmm7
cvtps2pd xmm1, xmm0
addsd xmm1, qword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x14]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [0x4a50f4]
movaps xmm1, xmm5
subss xmm1, xmm0
movss xmm0, dword [0x4a50f4]
addss xmm0, xmm3
comiss xmm6, xmm1
movss dword [0x4a50f4], xmm0
jb 0x445b97
movsx eax, word [0x4a5434]
movsd xmm0, qword [0x4a5150]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4a5150], xmm0
add edx, 4
cmp edx, esi
jne 0x4459f6
pop edi
mov eax, dword [ebp - 8]
pop esi
mov esp, ebp
pop ebp
ret