private void ShowHelp(bool showSecondLevelHelp)
{
this.ShowTitleLines();
Console.WriteLine(this.Usage);
Console.WriteLine("Options:");
ArrayList list1 = new ArrayList(this.list.Count);
int num1 = 0;
IEnumerator enumerator1 = this.list.GetEnumerator();
Label_003B:
try
{
if (enumerator1.MoveNext())
{
OptionDetails details1 = (OptionDetails)enumerator1.Current;
if (details1.SecondLevelHelp == showSecondLevelHelp)
{
char[] chArray1 = new char[] { '\n' };
string[] textArray1 = details1.ToString().Split(chArray1);
string[] textArray3 = textArray1;
for (int num4 = 0; num4 < textArray3.Length; num4++)
{
string text1 = textArray3[num4];
int num2 = text1.IndexOf('\t');
if (num2 > num1)
{
num1 = num2;
}
list1.Add(text1);
}
}
goto Label_003B;
}
}
finally
{
IDisposable disposable1 = enumerator1 as IDisposable;
if (disposable1 != null)
{
disposable1.Dispose();
}
}
num1 += 2;
IEnumerator enumerator2 = list1.GetEnumerator();
Label_00E6:
try
{
if (!enumerator2.MoveNext())
{
return;
}
string text2 = (string)enumerator2.Current;
char[] chArray2 = new char[] { '\t' };
string[] textArray2 = text2.Split(chArray2);
Console.Write(textArray2[0].PadRight(num1));
Console.WriteLine(textArray2[1]);
if (textArray2.Length > 2)
{
string text3 = new string(' ', num1);
for (int num3 = 2; num3 < textArray2.Length; num3++)
{
Console.Write(text3);
Console.WriteLine(textArray2[num3]);
}
}
goto Label_00E6;
}
finally
{
IDisposable disposable2 = enumerator2 as IDisposable;
if (disposable2 != null)
{
disposable2.Dispose();
}
}
}