Function at 0x421960
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x44d0ec]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
mov eax, 0xbbe07acb
push esi
or esi, 0xffffffff
fadd dword [0x44d294]
mov cx, word [0x44d5c4]
movsx edx, cx
sub eax, edx
mov dword [ebp - 4], eax
push edi
fild dword [ebp - 4]
fucompp
fnstsw ax
fld1
test ah, 0x44
jnp 0x421a04
add word [0x44d568], si
fld dword [0x44d300]
fsubr qword [0x446a18]
fld dword [0x44d1d4]
mov cx, word [0x44d568]
movsx edx, cx
mov dword [ebp - 4], edx
fild dword [ebp - 4]
fsubp st(1)
fsub qword [0x44d298]
fucompp
fnstsw ax
test ah, 0x44
jp 0x421a04
fld qword [0x44d350]
fstp st(0)
fld dword [0x44d5ac]
fstp st(0)
fld qword [0x44d350]
fsub st(1)
fstp qword [0x44d350]
fld dword [0x44d5ac]
fsub st(1)
fstp dword [0x44d5ac]
fld qword [0x44d548]
fadd st(1)
fstp qword [0x44d548]
fld qword [0x44d548]
fadd qword [0x44d208]
fsub qword [0x446a10]
fcomp qword [0x446a08]
fnstsw ax
test ah, 1
jne 0x421a43
fld dword [0x44d4bc]
fadd qword [0x446a00]
fstp dword [0x44d4bc]
fld dword [0x44d1a0]
fsub qword [0x4469f8]
fadd dword [0x44d3f0]
fcomp qword [0x4469f0]
fnstsw ax
fld dword [0x44d3f0]
fadd st(1)
fstp dword [0x44d3f0]
test ah, 1
jne 0x421a82
fld qword [0x44d4c8]
fsub qword [0x4469e8]
fstp qword [0x44d4c8]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [0x44d36c], 0x5ecf2d07
movzx edx, word [0x44d304]
movsx edx, dx
lea edi, [ecx + eax*4]
mov eax, 0xba5912fa
sub eax, edx
mov edx, dword [0x44d198]
imul edx, eax
mov eax, dword [ebp + 0x10]
mov dword [0x44d198], edx
add word [0x44d304], si
movzx edx, word [0x44d538]
add edx, 0x7af4bb07
mov word [0x44d538], dx
cmp ecx, edi
je 0x421c0a
fld qword [0x4469e0]
push ebx
fld qword [0x4469d8]
fld qword [0x4469d0]
fld dword [0x44d1d0]
add ecx, 4
fmul st(3)
fstp dword [0x44d1d0]
xor dword [ecx - 4], eax
fld qword [0x44d230]
ror eax, 1
fadd st(2)
mov dword [ebp + 8], eax
shr eax, 8
fstp qword [0x44d230]
fld dword [0x44d09c]
fsub st(4)
fstp dword [0x44d09c]
movzx edx, word [0x44d1b8]
mov bx, word [0x44d49c]
movsx edx, dx
movsx ebx, bx
sub ebx, edx
mov dword [ebp + 0xc], ebx
mov ebx, 1
fild dword [ebp + 0xc]
fsub dword [0x44d09c]
fadd dword [0x44d0cc]
fstp dword [0x44d0cc]
add word [0x44d1b8], si
add word [0x44d49c], bx
fld dword [0x44d1dc]
fadd st(1)
fistp qword [ebp - 8]
movzx edx, word [ebp - 8]
mov word [0x44d578], dx
add word [0x44d568], bx
add dword [0x44d340], esi
mov si, word [0x44d568]
mov ebx, dword [0x44d340]
mov dl, byte [ebp + 8]
movsx esi, si
lea esi, [ebx + esi + 0x79c63837]
mov dword [ebp + 0xc], esi
add al, dl
add dl, al
fild dword [ebp + 0xc]
mov byte [ebp + 9], al
mov byte [ebp + 8], dl
or esi, 0xffffffff
fmul dword [0x44d1d4]
fstp dword [0x44d1d4]
mov ax, word [0x44d508]
movsx edx, ax
mov eax, dword [ebp + 8]
add edx, 0x565223e8
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
fadd dword [0x44d004]
fadd qword [0x44d400]
fstp qword [0x44d400]
fld dword [0x44d004]
fadd st(4)
fstp dword [0x44d004]
cmp ecx, edi
jne 0x421aee
fstp st(3)
pop ebx
fstp st(1)
fstp st(0)
mov cx, word [0x44d1f4]
fstp st(0)
movsx edx, cx
sub edx, 0x18645aa7
mov dword [ebp + 8], edx
pop edi
fild dword [ebp + 8]
fmul dword [0x44d0a4]
fstp dword [0x44d0a4]
add word [0x44d1f4], si
pop esi
mov esp, ebp
pop ebp
ret