how to analyze legacy .NET applications