Function at 0x41eef0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov ax, word [0x44a194]
mov ecx, dword [0x44a15c]
cwde
imul ecx, eax
mov word [0x44a194], cx
push ebx
fld qword [0x44a328]
mov dx, word [0x44a298]
mov ecx, dword [0x44a470]
fsubr qword [0x4458d8]
movsx eax, dx
sub eax, ecx
mov dword [ebp - 4], eax
push esi
mov esi, 1
fild dword [ebp - 4]
add dword [0x44a470], esi
add word [0x44a298], si
push edi
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41ef59
mov dword [0x44a2a0], 0xc898049c
mov edx, dword [0x44a3d4]
fld1
or edi, 0xffffffff
add dword [0x44a3d4], edi
sub edx, 0x2f13c3f4
cmp edx, 0x5ea56861
jne 0x41ef99
fld dword [0x44a3b4]
fadd st(1)
fstp dword [0x44a3b4]
fld dword [0x44a3b4]
fistp qword [ebp - 8]
mov ax, word [ebp - 8]
mov word [0x44a29c], ax
movzx ecx, word [0x44a35c]
mov edx, dword [ebp + 8]
movsx eax, cx
movzx ecx, word [0x44a410]
mov dword [ebp + 8], eax
movsx eax, cx
fild dword [ebp + 8]
mov ecx, dword [0x44a1dc]
add ecx, eax
mov dword [ebp + 8], ecx
mov ecx, dword [ebp + 0xc]
fild dword [ebp + 8]
fsub qword [0x44a080]
fsubp st(1)
fistp qword [ebp - 8]
movzx eax, word [ebp - 8]
mov word [0x44a35c], ax
lea eax, [edx + ecx*4]
fld qword [0x44a080]
mov dword [ebp + 0xc], eax
fsub st(1)
mov ecx, dword [ebp + 0x10]
fstp qword [0x44a080]
add word [0x44a410], di
fld dword [0x44a1c8]
fsub qword [0x44a280]
fstp dword [0x44a134]
fld qword [0x44a280]
fadd st(1)
fstp qword [0x44a280]
fld dword [0x44a0d0]
movzx eax, word [0x44a0e8]
cwde
mov dword [ebp + 8], eax
movzx eax, word [0x44a2d4]
fild dword [ebp + 8]
add word [0x44a0e8], si
cwde
fsubp st(1)
sub eax, 0x7a8bbb34
fsub qword [0x4458d0]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fcompp
fnstsw ax
fld dword [0x44a0d0]
fadd st(1)
fstp dword [0x44a0d0]
test ah, 1
jne 0x41f07c
mov ax, word [0x44a414]
mov ebx, dword [0x44a030]
cwde
add ebx, eax
mov dword [0x44a184], ebx
cmp edx, dword [ebp + 0xc]
je 0x41f1e3
fld qword [0x4458c8]
fld qword [0x4458c0]
fld qword [0x4458b8]
fld qword [0x4458b0]
mov dword [0x44a148], 0x3dcc7492
xor dword [edx], ecx
fld qword [0x44a328]
mov eax, dword [0x44a2a0]
fsub st(4)
mov dword [ebp + 8], eax
ror ecx, 1
fsub st(3)
fild dword [ebp + 8]
fmulp st(1)
fistp qword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [0x44a2a0], eax
add word [0x44a35c], di
mov eax, ecx
movzx ecx, word [0x44a35c]
mov ebx, dword [0x44a04c]
movsx ecx, cx
lea ecx, [ebx + ecx + 0x28d1259a]
mov dword [0x44a04c], ecx
mov ecx, dword [0x44a148]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 8], eax
shr eax, 8
fild dword [ebp + 0x10]
add al, byte [ebp + 8]
mov ebx, 0xc2120f98
mov byte [ebp + 9], al
fsub dword [0x44a0ec]
fmul qword [0x44a1a8]
fstp qword [0x44a1a8]
add dword [0x44a148], esi
movzx ecx, word [0x44a07c]
movsx ecx, cx
sub ebx, ecx
cmp ebx, 0x53cf4542
jne 0x41f174
add dword [0x44a0f0], esi
fld qword [0x44a408]
fsub st(5)
fstp qword [0x44a408]
mov cx, word [0x44a0b0]
mov ebx, dword [0x44a0f0]
movsx ecx, cx
add ebx, ecx
mov dword [ebp + 0x10], ebx
fild dword [ebp + 0x10]
fsub qword [0x44a408]
fstp dword [0x44a228]
fld qword [0x44a2e8]
add byte [ebp + 8], al
fadd st(5)
fstp qword [0x44a2e8]
fld dword [0x44a06c]
fadd st(2)
fadd qword [0x44a2e8]
fcomp st(1)
fnstsw ax
fld dword [0x44a06c]
fadd st(5)
fstp dword [0x44a06c]
test ah, 0x41
jp 0x41f1cc
add word [0x44a200], si
mov ax, word [0x44a200]
movsx ecx, ax
mov dword [ebp + 0x10], ecx
fild dword [ebp + 0x10]
fmul dword [0x44a1fc]
fstp dword [0x44a1fc]
mov ecx, dword [ebp + 8]
add edx, 4
cmp edx, dword [ebp + 0xc]
jne 0x41f09d
fstp st(3)
fstp st(1)
fstp st(0)
fstp st(0)
fsubr dword [0x44a228]
pop edi
fstp dword [0x44a228]
movzx edx, word [0x44a150]
movsx eax, dx
movzx edx, word [0x44a298]
movsx edx, dx
add edx, eax
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fld dword [0x44a228]
fadd qword [0x44a3f0]
add word [0x44a150], si
pop esi
pop ebx
fcompp
fnstsw ax
test ah, 0x41
jp 0x41f259
movzx eax, word [section..data]
movsx edx, ax
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [0x44a2e4]
fmul dword [ebp + 8]
fistp qword [ebp - 8]
movzx eax, word [ebp - 8]
mov word [section..data], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x44a458]
imul edx, edx, 0xd893c33b
mov dword [0x44a458], edx
mov eax, ecx
mov esp, ebp
pop ebp
ret