Example #1
0
    // Token: 0x06000355 RID: 853 RVA: 0x010391E4 File Offset: 0x010373E4
    private static void smethod_9(GClass8 gclass8_0, IntPtr intptr_7)
    {
        GStruct5 gstruct = gclass8_0.GStruct9_0.OptionalHeader.DataDirectory[5];

        if (gstruct.Size > 0u)
        {
            uint     num  = 0u;
            uint     num2 = (uint)(intptr_7.ToInt32() - (int)gclass8_0.GStruct9_0.OptionalHeader.ImageBase);
            uint     num3 = gclass8_0.method_11(gstruct.VirtualAddress);
            uint     num4 = (uint)Marshal.SizeOf(typeof(GStruct4));
            GStruct4 gstruct2;
            while (num < gstruct.Size && gclass8_0.method_3 <GStruct4>((long)((ulong)num3), SeekOrigin.Begin, out gstruct2))
            {
                int  num5 = (int)((gstruct2.SizeOfBlock - num4) / 2u);
                uint num6 = gclass8_0.method_11(gstruct2.VirtualAddress);
                for (int i = 0; i < num5; i++)
                {
                    ushort num7;
                    if (gclass8_0.method_3 <ushort>((long)((ulong)(num3 + num4) + (ulong)((long)((long)i << 1))), SeekOrigin.Begin, out num7) && (num7 >> 12 & 3) != 0)
                    {
                        uint num8 = num6 + (uint)(num7 & 4095);
                        uint num9;
                        if (!gclass8_0.method_3 <uint>((long)((ulong)num8), SeekOrigin.Begin, out num9))
                        {
                            throw gclass8_0.vmethod_1();
                        }
                        gclass8_0.method_7 <uint>(-4L, SeekOrigin.Current, num9 + num2);
                    }
                }
                num  += gstruct2.SizeOfBlock;
                num3 += gstruct2.SizeOfBlock;
            }
        }
    }
Example #2
0
    // Token: 0x060002F8 RID: 760 RVA: 0x01037880 File Offset: 0x01035A80
    public IEnumerable <GStruct8> method_8()
    {
        GStruct5 gstruct = this.GStruct9_0.OptionalHeader.DataDirectory[1];

        if (gstruct.Size > 0u)
        {
            uint     num  = this.method_11(gstruct.VirtualAddress);
            uint     num2 = GClass8.Class11.smethod_1(typeof(GStruct8).TypeHandle).smethod_1();
            GStruct8 gstruct2;
            while (base.method_3 <GStruct8>((long)((ulong)num), SeekOrigin.Begin, out gstruct2) && gstruct2.OriginalFirstThunk > 0u && gstruct2.Name > 0u)
            {
                yield return(gstruct2);

                num += num2;
            }
        }
        yield break;
    }
Example #3
0
    // Token: 0x0600031F RID: 799 RVA: 0x01037D64 File Offset: 0x01035F64
    public GClass13(GClass8 gclass8_0)
    {
        GStruct5 gstruct = gclass8_0.GStruct9_0.OptionalHeader.DataDirectory[2];

        if (gstruct.VirtualAddress > 0u && gstruct.Size > 0u)
        {
            uint      uint_;
            GStruct12 gstruct2;
            if (!gclass8_0.method_3 <GStruct12>((long)((ulong)(uint_ = gclass8_0.method_11(gstruct.VirtualAddress))), SeekOrigin.Begin, out gstruct2))
            {
                throw gclass8_0.vmethod_1();
            }
            GStruct13 gstruct13_ = new GStruct13
            {
                SubdirectoryRva = 2147483648u
            };
            this.GClass15_0 = new GClass13.GClass15(gclass8_0, gstruct13_, false, uint_);
        }
    }