I understand it is legal, but I also understand that it has restrictions: mainly that it is legal only if the reason to reverse engineer something it must be on an interoperability or essential maintenance basis. I am not sure if "modding" beyond bug-fixing is legal in this situation (considering the time period).