Function at 0x417bd0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
movzx eax, word [0x44d230]
add eax, 0x3f8bb8d
mov word [0x44d230], ax
push esi
fld dword [0x44d470]
mov ecx, dword [0x44d514]
fsub qword [0x4467d8]
mov dword [ebp - 4], ecx
mov ecx, dword [ebp + 8]
fild dword [ebp - 4]
fmulp st(1)
fistp qword [ebp - 8]
mov edx, dword [ebp - 8]
mov dword [0x44d514], edx
mov edx, ecx
fld dword [0x44d248]
fsubr qword [0x4467d0]
fmul dword [0x44d188]
fstp dword [0x44d188]
mov eax, dword [0x44d1a4]
sub eax, 0xa3952c8
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fadd qword [0x44d1c8]
movzx eax, word [0x44d328]
cwde
mov dword [ebp + 8], eax
fild dword [ebp + 8]
faddp st(1)
fistp qword [ebp - 8]
movzx eax, word [ebp - 8]
mov word [0x44d328], ax
mov eax, dword [ebp + 0xc]
fld qword [0x44d1c8]
lea esi, [ecx + eax*4]
fld1
mov dword [ebp - 4], esi
fadd st(1), st(0)
fxch st(1)
fstp qword [0x44d1c8]
fld dword [0x44d494]
movzx eax, word [0x44d3b8]
fsubr qword [0x4467c8]
cwde
fsub qword [0x4467c0]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
faddp st(1)
fistp qword [ebp - 0x10]
movzx eax, word [ebp - 0x10]
mov word [0x44d3b8], ax
mov eax, dword [ebp + 0x10]
fld qword [0x44d558]
fsub qword [0x4467b8]
fsub qword [0x4467b0]
fmul qword [0x44d118]
fstp qword [0x44d118]
cmp ecx, esi
je 0x417f04
fld qword [0x4467a8]
push ebx
fld qword [0x4467a0]
or esi, 0xffffffff
fld qword [0x446798]
push edi
fld qword [0x446790]
lea edi, [esi + 2]
mov ecx, dword [0x44d358]
add dword [0x44d358], esi
mov ebx, 0x118e3a4e
sub ebx, ecx
cmp ebx, 0x2c2f42ec
jle 0x417d3d
fld qword [0x44d568]
mov ecx, dword [0x44d3f0]
fstp st(0)
fld dword [0x44d378]
mov ecx, dword [0x44d574]
add dword [0x44d3f0], esi
fstp st(0)
fld dword [0x44d378]
fadd st(5)
fstp dword [0x44d378]
xor dword [edx], eax
fld qword [0x44d3e8]
fadd st(5)
ror eax, 1
mov ecx, eax
mov dword [ebp + 8], ecx
fstp qword [0x44d3e8]
fld qword [0x44d3e8]
fadd dword [0x44d188]
fsub st(4)
fadd qword [0x44d538]
fstp qword [0x44d538]
fld dword [0x44d188]
fadd st(5)
fstp dword [0x44d188]
movzx eax, word [0x44d1ec]
cwde
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fstp qword [0x44d1a8]
add word [0x44d1ec], di
fld dword [0x44d228]
movzx eax, word [0x44d380]
cwde
fadd st(3)
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fadd qword [0x44d538]
add word [0x44d380], si
fcompp
fnstsw ax
test ah, 1
jne 0x417e18
fld dword [0x44d0c8]
fsub st(5)
fstp dword [0x44d0c8]
mov eax, dword [0x44d278]
sub eax, 0x24de21b2
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fsub dword [0x44d530]
fld dword [0x44d0c8]
add dword [0x44d278], esi
fcompp
fnstsw ax
test ah, 5
jp 0x417e18
mov eax, dword [0x44d320]
sub eax, 0x76afb606
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fstp qword [0x44d560]
add dword [0x44d320], esi
mov ax, word [0x44d1c0]
cwde
add eax, 0x38f0af1c
mov dword [ebp + 0xc], eax
shr ecx, 8
add cl, byte [ebp + 8]
fild dword [ebp + 0xc]
fsub dword [0x44d060]
mov byte [ebp + 9], cl
fld qword [0x44d4a0]
fsub st(3)
fadd st(2)
fucompp
fnstsw ax
fld qword [0x44d4a0]
fsub st(5)
fstp qword [0x44d4a0]
test ah, 0x44
jp 0x417e98
add word [0x44d3ac], di
mov ax, word [0x44d3ac]
cwde
cmp eax, 0xd08d1035
jl 0x417e98
fld dword [0x44d0c4]
movzx eax, word [0x44d234]
fadd qword [0x446788]
cwde
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
faddp st(1)
fistp qword [ebp - 0x10]
movzx eax, word [ebp - 0x10]
mov word [0x44d234], ax
fld qword [0x44d578]
add byte [ebp + 8], cl
mov cx, word [0x44d360]
fsubr qword [0x446780]
add word [0x44d360], di
movsx eax, cx
sub eax, 0x7b62712f
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jp 0x417eeb
mov cx, word [0x44d1c0]
movsx eax, cx
mov ecx, dword [0x44d500]
add ecx, eax
mov word [0x44d1c0], cx
add dword [0x44d500], esi
mov eax, dword [ebp + 8]
add edx, 4
cmp edx, dword [ebp - 4]
jne 0x417cf2
fstp st(3)
pop edi
fstp st(1)
pop ebx
fstp st(0)
fstp st(0)
fadd qword [0x44d448]
pop esi
fstp qword [0x44d448]
fld dword [0x44d4ac]
fld qword [0x44d448]
fsub dword [0x44d060]
fsubp st(1)
fstp dword [0x44d4ac]
mov esp, ebp
pop ebp
ret