public static GClass876.GStruct3 smethod_2(IntPtr intptr_0, IntPtr intptr_1, out int int_0) { int_0 = 0; GClass876.GStruct3 result = default(GClass876.GStruct3); if (GClass876.smethod_1()) { GClass876.GStruct2 gstruct = default(GClass876.GStruct2); if (GClass876.VirtualQueryEx(intptr_0, intptr_1, out gstruct, (uint)Marshal.SizeOf(typeof(GClass876.GStruct2))) != 0) { result.intptr_1 = gstruct.intptr_1; result.int_0 = gstruct.int_0; result.intptr_0 = gstruct.intptr_0; result.int_1 = gstruct.int_2; result.long_0 = (long)gstruct.int_1; result.State = gstruct.State; result.int_2 = gstruct.int_3; return(result); } int_0 = Marshal.GetLastWin32Error(); } else { if (GClass876.VirtualQueryEx_1(intptr_0, intptr_1, out result, (uint)Marshal.SizeOf(typeof(GClass876.GStruct3))) != 0) { return(result); } int_0 = Marshal.GetLastWin32Error(); } return(result); }
public bool method_6() { this.method_5(new List <GClass876.GStruct3>()); GClass876.GStruct1 gstruct = default(GClass876.GStruct1); GClass876.GetSystemInfo(out gstruct); this.intptr_0 = gstruct.intptr_0; this.intptr_1 = gstruct.intptr_1; long num = (long)this.intptr_0; long num2 = (long)this.intptr_1; IntPtr intPtr; this.method_3(intPtr = GClass876.OpenProcess(5176, false, this.method_0())); IntPtr intPtr2 = intPtr; GClass876.GStruct3 gstruct2 = default(GClass876.GStruct3); if (GClass876.smethod_0(intPtr2)) { num2 = Math.Min(2147483647L, num2); } this.intptr_1 = (IntPtr)num2; int num3 = 0; while (num < num2) { int num4; gstruct2 = GClass876.smethod_2(intPtr2, this.intptr_0, out num4); if (num4 == 0) { if (gstruct2.int_1 == 4 && gstruct2.State == 4096) { this.method_4().Add(gstruct2); } num += gstruct2.long_0; this.intptr_0 = new IntPtr(num); num3++; } else { if (num3 == 0) { throw new Win32Exception(num4); } return(true); } } return(true); }
public static extern int VirtualQueryEx_1(IntPtr intptr_0, IntPtr intptr_1, out GClass876.GStruct3 gstruct3_0, uint uint_0);
public static IEnumerable <IntPtr> smethod_0(GClass874 gclass874_0, GClass876.GStruct3 gstruct3_0, byte[] byte_0) { goto IL_23; for (;;) { IEnumerator <int> enumerator; long pos; long left; long toRead; IntPtr from; try { IL_133: if (!enumerator.MoveNext()) { goto JumpOutOfTryFinally - 3; } goto IL_1A1; IL_23: int bufferSize = (int)Math.Min(gstruct3_0.long_0, (long)Math.Max(1048576, byte_0.Length * 4)); byte[] buf = new byte[bufferSize]; pos = 0L; left = gstruct3_0.long_0; GClass879 kmp = new GClass879(byte_0); Debug.WriteLine(gstruct3_0.long_0); goto IL_18B; IL_B2: toRead = Math.Min((long)bufferSize, left); from = (IntPtr)((long)gstruct3_0.intptr_0 + pos); if (!gclass874_0.method_8(from, buf, (int)toRead)) { goto IL_1D1; } enumerator = kmp.method_4(buf).GetEnumerator(); goto IL_133; } finally { if (enumerator != null) { enumerator.Dispose(); } } goto JumpOutOfTryFinally - 3; IL_18B: if (left <= 0L) { break; } goto IL_B2; IL_1A1: int num = enumerator.Current; yield return(new IntPtr((long)from + (long)num)); continue; JumpOutOfTryFinally - 3 : enumerator = null; left -= toRead; pos += toRead; pos -= (long)(byte_0.Length - 1); goto IL_18B; } IL_1D1: yield break; yield break; }