Exemplo n.º 1
0
        // Token: 0x060000E1 RID: 225 RVA: 0x00007528 File Offset: 0x00005728
        private bool smethod_120(ulong arg_0)
        {
            bool result;

            try
            {
                if (this.field_1[(int)(checked ((IntPtr)arg_0))] == 13)
                {
                    uint num  = (uint)(this.gmethod_123((int)arg_0 + 3, 2) - 1UL);
                    int  num2 = 0;
                    if (this.field_6 != null)
                    {
                        num2 = this.field_6.Length;
                        Array.Resize <Class_42.NClass_1>(ref this.field_6, this.field_6.Length + (int)num + 1);
                    }
                    else
                    {
                        this.field_6 = new Class_42.NClass_1[num + 1U];
                    }
                    for (uint num3 = 0U; num3 <= num; num3 += 1U)
                    {
                        ulong num4 = this.gmethod_123((int)arg_0 + 8 + (int)(num3 * 2U), 2);
                        if (arg_0 != 100UL)
                        {
                            num4 += arg_0;
                        }
                        int num5 = this.cmethod_124((int)num4);
                        this.vmethod_125((int)num4, num5);
                        int num6 = this.cmethod_124((int)(num4 + (ulong)((long)num5 - (long)num4) + 1UL));
                        this.vmethod_125((int)(num4 + (ulong)((long)num5 - (long)num4) + 1UL), num6);
                        ulong num7  = num4 + (ulong)((long)num6 - (long)num4 + 1L);
                        int   num8  = this.cmethod_124((int)num7);
                        int   num9  = num8;
                        long  num10 = this.vmethod_125((int)num7, num8);
                        Class_42.NClass_0[] array = null;
                        long num11 = (long)(num7 - (ulong)((long)num8) + 1UL);
                        int  num12 = 0;
                        while (num11 < num10)
                        {
                            Array.Resize <Class_42.NClass_0>(ref array, num12 + 1);
                            int num13 = num9 + 1;
                            num9 = this.cmethod_124(num13);
                            array[num12].field_3 = this.vmethod_125(num13, num9);
                            array[num12].field_2 = (long)((array[num12].field_3 <= 9L) ? ((ulong)this.field_3[(int)(checked ((IntPtr)array[num12].field_3))]) : ((ulong)((!Class_42.dmethod_126(array[num12].field_3)) ? ((array[num12].field_3 - 12L) / 2L) : ((array[num12].field_3 - 13L) / 2L))));
                            num11 = num11 + (long)(num9 - num13) + 1L;
                            num12++;
                        }
                        if (array != null)
                        {
                            this.field_6[num2 + (int)num3].field_4 = new string[array.Length];
                            int num14 = 0;
                            for (int i = 0; i <= array.Length - 1; i++)
                            {
                                if (array[i].field_3 > 9L)
                                {
                                    if (!Class_42.dmethod_126(array[i].field_3))
                                    {
                                        if (this.field_0 == 1UL)
                                        {
                                            this.field_6[num2 + (int)num3].field_4[i] = Encoding.Default.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)((long)num14)), (int)array[i].field_2);
                                        }
                                        else if (this.field_0 == 2UL)
                                        {
                                            this.field_6[num2 + (int)num3].field_4[i] = Encoding.Unicode.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)((long)num14)), (int)array[i].field_2);
                                        }
                                        else if (this.field_0 == 3UL)
                                        {
                                            this.field_6[num2 + (int)num3].field_4[i] = Encoding.BigEndianUnicode.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)((long)num14)), (int)array[i].field_2);
                                        }
                                    }
                                    else
                                    {
                                        this.field_6[num2 + (int)num3].field_4[i] = Encoding.Default.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)((long)num14)), (int)array[i].field_2);
                                    }
                                }
                                else
                                {
                                    this.field_6[num2 + (int)num3].field_4[i] = Convert.ToString(this.gmethod_123((int)(num7 + (ulong)num10 + (ulong)((long)num14)), (int)array[i].field_2));
                                }
                                num14 += (int)array[i].field_2;
                            }
                        }
                    }
                }
                else if (this.field_1[(int)(checked ((IntPtr)arg_0))] == 5)
                {
                    uint num15 = (uint)(this.gmethod_123((int)(arg_0 + 3UL), 2) - 1UL);
                    for (uint num16 = 0U; num16 <= num15; num16 += 1U)
                    {
                        uint num17 = (uint)this.gmethod_123((int)arg_0 + 12 + (int)(num16 * 2U), 2);
                        this.smethod_120((this.gmethod_123((int)(arg_0 + (ulong)num17), 4) - 1UL) * this.field_2);
                    }
                    this.smethod_120((this.gmethod_123((int)(arg_0 + 8UL), 4) - 1UL) * this.field_2);
                }
                result = true;
            }
            catch
            {
                result = false;
            }
            return(result);
        }
