Function at 0x69c830
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword [0x8c8600]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x69ca97
sub esp, 0x34
movsd xmm0, qword [0x733614]
movsd qword [esp], xmm0
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 8]
mov dword [esp + 0x30], ecx
and eax, 7
cvtsi2sd xmm1, eax
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 8], xmm1
call fcn.00482950
movsd xmm0, qword [0x7335fc]
mulsd xmm0, qword [esp + 0x10]
movsd qword [esp], xmm0
call fcn.00482070
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x20], xmm0
movsd xmm1, qword [0x733614]
movsd qword [esp], xmm1
movsd xmm2, qword [esp + 0x28]
movsd qword [esp + 8], xmm2
call fcn.00482950
movsd xmm0, qword [esp + 0x20]
cvttsd2si eax, xmm0
mov ecx, eax
sar eax, 0x1f
mov edx, eax
mov eax, 0xcccccccd
mov ebx, edx
imul ecx
lea eax, [ecx + edx]
sar eax, 3
sub eax, ebx
lea eax, [eax + eax*4]
shl eax, 1
sub ecx, eax
mov eax, dword [esp + 0x30]
imul ecx, eax
mov dword [esp + 0x30], ecx
movsd xmm0, qword [0x7335f4]
mulsd xmm0, qword [esp + 0x10]
movsd qword [esp], xmm0
call fcn.00482070
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [0x733614]
movsd qword [esp], xmm1
cvttsd2si eax, xmm0
mov ecx, eax
mov eax, 0xcccccccd
imul ecx
lea eax, [ecx + edx]
sar eax, 3
mov edx, ecx
sar ecx, 0x1f
sub eax, ecx
lea eax, [eax + eax*4]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x30]
imul edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 0x10]
mov dword [esp + 0x1c], ecx
and eax, 0xf
cvtsi2sd xmm0, eax
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 8], xmm0
call fcn.00482950
movsd xmm0, qword [0x733604]
mulsd xmm0, qword [esp + 0x10]
movsd qword [esp], xmm0
call fcn.00482070
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x20], xmm0
movsd xmm1, qword [0x733614]
movsd qword [esp], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 8], xmm1
call fcn.00482950
movsd xmm0, qword [esp + 0x20]
cvttsd2si eax, xmm0
mov ecx, eax
mov eax, 0xcccccccd
imul ecx
lea eax, [ecx + edx]
sar eax, 3
mov edx, ecx
sar ecx, 0x1f
sub eax, ecx
lea eax, [eax + eax*4]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x1c]
imul edx, eax
mov dword [esp + 0x1c], edx
movsd xmm0, qword [0x73360c]
mulsd xmm0, qword [esp + 0x10]
movsd qword [esp], xmm0
call fcn.00482070
movsd xmm0, qword [esp + 8]
cvttsd2si eax, xmm0
mov ecx, eax
mov eax, 0xcccccccd
imul ecx
lea eax, [ecx + edx]
sar eax, 3
mov edx, ecx
sar ecx, 0x1f
sub eax, ecx
lea eax, [eax + eax*4]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x1c]
imul edx, eax
mov eax, dword [esp + 0x30]
and eax, 0xff
and edx, 0xff
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
jmp 0x69ca7f
movzx esi, byte [ebx + ebp]
xchg esi, ebx
not ebx
xchg esi, ebx
and esi, 0xff
mov edi, ebp
xchg ebp, ebx
not ebx
xchg ebp, ebx
imul ebp, eax
add edx, edi
add edx, ebp
and edx, 0xff
add edx, 0x80
xor esi, edx
xchg esi, ebx
not ebx
xchg esi, ebx
xchg esi, eax
mov byte [ebx + edi], al
xchg esi, eax
lea ebp, [edi + 1]
mov edx, dword [esp + 0x18]
cmp ecx, ebp
jg 0x69ca40
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
add esp, 0x34
ret
call fcn.00475ee0
jmp fcn.0069c830