public static byte[] funcaa(string sText)
{
bool flag;
byte[] buffer;
int num2;
byte[] buffer2;
int num3;
uint num4;
uint num5;
int num = sText.get_Length();
if
((((uint) flag) & 0) == 0)
{
if
((num > 0) && ((((uint) flag) + num4) < 0))
{
}
flag = (((uint) num3) > uint.MaxValue) ? ((bool)
false
) : ((bool) (0 == (num % 2)));
goto Label_0186;
}
if
(0 != 0)
{
return
buffer;
}
goto Label_0073;
Label_0033:
if
(flag)
{
num4 = (uint) (sText.get_Chars((int) (num3 * 2)) - ((sText.get_Chars((int) (num3 * 2)) >=
'A'
) ? 0x37 : 0x30));
if
((((uint) num2) - ((uint) num2)) >= 0)
{
if
((((uint) flag) & 0) == 0)
{
if
(0 == 0)
{
if
((num5 + ((uint) num)) <= uint.MaxValue)
{
if
(((uint) num) < 0)
{
goto Label_00EC;
}
if
((num4 + num4) < 0)
{
goto Label_004A;
}
}
flag = (bool) (num4 < 0x10);
if
(flag)
{
num5 = (uint) (sText.get_Chars((int) ((num3 * 2) + 1)) - ((sText.get_Chars((int) ((num3 * 2) + 1)) >=
'A'
) ? 0x37 : 0x30));
flag = (bool) (num5 < 0x10);
goto Label_004A;
}
goto Label_00EC;
}
goto Label_019E;
}
goto Label_0189;
}
goto Label_0168;
}
buffer = buffer2;
if
(3 == 0)
{
goto Label_018D;
}
return
buffer;
Label_0042:
flag = (bool) (num3 < num2);
goto Label_0033;
Label_004A:
if
(!flag)
{
buffer = null;
if
((num5 | 15) != 0)
{
return
buffer;
}
goto Label_0033;
}
Label_004D:
buffer2[num3] = (byte) ((byte) ((num4 * 0x10) + num5));
if
((((uint) num3) - ((uint) num3)) <= uint.MaxValue)
{
num3 = (int) (num3 + 1);
goto Label_0042;
}
Label_0073:
if
((num5 & 0) == 0)
{
}
goto Label_004D;
Label_00EC:
return
null;
Label_0168:
num3 = 0;
goto Label_0042;
Label_0186:
if
(!flag)
{
goto Label_019E;
}
Label_0189:
num2 = (int) (num / 2);
Label_018D:
buffer2 = new byte[num2];
goto Label_0168;
Label_019E:
buffer = null;
if
((num4 - ((uint) num)) > uint.MaxValue)
{
goto Label_0186;
}
return
buffer;
}