示例#1
0
 public int method_1(Class187 class187_0)
 {
     int num;
     if ((num = class187_0.method_0(9)) >= 0)
     {
         int num2;
         if ((num2 = (int)this.short_0[num]) >= 0)
         {
             class187_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         int num3 = -(num2 >> 4);
         int int_ = num2 & 15;
         if ((num = class187_0.method_0(int_)) >= 0)
         {
             num2 = (int)this.short_0[num3 | num >> 9];
             class187_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         int num4 = class187_0.method_2();
         num = class187_0.method_0(num4);
         num2 = (int)this.short_0[num3 | num >> 9];
         if ((num2 & 15) <= num4)
         {
             class187_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         return -1;
     }
     else
     {
         int num5 = class187_0.method_2();
         num = class187_0.method_0(num5);
         int num2 = (int)this.short_0[num];
         if (num2 >= 0 && (num2 & 15) <= num5)
         {
             class187_0.method_1(num2 & 15);
             return num2 >> 4;
         }
         return -1;
     }
 }
示例#2
0
 public bool method_0(Class187 class187_0)
 {
     while (true)
     {
         switch (this.int_3)
         {
         case 0:
             this.int_4 = class187_0.method_0(5);
             if (this.int_4 >= 0)
             {
                 this.int_4 += 257;
                 class187_0.method_1(5);
                 this.int_3 = 1;
                 goto IL_1FD;
             }
             return false;
         case 1:
             goto IL_1FD;
         case 2:
             goto IL_1AF;
         case 3:
             goto IL_176;
         case 4:
             break;
         case 5:
             goto IL_2C;
         default:
             continue;
         }
         IL_F4:
         int num;
         while (((num = this.class197_0.method_1(class187_0)) & -16) == 0)
         {
             this.byte_1[this.int_9++] = (this.byte_2 = (byte)num);
             if (this.int_9 == this.int_7)
             {
                 return true;
             }
         }
         if (num >= 0)
         {
             if (num >= 17)
             {
                 this.byte_2 = 0;
             }
             else if (this.int_9 == 0)
             {
                 goto IL_2A6;
             }
             this.int_8 = num - 16;
             this.int_3 = 5;
             goto IL_2C;
         }
         return false;
         IL_176:
         while (this.int_9 < this.int_6)
         {
             int num2 = class187_0.method_0(3);
             if (num2 < 0)
             {
                 return false;
             }
             class187_0.method_1(3);
             this.byte_0[Class198.int_2[this.int_9]] = (byte)num2;
             this.int_9++;
         }
         this.class197_0 = new Class197(this.byte_0);
         this.byte_0 = null;
         this.int_9 = 0;
         this.int_3 = 4;
         goto IL_F4;
         IL_2C:
         int num3 = Class198.int_1[this.int_8];
         int num4 = class187_0.method_0(num3);
         if (num4 < 0)
         {
             return false;
         }
         class187_0.method_1(num3);
         num4 += Class198.int_0[this.int_8];
         if (this.int_9 + num4 > this.int_7)
         {
             break;
         }
         while (num4-- > 0)
         {
             this.byte_1[this.int_9++] = this.byte_2;
         }
         if (this.int_9 == this.int_7)
         {
             return true;
         }
         this.int_3 = 4;
         continue;
         IL_1AF:
         this.int_6 = class187_0.method_0(4);
         if (this.int_6 >= 0)
         {
             this.int_6 += 4;
             class187_0.method_1(4);
             this.byte_0 = new byte[19];
             this.int_9 = 0;
             this.int_3 = 3;
             goto IL_176;
         }
         return false;
         IL_1FD:
         this.int_5 = class187_0.method_0(5);
         if (this.int_5 >= 0)
         {
             this.int_5++;
             class187_0.method_1(5);
             this.int_7 = this.int_4 + this.int_5;
             this.byte_1 = new byte[this.int_7];
             this.int_3 = 2;
             goto IL_1AF;
         }
         return false;
     }
     throw new SharpZipBaseException();
     IL_2A6:
     throw new SharpZipBaseException();
 }