Exemplo n.º 2
0
 // Token: 0x060000E2 RID: 226 RVA: 0x000079E4 File Offset: 0x00005BE4
 private void xmethod_121(long sayıUınt_0)
 {
     try
     {
         byte b = this.field_1[(int)(checked ((IntPtr)sayıUınt_0))];
         if (b != 5)
         {
             if (b == 13)
             {
                 ulong num  = this.gmethod_123((int)sayıUınt_0 + 3, 2) - 1UL;
                 int   num2 = 0;
                 if (this.field_5 != null)
                 {
                     num2 = this.field_5.Length;
                     Array.Resize <Class_42.NClass_2>(ref this.field_5, this.field_5.Length + (int)num + 1);
                 }
                 else
                 {
                     this.field_5 = new Class_42.NClass_2[num + 1UL];
                 }
                 for (ulong num3 = 0UL; num3 <= num; num3 += 1UL)
                 {
                     ulong num4 = this.gmethod_123((int)sayıUınt_0 + 8 + (int)num3 * 2, 2);
                     if (sayıUınt_0 != 100L)
                     {
                         num4 += (ulong)sayıUınt_0;
                     }
                     int num5 = this.cmethod_124((int)num4);
                     this.vmethod_125((int)num4, num5);
                     int num6 = this.cmethod_124((int)(num4 + (ulong)((long)num5 - (long)num4) + 1UL));
                     this.vmethod_125((int)(num4 + (ulong)((long)num5 - (long)num4) + 1UL), num6);
                     ulong  num7  = num4 + (ulong)((long)num6 - (long)num4 + 1L);
                     int    num8  = this.cmethod_124((int)num7);
                     int    num9  = num8;
                     long   num10 = this.vmethod_125((int)num7, num8);
                     long[] array = new long[5];
                     for (int i = 0; i <= 4; i++)
                     {
                         int sayıInt_ = num9 + 1;
                         num9     = this.cmethod_124(sayıInt_);
                         array[i] = this.vmethod_125(sayıInt_, num9);
                         array[i] = (long)((array[i] <= 9L) ? ((ulong)this.field_3[(int)(checked ((IntPtr)array[i]))]) : ((ulong)((!Class_42.dmethod_126(array[i])) ? ((array[i] - 12L) / 2L) : ((array[i] - 13L) / 2L))));
                     }
                     if (this.field_0 == 1UL || this.field_0 == 2UL)
                     {
                         if (this.field_0 == 1UL)
                         {
                             this.field_5[num2 + (int)num3].field_5 = Encoding.Default.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)array[0]), (int)array[1]);
                         }
                         else if (this.field_0 == 2UL)
                         {
                             this.field_5[num2 + (int)num3].field_5 = Encoding.Unicode.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)array[0]), (int)array[1]);
                         }
                         else if (this.field_0 == 3UL)
                         {
                             this.field_5[num2 + (int)num3].field_5 = Encoding.BigEndianUnicode.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)array[0]), (int)array[1]);
                         }
                     }
                     this.field_5[num2 + (int)num3].field_6 = (long)this.gmethod_123((int)(num7 + (ulong)num10 + (ulong)array[0] + (ulong)array[1] + (ulong)array[2]), (int)array[3]);
                     if (this.field_0 == 1UL)
                     {
                         this.field_5[num2 + (int)num3].field_7 = Encoding.Default.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)array[0] + (ulong)array[1] + (ulong)array[2] + (ulong)array[3]), (int)array[4]);
                     }
                     else if (this.field_0 == 2UL)
                     {
                         this.field_5[num2 + (int)num3].field_7 = Encoding.Unicode.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)array[0] + (ulong)array[1] + (ulong)array[2] + (ulong)array[3]), (int)array[4]);
                     }
                     else if (this.field_0 == 3UL)
                     {
                         this.field_5[num2 + (int)num3].field_7 = Encoding.BigEndianUnicode.GetString(this.field_1, (int)(num7 + (ulong)num10 + (ulong)array[0] + (ulong)array[1] + (ulong)array[2] + (ulong)array[3]), (int)array[4]);
                     }
                 }
             }
         }
         else
         {
             uint num11 = (uint)(this.gmethod_123((int)sayıUınt_0 + 3, 2) - 1UL);
             for (int j = 0; j <= (int)num11; j++)
             {
                 uint num12 = (uint)this.gmethod_123((int)sayıUınt_0 + 12 + j * 2, 2);
                 if (sayıUınt_0 == 100L)
                 {
                     this.xmethod_121((long)((this.gmethod_123((int)num12, 4) - 1UL) * this.field_2));
                 }
                 else
                 {
                     this.xmethod_121((long)((this.gmethod_123((int)(sayıUınt_0 + (long)((ulong)num12)), 4) - 1UL) * this.field_2));
                 }
             }
             this.xmethod_121((long)((this.gmethod_123((int)sayıUınt_0 + 8, 4) - 1UL) * this.field_2));
         }
     }
     catch
     {
     }
 }