public string[] NormalizeArgs(string[] args)
{
bool flag1 = true;
ArrayList list1 = new ArrayList();
string[] textArray1 = this.ExpandResponseFiles(args);
for (int num2 = 0; num2 < textArray1.Length; num2++)
{
string text1 = textArray1[num2];
if (text1.Length > 0)
{
if (flag1)
{
if (this.endOptionProcessingWithDoubleDash && (text1 == "--"))
{
flag1 = false;
}
else if (((this.parsingMode & OptionsParsingMode.Linux) > 0) && (text1[0] == '-') && ((text1.Length > 1) && (text1[1] != '-')) && this.breakSingleDashManyLettersIntoManyOptions)
{
CharEnumerator enumerator1 = text1.Substring(1).GetEnumerator();
while (true)
{
if (!enumerator1.MoveNext())
{
break;
}
char ch1 = enumerator1.Current;
list1.Add("-" + ch1);
}
}
else
{
if (!this.MaybeAnOption(text1))
{
goto Label_014D;
}
char[] chArray1 = new char[] { ':', '=' };
int num1 = OptionList.IndexOfAny(text1, chArray1);
if (num1 < 0)
{
list1.Add(text1);
goto Label_0155;
}
list1.Add(text1.Substring(0, num1));
list1.Add(text1.Substring(num1 + 1));
}
}
else
{
this.argumentsTail.Add(text1);
}
}
goto Label_0155;
Label_014D:
list1.Add(text1);
Label_0155 :;
}
return((string[])list1.ToArray(typeof(string)));
}