예제 #1
0
 public int method_1(Class2.Class4 class4_0)
 {
     int num;
     if ((num = class4_0.method_0(9)) >= 0)
     {
         int num2;
         if ((num2 = (int)this.short_0[num]) >= 0)
         {
             class4_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         int num3 = -(num2 >> 4);
         int int_ = num2 & 15;
         if ((num = class4_0.method_0(int_)) >= 0)
         {
             num2 = (int)this.short_0[num3 | num >> 9];
             class4_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         int num4 = class4_0.method_2();
         num = class4_0.method_0(num4);
         num2 = (int)this.short_0[num3 | num >> 9];
         if ((num2 & 15) <= num4)
         {
             class4_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         return -1;
     }
     else
     {
         int num5 = class4_0.method_2();
         num = class4_0.method_0(num5);
         int num2 = (int)this.short_0[num];
         if (num2 >= 0 && (num2 & 15) <= num5)
         {
             class4_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         return -1;
     }
 }
예제 #2
0
 public bool method_0(Class2.Class4 class4_0)
 {
     while (true)
     {
         switch (this.int_2)
         {
         case 0:
             this.int_3 = class4_0.method_0(5);
             if (this.int_3 >= 0)
             {
                 this.int_3 += 257;
                 class4_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.class6_0.method_1(class4_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 = class4_0.method_0(3);
             if (num2 < 0)
             {
                 return false;
             }
             class4_0.method_1(3);
             this.byte_0[Class2.Class7.int_9[this.int_8]] = (byte)num2;
             this.int_8++;
         }
         this.class6_0 = new Class2.Class6(this.byte_0);
         this.byte_0 = null;
         this.int_8 = 0;
         this.int_2 = 4;
         goto IL_E1;
         IL_2C:
         int num3 = Class2.Class7.int_1[this.int_7];
         int num4 = class4_0.method_0(num3);
         if (num4 < 0)
         {
             return false;
         }
         class4_0.method_1(num3);
         num4 += Class2.Class7.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 = class4_0.method_0(4);
         if (this.int_5 >= 0)
         {
             this.int_5 += 4;
             class4_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 = class4_0.method_0(5);
         if (this.int_4 >= 0)
         {
             this.int_4++;
             class4_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;
 }
예제 #3
0
 public int method_3(Class2.Class4 class4_0, int int_4)
 {
     int_4 = Math.Min(Math.Min(int_4, Class2.Class5.int_0 - this.int_3), class4_0.method_3());
     int num = Class2.Class5.int_0 - this.int_2;
     int num2;
     if (int_4 > num)
     {
         num2 = class4_0.method_6(this.byte_0, this.int_2, num);
         if (num2 == num)
         {
             num2 += class4_0.method_6(this.byte_0, 0, int_4 - num);
         }
     }
     else
     {
         num2 = class4_0.method_6(this.byte_0, this.int_2, int_4);
     }
     this.int_2 = (this.int_2 + num2 & Class2.Class5.int_1);
     this.int_3 += num2;
     return num2;
 }