Function at 0x44a7f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0xc
test eax, eax
push ebx
push ebp
push esi
push edi
jge 0x44a821
mov ecx, dword [0xed9e70]
mov edx, dword [esp + 0x20]
inc eax
shl eax, 5
sub ecx, eax
push ecx
push edx
call fcn.0044a6d0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov ecx, dword [0xed9e68]
lea eax, [eax + eax*2]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x34]
lea edx, [ecx + eax*4]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x24], edx
mov eax, dword [edx]
mov cl, byte [eax + 0x10]
cmp cl, 3
jae 0x44a866
and ecx, 0xff
fld dword [esi + ecx*4]
fsub dword [eax + 0xc]
fld dword [edi + ecx*4]
fsub dword [eax + 0xc]
fstp dword [esp + 0x30]
fld dword [ebp + ecx*4 + 0x94]
jmp 0x44a8b0
fld dword [esi + 4]
fmul dword [eax + 4]
fld dword [esi + 8]
fmul dword [eax + 8]
faddp st(1)
fld dword [esi]
fmul dword [eax]
faddp st(1)
fsub dword [eax + 0xc]
fld dword [edi + 4]
fmul dword [eax + 4]
fld dword [edi + 8]
fmul dword [eax + 8]
faddp st(1)
fld dword [edi]
fmul dword [eax]
faddp st(1)
fsub dword [eax + 0xc]
mov eax, dword [ebp + 0xc4]
test eax, eax
fstp dword [esp + 0x30]
je 0x44a8aa
fld dword [0x5354c0]
jmp 0x44a8b0
fld dword [0x535b50]
fld dword [0x5354e8]
fadd st(1)
fld st(2)
fcomp st(1)
fnstsw ax
and eax, 0x100
jne 0x44a8f9
fld dword [esp + 0x30]
fcompp
fnstsw ax
and eax, 0x100
jne 0x44a8fb
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [edx + 4]
push edi
push esi
push eax
push ecx
push edx
fstp st(0)
push ebp
fstp st(0)
call fcn.0044a7f0
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
fstp st(0)
fld st(0)
fchs
fsub dword [0x5354e8]
fld st(2)
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x44a942
fld dword [esp + 0x30]
fcompp
fnstsw ax
test ah, 5
jp 0x44a944
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [edx + 8]
push edi
push esi
push eax
push ecx
push edx
fstp st(0)
push ebp
fstp st(0)
call fcn.0044a7f0
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
fstp st(0)
fld st(1)
fcomp dword [esp + 0x30]
fld st(1)
fnstsw ax
test ah, 5
jp 0x44a999
fsub dword [esp + 0x30]
mov ebx, 1
fdivr qword [0x535478]
fld st(1)
fadd st(3)
fadd qword [0x535af0]
fld st(1)
fmulp st(1)
fstp dword [esp + 0x20]
fxch st(2)
fsub st(1)
fadd qword [0x535af0]
fmulp st(2)
fstp st(0)
fcom dword [0x5354c0]
fnstsw ax
test ah, 5
jp 0x44a9e2
fstp st(0)
fld dword [0x5354c0]
jmp 0x44a9f9
fcomp dword [esp + 0x30]
xor ebx, ebx
fnstsw ax
and eax, 0x4100
jne 0x44a9d6
fld st(1)
fsub dword [esp + 0x30]
fdivr qword [0x535478]
fld st(2)
fsub st(2)
fsub qword [0x535af0]
fld st(1)
fmulp st(1)
fstp dword [esp + 0x20]
fxch st(1)
faddp st(2)
fxch st(1)
fadd qword [0x535af0]
fmulp st(1)
jmp 0x44a982
fstp st(0)
mov dword [esp + 0x20], 0
jmp 0x44a9f1
fcom dword [0x5354e8]
fnstsw ax
and eax, 0x4100
jne 0x44a9f9
fstp st(0)
fld dword [0x5354e8]
fld dword [edi]
fsub dword [esi]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x10]
push eax
push esi
fmul st(1)
push ecx
mov ecx, dword [esp + 0x34]
fadd dword [esi]
fstp dword [esp + 0x1c]
fld dword [edi + 4]
fsub dword [esi + 4]
fmul st(1)
fadd dword [esi + 4]
fstp dword [esp + 0x20]
fld dword [edi + 8]
fsub dword [esi + 8]
fmul st(1)
fadd dword [esi + 8]
fstp dword [esp + 0x24]
fld dword [esp + 0x38]
fsub dword [esp + 0x34]
mov eax, dword [edx + ebx*4 + 4]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fmul st(1)
fadd dword [esp + 0x34]
fstp dword [esp]
push ecx
push eax
push ebp
fstp st(0)
call fcn.0044a7f0
add esp, 0x18
test eax, eax
jne 0x44aa68
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
fld dword [esp + 0x20]
fcom dword [0x5354c0]
fnstsw ax
test ah, 5
jp 0x44aa83
fstp st(0)
fld dword [0x5354c0]
jmp 0x44aa9a
fcom dword [0x5354e8]
fnstsw ax
and eax, 0x4100
jne 0x44aa9a
fstp st(0)
fld dword [0x5354e8]
fld dword [edi]
fsub dword [esi]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x10]
push edi
fmul st(1)
push ecx
push edx
xor ebx, 1
push ecx
fadd dword [esi]
fstp dword [esp + 0x20]
fld dword [edi + 4]
fsub dword [esi + 4]
fmul st(1)
fadd dword [esi + 4]
fstp dword [esp + 0x24]
fld dword [edi + 8]
fsub dword [esi + 8]
fmul st(1)
fadd dword [esi + 8]
fstp dword [esp + 0x28]
fld dword [esp + 0x40]
fmul st(1)
mov ecx, dword [eax + ebx*4 + 4]
fadd dword [esp + 0x38]
fstp dword [esp]
push ecx
push ebp
fstp st(0)
call fcn.0044a7f0
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret