Ejemplo n.º 1
0
    internal void method_18(short[] A_0, short[] A_1)
    {
        int num = 0;

        if (this.int_42 != 0)
        {
            do
            {
                int index = this.int_28 + (num * 2);
                int num2  = ((this.byte_0[index] << 8) & 0xff00) | (this.byte_0[index + 1] & 0xff);
                int num6  = this.byte_0[this.int_29 + num] & 0xff;
                num++;
                if (num2 != 0)
                {
                    int num3 = Class606.sbyte_2[num6];
                    this.method_14((num3 + 0x100) + 1, A_0);
                    int num4 = Class606.int_13[num3];
                    if (num4 != 0)
                    {
                        num6 -= Class606.int_16[num3];
                        this.method_15(num6, num4);
                    }
                    num2--;
                    num3 = Class606.smethod_0(num2);
                    this.method_14(num3, A_1);
                    num4 = Class606.int_14[num3];
                    if (num4 != 0)
                    {
                        num2 -= Class606.int_17[num3];
                        this.method_15(num2, num4);
                    }
                }
                else
                {
                    this.method_14(num6, A_0);
                }
            }while (num < this.int_42);
        }
        this.method_14(0x100, A_0);
        this.int_40 = A_0[0x201];
    }
Ejemplo n.º 2
0
 internal bool method_17(int A_0, int A_1)
 {
     this.byte_0[this.int_28 + (this.int_42 * 2)]       = (byte)Class604.smethod_0(A_0, 8);
     this.byte_0[(this.int_28 + (this.int_42 * 2)) + 1] = (byte)A_0;
     this.byte_0[this.int_29 + this.int_42]             = (byte)A_1;
     this.int_42++;
     if (A_0 == 0)
     {
         this.short_4[A_1 * 2] = (short)(this.short_4[A_1 * 2] + 1);
     }
     else
     {
         this.int_48++;
         A_0--;
         this.short_4[((Class606.sbyte_2[A_1] + 0x100) + 1) * 2] = (short)(this.short_4[((Class606.sbyte_2[A_1] + 0x100) + 1) * 2] + 1);
         this.short_3[Class606.smethod_0(A_0) * 2] = (short)(this.short_3[Class606.smethod_0(A_0) * 2] + 1);
     }
     if (((this.int_42 & 0x1fff) == 0) && (this.compressionLevel_0 > ((CompressionLevel)2)))
     {
         int num2 = this.int_42 * 8;
         int num3 = this.int_56 - this.int_31;
         for (int i = 0; i < 30; i++)
         {
             num2 += (int)(this.short_3[i * 2] * (5L + Class606.int_14[i]));
         }
         num2 = Class604.smethod_0(num2, 3);
         if ((this.int_48 < (this.int_42 / 2)) && (num2 < (num3 / 2)))
         {
             return(true);
         }
     }
     if (this.int_42 != (this.int_43 - 1))
     {
         return(this.int_42 == this.int_43);
     }
     return(true);
 }