예제 #1
0
 // Token: 0x0600001D RID: 29
 // RVA: 0x000280F4 File Offset: 0x000262F4
 public int method_1(Class0.Class2 class2_0)
 {
     int num;
     if ((num = class2_0.method_0(9)) >= 0)
     {
         int num2;
         if ((num2 = (int)this.short_0[num]) >= 0)
         {
             class2_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         int num3 = -(num2 >> 4);
         int int_ = num2 & 15;
         if ((num = class2_0.method_0(int_)) >= 0)
         {
             num2 = (int)this.short_0[num3 | num >> 9];
             class2_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         int num4 = class2_0.method_2();
         num = class2_0.method_0(num4);
         num2 = (int)this.short_0[num3 | num >> 9];
         if ((num2 & 15) <= num4)
         {
             class2_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         return -1;
     }
     else
     {
         int num5 = class2_0.method_2();
         num = class2_0.method_0(num5);
         int num2 = (int)this.short_0[num];
         if (num2 >= 0 && (num2 & 15) <= num5)
         {
             class2_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         return -1;
     }
 }
예제 #2
0
 // Token: 0x0600001F RID: 31
 // RVA: 0x000281CC File Offset: 0x000263CC
 public bool method_0(Class0.Class2 class2_0)
 {
     while (true)
     {
         switch (this.int_2)
         {
         case 0:
             this.int_3 = class2_0.method_0(5);
             if (this.int_3 >= 0)
             {
                 this.int_3 += 257;
                 class2_0.method_1(5);
                 this.int_2 = 1;
                 goto IL_1DD;
             }
             return false;
         case 1:
             goto IL_1DD;
         case 2:
             goto IL_18F;
         case 3:
             goto IL_156;
         case 4:
             break;
         case 5:
             goto IL_2C;
         default:
             continue;
         }
         IL_E1:
         int num;
         while (((num = this.class4_0.method_1(class2_0)) & -16) == 0)
         {
             this.byte_1[this.int_8++] = (this.byte_2 = (byte)num);
             if (this.int_8 == this.int_6)
             {
                 return true;
             }
         }
         if (num >= 0)
         {
             if (num >= 17)
             {
                 this.byte_2 = 0;
             }
             this.int_7 = num - 16;
             this.int_2 = 5;
             goto IL_2C;
         }
         return false;
         IL_156:
         while (this.int_8 < this.int_5)
         {
             int num2 = class2_0.method_0(3);
             if (num2 < 0)
             {
                 return false;
             }
             class2_0.method_1(3);
             this.byte_0[Class0.Class5.int_9[this.int_8]] = (byte)num2;
             this.int_8++;
         }
         this.class4_0 = new Class0.Class4(this.byte_0);
         this.byte_0 = null;
         this.int_8 = 0;
         this.int_2 = 4;
         goto IL_E1;
         IL_2C:
         int num3 = Class0.Class5.int_1[this.int_7];
         int num4 = class2_0.method_0(num3);
         if (num4 < 0)
         {
             return false;
         }
         class2_0.method_1(num3);
         num4 += Class0.Class5.int_0[this.int_7];
         while (num4-- > 0)
         {
             this.byte_1[this.int_8++] = this.byte_2;
         }
         if (this.int_8 == this.int_6)
         {
             break;
         }
         this.int_2 = 4;
         continue;
         IL_18F:
         this.int_5 = class2_0.method_0(4);
         if (this.int_5 >= 0)
         {
             this.int_5 += 4;
             class2_0.method_1(4);
             this.byte_0 = new byte[19];
             this.int_8 = 0;
             this.int_2 = 3;
             goto IL_156;
         }
         return false;
         IL_1DD:
         this.int_4 = class2_0.method_0(5);
         if (this.int_4 >= 0)
         {
             this.int_4++;
             class2_0.method_1(5);
             this.int_6 = this.int_3 + this.int_4;
             this.byte_1 = new byte[this.int_6];
             this.int_2 = 2;
             goto IL_18F;
         }
         return false;
     }
     return true;
 }