diff --git a/Il2CppInspector.sln b/Il2CppInspector.sln
index c3236dd..318a753 100644
--- a/Il2CppInspector.sln
+++ b/Il2CppInspector.sln
@@ -1,13 +1,15 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26228.9
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29409.12
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bin2Object", "Bin2Object\Bin2Object\Bin2Object.csproj", "{55382D6C-01B6-4AFD-850C-7A79DAB6F270}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Il2CppInspector", "Il2CppInspector\Il2CppInspector.csproj", "{E4721466-CC6F-47EB-AD48-F4DE70D77E5C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Il2CppInspector", "Il2CppInspector\Il2CppInspector.csproj", "{E4721466-CC6F-47EB-AD48-F4DE70D77E5C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Il2CppDumper", "Il2CppDumper\Il2CppDumper.csproj", "{EA4C27DF-4640-48DF-8CAF-5587884CAF30}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Il2CppDumper", "Il2CppDumper\Il2CppDumper.csproj", "{EA4C27DF-4640-48DF-8CAF-5587884CAF30}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Il2CppTests", "Il2CppTests\Il2CppTests.csproj", "{389E4BDF-A749-4554-848B-32B3B6EE5684}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -27,8 +29,15 @@ Global
{EA4C27DF-4640-48DF-8CAF-5587884CAF30}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA4C27DF-4640-48DF-8CAF-5587884CAF30}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA4C27DF-4640-48DF-8CAF-5587884CAF30}.Release|Any CPU.Build.0 = Release|Any CPU
+ {389E4BDF-A749-4554-848B-32B3B6EE5684}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {389E4BDF-A749-4554-848B-32B3B6EE5684}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {389E4BDF-A749-4554-848B-32B3B6EE5684}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {389E4BDF-A749-4554-848B-32B3B6EE5684}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A2F9DB35-5C65-4A94-8DD8-36FF9F3590C7}
+ EndGlobalSection
EndGlobal
diff --git a/Il2CppTests/Il2CppTests.csproj b/Il2CppTests/Il2CppTests.csproj
new file mode 100644
index 0000000..0e84117
--- /dev/null
+++ b/Il2CppTests/Il2CppTests.csproj
@@ -0,0 +1,40 @@
+
+
+
+ netcoreapp3.0
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Il2CppTests/TestExpectedResults/GameAssembly-Generics.cs b/Il2CppTests/TestExpectedResults/GameAssembly-Generics.cs
new file mode 100644
index 0000000..862fc51
--- /dev/null
+++ b/Il2CppTests/TestExpectedResults/GameAssembly-Generics.cs
@@ -0,0 +1,37247 @@
+// Image 0: mscorlib.dll - 0
+// Image 1: Generics.dll - 1810
+
+// Namespace:
+internal class // TypeDefIndex: 0
+{
+}
+
+// Namespace: System
+[Serializable]
+public class Object // TypeDefIndex: 1
+{
+ // Methods
+ public void .ctor(); // 0x100C5530
+ public virtual bool Equals(object obj); // 0x100F8860
+ public static bool Equals(object objA, object objB); // 0x100F8820
+ protected override void Finalize(); // 0x100C5530
+ public virtual int GetHashCode(); // 0x100F8870
+ public Type GetType(); // 0x100ED2B0
+ protected object MemberwiseClone(); // 0x100F8880
+ public virtual string ToString(); // 0x100F8890
+ public static bool ReferenceEquals(object objA, object objB); // 0x100F8860
+ internal static int InternalGetHashCode(object o); // 0x100F8870
+ internal IntPtr obj_address(); // 0x100F88D0
+ private void FieldGetter(string typeName, string fieldName, object val); // 0x100C5530
+ private void FieldSetter(string typeName, string fieldName, object val); // 0x100C5530
+}
+
+// Namespace: System
+[Serializable]
+public abstract class ValueType // TypeDefIndex: 2
+{
+ // Methods
+ protected void .ctor(); // 0x100BF000
+ private static bool InternalEquals(object o1, object o2, out object[] fields); // 0x1034A220
+ internal static bool DefaultEquals(object o1, object o2); // 0x1034A0F0
+ public override bool Equals(object obj); // 0x1034A0F0
+ internal static int InternalGetHashCode(object o, out object[] fields); // 0x1034A240
+ public override int GetHashCode(); // 0x1034A190
+ public override string ToString(); // 0x1034A260
+}
+
+// Namespace: System
+[Serializable]
+public abstract class Attribute : _Attribute // TypeDefIndex: 3
+{
+ // Properties
+ public virtual object TypeId { get; } // 0x1015CD60
+
+ // Methods
+ protected void .ctor(); // 0x100BF000
+ private void System.Runtime.InteropServices._Attribute.GetIDsOfNames(Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId); // 0x10311FE0
+ private void System.Runtime.InteropServices._Attribute.GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo); // 0x10312080
+ private void System.Runtime.InteropServices._Attribute.GetTypeInfoCount(out uint pcTInfo); // 0x10312030
+ private void System.Runtime.InteropServices._Attribute.Invoke(uint dispIdMember, Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr); // 0x103120D0
+ private static void CheckParameters(object element, Type attributeType); // 0x10310D50
+ private static Attribute FindAttribute(object[] attributes); // 0x10310EE0
+ public static Attribute GetCustomAttribute(ParameterInfo element, Type attributeType); // 0x10310F80
+ public static Attribute GetCustomAttribute(MemberInfo element, Type attributeType); // 0x10311110
+ public static Attribute GetCustomAttribute(Assembly element, Type attributeType); // 0x10311020
+ public static Attribute GetCustomAttribute(Module element, Type attributeType); // 0x10311070
+ public static Attribute GetCustomAttribute(Module element, Type attributeType, bool inherit); // 0x10310FD0
+ public static Attribute GetCustomAttribute(Assembly element, Type attributeType, bool inherit); // 0x103110C0
+ public static Attribute GetCustomAttribute(ParameterInfo element, Type attributeType, bool inherit); // 0x10311180
+ public static Attribute GetCustomAttribute(MemberInfo element, Type attributeType, bool inherit); // 0x103111D0
+ public static Attribute[] GetCustomAttributes(Assembly element); // 0x10311AA0
+ public static Attribute[] GetCustomAttributes(ParameterInfo element); // 0x103116E0
+ public static Attribute[] GetCustomAttributes(MemberInfo element); // 0x10311A80
+ public static Attribute[] GetCustomAttributes(Module element); // 0x10311230
+ public static Attribute[] GetCustomAttributes(Assembly element, Type attributeType); // 0x10311650
+ public static Attribute[] GetCustomAttributes(Module element, Type attributeType); // 0x10311840
+ public static Attribute[] GetCustomAttributes(ParameterInfo element, Type attributeType); // 0x103119F0
+ public static Attribute[] GetCustomAttributes(MemberInfo element, Type type); // 0x10311370
+ public static Attribute[] GetCustomAttributes(Assembly element, Type attributeType, bool inherit); // 0x103112E0
+ public static Attribute[] GetCustomAttributes(ParameterInfo element, Type attributeType, bool inherit); // 0x103115C0
+ public static Attribute[] GetCustomAttributes(Module element, Type attributeType, bool inherit); // 0x10311530
+ public static Attribute[] GetCustomAttributes(MemberInfo element, Type type, bool inherit); // 0x10311460
+ public static Attribute[] GetCustomAttributes(Module element, bool inherit); // 0x10311B50
+ public static Attribute[] GetCustomAttributes(Assembly element, bool inherit); // 0x10311C00
+ public static Attribute[] GetCustomAttributes(MemberInfo element, bool inherit); // 0x103118D0
+ public static Attribute[] GetCustomAttributes(ParameterInfo element, bool inherit); // 0x10311790
+ public override int GetHashCode(); // 0x102110E0
+ public virtual bool IsDefaultAttribute(); // 0x100EFBF0
+ public static bool IsDefined(Module element, Type attributeType); // 0x10311E60
+ public static bool IsDefined(ParameterInfo element, Type attributeType); // 0x10311F50
+ public static bool IsDefined(MemberInfo element, Type attributeType); // 0x10311E00
+ public static bool IsDefined(Assembly element, Type attributeType); // 0x10311E20
+ public static bool IsDefined(MemberInfo element, Type attributeType, bool inherit); // 0x10311CF0
+ public static bool IsDefined(Assembly element, Type attributeType, bool inherit); // 0x10311CB0
+ public static bool IsDefined(Module element, Type attributeType, bool inherit); // 0x10311F10
+ public static bool IsDefined(ParameterInfo element, Type attributeType, bool inherit); // 0x10311EA0
+ public virtual bool Match(object obj); // 0x10311FC0
+ public override bool Equals(object obj); // 0x10310E60
+}
+
+// Namespace: System.Runtime.InteropServices
+public interface _Attribute // TypeDefIndex: 4
+{
+ // Methods
+ void GetIDsOfNames(Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
+ void GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo);
+ void GetTypeInfoCount(out uint pcTInfo);
+ void Invoke(uint dispIdMember, Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
+}
+
+// Namespace: System
+[Serializable]
+public struct Int32 : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 5
+{
+ // Fields
+ public const int MaxValue = 2147483647; // 0x00
+ public const int MinValue = -2147483648; // 0x00
+ internal int m_value; // 0x08
+
+ // Methods
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x10004860
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x100048C0
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x10004920
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x10004980
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x100049F0
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x10004A60
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x10004AC0
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x10003A80
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x10004B20
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x10004B80
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x10004BE0
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x10004C40
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x10004CF0
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x10004D50
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x10004DB0
+ public int CompareTo(object value); // 0x100046F0
+ public override bool Equals(object obj); // 0x100047C0
+ public override int GetHashCode(); // 0x10003A80
+ public int CompareTo(int value); // 0x100047A0
+ public bool Equals(int obj); // 0x10004830
+ internal static bool ProcessTrailingWhitespace(bool tryParse, string s, int position, Exception exc); // 0x100FB5B0
+ internal static bool Parse(string s, bool tryParse, out int result, out Exception exc); // 0x100FA7E0
+ public static int Parse(string s, IFormatProvider provider); // 0x100FA7C0
+ public static int Parse(string s, NumberStyles style); // 0x100FB4B0
+ internal static bool CheckStyle(NumberStyles style, bool tryParse, Exception exc); // 0x100F9F50
+ internal static bool JumpOverWhite(int pos, string s, bool reportError, bool tryParse, Exception exc); // 0x100FA6D0
+ internal static void FindSign(int pos, string s, NumberFormatInfo nfi, bool foundSign, bool negative); // 0x100FA5B0
+ internal static void FindCurrency(int pos, string s, NumberFormatInfo nfi, bool foundCurrency); // 0x100FA150
+ internal static bool FindExponent(int pos, string s, int exponent, bool tryParse, Exception exc); // 0x100FA200
+ internal static bool FindOther(int pos, string s, string other); // 0x100FA510
+ internal static bool ValidDigit(char e, bool allowHex); // 0x100FB870
+ internal static Exception GetFormatException(); // 0x100FA670
+ internal static bool Parse(string s, NumberStyles style, IFormatProvider fp, bool tryParse, out int result, out Exception exc); // 0x100FAA10
+ public static int Parse(string s); // 0x100FB540
+ public static int Parse(string s, NumberStyles style, IFormatProvider provider); // 0x100FB4D0
+ public static bool TryParse(string s, out int result); // 0x100FB7E0
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out int result); // 0x100FB820
+ public override string ToString(); // 0x10004ED0
+ public string ToString(IFormatProvider provider); // 0x10004F30
+ public string ToString(string format); // 0x10004E70
+ public string ToString(string format, IFormatProvider provider); // 0x10004E10
+ public TypeCode GetTypeCode(); // 0x10004850
+}
+
+// Namespace: System
+public interface IFormattable // TypeDefIndex: 6
+{
+ // Methods
+ string ToString(string format, IFormatProvider formatProvider);
+}
+
+// Namespace: System
+public interface IConvertible // TypeDefIndex: 7
+{
+ // Methods
+ TypeCode GetTypeCode();
+ bool ToBoolean(IFormatProvider provider);
+ byte ToByte(IFormatProvider provider);
+ char ToChar(IFormatProvider provider);
+ DateTime ToDateTime(IFormatProvider provider);
+ Decimal ToDecimal(IFormatProvider provider);
+ double ToDouble(IFormatProvider provider);
+ short ToInt16(IFormatProvider provider);
+ int ToInt32(IFormatProvider provider);
+ long ToInt64(IFormatProvider provider);
+ sbyte ToSByte(IFormatProvider provider);
+ float ToSingle(IFormatProvider provider);
+ string ToString(IFormatProvider provider);
+ object ToType(Type conversionType, IFormatProvider provider);
+ ushort ToUInt16(IFormatProvider provider);
+ uint ToUInt32(IFormatProvider provider);
+ ulong ToUInt64(IFormatProvider provider);
+}
+
+// Namespace: System
+public interface IComparable // TypeDefIndex: 8
+{
+ // Methods
+ int CompareTo(object obj);
+}
+
+// Namespace: System
+public interface IComparable`1 // TypeDefIndex: 9
+{
+ // Methods
+ int CompareTo(T other);
+}
+
+// Namespace: System
+public sealed class SerializableAttribute : Attribute // TypeDefIndex: 10
+{
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System
+[Serializable]
+public sealed class AttributeUsageAttribute : Attribute // TypeDefIndex: 11
+{
+ // Fields
+ private AttributeTargets valid_on; // 0x08
+ private bool allow_multiple; // 0x0C
+ private bool inherited; // 0x0D
+
+ // Properties
+ public bool AllowMultiple { get; set; } // 0x100F8910 0x1016CBD0
+ public bool Inherited { get; set; } // 0x10298460 0x10298470
+ public AttributeTargets ValidOn { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(AttributeTargets validOn); // 0x10310D30
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class ComVisibleAttribute : Attribute // TypeDefIndex: 12
+{
+ // Fields
+ private bool Visible; // 0x08
+
+ // Properties
+ public bool Value { get; } // 0x100EA020
+
+ // Methods
+ public void .ctor(bool visibility); // 0x100EA000
+}
+
+// Namespace: System
+public interface IEquatable`1 // TypeDefIndex: 13
+{
+ // Methods
+ bool Equals(T other);
+}
+
+// Namespace: System
+[Serializable]
+public struct Int64 : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 14
+{
+ // Fields
+ public const long MaxValue = 9223372036854775807; // 0x00
+ public const long MinValue = -9223372036854775808; // 0x00
+ internal long m_value; // 0x08
+
+ // Methods
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x10005160
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x100051C0
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x10005220
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x10005280
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x100052F0
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x10005360
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x100053C0
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x10005420
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x10005480
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x100054E0
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x10005540
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x100055A0
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x10005660
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x100056C0
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x10005720
+ public int CompareTo(object value); // 0x10004F90
+ public override bool Equals(object obj); // 0x100050A0
+ public override int GetHashCode(); // 0x10005140
+ public int CompareTo(long value); // 0x10005060
+ public bool Equals(long obj); // 0x10005120
+ internal static bool Parse(string s, bool tryParse, out long result, out Exception exc); // 0x100FC880
+ public static long Parse(string s, IFormatProvider provider); // 0x100FBA40
+ public static long Parse(string s, NumberStyles style); // 0x100FB9B0
+ internal static bool Parse(string s, NumberStyles style, IFormatProvider fp, bool tryParse, out long result, out Exception exc); // 0x100FBAD0
+ public static long Parse(string s); // 0x100FB9D0
+ public static long Parse(string s, NumberStyles style, IFormatProvider provider); // 0x100FBA60
+ public static bool TryParse(string s, out long result); // 0x100FCD10
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out long result); // 0x100FCCC0
+ public override string ToString(); // 0x10005780
+ public string ToString(IFormatProvider provider); // 0x10005800
+ public string ToString(string format); // 0x100057E0
+ public string ToString(string format, IFormatProvider provider); // 0x100057F0
+ public TypeCode GetTypeCode(); // 0x10005150
+}
+
+// Namespace: System
+[Serializable]
+public struct UInt32 : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 15
+{
+ // Fields
+ public const uint MaxValue = 4294967295; // 0x00
+ public const uint MinValue = 0; // 0x00
+ internal uint m_value; // 0x08
+
+ // Methods
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x1001A5B0
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x1001A610
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x1001A670
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x1001A6D0
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x1001A740
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x1001A7B0
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x1001A810
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x1001A870
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x1001A8D0
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x1001A930
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x1001A990
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x1001A9F0
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x1001AAA0
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x10003A80
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x1001AB00
+ public int CompareTo(object value); // 0x1001A480
+ public override bool Equals(object obj); // 0x1001A530
+ public override int GetHashCode(); // 0x10003A80
+ public int CompareTo(uint value); // 0x1001A460
+ public bool Equals(uint obj); // 0x10004830
+ internal static bool Parse(string s, bool tryParse, out uint result, out Exception exc); // 0x10284480
+ internal static bool Parse(string s, NumberStyles style, IFormatProvider provider, bool tryParse, out uint result, out Exception exc); // 0x102839C0
+ public static uint Parse(string s); // 0x10284410
+ public static uint Parse(string s, NumberStyles style, IFormatProvider provider); // 0x102843A0
+ public static uint Parse(string s, IFormatProvider provider); // 0x102839A0
+ public static uint Parse(string s, NumberStyles style); // 0x10284380
+ public static bool TryParse(string s, out uint result); // 0x10284830
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out uint result); // 0x102847E0
+ public override string ToString(); // 0x1001AC80
+ public string ToString(IFormatProvider provider); // 0x1001AC20
+ public string ToString(string format); // 0x1001ABC0
+ public string ToString(string format, IFormatProvider provider); // 0x1001AB60
+ public TypeCode GetTypeCode(); // 0x1001A5A0
+}
+
+// Namespace: System
+[Serializable]
+public sealed class CLSCompliantAttribute : Attribute // TypeDefIndex: 16
+{
+ // Fields
+ private bool is_compliant; // 0x08
+
+ // Properties
+ public bool IsCompliant { get; } // 0x100EA020
+
+ // Methods
+ public void .ctor(bool isCompliant); // 0x10315760
+}
+
+// Namespace: System
+[Serializable]
+public struct UInt64 : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 17
+{
+ // Fields
+ public const ulong MaxValue = 18446744073709551615; // 0x00
+ public const ulong MinValue = 0; // 0x00
+ internal ulong m_value; // 0x08
+
+ // Methods
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x1001AE80
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x1001AEE0
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x1001AF40
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x1001AFA0
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x1001B010
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x1001B080
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x1001B0E0
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x1001B140
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x1001B1A0
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x1001B200
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x1001B260
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x1001B2C0
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x1001B380
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x1001B3E0
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x10019A10
+ public int CompareTo(object value); // 0x1001ACE0
+ public override bool Equals(object obj); // 0x1001ADF0
+ public override int GetHashCode(); // 0x10005140
+ public int CompareTo(ulong value); // 0x1001ADB0
+ public bool Equals(ulong obj); // 0x10005120
+ public static ulong Parse(string s); // 0x102848F0
+ public static ulong Parse(string s, IFormatProvider provider); // 0x10285470
+ public static ulong Parse(string s, NumberStyles style); // 0x10284910
+ internal static bool Parse(string s, NumberStyles style, IFormatProvider provider, bool tryParse, out ulong result, out Exception exc); // 0x102849A0
+ public static ulong Parse(string s, NumberStyles style, IFormatProvider provider); // 0x10284930
+ public static bool TryParse(string s, out ulong result); // 0x10285660
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out ulong result); // 0x10285610
+ public override string ToString(); // 0x1001B510
+ public string ToString(IFormatProvider provider); // 0x1001B4A0
+ public string ToString(string format); // 0x1001B440
+ public string ToString(string format, IFormatProvider provider); // 0x1001B500
+ public TypeCode GetTypeCode(); // 0x1001AE70
+}
+
+// Namespace: System
+[Serializable]
+public struct Byte : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 18
+{
+ // Fields
+ public const byte MinValue = 0; // 0x00
+ public const byte MaxValue = 255; // 0x00
+ internal byte m_value; // 0x08
+
+ // Methods
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x1001FBB0
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x1001F820
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x10007100
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x1001F880
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x1001F8E0
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x1001F900
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x1001F970
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x1001F9D0
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x1001FA30
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x1001FA90
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x1001FAF0
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x1001FB50
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x1001FC60
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x1001FCC0
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x1001FD20
+ public int CompareTo(object value); // 0x1001F690
+ public override bool Equals(object obj); // 0x1001F790
+ public override int GetHashCode(); // 0x1001F800
+ public int CompareTo(byte value); // 0x1001F750
+ public bool Equals(byte obj); // 0x1001F770
+ public static byte Parse(string s, IFormatProvider provider); // 0x10315450
+ public static byte Parse(string s, NumberStyles style); // 0x10315410
+ public static byte Parse(string s, NumberStyles style, IFormatProvider provider); // 0x10315470
+ public static byte Parse(string s); // 0x10315430
+ public static bool TryParse(string s, out byte result); // 0x10315710
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out byte result); // 0x103156C0
+ public override string ToString(); // 0x1001FE40
+ public string ToString(string format); // 0x1001FD80
+ public string ToString(IFormatProvider provider); // 0x1001FDE0
+ public string ToString(string format, IFormatProvider provider); // 0x1001FEA0
+ public TypeCode GetTypeCode(); // 0x1001F810
+}
+
+// Namespace: System
+[Serializable]
+public struct SByte : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 19
+{
+ // Fields
+ public const sbyte MinValue = 128; // 0x00
+ public const sbyte MaxValue = 127; // 0x00
+ internal sbyte m_value; // 0x08
+
+ // Methods
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x10006D80
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x10006DE0
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x10006E40
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x10006EA0
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x10006F10
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x10006F80
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x10006FE0
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x10007040
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x100070A0
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x10007100
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x10007110
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x10007170
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x10007220
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x10007280
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x100072E0
+ public int CompareTo(object obj); // 0x10006C00
+ public override bool Equals(object obj); // 0x10006CF0
+ public override int GetHashCode(); // 0x10006D60
+ public int CompareTo(sbyte value); // 0x10006CB0
+ public bool Equals(sbyte obj); // 0x10006CD0
+ internal static bool Parse(string s, bool tryParse, out sbyte result, out Exception exc); // 0x10123C00
+ public static sbyte Parse(string s, IFormatProvider provider); // 0x10123BE0
+ public static sbyte Parse(string s, NumberStyles style); // 0x10123B50
+ public static sbyte Parse(string s, NumberStyles style, IFormatProvider provider); // 0x10123EE0
+ public static sbyte Parse(string s); // 0x10123B70
+ public static bool TryParse(string s, out sbyte result); // 0x10124080
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out sbyte result); // 0x101240C0
+ public override string ToString(); // 0x10007340
+ public string ToString(IFormatProvider provider); // 0x10007400
+ public string ToString(string format); // 0x10007460
+ public string ToString(string format, IFormatProvider provider); // 0x100073A0
+ public TypeCode GetTypeCode(); // 0x10006D70
+}
+
+// Namespace: System
+[Serializable]
+public struct Int16 : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 20
+{
+ // Fields
+ public const short MaxValue = 32767; // 0x00
+ public const short MinValue = -32768; // 0x00
+ internal short m_value; // 0x08
+
+ // Methods
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x10003FF0
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x10004050
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x100040B0
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x10004110
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x10004180
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x100041F0
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x10004250
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x100042B0
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x10004310
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x10004370
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x100043D0
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x10004430
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x100044E0
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x10004540
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x100045A0
+ public int CompareTo(object value); // 0x10003E80
+ public override bool Equals(object obj); // 0x10003F60
+ public override int GetHashCode(); // 0x10003FD0
+ public int CompareTo(short value); // 0x10003E50
+ public bool Equals(short obj); // 0x10003F40
+ internal static bool Parse(string s, bool tryParse, out short result, out Exception exc); // 0x100F9960
+ public static short Parse(string s, IFormatProvider provider); // 0x100F9940
+ public static short Parse(string s, NumberStyles style); // 0x100F9BB0
+ public static short Parse(string s, NumberStyles style, IFormatProvider provider); // 0x100F9BD0
+ public static short Parse(string s); // 0x100F9C50
+ public static bool TryParse(string s, out short result); // 0x100F9F10
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out short result); // 0x100F9EB0
+ public override string ToString(); // 0x10004690
+ public string ToString(IFormatProvider provider); // 0x10004600
+ public string ToString(string format); // 0x10004660
+ public string ToString(string format, IFormatProvider provider); // 0x10004680
+ public TypeCode GetTypeCode(); // 0x10003FE0
+}
+
+// Namespace: System
+[Serializable]
+public struct UInt16 : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 21
+{
+ // Fields
+ public const ushort MaxValue = 65535; // 0x00
+ public const ushort MinValue = 0; // 0x00
+ internal ushort m_value; // 0x08
+
+ // Methods
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x10019D20
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x10019D80
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x10019DE0
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x10019E40
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x10019EB0
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x10019F20
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x10019F80
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x10019FE0
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x1001A040
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x1001A0A0
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x1001A100
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x1001A160
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x1001A210
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x1001A220
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x1001A280
+ public int CompareTo(object value); // 0x10019BE0
+ public override bool Equals(object obj); // 0x10019C90
+ public override int GetHashCode(); // 0x10019D00
+ public int CompareTo(ushort value); // 0x10019BC0
+ public bool Equals(ushort obj); // 0x10003F40
+ public static ushort Parse(string s, IFormatProvider provider); // 0x102836C0
+ public static ushort Parse(string s, NumberStyles style); // 0x102836A0
+ public static ushort Parse(string s, NumberStyles style, IFormatProvider provider); // 0x102836E0
+ public static ushort Parse(string s); // 0x10283680
+ public static bool TryParse(string s, out ushort result); // 0x102838E0
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out ushort result); // 0x10283880
+ public override string ToString(); // 0x1001A400
+ public string ToString(IFormatProvider provider); // 0x1001A340
+ public string ToString(string format); // 0x1001A3A0
+ public string ToString(string format, IFormatProvider provider); // 0x1001A2E0
+ public TypeCode GetTypeCode(); // 0x10019D10
+}
+
+// Namespace: System.Collections
+public interface IEnumerator // TypeDefIndex: 22
+{
+ // Properties
+ object Current { get; }
+
+ // Methods
+ bool MoveNext();
+ void Reset();
+}
+
+// Namespace: System.Collections
+public interface IEnumerable // TypeDefIndex: 23
+{
+ // Methods
+ IEnumerator GetEnumerator();
+}
+
+// Namespace: System
+public interface IDisposable // TypeDefIndex: 24
+{
+ // Methods
+ void Dispose();
+}
+
+// Namespace: System.Collections.Generic
+public interface IEnumerator`1 : IEnumerator, IDisposable // TypeDefIndex: 25
+{
+ // Properties
+ T Current { get; }
+
+}
+
+// Namespace: System
+[Serializable]
+public struct Char : IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 26
+{
+ // Fields
+ public const char MaxValue = '\xffff'; // 0x00
+ public const char MinValue = '\x0000'; // 0x00
+ internal char m_value; // 0x08
+ private static readonly void * category_data; // 0x00
+ private static readonly void * numeric_data; // 0x04
+ private static readonly void * numeric_data_values; // 0x08
+ private static readonly void * to_lower_data_low; // 0x0C
+ private static readonly void * to_lower_data_high; // 0x10
+ private static readonly void * to_upper_data_low; // 0x14
+ private static readonly void * to_upper_data_high; // 0x18
+
+ // Methods
+ private static void .cctor(); // 0x10317C80
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x10020310
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x10020090
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x100200B0
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x1001A210
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x10020110
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x10020130
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x10020150
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x10020170
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x100201D0
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x10020230
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x10020290
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x100202F0
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x100203C0
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x10020420
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x10020480
+ private static void GetDataTablePointers(out void * category_data, out void * numeric_data, out void * numeric_data_values, out void * to_lower_data_low, out void * to_lower_data_high, out void * to_upper_data_low, out void * to_upper_data_high); // 0x10316020
+ public int CompareTo(object value); // 0x1001FF00
+ public override bool Equals(object obj); // 0x10020010
+ public int CompareTo(char value); // 0x1001FFC0
+ public static string ConvertFromUtf32(int utf32); // 0x10315AE0
+ public static int ConvertToUtf32(char highSurrogate, char lowSurrogate); // 0x10315EF0
+ public static int ConvertToUtf32(string s, int index); // 0x10315C30
+ public bool Equals(char obj); // 0x1001FFF0
+ public static bool IsSurrogatePair(char highSurrogate, char lowSurrogate); // 0x10316E30
+ public static bool IsSurrogatePair(string s, int index); // 0x10316E70
+ public override int GetHashCode(); // 0x10019D00
+ public static double GetNumericValue(char c); // 0x10316190
+ public static double GetNumericValue(string s, int index); // 0x10316060
+ public static UnicodeCategory GetUnicodeCategory(char c); // 0x10316300
+ public static UnicodeCategory GetUnicodeCategory(string s, int index); // 0x10316240
+ public static bool IsControl(char c); // 0x10316360
+ public static bool IsControl(string s, int index); // 0x103163C0
+ public static bool IsDigit(char c); // 0x10316480
+ public static bool IsDigit(string s, int index); // 0x103164E0
+ public static bool IsHighSurrogate(char c); // 0x10316630
+ public static bool IsHighSurrogate(string s, int index); // 0x103165A0
+ public static bool IsLetter(char c); // 0x10316860
+ public static bool IsLetter(string s, int index); // 0x103167A0
+ public static bool IsLetterOrDigit(char c); // 0x10316730
+ public static bool IsLetterOrDigit(string s, int index); // 0x10316660
+ public static bool IsLower(char c); // 0x10316A40
+ public static bool IsLower(string s, int index); // 0x10316980
+ public static bool IsLowSurrogate(char c); // 0x103168C0
+ public static bool IsLowSurrogate(string s, int index); // 0x103168F0
+ public static bool IsNumber(char c); // 0x10316AA0
+ public static bool IsNumber(string s, int index); // 0x10316B00
+ public static bool IsPunctuation(char c); // 0x10316CA0
+ public static bool IsPunctuation(string s, int index); // 0x10316BD0
+ public static bool IsSeparator(char c); // 0x10316D00
+ public static bool IsSeparator(string s, int index); // 0x10316D60
+ public static bool IsSurrogate(char c); // 0x10317000
+ public static bool IsSurrogate(string s, int index); // 0x10316F40
+ public static bool IsSymbol(char c); // 0x10317130
+ public static bool IsSymbol(string s, int index); // 0x10317060
+ public static bool IsUpper(char c); // 0x10317250
+ public static bool IsUpper(string s, int index); // 0x10317190
+ public static bool IsWhiteSpace(char c); // 0x103172B0
+ public static bool IsWhiteSpace(string s, int index); // 0x10317340
+ private static void CheckParameter(string s, int index); // 0x10315A40
+ public static bool TryParse(string s, out char result); // 0x10317C40
+ public static char Parse(string s); // 0x10317440
+ public static char ToLower(char c); // 0x103178B0
+ public static char ToLowerInvariant(char c); // 0x10317680
+ public static char ToLower(char c, CultureInfo culture); // 0x10317730
+ public static char ToUpper(char c); // 0x10317BB0
+ public static char ToUpperInvariant(char c); // 0x10317980
+ public static char ToUpper(char c, CultureInfo culture); // 0x10317A30
+ public override string ToString(); // 0x100204E0
+ public static string ToString(char c); // 0x10317960
+ public string ToString(IFormatProvider provider); // 0x100204E0
+ public TypeCode GetTypeCode(); // 0x10020080
+}
+
+// Namespace: System
+[Serializable]
+public sealed class String : IConvertible, IComparable, IEnumerable, ICloneable, IComparable`1, IEquatable`1, IEnumerable`1 // TypeDefIndex: 27
+{
+ // Fields
+ [NonSerialized] private int length; // 0x08
+ [NonSerialized] private char start_char; // 0x0C
+ public static readonly string Empty; // 0x00
+ private static readonly char[] WhiteChars; // 0x04
+
+ // Properties
+ public char Chars { get; } // 0x10153D10
+ public int Length { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(void * value); // 0x10153C90
+ public void .ctor(void * value, int startIndex, int length); // 0x10153CD0
+ public void .ctor(void * value); // 0x10153C90
+ public void .ctor(void * value, int startIndex, int length); // 0x10153CD0
+ public void .ctor(void * value, int startIndex, int length, Encoding enc); // 0x10153CF0
+ public void .ctor(char[] value, int startIndex, int length); // 0x10153CD0
+ public void .ctor(char[] value); // 0x10153C90
+ public void .ctor(char c, int count); // 0x10153CB0
+ private static void .cctor(); // 0x10153C30
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x10152B40
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x10152B90
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x10152BE0
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x10152C30
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x10152CA0
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x10152D10
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x10152D60
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x10152DB0
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x10152E00
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x10152E50
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x10152EA0
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x10152EF0
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x10152F80
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x10152FD0
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x10153020
+ private IEnumerator`1 System.Collections.Generic.IEnumerable.GetEnumerator(); // 0x10152AA0
+ private IEnumerator System.Collections.IEnumerable.GetEnumerator(); // 0x10152AF0
+ public static bool Equals(string a, string b); // 0x1014D090
+ public override bool Equals(object obj); // 0x1014D020
+ public bool Equals(string value); // 0x1014CF70
+ public object Clone(); // 0x100F7810
+ public TypeCode GetTypeCode(); // 0x1014DD10
+ public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count); // 0x1014BF20
+ public char[] ToCharArray(); // 0x101531A0
+ public char[] ToCharArray(int startIndex, int length); // 0x10153070
+ public string[] Split(char[] separator); // 0x10151D60
+ public string[] Split(char[] separator, int count); // 0x101521A0
+ public string[] Split(char[] separator, int count, StringSplitOptions options); // 0x101522F0
+ public string[] Split(string[] separator, int count, StringSplitOptions options); // 0x10151DD0
+ public string[] Split(char[] separator, StringSplitOptions options); // 0x101522D0
+ public string[] Split(string[] separator, StringSplitOptions options); // 0x101522B0
+ public string Substring(int startIndex); // 0x10152A20
+ public string Substring(int startIndex, int length); // 0x10152930
+ internal string SubstringUnchecked(int startIndex, int length); // 0x10152880
+ public string Trim(); // 0x10153B50
+ public string Trim(char[] trimChars); // 0x101539B0
+ public string TrimStart(char[] trimChars); // 0x10153900
+ public string TrimEnd(char[] trimChars); // 0x10153850
+ private int FindNotWhiteSpace(int pos, int target, int change); // 0x1014D1D0
+ private int FindNotInTable(int pos, int target, int change, char[] table); // 0x1014D150
+ public static int Compare(string strA, string strB); // 0x1014AF40
+ public static int Compare(string strA, string strB, bool ignoreCase); // 0x1014A6B0
+ public static int Compare(string strA, string strB, bool ignoreCase, CultureInfo culture); // 0x1014A4B0
+ public static int Compare(string strA, int indexA, string strB, int indexB, int length); // 0x1014A420
+ public static int Compare(string strA, int indexA, string strB, int indexB, int length, bool ignoreCase); // 0x1014A620
+ public static int Compare(string strA, int indexA, string strB, int indexB, int length, bool ignoreCase, CultureInfo culture); // 0x1014A750
+ public static int Compare(string strA, string strB, StringComparison comparisonType); // 0x1014ACE0
+ public static int Compare(string strA, int indexA, string strB, int indexB, int length, StringComparison comparisonType); // 0x1014A930
+ public static bool Equals(string a, string b, StringComparison comparisonType); // 0x1014CF10
+ public bool Equals(string value, StringComparison comparisonType); // 0x1014CFC0
+ public static int Compare(string strA, string strB, CultureInfo culture, CompareOptions options); // 0x1014A890
+ public static int Compare(string strA, int indexA, string strB, int indexB, int length, CultureInfo culture, CompareOptions options); // 0x1014A550
+ public int CompareTo(object value); // 0x1014A310
+ public int CompareTo(string strB); // 0x1014A3C0
+ public static int CompareOrdinal(string strA, string strB); // 0x1014A2B0
+ public static int CompareOrdinal(string strA, int indexA, string strB, int indexB, int length); // 0x1014A1F0
+ internal static int CompareOrdinalCaseInsensitive(string strA, int indexA, string strB, int indexB, int length); // 0x1014A040
+ internal static int CompareOrdinalUnchecked(string strA, int indexA, int lenA, string strB, int indexB, int lenB); // 0x1014A100
+ internal static int CompareOrdinalCaseInsensitiveUnchecked(string strA, int indexA, int lenA, string strB, int indexB, int lenB); // 0x10149EE0
+ public bool EndsWith(string value); // 0x1014CB80
+ public bool EndsWith(string value, bool ignoreCase, CultureInfo culture); // 0x1014CAB0
+ public int IndexOfAny(char[] anyOf); // 0x1014DF10
+ public int IndexOfAny(char[] anyOf, int startIndex); // 0x1014DF90
+ public int IndexOfAny(char[] anyOf, int startIndex, int count); // 0x1014DE30
+ private int IndexOfAnyUnchecked(char[] anyOf, int startIndex, int count); // 0x1014DD20
+ public int IndexOf(string value, StringComparison comparisonType); // 0x1014E870
+ public int IndexOf(string value, int startIndex, StringComparison comparisonType); // 0x1014EDD0
+ public int IndexOf(string value, int startIndex, int count, StringComparison comparisonType); // 0x1014E890
+ internal int IndexOfOrdinal(string value, int startIndex, int count, CompareOptions options); // 0x1014E370
+ internal int IndexOfOrdinalUnchecked(string value, int startIndex, int count); // 0x1014E220
+ internal int IndexOfOrdinalIgnoreCaseUnchecked(string value, int startIndex, int count); // 0x1014E030
+ public int LastIndexOf(string value, StringComparison comparisonType); // 0x10150440
+ public int LastIndexOf(string value, int startIndex, StringComparison comparisonType); // 0x101506C0
+ public int LastIndexOf(string value, int startIndex, int count, StringComparison comparisonType); // 0x101506E0
+ internal int LastIndexOfOrdinal(string value, int startIndex, int count, CompareOptions options); // 0x1014FE10
+ internal int LastIndexOfOrdinalUnchecked(string value, int startIndex, int count); // 0x1014FCC0
+ internal int LastIndexOfOrdinalIgnoreCaseUnchecked(string value, int startIndex, int count); // 0x1014FAD0
+ public int IndexOf(char value); // 0x1014EAB0
+ public int IndexOf(char value, int startIndex); // 0x1014EBD0
+ public int IndexOf(char value, int startIndex, int count); // 0x1014E640
+ internal int IndexOfUnchecked(char value, int startIndex, int count); // 0x1014E550
+ internal int IndexOfOrdinalIgnoreCase(char value, int startIndex, int count); // 0x1014E160
+ public int IndexOf(string value); // 0x1014EAE0
+ public int IndexOf(string value, int startIndex); // 0x1014E720
+ public int IndexOf(string value, int startIndex, int count); // 0x1014EC80
+ public int LastIndexOfAny(char[] anyOf); // 0x1014FA60
+ public int LastIndexOfAny(char[] anyOf, int startIndex); // 0x1014F9A0
+ public int LastIndexOfAny(char[] anyOf, int startIndex, int count); // 0x1014F890
+ private int LastIndexOfAnyUnchecked(char[] anyOf, int startIndex, int count); // 0x1014F7E0
+ public int LastIndexOf(char value); // 0x101503E0
+ public int LastIndexOf(char value, int startIndex); // 0x10150510
+ public int LastIndexOf(char value, int startIndex, int count); // 0x101505D0
+ internal int LastIndexOfUnchecked(char value, int startIndex, int count); // 0x10150110
+ internal int LastIndexOfOrdinalIgnoreCase(char value, int startIndex, int count); // 0x1014FC00
+ public int LastIndexOf(string value); // 0x101503A0
+ public int LastIndexOf(string value, int startIndex); // 0x10150410
+ public int LastIndexOf(string value, int startIndex, int count); // 0x10150210
+ public bool Contains(string value); // 0x1014BF00
+ public static bool IsNullOrEmpty(string value); // 0x1014F320
+ public string Normalize(); // 0x10150900
+ public string Normalize(NormalizationForm normalizationForm); // 0x10150950
+ public bool IsNormalized(); // 0x1014F2D0
+ public bool IsNormalized(NormalizationForm normalizationForm); // 0x1014F1C0
+ public string Remove(int startIndex); // 0x101514A0
+ public string PadLeft(int totalWidth); // 0x10150A60
+ public string PadLeft(int totalWidth, char paddingChar); // 0x10150B80
+ public string PadRight(int totalWidth); // 0x10150DC0
+ public string PadRight(int totalWidth, char paddingChar); // 0x10150CA0
+ public bool StartsWith(string value); // 0x101524F0
+ public bool StartsWith(string value, StringComparison comparisonType); // 0x101525C0
+ public bool EndsWith(string value, StringComparison comparisonType); // 0x1014CC50
+ public bool StartsWith(string value, bool ignoreCase, CultureInfo culture); // 0x10152450
+ public string Replace(char oldChar, char newChar); // 0x10151B40
+ public string Replace(string oldValue, string newValue); // 0x10151C80
+ private string ReplaceUnchecked(string oldValue, string newValue); // 0x10151730
+ private string ReplaceFallback(string oldValue, string newValue, int testedCount); // 0x10151620
+ public string Remove(int startIndex, int count); // 0x10151370
+ public string ToLower(); // 0x10153390
+ public string ToLower(CultureInfo culture); // 0x101533F0
+ public string ToLowerInvariant(); // 0x101532A0
+ public string ToUpper(); // 0x10153750
+ public string ToUpper(CultureInfo culture); // 0x10153690
+ public string ToUpperInvariant(); // 0x101535A0
+ public override string ToString(); // 0x100F7810
+ public string ToString(IFormatProvider provider); // 0x100F7810
+ public static string Format(string format, object arg0); // 0x1014D7F0
+ public static string Format(string format, object arg0, object arg1); // 0x1014D910
+ public static string Format(string format, object arg0, object arg1, object arg2); // 0x1014DA10
+ public static string Format(string format, object[] args); // 0x1014D8B0
+ public static string Format(IFormatProvider provider, string format, object[] args); // 0x1014D780
+ internal static StringBuilder FormatHelper(StringBuilder result, IFormatProvider provider, string format, object[] args); // 0x1014D300
+ public static string Copy(string str); // 0x1014C0C0
+ public static string Concat(object arg0); // 0x1014BB90
+ public static string Concat(object arg0, object arg1); // 0x1014B1E0
+ public static string Concat(object arg0, object arg1, object arg2); // 0x1014B850
+ public static string Concat(object arg0, object arg1, object arg2, object arg3); // 0x1014B980
+ public static string Concat(string str0, string str1); // 0x1014B400
+ public static string Concat(string str0, string str1, string str2); // 0x1014BC00
+ public static string Concat(string str0, string str1, string str2, string str3); // 0x1014B510
+ public static string Concat(object[] args); // 0x1014B280
+ public static string Concat(string[] values); // 0x1014B120
+ private static string ConcatInternal(string[] values, int length); // 0x1014AFD0
+ public string Insert(int startIndex, string value); // 0x1014EE00
+ public static string Intern(string str); // 0x1014EF70
+ public static string IsInterned(string str); // 0x1014F140
+ public static string Join(string separator, string[] value); // 0x1014F5B0
+ public static string Join(string separator, string[] value, int startIndex, int count); // 0x1014F670
+ private static string JoinUnchecked(string separator, string[] value, int startIndex, int count); // 0x1014F340
+ public CharEnumerator GetEnumerator(); // 0x1014DC60
+ private static void ParseFormatSpecifier(string str, int ptr, out int n, out int width, out bool left_align, out string format); // 0x10150FA0
+ private static int ParseDecimal(string str, int ptr); // 0x10150EE0
+ internal void InternalSetChar(int idx, char val); // 0x1014F020
+ internal void InternalSetLength(int newLength); // 0x1014F090
+ public override int GetHashCode(); // 0x1014DCB0
+ internal int GetCaseInsensitiveHashCode(); // 0x1014DB60
+ private string CreateString(void * value); // 0x1014C810
+ private string CreateString(void * value, int startIndex, int length); // 0x1014C660
+ private string CreateString(void * value, int startIndex, int length, Encoding enc); // 0x1014C280
+ private string CreateString(void * value); // 0x1014C1A0
+ private string CreateString(void * value, int startIndex, int length); // 0x1014C990
+ private string CreateString(char[] val, int startIndex, int length); // 0x1014C680
+ private string CreateString(char[] val); // 0x1014C8A0
+ private string CreateString(char c, int count); // 0x1014C570
+ internal static void memset(void * dest, int val, int len); // 0x101540B0
+ private static void memcpy4(void * dest, void * src, int size); // 0x10153E90
+ private static void memcpy2(void * dest, void * src, int size); // 0x10153E10
+ private static void memcpy1(void * dest, void * src, int size); // 0x10153D70
+ internal static void memcpy(void * dest, void * src, int size); // 0x10153F20
+ internal static void CharCopy(void * dest, void * src, int count); // 0x10149DA0
+ internal static void CharCopyReverse(void * dest, void * src, int count); // 0x10149CE0
+ internal static void CharCopy(string target, int targetIndex, string source, int sourceIndex, int count); // 0x10149E60
+ internal static void CharCopy(string target, int targetIndex, char[] source, int sourceIndex, int count); // 0x10149D10
+ internal static void CharCopyReverse(string target, int targetIndex, string source, int sourceIndex, int count); // 0x10149C50
+ private string[] InternalSplit(char[] separator, int count, int options); // 0x1014F120
+ internal static string InternalAllocateStr(int length); // 0x1014EFF0
+ private static string InternalIntern(string str); // 0x1014F000
+ private static string InternalIsInterned(string str); // 0x1014F010
+ public static bool op_Equality(string a, string b); // 0x10154170
+ public static bool op_Inequality(string a, string b); // 0x101541C0
+}
+
+// Namespace: System
+public interface ICloneable // TypeDefIndex: 28
+{
+ // Methods
+ object Clone();
+}
+
+// Namespace: System.Collections.Generic
+public interface IEnumerable`1 : IEnumerable // TypeDefIndex: 29
+{
+ // Methods
+ IEnumerator`1 GetEnumerator();
+}
+
+// Namespace: System
+[Serializable]
+public struct Single : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 30
+{
+ // Fields
+ public const float Epsilon = 1E-45; // 0x00
+ public const float MaxValue = 3.4028235E+38; // 0x00
+ public const float MinValue = -3.4028235E+38; // 0x00
+ public const float NaN = NaN; // 0x00
+ public const float PositiveInfinity = ∞; // 0x00
+ public const float NegativeInfinity = -∞; // 0x00
+ private const double MaxValueEpsilon = 3.6147112457961776E+29; // 0x00
+ internal float m_value; // 0x08
+
+ // Methods
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x100082F0
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x10008360
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x100083D0
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x10008440
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x100084C0
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x10008540
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x100085B0
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x10008620
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x10008690
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x10008700
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x10008770
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x100087E0
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x10008890
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x10008900
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x10008970
+ public int CompareTo(object value); // 0x10008090
+ public override bool Equals(object obj); // 0x10008220
+ public int CompareTo(float value); // 0x100080A0
+ public bool Equals(float obj); // 0x100081D0
+ public override int GetHashCode(); // 0x100082C0
+ public static bool IsInfinity(float f); // 0x10149680
+ public static bool IsNaN(float f); // 0x101496B0
+ public static bool IsNegativeInfinity(float f); // 0x101496D0
+ public static bool IsPositiveInfinity(float f); // 0x10149710
+ public static float Parse(string s); // 0x10149750
+ public static float Parse(string s, IFormatProvider provider); // 0x101498B0
+ public static float Parse(string s, NumberStyles style); // 0x10149960
+ public static float Parse(string s, NumberStyles style, IFormatProvider provider); // 0x10149800
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out float result); // 0x10149AF0
+ public static bool TryParse(string s, out float result); // 0x10149B80
+ public override string ToString(); // 0x10008AC0
+ public string ToString(IFormatProvider provider); // 0x10008B30
+ public string ToString(string format); // 0x10008A50
+ public string ToString(string format, IFormatProvider provider); // 0x100089E0
+ public TypeCode GetTypeCode(); // 0x100082E0
+}
+
+// Namespace: System
+[Serializable]
+public struct Double : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 31
+{
+ // Fields
+ public const double Epsilon = 5E-324; // 0x00
+ public const double MaxValue = 1.7976931348623157E+308; // 0x00
+ public const double MinValue = -1.7976931348623157E+308; // 0x00
+ public const double NaN = NaN; // 0x00
+ public const double NegativeInfinity = -∞; // 0x00
+ public const double PositiveInfinity = ∞; // 0x00
+ private const int State_AllowSign = 1; // 0x00
+ private const int State_Digits = 2; // 0x00
+ private const int State_Decimal = 3; // 0x00
+ private const int State_ExponentSign = 4; // 0x00
+ private const int State_Exponent = 5; // 0x00
+ private const int State_ConsumeWhiteSpace = 6; // 0x00
+ private const int State_Exit = 7; // 0x00
+ internal double m_value; // 0x08
+
+ // Methods
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x1000A170
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x10009D30
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x10009DA0
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x10009E10
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x10009E30
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x10009E50
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x10009ED0
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x10009F40
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x10009FB0
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x1000A020
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x1000A090
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x1000A100
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x1000A220
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x1000A290
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x1000A300
+ public int CompareTo(object value); // 0x10009AC0
+ public override bool Equals(object obj); // 0x10009C60
+ public int CompareTo(double value); // 0x10009AD0
+ public bool Equals(double obj); // 0x10009C10
+ public override int GetHashCode(); // 0x10009D00
+ public static bool IsInfinity(double d); // 0x101BDDA0
+ public static bool IsNaN(double d); // 0x101BDDD0
+ public static bool IsNegativeInfinity(double d); // 0x101BDDF0
+ public static bool IsPositiveInfinity(double d); // 0x101BDE30
+ public static double Parse(string s); // 0x101BDEB0
+ public static double Parse(string s, IFormatProvider provider); // 0x101BDE90
+ public static double Parse(string s, NumberStyles style); // 0x101BEB40
+ public static double Parse(string s, NumberStyles style, IFormatProvider provider); // 0x101BEAD0
+ internal static bool Parse(string s, NumberStyles style, IFormatProvider provider, bool tryParse, out double result, out Exception exc); // 0x101BDED0
+ private static bool TryParseStringConstant(string format, string s, int start, int end); // 0x101BECE0
+ private static bool ParseImpl(void * byte_ptr, out double value); // 0x101BDE70
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out double result); // 0x101BED60
+ public static bool TryParse(string s, out double result); // 0x101BEDB0
+ public override string ToString(); // 0x1000A4D0
+ public string ToString(IFormatProvider provider); // 0x1000A3E0
+ public string ToString(string format); // 0x1000A370
+ public string ToString(string format, IFormatProvider provider); // 0x1000A450
+ public TypeCode GetTypeCode(); // 0x10009D20
+}
+
+// Namespace: System
+[Serializable]
+public struct Decimal : IFormattable, IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 32
+{
+ // Fields
+ public static readonly Decimal MinValue; // 0x00
+ public static readonly Decimal MaxValue; // 0x10
+ public static readonly Decimal MinusOne; // 0x20
+ public static readonly Decimal One; // 0x30
+ public static readonly Decimal Zero; // 0x40
+ private const int DECIMAL_DIVIDE_BY_ZERO = 5; // 0x00
+ private const uint MAX_SCALE = 28; // 0x00
+ private const int iMAX_SCALE = 28; // 0x00
+ private const uint SIGN_FLAG = 2147483648; // 0x00
+ private const uint SCALE_MASK = 16711680; // 0x00
+ private const int SCALE_SHIFT = 16; // 0x00
+ private const uint RESERVED_SS32_BITS = 2130771967; // 0x00
+ private static readonly Decimal MaxValueDiv10; // 0x50
+ private uint flags; // 0x08
+ private uint hi; // 0x0C
+ private uint lo; // 0x10
+ private uint mid; // 0x14
+
+ // Methods
+ public void .ctor(int lo, int mid, int hi, bool isNegative, byte scale); // 0x1001EDE0
+ public void .ctor(int value); // 0x1001ED80
+ public void .ctor(uint value); // 0x1001EE70
+ public void .ctor(long value); // 0x1001EE20
+ public void .ctor(ulong value); // 0x1001EEB0
+ public void .ctor(float value); // 0x1001EDF0
+ public void .ctor(double value); // 0x1001EDB0
+ public void .ctor(int[] bits); // 0x1001EEA0
+ private static void .cctor(); // 0x102EF620
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x1001EAD0
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x1001E710
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x1001E780
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x1001E7F0
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x1001E810
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x1001DA80
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x1001E830
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x1001E8A0
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x1001E910
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x1001E980
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x1001E9F0
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x1001EA60
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x1001EB80
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x1001EBF0
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x1001EC60
+ public static Decimal FromOACurrency(long cy); // 0x102ECEE0
+ public static int[] GetBits(Decimal d); // 0x102ECFB0
+ public static Decimal Negate(Decimal d); // 0x102ED130
+ public static Decimal Add(Decimal d1, Decimal d2); // 0x102ECAF0
+ public static Decimal Subtract(Decimal d1, Decimal d2); // 0x102EE0A0
+ public override int GetHashCode(); // 0x1001E6B0
+ private static ulong u64(Decimal value); // 0x102F1950
+ private static long s64(Decimal value); // 0x102F0FA0
+ public static bool Equals(Decimal d1, Decimal d2); // 0x102ECD20
+ public override bool Equals(object value); // 0x1001E570
+ private bool IsZero(); // 0x1001E6F0
+ private bool IsNegative(); // 0x1001E6E0
+ public static Decimal Floor(Decimal d); // 0x102ECE80
+ public static Decimal Truncate(Decimal d); // 0x102EF4B0
+ public static Decimal Round(Decimal d, int decimals); // 0x102EDAA0
+ public static Decimal Round(Decimal d, int decimals, MidpointRounding mode); // 0x102EDB40
+ public static Decimal Round(Decimal d); // 0x102EDB10
+ public static Decimal Round(Decimal d, MidpointRounding mode); // 0x102EDA70
+ public static Decimal Multiply(Decimal d1, Decimal d2); // 0x102ED060
+ public static Decimal Divide(Decimal d1, Decimal d2); // 0x102ECC10
+ public static Decimal Remainder(Decimal d1, Decimal d2); // 0x102ED790
+ public static int Compare(Decimal d1, Decimal d2); // 0x102ECBC0
+ public int CompareTo(object value); // 0x1001E480
+ public int CompareTo(Decimal value); // 0x1001E3C0
+ public bool Equals(Decimal value); // 0x1001E630
+ public static Decimal Ceiling(Decimal d); // 0x102ECB90
+ public static Decimal Parse(string s); // 0x102ED310
+ public static Decimal Parse(string s, NumberStyles style); // 0x102ED230
+ public static Decimal Parse(string s, IFormatProvider provider); // 0x102ED2A0
+ private static void ThrowAtPos(int pos); // 0x102EE230
+ private static void ThrowInvalidExp(); // 0x102EE2D0
+ private static string stripStyles(string s, NumberStyles style, NumberFormatInfo nfi, out int decPos, out bool isNegative, out bool expFlag, out int exp, bool throwex); // 0x102F1060
+ public static Decimal Parse(string s, NumberStyles style, IFormatProvider provider); // 0x102ED150
+ public static bool TryParse(string s, out Decimal result); // 0x102EF510
+ public static bool TryParse(string s, NumberStyles style, IFormatProvider provider, out Decimal result); // 0x102EF590
+ private static bool PerformParse(string s, NumberStyles style, IFormatProvider provider, out Decimal res, bool throwex); // 0x102ED380
+ public TypeCode GetTypeCode(); // 0x1001E6D0
+ public static byte ToByte(Decimal value); // 0x102EE330
+ public static double ToDouble(Decimal d); // 0x102EE510
+ public static short ToInt16(Decimal value); // 0x102EE570
+ public static int ToInt32(Decimal d); // 0x102EE750
+ public static long ToInt64(Decimal d); // 0x102EE930
+ public static long ToOACurrency(Decimal value); // 0x102EEAE0
+ public static sbyte ToSByte(Decimal value); // 0x102EEBC0
+ public static float ToSingle(Decimal d); // 0x102EEDA0
+ public static ushort ToUInt16(Decimal value); // 0x102EEEF0
+ public static uint ToUInt32(Decimal d); // 0x102EF0D0
+ public static ulong ToUInt64(Decimal d); // 0x102EF2D0
+ public string ToString(string format, IFormatProvider provider); // 0x1001ED30
+ public override string ToString(); // 0x1001ED40
+ public string ToString(string format); // 0x1001ECD0
+ public string ToString(IFormatProvider provider); // 0x1001ECF0
+ private static int decimal2UInt64(Decimal val, out ulong result); // 0x102EFD30
+ private static int decimal2Int64(Decimal val, out long result); // 0x102EFD10
+ private static int decimalIncr(Decimal d1, Decimal d2); // 0x102EFDF0
+ internal static int decimal2string(Decimal val, int digits, int decimals, char[] bufDigits, int bufSize, out int decPos, out int sign); // 0x102EFD60
+ internal static int string2decimal(out Decimal val, string sDigits, uint decPos, int sign); // 0x102F1040
+ internal static int decimalSetExponent(Decimal val, int exp); // 0x102EFE50
+ private static double decimal2double(Decimal val); // 0x102EFD50
+ private static void decimalFloorAndTrunc(Decimal val, int floorFlag); // 0x102EFDD0
+ private static int decimalMult(Decimal pd1, Decimal pd2); // 0x102EFE30
+ private static int decimalDiv(out Decimal pc, Decimal pa, Decimal pb); // 0x102EFDB0
+ private static int decimalIntDiv(out Decimal pc, Decimal pa, Decimal pb); // 0x102EFE10
+ private static int decimalCompare(Decimal d1, Decimal d2); // 0x102EFD90
+ public static Decimal op_Addition(Decimal d1, Decimal d2); // 0x102EFE70
+ public static Decimal op_Decrement(Decimal d); // 0x102EFEE0
+ public static Decimal op_Increment(Decimal d); // 0x102F0A00
+ public static Decimal op_Subtraction(Decimal d1, Decimal d2); // 0x102F0E00
+ public static Decimal op_UnaryNegation(Decimal d); // 0x102F0F40
+ public static Decimal op_UnaryPlus(Decimal d); // 0x1021D800
+ public static Decimal op_Multiply(Decimal d1, Decimal d2); // 0x102F0CD0
+ public static Decimal op_Division(Decimal d1, Decimal d2); // 0x102EFF70
+ public static Decimal op_Modulus(Decimal d1, Decimal d2); // 0x102F0C60
+ public static byte op_Explicit(Decimal value); // 0x102F0140
+ public static sbyte op_Explicit(Decimal value); // 0x102F02F0
+ public static char op_Explicit(Decimal value); // 0x102F04A0
+ public static short op_Explicit(Decimal value); // 0x102F05D0
+ public static ushort op_Explicit(Decimal value); // 0x102F0220
+ public static int op_Explicit(Decimal value); // 0x102F0650
+ public static uint op_Explicit(Decimal value); // 0x102F0550
+ public static long op_Explicit(Decimal value); // 0x102F0440
+ public static ulong op_Explicit(Decimal value); // 0x102F01C0
+ public static Decimal op_Implicit(byte value); // 0x102F0900
+ public static Decimal op_Implicit(sbyte value); // 0x102F08C0
+ public static Decimal op_Implicit(short value); // 0x102F0880
+ public static Decimal op_Implicit(ushort value); // 0x102F09A0
+ public static Decimal op_Implicit(char value); // 0x102F09A0
+ public static Decimal op_Implicit(int value); // 0x102F0930
+ public static Decimal op_Implicit(uint value); // 0x102F09D0
+ public static Decimal op_Implicit(long value); // 0x102F0830
+ public static Decimal op_Implicit(ulong value); // 0x102F0970
+ public static Decimal op_Explicit(float value); // 0x102F0410
+ public static Decimal op_Explicit(double value); // 0x102F0520
+ public static float op_Explicit(Decimal value); // 0x102F0370
+ public static double op_Explicit(Decimal value); // 0x102F02A0
+ public static bool op_Inequality(Decimal d1, Decimal d2); // 0x102F0A90
+ public static bool op_Equality(Decimal d1, Decimal d2); // 0x102F00D0
+ public static bool op_GreaterThan(Decimal d1, Decimal d2); // 0x102F0780
+ public static bool op_GreaterThanOrEqual(Decimal d1, Decimal d2); // 0x102F06D0
+ public static bool op_LessThan(Decimal d1, Decimal d2); // 0x102F0BB0
+ public static bool op_LessThanOrEqual(Decimal d1, Decimal d2); // 0x102F0B00
+}
+
+// Namespace: System
+[Serializable]
+public struct Boolean : IConvertible, IComparable, IComparable`1, IEquatable`1 // TypeDefIndex: 33
+{
+ // Fields
+ public static readonly string FalseString; // 0x00
+ public static readonly string TrueString; // 0x04
+ internal bool m_value; // 0x08
+
+ // Methods
+ private static void .cctor(); // 0x10314F70
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x1001F490
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x1001F130
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x1001F140
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x1001F1A0
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x1001F1C0
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x1001F1E0
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x1001F250
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x1001F2B0
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x1001F310
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x1001F370
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x1001F3D0
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x1001F430
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x1001F540
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x1001F5A0
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x1001F600
+ public int CompareTo(object obj); // 0x1001EFA0
+ public override bool Equals(object obj); // 0x1001F060
+ public int CompareTo(bool value); // 0x1001EF70
+ public bool Equals(bool obj); // 0x1001F0F0
+ public override int GetHashCode(); // 0x1001F110
+ public static bool Parse(string value); // 0x10314B20
+ public static bool TryParse(string value, out bool result); // 0x10314E00
+ public override string ToString(); // 0x1001F680
+ public TypeCode GetTypeCode(); // 0x1001F120
+ public string ToString(IFormatProvider provider); // 0x1001F660
+}
+
+// Namespace: System
+[Serializable]
+public struct IntPtr : ISerializable // TypeDefIndex: 34
+{
+ // Fields
+ private void * m_value; // 0x08
+ public static readonly IntPtr Zero; // 0x00
+
+ // Properties
+ public static int Size { get; } // 0x100FCEA0
+
+ // Methods
+ public void .ctor(int value); // 0x10005950
+ public void .ctor(long value); // 0x10005950
+ public void .ctor(void * value); // 0x10005950
+ private void .ctor(SerializationInfo info, StreamingContext context); // 0x10005960
+ private void System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo info, StreamingContext context); // 0x10005880
+ public override bool Equals(object obj); // 0x10005810
+ public override int GetHashCode(); // 0x10003A80
+ public int ToInt32(); // 0x10003A80
+ public long ToInt64(); // 0x10005900
+ public void * ToPointer(); // 0x10003A80
+ public override string ToString(); // 0x10005930
+ public string ToString(string format); // 0x10005910
+ public static bool op_Equality(IntPtr value1, IntPtr value2); // 0x100F8860
+ public static bool op_Inequality(IntPtr value1, IntPtr value2); // 0x100FCEC0
+ public static IntPtr op_Explicit(int value); // 0x100F7810
+ public static IntPtr op_Explicit(long value); // 0x100F7810
+ public static IntPtr op_Explicit(void * value); // 0x100F7810
+ public static int op_Explicit(IntPtr value); // 0x100F7810
+ public static long op_Explicit(IntPtr value); // 0x100FCEB0
+ public static void * op_Explicit(IntPtr value); // 0x100F7810
+}
+
+// Namespace: System.Runtime.Serialization
+public interface ISerializable // TypeDefIndex: 35
+{
+ // Methods
+ void GetObjectData(SerializationInfo info, StreamingContext context);
+}
+
+// Namespace: System
+[Serializable]
+public struct UIntPtr : ISerializable // TypeDefIndex: 36
+{
+ // Fields
+ public static readonly UIntPtr Zero; // 0x00
+ private void * _pointer; // 0x08
+
+ // Properties
+ public static int Size { get; } // 0x100FCEA0
+
+ // Methods
+ public void .ctor(ulong value); // 0x100307E0
+ public void .ctor(uint value); // 0x10005950
+ public void .ctor(void * value); // 0x10005950
+ private static void .cctor(); // 0x103499A0
+ private void System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo info, StreamingContext context); // 0x10030730
+ public override bool Equals(object obj); // 0x100306C0
+ public override int GetHashCode(); // 0x10003A80
+ public uint ToUInt32(); // 0x10003A80
+ public ulong ToUInt64(); // 0x100307D0
+ public void * ToPointer(); // 0x10003A80
+ public override string ToString(); // 0x100307B0
+ public static bool op_Equality(UIntPtr value1, UIntPtr value2); // 0x100F8860
+ public static bool op_Inequality(UIntPtr value1, UIntPtr value2); // 0x100FCEC0
+ public static ulong op_Explicit(UIntPtr value); // 0x1021FB60
+ public static uint op_Explicit(UIntPtr value); // 0x100F7810
+ public static UIntPtr op_Explicit(ulong value); // 0x10349A50
+ public static UIntPtr op_Explicit(void * value); // 0x100F7810
+ public static void * op_Explicit(UIntPtr value); // 0x100F7810
+ public static UIntPtr op_Explicit(uint value); // 0x100F7810
+}
+
+// Namespace: System
+[Serializable]
+public abstract class MulticastDelegate : Delegate // TypeDefIndex: 37
+{
+ // Fields
+ private MulticastDelegate prev; // 0x2C
+ private MulticastDelegate kpm_next; // 0x30
+
+ // Methods
+ protected void .ctor(object target, string method); // 0x101052B0
+ protected void .ctor(Type target, string method); // 0x10105280
+ public override void GetObjectData(SerializationInfo info, StreamingContext context); // 0x10104EE0
+ protected sealed override object DynamicInvokeImpl(object[] args); // 0x10104B70
+ public sealed override bool Equals(object obj); // 0x10104BA0
+ public sealed override int GetHashCode(); // 0x10104C40
+ public sealed override Delegate[] GetInvocationList(); // 0x10104C50
+ protected sealed override Delegate CombineImpl(Delegate follow); // 0x101048A0
+ private bool BaseEquals(MulticastDelegate value); // 0x10104890
+ private static MulticastDelegate KPM(MulticastDelegate needle, MulticastDelegate haystack, out MulticastDelegate tail); // 0x10104F00
+ protected sealed override Delegate RemoveImpl(Delegate value); // 0x10104FF0
+ public static bool op_Equality(MulticastDelegate d1, MulticastDelegate d2); // 0x101052E0
+ public static bool op_Inequality(MulticastDelegate d1, MulticastDelegate d2); // 0x10105310
+}
+
+// Namespace: System
+[Serializable]
+public abstract class Delegate : ICloneable, ISerializable // TypeDefIndex: 38
+{
+ // Fields
+ private IntPtr method_ptr; // 0x08
+ private IntPtr invoke_impl; // 0x0C
+ private object m_target; // 0x10
+ private IntPtr method; // 0x14
+ private IntPtr delegate_trampoline; // 0x18
+ private IntPtr method_code; // 0x1C
+ private MethodInfo method_info; // 0x20
+ private MethodInfo original_method_info; // 0x24
+ private DelegateData data; // 0x28
+
+ // Properties
+ public MethodInfo Method { get; } // 0x102F3B30
+ public object Target { get; } // 0x100BFC20
+
+ // Methods
+ protected void .ctor(object target, string method); // 0x102F3A10
+ protected void .ctor(Type target, string method); // 0x102F3950
+ internal static Delegate CreateDelegate_internal(Type type, object target, MethodInfo info, bool throwOnBindFailure); // 0x102F2460
+ internal void SetMulticastInvoke(); // 0x102F3940
+ private static bool arg_type_match(Type delArgType, Type argType); // 0x102F3AD0
+ private static bool return_type_match(Type delReturnType, Type returnType); // 0x102F3C10
+ public static Delegate CreateDelegate(Type type, object firstArgument, MethodInfo method, bool throwOnBindFailure); // 0x102F2720
+ public static Delegate CreateDelegate(Type type, object firstArgument, MethodInfo method); // 0x102F2FA0
+ public static Delegate CreateDelegate(Type type, MethodInfo method, bool throwOnBindFailure); // 0x102F2F80
+ public static Delegate CreateDelegate(Type type, MethodInfo method); // 0x102F2650
+ public static Delegate CreateDelegate(Type type, object target, string method); // 0x102F2670
+ private static MethodInfo GetCandidateMethod(Type type, Type target, string method, BindingFlags bflags, bool ignoreCase, bool throwOnBindFailure); // 0x102F3480
+ public static Delegate CreateDelegate(Type type, Type target, string method, bool ignoreCase, bool throwOnBindFailure); // 0x102F2520
+ public static Delegate CreateDelegate(Type type, Type target, string method); // 0x102F2700
+ public static Delegate CreateDelegate(Type type, Type target, string method, bool ignoreCase); // 0x102F2F60
+ public static Delegate CreateDelegate(Type type, object target, string method, bool ignoreCase, bool throwOnBindFailure); // 0x102F2480
+ public static Delegate CreateDelegate(Type type, object target, string method, bool ignoreCase); // 0x102F25B0
+ public object DynamicInvoke(object[] args); // 0x102F3380
+ protected virtual object DynamicInvokeImpl(object[] args); // 0x102F2FC0
+ public virtual object Clone(); // 0x10216010
+ public override bool Equals(object obj); // 0x102F33A0
+ public override int GetHashCode(); // 0x102F3770
+ protected virtual MethodInfo GetMethodImpl(); // 0x102F3850
+ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); // 0x102F3860
+ public virtual Delegate[] GetInvocationList(); // 0x102F37C0
+ public static Delegate Combine(Delegate a, Delegate b); // 0x102F22A0
+ public static Delegate Combine(Delegate[] delegates); // 0x102F2350
+ protected virtual Delegate CombineImpl(Delegate d); // 0x102F2220
+ public static Delegate Remove(Delegate source, Delegate value); // 0x102F3910
+ protected virtual Delegate RemoveImpl(Delegate d); // 0x102F38E0
+ public static Delegate RemoveAll(Delegate source, Delegate value); // 0x102F3880
+ public static bool op_Equality(Delegate d1, Delegate d2); // 0x102F3B90
+ public static bool op_Inequality(Delegate d1, Delegate d2); // 0x102F3BD0
+}
+
+// Namespace: System
+[Serializable]
+public abstract struct Enum : IFormattable, IConvertible, IComparable // TypeDefIndex: 39
+{
+ // Fields
+ private static char[] split_char; // 0x00
+
+ // Properties
+ private object Value { get; } // 0x101C27B0
+
+ // Methods
+ protected void .ctor(); // 0x100C5970
+ private static void .cctor(); // 0x101C2720
+ private bool System.IConvertible.ToBoolean(IFormatProvider provider); // 0x101C1960
+ private byte System.IConvertible.ToByte(IFormatProvider provider); // 0x101C19C0
+ private char System.IConvertible.ToChar(IFormatProvider provider); // 0x101C1A20
+ private DateTime System.IConvertible.ToDateTime(IFormatProvider provider); // 0x101C1A80
+ private Decimal System.IConvertible.ToDecimal(IFormatProvider provider); // 0x101C1AF0
+ private double System.IConvertible.ToDouble(IFormatProvider provider); // 0x101C1B60
+ private short System.IConvertible.ToInt16(IFormatProvider provider); // 0x101C1BC0
+ private int System.IConvertible.ToInt32(IFormatProvider provider); // 0x101C1C20
+ private long System.IConvertible.ToInt64(IFormatProvider provider); // 0x101C1C80
+ private sbyte System.IConvertible.ToSByte(IFormatProvider provider); // 0x101C1CE0
+ private float System.IConvertible.ToSingle(IFormatProvider provider); // 0x101C1D40
+ private object System.IConvertible.ToType(Type targetType, IFormatProvider provider); // 0x101C1DA0
+ private ushort System.IConvertible.ToUInt16(IFormatProvider provider); // 0x101C1F40
+ private uint System.IConvertible.ToUInt32(IFormatProvider provider); // 0x101C1FA0
+ private ulong System.IConvertible.ToUInt64(IFormatProvider provider); // 0x101C2000
+ public TypeCode GetTypeCode(); // 0x101C0B80
+ private object get_value(); // 0x101C27B0
+ public static Array GetValues(Type enumType); // 0x101C0E10
+ public static string[] GetNames(Type enumType); // 0x101C0A70
+ private static int FindPosition(object value, Array values); // 0x101BF210
+ public static string GetName(Type enumType, object value); // 0x101C0910
+ public static bool IsDefined(Type enumType, object value); // 0x101C0F10
+ private static Type get_underlying_type(Type enumType); // 0x101C27C0
+ public static Type GetUnderlyingType(Type enumType); // 0x101C0C10
+ public static object Parse(Type enumType, string value); // 0x101C1160
+ private static int FindName(Hashtable name_hash, string[] names, string name, bool ignoreCase); // 0x101BF080
+ private static ulong GetValue(object value, TypeCode typeCode); // 0x101C0CD0
+ public static object Parse(Type enumType, string value, bool ignoreCase); // 0x101C11C0
+ private int compare_value_to(object other); // 0x101C2790
+ public int CompareTo(object target); // 0x101BEFA0
+ public override string ToString(); // 0x101C24D0
+ public string ToString(IFormatProvider provider); // 0x101C2650
+ public string ToString(string format); // 0x101C25A0
+ public string ToString(string format, IFormatProvider provider); // 0x101C2420
+ public static object ToObject(Type enumType, byte value); // 0x101C2170
+ public static object ToObject(Type enumType, short value); // 0x101C2250
+ public static object ToObject(Type enumType, int value); // 0x101C21E0
+ public static object ToObject(Type enumType, long value); // 0x101C2060
+ public static object ToObject(Type enumType, object value); // 0x101C2150
+ public static object ToObject(Type enumType, sbyte value); // 0x101C20E0
+ public static object ToObject(Type enumType, ushort value); // 0x101C22C0
+ public static object ToObject(Type enumType, uint value); // 0x101C23B0
+ public static object ToObject(Type enumType, ulong value); // 0x101C2330
+ public override bool Equals(object obj); // 0x101BF070
+ private int get_hashcode(); // 0x101C0900
+ public override int GetHashCode(); // 0x101C0900
+ private static string FormatSpecifier_X(Type enumType, object value, bool upper); // 0x101C00D0
+ private static string FormatFlags(Type enumType, object value); // 0x101BF3E0
+ public static string Format(Type enumType, object value, string format); // 0x101C0350
+}
+
+// Namespace: System
+[Serializable]
+public abstract class Array : IEnumerable, ICloneable, ICollection, IList // TypeDefIndex: 40
+{
+ // Properties
+ private object System.Collections.IList.Item { get; set; } // 0x1030FDA0 0x1030FE90
+ private int System.Collections.ICollection.Count { get; } // 0x1030E370
+ public int Length { get; } // 0x1030E370
+ public long LongLength { get; } // 0x10310480
+ public int Rank { get; } // 0x1030DA60
+ public bool IsSynchronized { get; } // 0x100EFBF0
+ public object SyncRoot { get; } // 0x100F7810
+ public bool IsFixedSize { get; } // 0x100E5880
+ public bool IsReadOnly { get; } // 0x100EFBF0
+
+ // Methods
+ private void .ctor(); // 0x100BF000
+ private int System.Collections.IList.Add(object value); // 0x1030FA90
+ private void System.Collections.IList.Clear(); // 0x1030FAE0
+ private bool System.Collections.IList.Contains(object value); // 0x1030FB40
+ private int System.Collections.IList.IndexOf(object value); // 0x1030FBF0
+ private void System.Collections.IList.Insert(int index, object value); // 0x1030FCB0
+ private void System.Collections.IList.Remove(object value); // 0x1030FD50
+ private void System.Collections.IList.RemoveAt(int index); // 0x1030FD00
+ internal int InternalArray__ICollection_get_Count(); // 0x1030E370
+ internal bool InternalArray__ICollection_get_IsReadOnly(); // 0x100E5880
+ internal IEnumerator`1 InternalArray__IEnumerable_GetEnumerator();
+ internal void InternalArray__ICollection_Clear(); // 0x1030E320
+ internal void InternalArray__ICollection_Add(T item);
+ internal bool InternalArray__ICollection_Remove(T item);
+ internal bool InternalArray__ICollection_Contains(T item);
+ internal void InternalArray__ICollection_CopyTo(T[] array, int index);
+ internal void InternalArray__Insert(int index, T item);
+ internal void InternalArray__RemoveAt(int index); // 0x1030E3C0
+ internal int InternalArray__IndexOf(T item);
+ internal T InternalArray__get_Item(int index);
+ internal void InternalArray__set_Item(int index, T item);
+ internal void GetGenericValueImpl(int pos, out T value);
+ internal void SetGenericValueImpl(int pos, T value);
+ private int GetRank(); // 0x1030DA60
+ public int GetLength(int dimension); // 0x1030DA00
+ public long GetLongLength(int dimension); // 0x1030DA20
+ public int GetLowerBound(int dimension); // 0x1030DA40
+ public object GetValue(int[] indices); // 0x1030DCF0
+ public void SetValue(object value, int[] indices); // 0x1030ECA0
+ internal object GetValueImpl(int pos); // 0x1030DAA0
+ internal void SetValueImpl(object value, int pos); // 0x1030EB40
+ internal static bool FastCopy(Array source, int source_idx, Array dest, int dest_idx, int length); // 0x1030D840
+ internal static Array CreateInstanceImpl(Type elementType, int[] lengths, int[] bounds); // 0x1030CF70
+ public IEnumerator GetEnumerator(); // 0x1030D860
+ public int GetUpperBound(int dimension); // 0x1030DA70
+ public object GetValue(int index); // 0x1030DD80
+ public object GetValue(int index1, int index2); // 0x1030DAC0
+ public object GetValue(int index1, int index2, int index3); // 0x1030DE70
+ public object GetValue(long index); // 0x1030E040
+ public object GetValue(long index1, long index2); // 0x1030DF10
+ public object GetValue(long index1, long index2, long index3); // 0x1030DB50
+ public void SetValue(object value, long index); // 0x1030EB60
+ public void SetValue(object value, long index1, long index2); // 0x1030ECC0
+ public void SetValue(object value, long index1, long index2, long index3); // 0x1030EE40
+ public void SetValue(object value, int index); // 0x1030F070
+ public void SetValue(object value, int index1, int index2); // 0x1030EFE0
+ public void SetValue(object value, int index1, int index2, int index3); // 0x1030EC00
+ public static Array CreateInstance(Type elementType, int length); // 0x1030D090
+ public static Array CreateInstance(Type elementType, int length1, int length2); // 0x1030CF90
+ public static Array CreateInstance(Type elementType, int length1, int length2, int length3); // 0x1030D100
+ public static Array CreateInstance(Type elementType, int[] lengths); // 0x1030D1A0
+ public static Array CreateInstance(Type elementType, int[] lengths, int[] lowerBounds); // 0x1030D340
+ private static int[] GetIntArray(long[] values); // 0x1030D910
+ public static Array CreateInstance(Type elementType, long[] lengths); // 0x1030D010
+ public object GetValue(long[] indices); // 0x1030DD10
+ public void SetValue(object value, long[] indices); // 0x1030EDD0
+ public static int BinarySearch(Array array, object value); // 0x1030C0E0
+ public static int BinarySearch(Array array, object value, IComparer comparer); // 0x1030C210
+ public static int BinarySearch(Array array, int index, int length, object value); // 0x1030BEF0
+ public static int BinarySearch(Array array, int index, int length, object value, IComparer comparer); // 0x1030BCE0
+ private static int DoBinarySearch(Array array, int index, int length, object value, IComparer comparer); // 0x1030D6A0
+ public static void Clear(Array array, int index, int length); // 0x1030C370
+ private static void ClearInternal(Array a, int index, int count); // 0x1030C350
+ public object Clone(); // 0x1030C450
+ public static void Copy(Array sourceArray, Array destinationArray, int length); // 0x1030CED0
+ public static void Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length); // 0x1030C850
+ public static void Copy(Array sourceArray, long sourceIndex, Array destinationArray, long destinationIndex, long length); // 0x1030C690
+ public static void Copy(Array sourceArray, Array destinationArray, long length); // 0x1030CE30
+ public static int IndexOf(Array array, object value); // 0x1030E220
+ public static int IndexOf(Array array, object value, int startIndex); // 0x1030E2A0
+ public static int IndexOf(Array array, object value, int startIndex, int count); // 0x1030E0D0
+ public void Initialize(); // 0x100C5530
+ public static int LastIndexOf(Array array, object value); // 0x1030E410
+ public static int LastIndexOf(Array array, object value, int startIndex); // 0x1030E600
+ public static int LastIndexOf(Array array, object value, int startIndex, int count); // 0x1030E4A0
+ private static Swapper get_swapper(Array array); // 0x103104D0
+ private static Swapper get_swapper(T[] array);
+ public static void Reverse(Array array); // 0x1030EAC0
+ public static void Reverse(Array array, int index, int length); // 0x1030E780
+ public static void Sort(Array array); // 0x1030F950
+ public static void Sort(Array keys, Array items); // 0x1030F8D0
+ public static void Sort(Array array, IComparer comparer); // 0x1030F180
+ public static void Sort(Array array, int index, int length); // 0x1030F160
+ public static void Sort(Array keys, Array items, IComparer comparer); // 0x1030F9D0
+ public static void Sort(Array keys, Array items, int index, int length); // 0x1030FA50
+ public static void Sort(Array array, int index, int length, IComparer comparer); // 0x1030FA70
+ public static void Sort(Array keys, Array items, int index, int length, IComparer comparer); // 0x1030F200
+ private void int_swapper(int i, int j); // 0x103105C0
+ private void obj_swapper(int i, int j); // 0x103106A0
+ private void slow_swapper(int i, int j); // 0x10310910
+ private void double_swapper(int i, int j); // 0x103103E0
+ private static int new_gap(int gap); // 0x10310660
+ private static void combsort(double[] array, int start, int size, Swapper swap_items); // 0x103100B0
+ private static void combsort(int[] array, int start, int size, Swapper swap_items); // 0x10310200
+ private static void combsort(char[] array, int start, int size, Swapper swap_items); // 0x1030FF80
+ private static void qsort(Array keys, Array items, int low0, int high0, IComparer comparer); // 0x103107B0
+ private static void swap(Array keys, Array items, int i, int j); // 0x10310950
+ private static int compare(object value1, object value2, IComparer comparer); // 0x10310330
+ public static void Sort(T[] array);
+ public static void Sort(T[] keys, T[] items);
+ public static void Sort(T[] array, IComparer`1 comparer);
+ public static void Sort(T[] keys, T[] items, IComparer`1 comparer);
+ public static void Sort(T[] array, int index, int length);
+ public static void Sort(T[] keys, T[] items, int index, int length);
+ public static void Sort(T[] array, int index, int length, IComparer`1 comparer);
+ public static void Sort(T[] keys, T[] items, int index, int length, IComparer`1 comparer);
+ public static void Sort(T[] array, Comparison`1 comparison);
+ internal static void Sort(T[] array, int length, Comparison`1 comparison);
+ private static void qsort(T[] keys, T[] items, int low0, int high0, IComparer`1 comparer);
+ private static int compare(T value1, T value2, IComparer`1 comparer);
+ private static void qsort(T[] array, int low0, int high0, Comparison`1 comparison);
+ private static void swap(T[] keys, T[] items, int i, int j);
+ private static void swap(T[] array, int i, int j);
+ public void CopyTo(Array array, int index); // 0x1030C470
+ public void CopyTo(Array array, long index); // 0x1030C5F0
+ public static void Resize(T[] array, int newSize);
+ internal static void Resize(T[] array, int length, int newSize);
+ public static bool TrueForAll(T[] array, Predicate`1 match);
+ public static void ForEach(T[] array, Action`1 action);
+ public static T[] ConvertAll(T[] array, Converter`2 converter);
+ public static int FindLastIndex(T[] array, Predicate`1 match);
+ public static int FindLastIndex(T[] array, int startIndex, Predicate`1 match);
+ public static int FindLastIndex(T[] array, int startIndex, int count, Predicate`1 match);
+ public static int FindIndex(T[] array, Predicate`1 match);
+ public static int FindIndex(T[] array, int startIndex, Predicate`1 match);
+ public static int FindIndex(T[] array, int startIndex, int count, Predicate`1 match);
+ public static int BinarySearch(T[] array, T value);
+ public static int BinarySearch(T[] array, T value, IComparer`1 comparer);
+ public static int BinarySearch(T[] array, int index, int length, T value);
+ public static int BinarySearch(T[] array, int index, int length, T value, IComparer`1 comparer);
+ public static int IndexOf(T[] array, T value);
+ public static int IndexOf(T[] array, T value, int startIndex);
+ public static int IndexOf(T[] array, T value, int startIndex, int count);
+ public static int LastIndexOf(T[] array, T value);
+ public static int LastIndexOf(T[] array, T value, int startIndex);
+ public static int LastIndexOf(T[] array, T value, int startIndex, int count);
+ public static T[] FindAll(T[] array, Predicate`1 match);
+ public static bool Exists(T[] array, Predicate`1 match);
+ public static ReadOnlyCollection`1 AsReadOnly(T[] array);
+ public static T Find(T[] array, Predicate`1 match);
+ public static T FindLast(T[] array, Predicate`1 match);
+ public static void ConstrainedCopy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length); // 0x1030C460
+}
+
+// Namespace:
+internal struct InternalEnumerator`1 : IEnumerator, IDisposable, IEnumerator`1 // TypeDefIndex: 41
+{
+ // Fields
+ private const int NOT_STARTED = -2; // 0x00
+ private const int FINISHED = -1; // 0x00
+ private Array array; // 0x00
+ private int idx; // 0x00
+
+ // Properties
+ private object System.Collections.IEnumerator.Current { get; }
+ public T Current { get; }
+
+ // Methods
+ internal void .ctor(Array array);
+ private void System.Collections.IEnumerator.Reset();
+ public void Dispose();
+ public bool MoveNext();
+}
+
+// Namespace:
+internal class SimpleEnumerator : IEnumerator, ICloneable // TypeDefIndex: 42
+{
+ // Fields
+ private Array enumeratee; // 0x08
+ private int currentpos; // 0x0C
+ private int length; // 0x10
+
+ // Properties
+ public object Current { get; } // 0x1031AC40
+
+ // Methods
+ public void .ctor(Array arrayToEnumerate); // 0x1031AAA0
+ public bool MoveNext(); // 0x1031A990
+ public void Reset(); // 0x10113480
+ public object Clone(); // 0x10216010
+}
+
+// Namespace:
+private class ArrayReadOnlyList`1 : IEnumerable, IList`1, ICollection`1, IEnumerable`1 // TypeDefIndex: 43
+{
+ // Fields
+ private T[] array; // 0x00
+
+ // Properties
+ public T Item { get; set; }
+ public int Count { get; }
+ public bool IsReadOnly { get; }
+
+ // Methods
+ public void .ctor(T[] array);
+ private IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public void Add(T item);
+ public void Clear();
+ public bool Contains(T item);
+ public void CopyTo(T[] array, int index);
+ public IEnumerator`1 GetEnumerator();
+ public int IndexOf(T item);
+ public void Insert(int index, T item);
+ public bool Remove(T item);
+ public void RemoveAt(int index);
+ private static Exception ReadOnlyError();
+}
+
+// Namespace:
+private sealed class c__Iterator0 : IEnumerator, IDisposable, IEnumerator`1 // TypeDefIndex: 44
+{
+ // Fields
+ internal int __0; // 0x00
+ internal int $PC; // 0x00
+ internal T $current; // 0x00
+ internal ArrayReadOnlyList`1 <>f__this; // 0x00
+
+ // Properties
+ private T System.Collections.Generic.IEnumerator.Current { get; }
+ private object System.Collections.IEnumerator.Current { get; }
+
+ // Methods
+ public void .ctor();
+ public bool MoveNext();
+ public void Dispose();
+ public void Reset();
+}
+
+// Namespace:
+private delegate void Swapper(int i, int j); // TypeDefIndex: 45; 0x1031AD70
+
+// Namespace: System.Collections
+public interface ICollection : IEnumerable // TypeDefIndex: 46
+{
+ // Properties
+ int Count { get; }
+ bool IsSynchronized { get; }
+ object SyncRoot { get; }
+
+ // Methods
+ void CopyTo(Array array, int index);
+}
+
+// Namespace: System.Collections
+public interface IList : IEnumerable, ICollection // TypeDefIndex: 47
+{
+ // Properties
+ bool IsFixedSize { get; }
+ bool IsReadOnly { get; }
+ object Item { get; set; }
+
+ // Methods
+ int Add(object value);
+ void Clear();
+ bool Contains(object value);
+ int IndexOf(object value);
+ void Insert(int index, object value);
+ void Remove(object value);
+ void RemoveAt(int index);
+}
+
+// Namespace: System.Collections.Generic
+public interface IList`1 : IEnumerable, ICollection`1, IEnumerable`1 // TypeDefIndex: 48
+{
+ // Properties
+ T Item { get; set; }
+
+ // Methods
+ int IndexOf(T item);
+ void Insert(int index, T item);
+ void RemoveAt(int index);
+}
+
+// Namespace: System.Collections.Generic
+public interface ICollection`1 : IEnumerable, IEnumerable`1 // TypeDefIndex: 49
+{
+ // Properties
+ int Count { get; }
+ bool IsReadOnly { get; }
+
+ // Methods
+ void Add(T item);
+ void Clear();
+ bool Contains(T item);
+ void CopyTo(T[] array, int arrayIndex);
+ bool Remove(T item);
+}
+
+// Namespace: System
+[Serializable]
+public struct Void // TypeDefIndex: 50
+{
+}
+
+// Namespace: System
+[Serializable]
+public abstract class Type : MemberInfo, IReflect, _Type // TypeDefIndex: 51
+{
+ // Fields
+ internal const BindingFlags DefaultBindingFlags = 28; // 0x00
+ internal RuntimeTypeHandle _impl; // 0x08
+ public static readonly char Delimiter; // 0x00
+ public static readonly Type[] EmptyTypes; // 0x04
+ public static readonly MemberFilter FilterAttribute; // 0x08
+ public static readonly MemberFilter FilterName; // 0x0C
+ public static readonly MemberFilter FilterNameIgnoreCase; // 0x10
+ public static readonly object Missing; // 0x14
+
+ // Properties
+ public abstract Assembly Assembly { get; }
+ public abstract string AssemblyQualifiedName { get; }
+ public TypeAttributes Attributes { get; } // 0x10282700
+ public abstract Type BaseType { get; }
+ public override Type DeclaringType { get; } // 0x100C5600
+ public static Binder DefaultBinder { get; } // 0x10282720
+ public abstract string FullName { get; }
+ public abstract Guid GUID { get; }
+ public bool HasElementType { get; } // 0x10282880
+ public bool IsAbstract { get; } // 0x102828A0
+ public bool IsAnsiClass { get; } // 0x102828D0
+ public bool IsArray { get; } // 0x10282900
+ public bool IsAutoClass { get; } // 0x10282920
+ public bool IsAutoLayout { get; } // 0x10282950
+ public bool IsByRef { get; } // 0x10282980
+ public bool IsClass { get; } // 0x102829C0
+ public bool IsCOMObject { get; } // 0x102829A0
+ public bool IsContextful { get; } // 0x10282A10
+ public bool IsEnum { get; } // 0x10282A30
+ public bool IsExplicitLayout { get; } // 0x10282AA0
+ public bool IsImport { get; } // 0x10282AF0
+ public bool IsInterface { get; } // 0x10282B20
+ public bool IsLayoutSequential { get; } // 0x10282B50
+ public bool IsMarshalByRef { get; } // 0x10282B80
+ public bool IsNestedAssembly { get; } // 0x10282BA0
+ public bool IsNestedFamANDAssem { get; } // 0x10282BD0
+ public bool IsNestedFamily { get; } // 0x10282C30
+ public bool IsNestedFamORAssem { get; } // 0x10282C00
+ public bool IsNestedPrivate { get; } // 0x10282C60
+ public bool IsNestedPublic { get; } // 0x10282C90
+ public bool IsNotPublic { get; } // 0x10282CF0
+ public bool IsPointer { get; } // 0x10282D20
+ public bool IsPrimitive { get; } // 0x10282D40
+ public bool IsPublic { get; } // 0x10282D60
+ public bool IsSealed { get; } // 0x10282D90
+ public bool IsSerializable { get; } // 0x10282DC0
+ public bool IsSpecialName { get; } // 0x10282F70
+ public bool IsUnicodeClass { get; } // 0x10282FE0
+ public bool IsValueType { get; } // 0x10283130
+ public override MemberTypes MemberType { get; } // 0x102831C0
+ public abstract Module Module { get; }
+ public abstract string Namespace { get; }
+ public override Type ReflectedType { get; } // 0x100C5600
+ public virtual RuntimeTypeHandle TypeHandle { get; } // 0x100C5600
+ public ConstructorInfo TypeInitializer { get; } // 0x102832D0
+ public abstract Type UnderlyingSystemType { get; }
+ internal bool IsSystemType { get; } // 0x10282FA0
+ public virtual bool ContainsGenericParameters { get; } // 0x100EFBF0
+ public virtual bool IsGenericTypeDefinition { get; } // 0x10282AD0
+ public virtual bool IsGenericType { get; } // 0x10282AE0
+ public virtual bool IsGenericParameter { get; } // 0x100EFBF0
+ public bool IsNested { get; } // 0x10282CC0
+ public bool IsVisible { get; } // 0x10283150
+ public virtual int GenericParameterPosition { get; } // 0x10282820
+ public virtual GenericParameterAttributes GenericParameterAttributes { get; } // 0x102827B0
+ public virtual MethodBase DeclaringMethod { get; } // 0x100C5600
+ public virtual StructLayoutAttribute StructLayoutAttribute { get; } // 0x102831D0
+ internal bool IsUserType { get; } // 0x10283010
+
+ // Methods
+ protected void .ctor(); // 0x100C5970
+ private static void .cctor(); // 0x10282600
+ private void System.Runtime.InteropServices._Type.GetIDsOfNames(Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId); // 0x102824A0
+ private void System.Runtime.InteropServices._Type.GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo); // 0x10282540
+ private void System.Runtime.InteropServices._Type.GetTypeInfoCount(out uint pcTInfo); // 0x102824F0
+ private void System.Runtime.InteropServices._Type.Invoke(uint dispIdMember, Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr); // 0x10282590
+ private static bool FilterName_impl(MemberInfo m, object filterCriteria); // 0x1027F940
+ private static bool FilterNameIgnoreCase_impl(MemberInfo m, object filterCriteria); // 0x1027F7C0
+ private static bool FilterAttribute_impl(MemberInfo m, object filterCriteria); // 0x1027F520
+ public override bool Equals(object o); // 0x1027F440
+ public bool Equals(Type o); // 0x1027F4C0
+ internal bool EqualsInternal(Type type); // 0x1027F420
+ private static Type internal_from_handle(IntPtr handle); // 0x10283340
+ private static Type internal_from_name(string name, bool throwOnError, bool ignoreCase); // 0x10283350
+ public static Type GetType(string typeName); // 0x10281A60
+ public static Type GetType(string typeName, bool throwOnError); // 0x10281880
+ public static Type GetType(string typeName, bool throwOnError, bool ignoreCase); // 0x10281970
+ public static Type[] GetTypeArray(object[] args); // 0x102812F0
+ internal static TypeCode GetTypeCodeInternal(Type type); // 0x10281410
+ public static TypeCode GetTypeCode(Type type); // 0x10281420
+ public static Type GetTypeFromCLSID(Guid clsid); // 0x10281600
+ public static Type GetTypeFromCLSID(Guid clsid, bool throwOnError); // 0x10281560
+ public static Type GetTypeFromCLSID(Guid clsid, string server); // 0x10281510
+ public static Type GetTypeFromCLSID(Guid clsid, string server, bool throwOnError); // 0x102815B0
+ public static Type GetTypeFromHandle(RuntimeTypeHandle handle); // 0x10281650
+ public static Type GetTypeFromProgID(string progID); // 0x10281710
+ public static Type GetTypeFromProgID(string progID, bool throwOnError); // 0x102817B0
+ public static Type GetTypeFromProgID(string progID, string server); // 0x102816C0
+ public static Type GetTypeFromProgID(string progID, string server, bool throwOnError); // 0x10281760
+ public static RuntimeTypeHandle GetTypeHandle(object o); // 0x10281800
+ internal static bool type_is_subtype_of(Type a, Type b, bool check_interfaces); // 0x102833B0
+ internal static bool type_is_assignable_from(Type a, Type b); // 0x10283390
+ public Type GetType(); // 0x1015CD60
+ public virtual bool IsSubclassOf(Type c); // 0x10281DD0
+ public virtual Type[] FindInterfaces(TypeFilter filter, object filterCriteria); // 0x1027FA70
+ public Type GetInterface(string name); // 0x10280920
+ public abstract Type GetInterface(string name, bool ignoreCase);
+ internal static void GetInterfaceMapData(Type t, Type iface, out MethodInfo[] targets, out MethodInfo[] methods); // 0x10280770
+ public virtual InterfaceMapping GetInterfaceMap(Type interfaceType); // 0x10280790
+ public abstract Type[] GetInterfaces();
+ public virtual bool IsAssignableFrom(Type c); // 0x10281B80
+ public virtual bool IsInstanceOfType(object o); // 0x10281D30
+ public virtual int GetArrayRank(); // 0x10280260
+ public abstract Type GetElementType();
+ public EventInfo GetEvent(string name); // 0x102804E0
+ public abstract EventInfo GetEvent(string name, BindingFlags bindingAttr);
+ public virtual EventInfo[] GetEvents(); // 0x10280510
+ public abstract EventInfo[] GetEvents(BindingFlags bindingAttr);
+ public FieldInfo GetField(string name); // 0x10280580
+ public abstract FieldInfo GetField(string name, BindingFlags bindingAttr);
+ public FieldInfo[] GetFields(); // 0x102805B0
+ public abstract FieldInfo[] GetFields(BindingFlags bindingAttr);
+ public override int GetHashCode(); // 0x10280720
+ public MemberInfo[] GetMember(string name); // 0x10280A40
+ public virtual MemberInfo[] GetMember(string name, BindingFlags bindingAttr); // 0x10280A70
+ public virtual MemberInfo[] GetMember(string name, MemberTypes type, BindingFlags bindingAttr); // 0x10280950
+ public MemberInfo[] GetMembers(); // 0x10280AA0
+ public abstract MemberInfo[] GetMembers(BindingFlags bindingAttr);
+ public MethodInfo GetMethod(string name); // 0x10280AF0
+ public MethodInfo GetMethod(string name, BindingFlags bindingAttr); // 0x10280B70
+ public MethodInfo GetMethod(string name, Type[] types); // 0x10280BF0
+ public MethodInfo GetMethod(string name, Type[] types, ParameterModifier[] modifiers); // 0x10280C90
+ public MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers); // 0x10280C10
+ public MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers); // 0x10280CC0
+ protected abstract MethodInfo GetMethodImpl(string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
+ internal MethodInfo GetMethodImplInternal(string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers); // 0x10280AC0
+ internal virtual MethodInfo GetMethod(MethodInfo fromNoninstanciated); // 0x10280C40
+ internal virtual ConstructorInfo GetConstructor(ConstructorInfo fromNoninstanciated); // 0x102802B0
+ internal virtual FieldInfo GetField(FieldInfo fromNoninstanciated); // 0x10280530
+ public MethodInfo[] GetMethods(); // 0x10280DA0
+ public abstract MethodInfo[] GetMethods(BindingFlags bindingAttr);
+ public Type GetNestedType(string name); // 0x10280DC0
+ public abstract Type GetNestedType(string name, BindingFlags bindingAttr);
+ public Type[] GetNestedTypes(); // 0x10280DF0
+ public abstract Type[] GetNestedTypes(BindingFlags bindingAttr);
+ public PropertyInfo[] GetProperties(); // 0x10280E30
+ public abstract PropertyInfo[] GetProperties(BindingFlags bindingAttr);
+ public PropertyInfo GetProperty(string name); // 0x10280EB0
+ public PropertyInfo GetProperty(string name, BindingFlags bindingAttr); // 0x102810B0
+ public PropertyInfo GetProperty(string name, Type returnType); // 0x10281030
+ public PropertyInfo GetProperty(string name, Type[] types); // 0x10281010
+ public PropertyInfo GetProperty(string name, Type returnType, Type[] types); // 0x10281130
+ public PropertyInfo GetProperty(string name, Type returnType, Type[] types, ParameterModifier[] modifiers); // 0x10280E80
+ public PropertyInfo GetProperty(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers); // 0x10280F30
+ protected abstract PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);
+ internal PropertyInfo GetPropertyImplInternal(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers); // 0x10280E50
+ protected abstract ConstructorInfo GetConstructorImpl(BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
+ protected abstract TypeAttributes GetAttributeFlagsImpl();
+ protected abstract bool HasElementTypeImpl();
+ protected abstract bool IsArrayImpl();
+ protected abstract bool IsByRefImpl();
+ protected abstract bool IsCOMObjectImpl();
+ protected abstract bool IsPointerImpl();
+ protected abstract bool IsPrimitiveImpl();
+ internal static bool IsArrayImpl(Type type); // 0x10281B70
+ protected virtual bool IsValueTypeImpl(); // 0x10281EC0
+ protected virtual bool IsContextfulImpl(); // 0x10281CB0
+ protected virtual bool IsMarshalByRefImpl(); // 0x10281D50
+ public ConstructorInfo GetConstructor(Type[] types); // 0x10280300
+ public ConstructorInfo GetConstructor(BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers); // 0x10280320
+ public ConstructorInfo GetConstructor(BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers); // 0x10280340
+ public ConstructorInfo[] GetConstructors(); // 0x102803F0
+ public abstract ConstructorInfo[] GetConstructors(BindingFlags bindingAttr);
+ public virtual MemberInfo[] GetDefaultMembers(); // 0x10280410
+ public virtual MemberInfo[] FindMembers(MemberTypes memberType, BindingFlags bindingAttr, MemberFilter filter, object filterCriteria); // 0x1027FC50
+ public object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args); // 0x10281AF0
+ public object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture); // 0x10281B30
+ public abstract object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);
+ public override string ToString(); // 0x102825E0
+ public virtual Type[] GetGenericArguments(); // 0x102805D0
+ internal Type GetGenericTypeDefinition_impl(); // 0x102806C0
+ public virtual Type GetGenericTypeDefinition(); // 0x102806D0
+ private static Type MakeGenericType(Type gt, Type[] types); // 0x10282020
+ public virtual Type MakeGenericType(Type[] typeArguments); // 0x10282040
+ private int GetGenericParameterPosition(); // 0x102806B0
+ private GenericParameterAttributes GetGenericParameterAttributes(); // 0x10280620
+ private Type[] GetGenericParameterConstraints_impl(); // 0x10280630
+ public virtual Type[] GetGenericParameterConstraints(); // 0x10280640
+ private Type make_array_type(int rank); // 0x10283370
+ public virtual Type MakeArrayType(); // 0x10282000
+ public virtual Type MakeArrayType(int rank); // 0x10281FA0
+ private Type make_byref_type(); // 0x10282010
+ public virtual Type MakeByRefType(); // 0x10282010
+ public virtual Type MakePointerType(); // 0x102822E0
+ public static Type ReflectionOnlyGetType(string typeName, bool throwIfNotFound, bool ignoreCase); // 0x102822F0
+ private void GetPacking(out int packing, out int size); // 0x10280E10
+ internal object[] GetPseudoCustomAttributes(); // 0x10281160
+}
+
+// Namespace: System.Reflection
+[Serializable]
+public abstract class MemberInfo : ICustomAttributeProvider, _MemberInfo // TypeDefIndex: 52
+{
+ // Properties
+ public abstract Type DeclaringType { get; }
+ public abstract MemberTypes MemberType { get; }
+ public abstract string Name { get; }
+ public abstract Type ReflectedType { get; }
+ public virtual Module Module { get; } // 0x101711F0
+ public virtual int MetadataToken { get; } // 0x101711E0
+
+ // Methods
+ protected void .ctor(); // 0x100BF000
+ private void System.Runtime.InteropServices._MemberInfo.GetIDsOfNames(Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId); // 0x101710A0
+ private void System.Runtime.InteropServices._MemberInfo.GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo); // 0x10171140
+ private void System.Runtime.InteropServices._MemberInfo.GetTypeInfoCount(out uint pcTInfo); // 0x101710F0
+ private void System.Runtime.InteropServices._MemberInfo.Invoke(uint dispIdMember, Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr); // 0x10171190
+ public abstract bool IsDefined(Type attributeType, bool inherit);
+ public abstract object[] GetCustomAttributes(bool inherit);
+ public abstract object[] GetCustomAttributes(Type attributeType, bool inherit);
+ virtual Type System.Runtime.InteropServices._MemberInfo.GetType(); // 0x1015CD60
+}
+
+// Namespace: System.Reflection
+public interface ICustomAttributeProvider // TypeDefIndex: 53
+{
+ // Methods
+ object[] GetCustomAttributes(bool inherit);
+ object[] GetCustomAttributes(Type attributeType, bool inherit);
+ bool IsDefined(Type attributeType, bool inherit);
+}
+
+// Namespace: System.Runtime.InteropServices
+public interface _MemberInfo // TypeDefIndex: 54
+{
+ // Properties
+ Type DeclaringType { get; }
+ MemberTypes MemberType { get; }
+ string Name { get; }
+ Type ReflectedType { get; }
+
+ // Methods
+ bool Equals(object other);
+ object[] GetCustomAttributes(bool inherit);
+ object[] GetCustomAttributes(Type attributeType, bool inherit);
+ int GetHashCode();
+ Type GetType();
+ bool IsDefined(Type attributeType, bool inherit);
+ string ToString();
+ void GetIDsOfNames(Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
+ void GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo);
+ void GetTypeInfoCount(out uint pcTInfo);
+ void Invoke(uint dispIdMember, Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
+}
+
+// Namespace: System.Reflection
+public interface IReflect // TypeDefIndex: 55
+{
+ // Properties
+ Type UnderlyingSystemType { get; }
+
+ // Methods
+ FieldInfo GetField(string name, BindingFlags bindingAttr);
+ FieldInfo[] GetFields(BindingFlags bindingAttr);
+ MemberInfo[] GetMember(string name, BindingFlags bindingAttr);
+ MemberInfo[] GetMembers(BindingFlags bindingAttr);
+ MethodInfo GetMethod(string name, BindingFlags bindingAttr);
+ MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
+ MethodInfo[] GetMethods(BindingFlags bindingAttr);
+ PropertyInfo[] GetProperties(BindingFlags bindingAttr);
+ PropertyInfo GetProperty(string name, BindingFlags bindingAttr);
+ PropertyInfo GetProperty(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);
+ object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);
+}
+
+// Namespace: System.Runtime.InteropServices
+public interface _Type // TypeDefIndex: 56
+{
+ // Properties
+ Assembly Assembly { get; }
+ string AssemblyQualifiedName { get; }
+ TypeAttributes Attributes { get; }
+ Type BaseType { get; }
+ Type DeclaringType { get; }
+ string FullName { get; }
+ Guid GUID { get; }
+ bool HasElementType { get; }
+ bool IsAbstract { get; }
+ bool IsAnsiClass { get; }
+ bool IsArray { get; }
+ bool IsAutoClass { get; }
+ bool IsAutoLayout { get; }
+ bool IsByRef { get; }
+ bool IsClass { get; }
+ bool IsCOMObject { get; }
+ bool IsContextful { get; }
+ bool IsEnum { get; }
+ bool IsExplicitLayout { get; }
+ bool IsImport { get; }
+ bool IsInterface { get; }
+ bool IsLayoutSequential { get; }
+ bool IsMarshalByRef { get; }
+ bool IsNestedAssembly { get; }
+ bool IsNestedFamANDAssem { get; }
+ bool IsNestedFamily { get; }
+ bool IsNestedFamORAssem { get; }
+ bool IsNestedPrivate { get; }
+ bool IsNestedPublic { get; }
+ bool IsNotPublic { get; }
+ bool IsPointer { get; }
+ bool IsPrimitive { get; }
+ bool IsPublic { get; }
+ bool IsSealed { get; }
+ bool IsSerializable { get; }
+ bool IsSpecialName { get; }
+ bool IsUnicodeClass { get; }
+ bool IsValueType { get; }
+ MemberTypes MemberType { get; }
+ Module Module { get; }
+ string Name { get; }
+ string Namespace { get; }
+ Type ReflectedType { get; }
+ RuntimeTypeHandle TypeHandle { get; }
+ ConstructorInfo TypeInitializer { get; }
+ Type UnderlyingSystemType { get; }
+
+ // Methods
+ bool Equals(object other);
+ bool Equals(Type o);
+ Type[] FindInterfaces(TypeFilter filter, object filterCriteria);
+ MemberInfo[] FindMembers(MemberTypes memberType, BindingFlags bindingAttr, MemberFilter filter, object filterCriteria);
+ int GetArrayRank();
+ ConstructorInfo GetConstructor(Type[] types);
+ ConstructorInfo GetConstructor(BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
+ ConstructorInfo GetConstructor(BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
+ ConstructorInfo[] GetConstructors();
+ ConstructorInfo[] GetConstructors(BindingFlags bindingAttr);
+ object[] GetCustomAttributes(bool inherit);
+ object[] GetCustomAttributes(Type attributeType, bool inherit);
+ MemberInfo[] GetDefaultMembers();
+ Type GetElementType();
+ EventInfo GetEvent(string name);
+ EventInfo GetEvent(string name, BindingFlags bindingAttr);
+ EventInfo[] GetEvents();
+ EventInfo[] GetEvents(BindingFlags bindingAttr);
+ FieldInfo GetField(string name);
+ FieldInfo GetField(string name, BindingFlags bindingAttr);
+ FieldInfo[] GetFields();
+ FieldInfo[] GetFields(BindingFlags bindingAttr);
+ int GetHashCode();
+ void GetIDsOfNames(Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
+ void GetTypeInfo(uint iTInfo, uint lcid, IntPtr ppTInfo);
+ void GetTypeInfoCount(out uint pcTInfo);
+ void Invoke(uint dispIdMember, Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
+ Type GetInterface(string name);
+ Type GetInterface(string name, bool ignoreCase);
+ InterfaceMapping GetInterfaceMap(Type interfaceType);
+ Type[] GetInterfaces();
+ MemberInfo[] GetMember(string name);
+ MemberInfo[] GetMember(string name, MemberTypes type, BindingFlags bindingAttr);
+ MemberInfo[] GetMember(string name, BindingFlags bindingAttr);
+ MemberInfo[] GetMembers();
+ MemberInfo[] GetMembers(BindingFlags bindingAttr);
+ MethodInfo GetMethod(string name);
+ MethodInfo GetMethod(string name, BindingFlags bindingAttr);
+ MethodInfo GetMethod(string name, Type[] types);
+ MethodInfo GetMethod(string name, Type[] types, ParameterModifier[] modifiers);
+ MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
+ MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
+ MethodInfo[] GetMethods();
+ MethodInfo[] GetMethods(BindingFlags bindingAttr);
+ Type GetNestedType(string name);
+ Type GetNestedType(string name, BindingFlags bindingAttr);
+ Type[] GetNestedTypes();
+ Type[] GetNestedTypes(BindingFlags bindingAttr);
+ PropertyInfo[] GetProperties();
+ PropertyInfo[] GetProperties(BindingFlags bindingAttr);
+ PropertyInfo GetProperty(string name);
+ PropertyInfo GetProperty(string name, BindingFlags bindingAttr);
+ PropertyInfo GetProperty(string name, Type returnType);
+ PropertyInfo GetProperty(string name, Type[] types);
+ PropertyInfo GetProperty(string name, Type returnType, Type[] types);
+ PropertyInfo GetProperty(string name, Type returnType, Type[] types, ParameterModifier[] modifiers);
+ PropertyInfo GetProperty(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);
+ Type GetType();
+ object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args);
+ object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture);
+ object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);
+ bool IsAssignableFrom(Type c);
+ bool IsDefined(Type attributeType, bool inherit);
+ bool IsInstanceOfType(object o);
+ bool IsSubclassOf(Type c);
+ string ToString();
+}
+
+// Namespace: System
+[Serializable]
+public class Exception : ISerializable, _Exception // TypeDefIndex: 57
+{
+ // Fields
+ private IntPtr[] trace_ips; // 0x08
+ private Exception inner_exception; // 0x0C
+ internal string message; // 0x10
+ private string help_link; // 0x14
+ private string class_name; // 0x18
+ private string stack_trace; // 0x1C
+ private string _remoteStackTraceString; // 0x20
+ private int remote_stack_index; // 0x24
+ internal int hresult; // 0x28
+ private string source; // 0x2C
+ private IDictionary _data; // 0x30
+
+ // Properties
+ public Exception InnerException { get; } // 0x100C5B30
+ public virtual string HelpLink { get; set; } // 0x100EF0C0 0x10127B00
+ protected int HResult { get; set; } // 0x100EB040 0x100EB250
+ private string ClassName { get; } // 0x101C5200
+ public virtual string Message { get; } // 0x101C5290
+ public virtual string Source { get; set; } // 0x101C5340 0x100EB260
+ public virtual string StackTrace { get; } // 0x101C5450
+ public MethodBase TargetSite { get; } // 0x101C5720
+ public virtual IDictionary Data { get; } // 0x101C5240
+
+ // Methods
+ public void .ctor(); // 0x101C51B0
+ public void .ctor(string message); // 0x101C51D0
+ protected void .ctor(SerializationInfo info, StreamingContext context); // 0x101C4F40
+ public void .ctor(string message, Exception innerException); // 0x101C4F10
+ internal void SetMessage(string s); // 0x100C5B40
+ internal void SetStackTrace(string s); // 0x10113F50
+ public virtual Exception GetBaseException(); // 0x101C48C0
+ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); // 0x101C4BC0
+ public override string ToString(); // 0x101C4D70
+ internal Exception FixRemotingException(); // 0x101C47F0
+ internal void GetFullNameForStackTrace(StringBuilder sb, MethodBase mi); // 0x101C48F0
+ public Type GetType(); // 0x1015CD60
+}
+
+// Namespace: System.Runtime.InteropServices
+public interface _Exception // TypeDefIndex: 58
+{
+ // Properties
+ string HelpLink { get; set; }
+ Exception InnerException { get; }
+ string Message { get; }
+ string Source { get; set; }
+ string StackTrace { get; }
+ MethodBase TargetSite { get; }
+
+ // Methods
+ bool Equals(object obj);
+ Exception GetBaseException();
+ int GetHashCode();
+ void GetObjectData(SerializationInfo info, StreamingContext context);
+ Type GetType();
+ string ToString();
+}
+
+// Namespace: System
+[Serializable]
+public struct RuntimeFieldHandle : ISerializable // TypeDefIndex: 59
+{
+ // Fields
+ private IntPtr value; // 0x08
+
+ // Properties
+ public IntPtr Value { get; } // 0x10003A80
+
+ // Methods
+ internal void .ctor(IntPtr v); // 0x10005950
+ private void .ctor(SerializationInfo info, StreamingContext context); // 0x10006390
+ public void GetObjectData(SerializationInfo info, StreamingContext context); // 0x10006280
+ public override bool Equals(object obj); // 0x100061B0
+ public bool Equals(RuntimeFieldHandle handle); // 0x10006190
+ public override int GetHashCode(); // 0x10006260
+ public static bool op_Equality(RuntimeFieldHandle left, RuntimeFieldHandle right); // 0x10123830
+ public static bool op_Inequality(RuntimeFieldHandle left, RuntimeFieldHandle right); // 0x10123840
+}
+
+// Namespace: System
+[Serializable]
+public struct RuntimeTypeHandle : ISerializable // TypeDefIndex: 60
+{
+ // Fields
+ private IntPtr value; // 0x08
+
+ // Properties
+ public IntPtr Value { get; } // 0x10003A80
+
+ // Methods
+ internal void .ctor(IntPtr val); // 0x10005950
+ private void .ctor(SerializationInfo info, StreamingContext context); // 0x10006AB0
+ public void GetObjectData(SerializationInfo info, StreamingContext context); // 0x10006990
+ public override bool Equals(object obj); // 0x10006810
+ public bool Equals(RuntimeTypeHandle handle); // 0x10006190
+ public override int GetHashCode(); // 0x10006260
+ public ModuleHandle GetModuleHandle(); // 0x100068C0
+ public static bool op_Equality(RuntimeTypeHandle left, object right); // 0x10123970
+ public static bool op_Inequality(RuntimeTypeHandle left, object right); // 0x101239E0
+ public static bool op_Equality(object left, RuntimeTypeHandle right); // 0x10123900
+ public static bool op_Inequality(object left, RuntimeTypeHandle right); // 0x10123A60
+}
+
+// Namespace: System
+public sealed class ParamArrayAttribute : Attribute // TypeDefIndex: 61
+{
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class OutAttribute : Attribute // TypeDefIndex: 62
+{
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System
+[Serializable]
+public sealed class ObsoleteAttribute : Attribute // TypeDefIndex: 63
+{
+ // Fields
+ private string _message; // 0x08
+ private bool _error; // 0x0C
+
+ // Properties
+ public string Message { get; } // 0x100BF0C0
+ public bool IsError { get; } // 0x100F8910
+
+ // Methods
+ public void .ctor(); // 0x100C5970
+ public void .ctor(string message); // 0x100E5940
+ public void .ctor(string message, bool error); // 0x100F88E0
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class DllImportAttribute : Attribute // TypeDefIndex: 64
+{
+ // Fields
+ public CallingConvention CallingConvention; // 0x08
+ public CharSet CharSet; // 0x0C
+ private string Dll; // 0x10
+ public string EntryPoint; // 0x14
+ public bool ExactSpelling; // 0x18
+ public bool PreserveSig; // 0x00
+ public bool SetLastError; // 0x00
+ public bool BestFitMapping; // 0x00
+ public bool ThrowOnUnmappableChar; // 0x00
+
+ // Properties
+ public string Value { get; } // 0x100BFC20
+
+ // Methods
+ public void .ctor(string dllName); // 0x101A2F30
+}
+
+// Namespace: System.Runtime.CompilerServices
+[Serializable]
+public sealed class MethodImplAttribute : Attribute // TypeDefIndex: 65
+{
+ // Fields
+ private MethodImplOptions _val; // 0x08
+ public MethodCodeType MethodCodeType; // 0x0C
+
+ // Properties
+ public MethodImplOptions Value { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(); // 0x100C5970
+ public void .ctor(short value); // 0x101A3760
+ public void .ctor(MethodImplOptions methodImplOptions); // 0x100E5940
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class MarshalAsAttribute : Attribute // TypeDefIndex: 66
+{
+ // Fields
+ private UnmanagedType utype; // 0x08
+ public UnmanagedType ArraySubType; // 0x0C
+ public string MarshalCookie; // 0x10
+ public string MarshalType; // 0x14
+ public Type MarshalTypeRef; // 0x18
+ public VarEnum SafeArraySubType; // 0x1C
+ public int SizeConst; // 0x20
+ public short SizeParamIndex; // 0x24
+ public Type SafeArrayUserDefinedSubType; // 0x28
+ public int IidParameterIndex; // 0x2C
+
+ // Properties
+ public UnmanagedType Value { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(short unmanagedType); // 0x101A3760
+ public void .ctor(UnmanagedType unmanagedType); // 0x100E5940
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class InAttribute : Attribute // TypeDefIndex: 67
+{
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System.Runtime.CompilerServices
+[Serializable]
+public sealed class IndexerNameAttribute : Attribute // TypeDefIndex: 68
+{
+ // Methods
+ public void .ctor(string indexerName); // 0x10207B10
+}
+
+// Namespace: System.Diagnostics
+[Serializable]
+public sealed class ConditionalAttribute : Attribute // TypeDefIndex: 69
+{
+ // Fields
+ private string myCondition; // 0x08
+
+ // Properties
+ public string ConditionString { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(string conditionString); // 0x100E5940
+}
+
+// Namespace: System.Security.Permissions
+[Serializable]
+public abstract class SecurityAttribute : Attribute // TypeDefIndex: 70
+{
+ // Fields
+ private SecurityAction m_Action; // 0x08
+ private bool m_Unrestricted; // 0x0C
+
+ // Properties
+ public bool Unrestricted { get; set; } // 0x100F8910 0x1016CBD0
+ public SecurityAction Action { get; set; } // 0x100BF0C0 0x100EB270
+
+ // Methods
+ protected void .ctor(SecurityAction action); // 0x100E5940
+ public abstract IPermission CreatePermission();
+}
+
+// Namespace: System.Runtime.CompilerServices
+[Serializable]
+public sealed class RequiredAttributeAttribute : Attribute // TypeDefIndex: 71
+{
+ // Properties
+ public Type RequiredContract { get; } // 0x10209380
+
+ // Methods
+ public void .ctor(Type requiredContract); // 0x10207B10
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class GuidAttribute : Attribute // TypeDefIndex: 72
+{
+ // Fields
+ private string guidValue; // 0x08
+
+ // Properties
+ public string Value { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(string guid); // 0x100E5940
+}
+
+// Namespace: System.Reflection
+public sealed class AssemblyCultureAttribute : Attribute // TypeDefIndex: 73
+{
+ // Fields
+ private string name; // 0x08
+
+ // Properties
+ public string Culture { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(string culture); // 0x100E5940
+}
+
+// Namespace: System.Reflection
+public sealed class AssemblyVersionAttribute : Attribute // TypeDefIndex: 74
+{
+ // Fields
+ private string name; // 0x08
+
+ // Properties
+ public string Version { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(string version); // 0x100E5940
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class ComImportAttribute : Attribute // TypeDefIndex: 75
+{
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class CoClassAttribute : Attribute // TypeDefIndex: 76
+{
+ // Fields
+ private Type klass; // 0x08
+
+ // Properties
+ public Type CoClass { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(Type coClass); // 0x100E5940
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class OptionalAttribute : Attribute // TypeDefIndex: 77
+{
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class DefaultCharSetAttribute : Attribute // TypeDefIndex: 78
+{
+ // Fields
+ private CharSet _set; // 0x08
+
+ // Properties
+ public CharSet CharSet { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(CharSet charSet); // 0x100E5940
+}
+
+// Namespace: System.Runtime.CompilerServices
+public sealed class TypeForwardedToAttribute : Attribute // TypeDefIndex: 79
+{
+ // Fields
+ private Type destination; // 0x08
+
+ // Properties
+ public Type Destination { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(Type destination); // 0x100E5940
+}
+
+// Namespace: System.Runtime.CompilerServices
+public sealed class FixedBufferAttribute : Attribute // TypeDefIndex: 80
+{
+ // Fields
+ private Type elementType; // 0x08
+ private int length; // 0x0C
+
+ // Properties
+ public Type ElementType { get; } // 0x100BF0C0
+ public int Length { get; } // 0x100C5B30
+
+ // Methods
+ public void .ctor(Type elementType, int length); // 0x101237E0
+}
+
+// Namespace: System.Runtime.CompilerServices
+[Serializable]
+public sealed class CompilerGeneratedAttribute : Attribute // TypeDefIndex: 81
+{
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System.Runtime.CompilerServices
+public sealed class InternalsVisibleToAttribute : Attribute // TypeDefIndex: 82
+{
+ // Fields
+ private string assemblyName; // 0x08
+ private bool all_visible; // 0x0C
+
+ // Properties
+ public string AssemblyName { get; } // 0x100BF0C0
+ public bool AllInternalsVisible { get; set; } // 0x100F8910 0x1016CBD0
+
+ // Methods
+ public void .ctor(string assemblyName); // 0x10207B30
+}
+
+// Namespace: System.Runtime.CompilerServices
+[Serializable]
+public sealed class RuntimeCompatibilityAttribute : Attribute // TypeDefIndex: 83
+{
+ // Fields
+ private bool wrap_non_exception_throws; // 0x08
+
+ // Properties
+ public bool WrapNonExceptionThrows { get; set; } // 0x100EA020 0x10155000
+
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System.Diagnostics
+[Serializable]
+public sealed class DebuggerHiddenAttribute : Attribute // TypeDefIndex: 84
+{
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System.Runtime.CompilerServices
+[Serializable]
+public sealed class UnsafeValueTypeAttribute : Attribute // TypeDefIndex: 85
+{
+ // Methods
+ public void .ctor(); // 0x100C5970
+}
+
+// Namespace: System.Reflection
+[Serializable]
+public sealed class DefaultMemberAttribute : Attribute // TypeDefIndex: 86
+{
+ // Fields
+ private string member_name; // 0x08
+
+ // Properties
+ public string MemberName { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(string memberName); // 0x100E5940
+}
+
+// Namespace: System.Runtime.CompilerServices
+[Serializable]
+public sealed class DecimalConstantAttribute : Attribute // TypeDefIndex: 87
+{
+ // Fields
+ private byte scale; // 0x08
+ private bool sign; // 0x09
+ private int hi; // 0x0C
+ private int mid; // 0x10
+ private int low; // 0x14
+
+ // Properties
+ public Decimal Value { get; } // 0x10203460
+
+ // Methods
+ public void .ctor(byte scale, byte sign, uint hi, uint mid, uint low); // 0x102033E0
+ public void .ctor(byte scale, byte sign, int hi, int mid, int low); // 0x10203360
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class StructLayoutAttribute : Attribute // TypeDefIndex: 88
+{
+ // Fields
+ public CharSet CharSet; // 0x08
+ public int Pack; // 0x0C
+ public int Size; // 0x10
+ private LayoutKind lkind; // 0x14
+
+ // Properties
+ public LayoutKind Value { get; } // 0x100EF0C0
+
+ // Methods
+ public void .ctor(short layoutKind); // 0x101AA4D0
+ public void .ctor(LayoutKind layoutKind); // 0x101AA4A0
+}
+
+// Namespace: System.Runtime.InteropServices
+public sealed class FieldOffsetAttribute : Attribute // TypeDefIndex: 89
+{
+ // Fields
+ private int val; // 0x08
+
+ // Properties
+ public int Value { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(int offset); // 0x100E5940
+}
+
+// Namespace: System
+public struct RuntimeArgumentHandle // TypeDefIndex: 90
+{
+ // Fields
+ internal IntPtr args; // 0x08
+
+}
+
+// Namespace: System
+[Serializable]
+public delegate void AsyncCallback(IAsyncResult ar); // TypeDefIndex: 91; 0x10310A30
+
+// Namespace: System
+public interface IAsyncResult // TypeDefIndex: 92
+{
+ // Properties
+ object AsyncState { get; }
+ WaitHandle AsyncWaitHandle { get; }
+ bool CompletedSynchronously { get; }
+ bool IsCompleted { get; }
+
+}
+
+// Namespace: System
+public struct TypedReference // TypeDefIndex: 93
+{
+ // Fields
+ private RuntimeTypeHandle type; // 0x08
+ private IntPtr value; // 0x0C
+ private IntPtr klass; // 0x10
+
+ // Methods
+ public override bool Equals(object o); // 0x10019B10
+ public override int GetHashCode(); // 0x10019B30
+ public static Type GetTargetType(TypedReference value); // 0x10283430
+ public static TypedReference MakeTypedReference(object target, FieldInfo[] flds); // 0x10283480
+ public static void SetTypedReference(TypedReference target, object value); // 0x10283560
+ public static RuntimeTypeHandle TargetTypeToken(TypedReference value); // 0x100F7810
+ public static object ToObject(TypedReference value); // 0x102835E0
+}
+
+// Namespace: System
+public struct ArgIterator // TypeDefIndex: 94
+{
+ // Fields
+ private IntPtr sig; // 0x08
+ private IntPtr args; // 0x0C
+ private int next_arg; // 0x10
+ private int num_args; // 0x14
+
+ // Methods
+ public void .ctor(RuntimeArgumentHandle arglist); // 0x10008F40
+ public void .ctor(RuntimeArgumentHandle arglist, void * ptr); // 0x10008FA0
+ private void Setup(IntPtr argsp, IntPtr start); // 0x10008F20
+ public void End(); // 0x10008C90
+ public override bool Equals(object o); // 0x10008CA0
+ public override int GetHashCode(); // 0x10006260
+ public TypedReference GetNextArg(); // 0x10008DE0
+ private TypedReference IntGetNextArg(); // 0x10008EB0
+ public TypedReference GetNextArg(RuntimeTypeHandle rth); // 0x10008D40
+ private TypedReference IntGetNextArg(IntPtr rth); // 0x10008EE0
+ public RuntimeTypeHandle GetNextArgType(); // 0x10008CC0
+ private IntPtr IntGetNextArgType(); // 0x10008E90
+ public int GetRemainingCount(); // 0x10008E80
+}
+
+// Namespace: System
+[Serializable]
+public abstract class MarshalByRefObject // TypeDefIndex: 95
+{
+ // Fields
+ [NonSerialized] private ServerIdentity _identity; // 0x08
+
+ // Properties
+ internal ServerIdentity ObjectIdentity { get; set; } // 0x100BF0C0 0x100EB270
+
+ // Methods
+ protected void .ctor(); // 0x100BF000
+ internal Identity GetObjectIdentity(MarshalByRefObject obj, out bool IsClient); // 0x100FD7F0
+ public virtual ObjRef CreateObjRef(Type requestedType); // 0x100FD750
+ public object GetLifetimeService(); // 0x100FD7D0
+ public virtual object InitializeLifetimeService(); // 0x100FD8A0
+ protected MarshalByRefObject MemberwiseClone(bool cloneIdentity); // 0x100FD8F0
+}
+
+// Namespace: System
+[Serializable]
+public struct Nullable`1 // TypeDefIndex: 96
+{
+ // Fields
+ internal T value; // 0x00
+ internal bool has_value; // 0x00
+
+ // Properties
+ public bool HasValue { get; }
+ public T Value { get; }
+
+ // Methods
+ public void .ctor(T value);
+ public override bool Equals(object other);
+ private bool Equals(Nullable`1 other);
+ public override int GetHashCode();
+ public T GetValueOrDefault();
+ public T GetValueOrDefault(T defaultValue);
+ public override string ToString();
+ private static object Box(Nullable`1 o);
+ private static Nullable`1 Unbox(object o);
+ public static Nullable`1 op_Implicit(T value);
+ public static T op_Explicit(Nullable`1 value);
+}
+
+// Namespace: System.Runtime.CompilerServices
+public static class RuntimeHelpers // TypeDefIndex: 97
+{
+ // Properties
+ public static int OffsetToStringData { get; } // 0x10211340
+
+ // Methods
+ private static void InitializeArray(Array array, IntPtr fldHandle); // 0x10211180
+ public static void InitializeArray(Array array, RuntimeFieldHandle fldHandle); // 0x10211100
+ public static int GetHashCode(object o); // 0x102110E0
+ public static bool Equals(object o1, object o2); // 0x10211070
+ public static object GetObjectValue(object obj); // 0x102110F0
+ private static void RunClassConstructor(IntPtr type); // 0x10211280
+ public static void RunClassConstructor(RuntimeTypeHandle type); // 0x10211200
+ public static void ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, object userData); // 0x100C5530
+ public static void PrepareConstrainedRegions(); // 0x100C5530
+ public static void PrepareConstrainedRegionsNoOP(); // 0x100C5530
+ public static void ProbeForSufficientStack(); // 0x100C5530
+ public static void PrepareDelegate(Delegate d); // 0x102111A0
+ public static void PrepareMethod(RuntimeMethodHandle method); // 0x100C5530
+ public static void PrepareMethod(RuntimeMethodHandle method, RuntimeTypeHandle[] instantiation); // 0x100C5530
+ public static void RunModuleConstructor(ModuleHandle module); // 0x102112A0
+ public static void RunModuleConstructor(IntPtr module); // 0x10211290
+}
+
+// Namespace:
+public delegate void TryCode(object userData); // TypeDefIndex: 98; 0x1015A4E0
+
+// Namespace:
+public delegate void CleanupCode(object userData, bool exceptionThrown); // TypeDefIndex: 99; 0x10202CA0
+
+// Namespace:
+internal static class Consts // TypeDefIndex: 100
+{
+ // Fields
+ public const string MonoVersion = "2.6.5.0"; // 0x00
+ public const string MonoCompany = "MONO development team"; // 0x00
+ public const string MonoProduct = "MONO Common language infrastructure"; // 0x00
+ public const string MonoCopyright = "(c) various MONO Authors"; // 0x00
+ public const string FxVersion = "2.0.0.0"; // 0x00
+ public const string VsVersion = "8.0.0.0"; // 0x00
+ public const string FxFileVersion = "2.0.50727.1433"; // 0x00
+ public const string VsFileVersion = "8.0.50727.1433"; // 0x00
+ public const string AssemblyI18N = "I18N, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // 0x00
+ public const string AssemblyMicrosoft_VisualStudio = "Microsoft.VisualStudio, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblyMicrosoft_VisualStudio_Web = "Microsoft.VisualStudio.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblyMicrosoft_VSDesigner = "Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblyMono_Http = "Mono.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // 0x00
+ public const string AssemblyMono_Posix = "Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // 0x00
+ public const string AssemblyMono_Security = "Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // 0x00
+ public const string AssemblyMono_Messaging_RabbitMQ = "Mono.Messaging.RabbitMQ, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"; // 0x00
+ public const string AssemblyCorlib = "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // 0x00
+ public const string AssemblySystem = "System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // 0x00
+ public const string AssemblySystem_Data = "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // 0x00
+ public const string AssemblySystem_Design = "System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblySystem_DirectoryServices = "System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblySystem_Drawing = "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblySystem_Drawing_Design = "System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblySystem_Messaging = "System.Messaging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblySystem_Security = "System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblySystem_ServiceProcess = "System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblySystem_Web = "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; // 0x00
+ public const string AssemblySystem_Windows_Forms = "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // 0x00
+ public const string AssemblySystem_Core = "System.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; // 0x00
+
+}
+
+// Namespace:
+internal sealed class Locale // TypeDefIndex: 101
+{
+ // Methods
+ private void .ctor(); // 0x100BF000
+ public static string GetText(string msg); // 0x100F7810
+ public static string GetText(string fmt, object[] args); // 0x10261460
+}
+
+// Namespace: System
+internal class MonoTODOAttribute : Attribute // TypeDefIndex: 102
+{
+ // Fields
+ private string comment; // 0x08
+
+ // Properties
+ public string Comment { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(); // 0x100C5970
+ public void .ctor(string comment); // 0x100E5940
+}
+
+// Namespace: System
+internal class MonoDocumentationNoteAttribute : MonoTODOAttribute // TypeDefIndex: 103
+{
+ // Methods
+ public void .ctor(string comment); // 0x100E5940
+}
+
+// Namespace: System
+internal class MonoExtensionAttribute : MonoTODOAttribute // TypeDefIndex: 104
+{
+ // Methods
+ public void .ctor(string comment); // 0x100E5940
+}
+
+// Namespace: System
+internal class MonoInternalNoteAttribute : MonoTODOAttribute // TypeDefIndex: 105
+{
+ // Methods
+ public void .ctor(string comment); // 0x100E5940
+}
+
+// Namespace: System
+internal class MonoLimitationAttribute : MonoTODOAttribute // TypeDefIndex: 106
+{
+ // Methods
+ public void .ctor(string comment); // 0x100E5940
+}
+
+// Namespace: System
+internal class MonoNotSupportedAttribute : MonoTODOAttribute // TypeDefIndex: 107
+{
+ // Methods
+ public void .ctor(string comment); // 0x100E5940
+}
+
+// Namespace: Microsoft.Win32.SafeHandles
+public abstract class CriticalHandleMinusOneIsInvalid : CriticalHandle, IDisposable // TypeDefIndex: 108
+{
+ // Properties
+ public override bool IsInvalid { get; } // 0x1025BBF0
+
+ // Methods
+ protected void .ctor(); // 0x1025BBD0
+}
+
+// Namespace: Microsoft.Win32.SafeHandles
+public abstract class CriticalHandleZeroOrMinusOneIsInvalid : CriticalHandle, IDisposable // TypeDefIndex: 109
+{
+ // Properties
+ public override bool IsInvalid { get; } // 0x1025BC20
+
+ // Methods
+ protected void .ctor(); // 0x1025BBD0
+}
+
+// Namespace: Microsoft.Win32.SafeHandles
+public sealed class SafeFileHandle : SafeHandleZeroOrMinusOneIsInvalid // TypeDefIndex: 110
+{
+ // Methods
+ public void .ctor(IntPtr preexistingHandle, bool ownsHandle); // 0x102689D0
+ internal void .ctor(); // 0x10268A00
+ protected override bool ReleaseHandle(); // 0x10268960
+}
+
+// Namespace: Microsoft.Win32.SafeHandles
+public abstract class SafeHandleMinusOneIsInvalid : SafeHandle, IDisposable // TypeDefIndex: 111
+{
+ // Properties
+ public override bool IsInvalid { get; } // 0x1025BBF0
+
+ // Methods
+ protected void .ctor(bool ownsHandle); // 0x10268A20
+}
+
+// Namespace: Microsoft.Win32.SafeHandles
+public abstract class SafeHandleZeroOrMinusOneIsInvalid : SafeHandle, IDisposable // TypeDefIndex: 112
+{
+ // Properties
+ public override bool IsInvalid { get; } // 0x10268A40
+
+ // Methods
+ protected void .ctor(bool ownsHandle); // 0x10268A20
+}
+
+// Namespace: Microsoft.Win32.SafeHandles
+public sealed class SafeWaitHandle : SafeHandleZeroOrMinusOneIsInvalid // TypeDefIndex: 113
+{
+ // Methods
+ public void .ctor(IntPtr existingHandle, bool ownsHandle); // 0x102689D0
+ protected override bool ReleaseHandle(); // 0x10268A90
+}
+
+// Namespace: Microsoft.Win32
+internal interface IRegistryApi // TypeDefIndex: 114
+{
+ // Methods
+ RegistryKey CreateSubKey(RegistryKey rkey, string keyname);
+ RegistryKey OpenRemoteBaseKey(RegistryHive hKey, string machineName);
+ RegistryKey OpenSubKey(RegistryKey rkey, string keyname, bool writtable);
+ void Flush(RegistryKey rkey);
+ void Close(RegistryKey rkey);
+ object GetValue(RegistryKey rkey, string name, object default_value, RegistryValueOptions options);
+ void SetValue(RegistryKey rkey, string name, object value);
+ int SubKeyCount(RegistryKey rkey);
+ int ValueCount(RegistryKey rkey);
+ void DeleteValue(RegistryKey rkey, string value, bool throw_if_missing);
+ void DeleteKey(RegistryKey rkey, string keyName, bool throw_if_missing);
+ string[] GetSubKeyNames(RegistryKey rkey);
+ string[] GetValueNames(RegistryKey rkey);
+ string ToString(RegistryKey rkey);
+ void SetValue(RegistryKey rkey, string name, object value, RegistryValueKind valueKind);
+}
+
+// Namespace: Microsoft.Win32
+public static class Registry // TypeDefIndex: 115
+{
+ // Fields
+ public static readonly RegistryKey ClassesRoot; // 0x00
+ public static readonly RegistryKey CurrentConfig; // 0x04
+ public static readonly RegistryKey CurrentUser; // 0x08
+ public static readonly RegistryKey DynData; // 0x0C
+ public static readonly RegistryKey LocalMachine; // 0x10
+ public static readonly RegistryKey PerformanceData; // 0x14
+ public static readonly RegistryKey Users; // 0x18
+ private static Dictionary`2 <>f__switch$map0; // 0x1C
+
+ // Methods
+ private static void .cctor(); // 0x10268760
+ private static RegistryKey ToKey(string keyName, bool setting); // 0x10268330
+ public static void SetValue(string keyName, string valueName, object value); // 0x10268260
+ public static void SetValue(string keyName, string valueName, object value, RegistryValueKind valueKind); // 0x10268190
+ public static object GetValue(string keyName, string valueName, object defaultValue); // 0x10268120
+}
+
+// Namespace: Microsoft.Win32
+[Serializable]
+public enum RegistryHive // TypeDefIndex: 116
+{
+ ClassesRoot = -2147483648,
+ CurrentUser = -2147483647,
+ LocalMachine = -2147483646,
+ Users = -2147483645,
+ PerformanceData = -2147483644,
+ CurrentConfig = -2147483643,
+ DynData = -2147483642
+}
+
+// Namespace: Microsoft.Win32
+public sealed class RegistryKey : MarshalByRefObject, IDisposable // TypeDefIndex: 117
+{
+ // Fields
+ private object handle; // 0x0C
+ private object hive; // 0x10
+ private readonly string qname; // 0x14
+ private readonly bool isRemoteRoot; // 0x18
+ private readonly bool isWritable; // 0x19
+ private static readonly IRegistryApi RegistryApi; // 0x00
+
+ // Properties
+ public string Name { get; } // 0x100EF0C0
+ public int SubKeyCount { get; } // 0x10267FA0
+ public int ValueCount { get; } // 0x10268060
+ internal bool IsRoot { get; } // 0x101253B0
+ private bool IsWritable { get; } // 0x10267F90
+ internal RegistryHive Hive { get; } // 0x10267F10
+ internal object Handle { get; } // 0x100C5B30
+
+ // Methods
+ internal void .ctor(RegistryHive hiveId); // 0x10267EA0
+ internal void .ctor(RegistryHive hiveId, IntPtr keyHandle, bool remoteRoot); // 0x10267CA0
+ internal void .ctor(object data, string keyName, bool writable); // 0x10267EE0
+ private static void .cctor(); // 0x10267BC0
+ private void System.IDisposable.Dispose(); // 0x10267A70
+ protected override void Finalize(); // 0x10266D20
+ public void Flush(); // 0x10266DE0
+ public void Close(); // 0x10266180
+ public void SetValue(string name, object value); // 0x10267710
+ public void SetValue(string name, object value, RegistryValueKind valueKind); // 0x102678C0
+ public RegistryKey OpenSubKey(string name); // 0x102674E0
+ public RegistryKey OpenSubKey(string name, bool writable); // 0x10267500
+ public object GetValue(string name); // 0x102672B0
+ public object GetValue(string name, object defaultValue); // 0x102672D0
+ public object GetValue(string name, object defaultValue, RegistryValueOptions options); // 0x102671E0
+ public RegistryValueKind GetValueKind(string name); // 0x102670D0
+ public RegistryKey CreateSubKey(string subkey); // 0x10266300
+ public RegistryKey CreateSubKey(string subkey, RegistryKeyPermissionCheck permissionCheck); // 0x102664E0
+ public RegistryKey CreateSubKey(string subkey, RegistryKeyPermissionCheck permissionCheck, RegistrySecurity registrySecurity); // 0x102662B0
+ public void DeleteSubKey(string subkey); // 0x10266930
+ public void DeleteSubKey(string subkey, bool throwOnMissingSubKey); // 0x10266950
+ public void DeleteSubKeyTree(string subkey); // 0x102667F0
+ public void DeleteValue(string name); // 0x10266D00
+ public void DeleteValue(string name, bool throwOnMissingValue); // 0x10266BD0
+ public RegistrySecurity GetAccessControl(); // 0x10266EA0
+ public RegistrySecurity GetAccessControl(AccessControlSections includeSections); // 0x10266E50
+ public string[] GetSubKeyNames(); // 0x10267010
+ public string[] GetValueNames(); // 0x10267120
+ public static RegistryKey OpenRemoteBaseKey(RegistryHive hKey, string machineName); // 0x102673A0
+ public RegistryKey OpenSubKey(string name, RegistryKeyPermissionCheck permissionCheck); // 0x10267670
+ public RegistryKey OpenSubKey(string name, RegistryKeyPermissionCheck permissionCheck, RegistryRights rights); // 0x10267490
+ public void SetAccessControl(RegistrySecurity registrySecurity); // 0x102676C0
+ public override string ToString(); // 0x10267A90
+ private void AssertKeyStillValid(); // 0x10266120
+ private void AssertKeyNameNotNull(string subKeyName); // 0x102660C0
+ private void AssertKeyNameLength(string name); // 0x10266050
+ private void DeleteChildKeysAndValues(); // 0x102665E0
+ internal static string DecodeString(byte[] data); // 0x10266530
+ internal static IOException CreateMarkedForDeletionException(); // 0x10266260
+ private static string GetHiveName(RegistryHive hive); // 0x10266EF0
+}
+
+// Namespace: Microsoft.Win32
+public enum RegistryKeyPermissionCheck // TypeDefIndex: 118
+{
+ Default = 0,
+ ReadSubTree = 1,
+ ReadWriteSubTree = 2
+}
+
+// Namespace: Microsoft.Win32
+public enum RegistryValueKind // TypeDefIndex: 119
+{
+ Unknown = 0,
+ String = 1,
+ ExpandString = 2,
+ Binary = 3,
+ DWord = 4,
+ MultiString = 7,
+ QWord = 11
+}
+
+// Namespace: Microsoft.Win32
+public enum RegistryValueOptions // TypeDefIndex: 120
+{
+ None = 0,
+ DoNotExpandEnvironmentNames = 1
+}
+
+// Namespace: Microsoft.Win32
+internal class ExpandString // TypeDefIndex: 121
+{
+ // Fields
+ private string value; // 0x08
+
+ // Methods
+ public void .ctor(string s); // 0x10113500
+ public override string ToString(); // 0x100BF0C0
+ public string Expand(); // 0x1025DEC0
+}
+
+// Namespace: Microsoft.Win32
+internal class KeyHandler // TypeDefIndex: 122
+{
+ // Fields
+ private static Hashtable key_to_handler; // 0x00
+ private static Hashtable dir_to_handler; // 0x04
+ public string Dir; // 0x08
+ private Hashtable values; // 0x0C
+ private string file; // 0x10
+ private bool dirty; // 0x14
+ private static Dictionary`2 <>f__switch$map1; // 0x08
+
+ // Properties
+ public int ValueCount { get; } // 0x102612C0
+ public bool IsMarkedForDeletion { get; } // 0x10261130
+ private static string UserStore { get; } // 0x10261260
+ private static string MachineStore { get; } // 0x102611B0
+
+ // Methods
+ private void .ctor(RegistryKey rkey, string basedir); // 0x10260FF0
+ private static void .cctor(); // 0x10260F40
+ public void Load(); // 0x1025F5F0
+ private void LoadKey(SecurityElement se); // 0x1025F090
+ public RegistryKey Ensure(RegistryKey rkey, string extra, bool writable); // 0x1025EA20
+ public RegistryKey Probe(RegistryKey rkey, string extra, bool writable); // 0x1025FFD0
+ private static string CombineName(RegistryKey rkey, string extra); // 0x1025E070
+ public static KeyHandler Lookup(RegistryKey rkey, bool createNonExisting); // 0x1025FA60
+ public static void Drop(RegistryKey rkey); // 0x1025E130
+ public static void Drop(string dir); // 0x1025E4F0
+ public object GetValue(string name, RegistryValueOptions options); // 0x1025EF90
+ public void SetValue(string name, object value); // 0x10260DB0
+ public string[] GetValueNames(); // 0x1025EEB0
+ public void SetValue(string name, object value, RegistryValueKind valueKind); // 0x10260AB0
+ private void SetDirty(); // 0x10260950
+ public void DirtyTimeout(object state); // 0x1025E110
+ public void Flush(); // 0x1025ED90
+ public bool ValueExists(string name); // 0x10260EC0
+ public void RemoveValue(string name); // 0x10260300
+ protected override void Finalize(); // 0x1025ECD0
+ private void Save(); // 0x10260350
+ private void AssertNotMarkedForDeletion(); // 0x1025E010
+}
+
+// Namespace: Microsoft.Win32
+internal class UnixRegistryApi : IRegistryApi // TypeDefIndex: 123
+{
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static string ToUnix(string keyname); // 0x102707D0
+ private static bool IsWellKnownKey(string parentKeyName, string keyname); // 0x10270100
+ public RegistryKey CreateSubKey(RegistryKey rkey, string keyname); // 0x1026FA40
+ public RegistryKey OpenRemoteBaseKey(RegistryHive hKey, string machineName); // 0x10270260
+ public RegistryKey OpenSubKey(RegistryKey rkey, string keyname, bool writable); // 0x102702B0
+ public void Flush(RegistryKey rkey); // 0x1026FC90
+ public void Close(RegistryKey rkey); // 0x1026F920
+ public object GetValue(RegistryKey rkey, string name, object default_value, RegistryValueOptions options); // 0x1026FF90
+ public void SetValue(RegistryKey rkey, string name, object value); // 0x102704F0
+ public void SetValue(RegistryKey rkey, string name, object value, RegistryValueKind valueKind); // 0x10270680
+ public int SubKeyCount(RegistryKey rkey); // 0x10270710
+ public int ValueCount(RegistryKey rkey); // 0x10270820
+ public void DeleteValue(RegistryKey rkey, string name, bool throw_if_missing); // 0x1026FBB0
+ public void DeleteKey(RegistryKey rkey, string keyname, bool throw_if_missing); // 0x1026FA60
+ public string[] GetSubKeyNames(RegistryKey rkey); // 0x1026FCF0
+ public string[] GetValueNames(RegistryKey rkey); // 0x1026FE20
+ public string ToString(RegistryKey rkey); // 0x102707B0
+ private RegistryKey CreateSubKey(RegistryKey rkey, string keyname, bool writable); // 0x1026F970
+}
+
+// Namespace: Microsoft.Win32
+internal class Win32RegistryApi : IRegistryApi // TypeDefIndex: 124
+{
+ // Fields
+ private const int OpenRegKeyRead = 131097; // 0x00
+ private const int OpenRegKeyWrite = 131078; // 0x00
+ private const int Int32ByteSize = 4; // 0x00
+ private const int BufferMaxLength = 1024; // 0x00
+ private readonly int NativeBytesPerCharacter; // 0x08
+
+ // Methods
+ public void .ctor(); // 0x10272BB0
+ private static extern int RegCreateKey(IntPtr keyBase, string keyName, out IntPtr keyHandle); // 0x10271A80
+ private static extern int RegCloseKey(IntPtr keyHandle); // 0x10271970
+ private static extern int RegConnectRegistry(string machineName, IntPtr hKey, out IntPtr keyHandle); // 0x102719F0
+ private static extern int RegFlushKey(IntPtr keyHandle); // 0x10271DA0
+ private static extern int RegOpenKeyEx(IntPtr keyBase, string keyName, IntPtr reserved, int access, out IntPtr keyHandle); // 0x10271E20
+ private static extern int RegDeleteKey(IntPtr keyHandle, string valueName); // 0x10271B10
+ private static extern int RegDeleteValue(IntPtr keyHandle, string valueName); // 0x10271BA0
+ private static extern int RegEnumKey(IntPtr keyBase, int index, StringBuilder nameBuffer, int bufferLength); // 0x10271C30
+ private static extern int RegEnumValue(IntPtr keyBase, int index, StringBuilder nameBuffer, int nameLength, IntPtr reserved, RegistryValueKind type, IntPtr data, IntPtr dataLength); // 0x10271CE0
+ private static extern int RegSetValueEx(IntPtr keyBase, string valueName, IntPtr reserved, RegistryValueKind type, string data, int rawDataLength); // 0x10272180
+ private static extern int RegSetValueEx(IntPtr keyBase, string valueName, IntPtr reserved, RegistryValueKind type, byte[] rawData, int rawDataLength); // 0x10272220
+ private static extern int RegSetValueEx(IntPtr keyBase, string valueName, IntPtr reserved, RegistryValueKind type, int data, int rawDataLength); // 0x102720E0
+ private static extern int RegQueryValueEx(IntPtr keyBase, string valueName, IntPtr reserved, RegistryValueKind type, IntPtr zero, int dataSize); // 0x10271EB0
+ private static extern int RegQueryValueEx(IntPtr keyBase, string valueName, IntPtr reserved, RegistryValueKind type, out byte[] data, int dataSize); // 0x10271FF0
+ private static extern int RegQueryValueEx(IntPtr keyBase, string valueName, IntPtr reserved, RegistryValueKind type, int data, int dataSize); // 0x10271F50
+ private static IntPtr GetHandle(RegistryKey key); // 0x10271080
+ private static bool IsHandleValid(RegistryKey key); // 0x10271700
+ public object GetValue(RegistryKey rkey, string name, object defaultValue, RegistryValueOptions options); // 0x102713A0
+ public void SetValue(RegistryKey rkey, string name, object value, RegistryValueKind valueKind); // 0x10272640
+ public void SetValue(RegistryKey rkey, string name, object value); // 0x102722C0
+ private int GetBinaryValue(RegistryKey rkey, string name, RegistryValueKind type, out byte[] data, int size); // 0x10270F50
+ public int SubKeyCount(RegistryKey rkey); // 0x10272A00
+ public int ValueCount(RegistryKey rkey); // 0x10272AC0
+ public RegistryKey OpenRemoteBaseKey(RegistryHive hKey, string machineName); // 0x10271720
+ public RegistryKey OpenSubKey(RegistryKey rkey, string keyName, bool writable); // 0x10271820
+ public void Flush(RegistryKey rkey); // 0x10270DC0
+ public void Close(RegistryKey rkey); // 0x10270900
+ public RegistryKey CreateSubKey(RegistryKey rkey, string keyName); // 0x10270A10
+ public void DeleteKey(RegistryKey rkey, string keyName, bool shouldThrowWhenKeyMissing); // 0x10270B60
+ public void DeleteValue(RegistryKey rkey, string value, bool shouldThrowWhenKeyMissing); // 0x10270C90
+ public string[] GetSubKeyNames(RegistryKey rkey); // 0x102710E0
+ public string[] GetValueNames(RegistryKey rkey); // 0x10271200
+ private void GenerateException(int errorCode); // 0x10270E60
+ public string ToString(RegistryKey rkey); // 0x102707B0
+ internal static string CombineName(RegistryKey rkey, string localName); // 0x102709A0
+}
+
+// Namespace: Microsoft.Win32
+internal class Win32ResultCode // TypeDefIndex: 125
+{
+ // Fields
+ public const int Success = 0; // 0x00
+ public const int FileNotFound = 2; // 0x00
+ public const int AccessDenied = 5; // 0x00
+ public const int InvalidParameter = 87; // 0x00
+ public const int MoreData = 234; // 0x00
+ public const int NetworkPathNotFound = 53; // 0x00
+ public const int NoMoreEntries = 259; // 0x00
+ public const int MarkedForDeletion = 1018; // 0x00
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class CodePointIndexer // TypeDefIndex: 126
+{
+ // Fields
+ private readonly TableRange[] ranges; // 0x08
+ public readonly int TotalCount; // 0x0C
+ private int defaultIndex; // 0x10
+ private int defaultCP; // 0x14
+
+ // Methods
+ public void .ctor(int[] starts, int[] ends, int defaultIndex, int defaultCP); // 0x1025B020
+ public static Array CompressArray(Array source, Type type, CodePointIndexer indexer); // 0x1025AE30
+ public int ToIndex(int cp); // 0x1025AF80
+ public int ToCodePoint(int i); // 0x1025AEE0
+}
+
+// Namespace:
+[Serializable]
+internal struct TableRange // TypeDefIndex: 127
+{
+ // Fields
+ public readonly int Start; // 0x08
+ public readonly int End; // 0x0C
+ public readonly int Count; // 0x10
+ public readonly int IndexStart; // 0x14
+ public readonly int IndexEnd; // 0x18
+
+ // Methods
+ public void .ctor(int start, int end, int indexStart); // 0x100191B0
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class TailoringInfo // TypeDefIndex: 128
+{
+ // Fields
+ public readonly int LCID; // 0x08
+ public readonly int TailoringIndex; // 0x0C
+ public readonly int TailoringCount; // 0x10
+ public readonly bool FrenchSort; // 0x14
+
+ // Methods
+ public void .ctor(int lcid, int tailoringIndex, int tailoringCount, bool frenchSort); // 0x102AF050
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class Contraction // TypeDefIndex: 129
+{
+ // Fields
+ public readonly char[] Source; // 0x08
+ public readonly string Replacement; // 0x0C
+ public readonly byte[] SortKey; // 0x10
+
+ // Methods
+ public void .ctor(char[] source, string replacement, byte[] sortkey); // 0x10127920
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class ContractionComparer : IComparer // TypeDefIndex: 130
+{
+ // Fields
+ public static readonly ContractionComparer Instance; // 0x00
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x1025B340
+ public int Compare(object o1, object o2); // 0x1025B1E0
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class Level2Map // TypeDefIndex: 131
+{
+ // Fields
+ public byte Source; // 0x08
+ public byte Replace; // 0x09
+
+ // Methods
+ public void .ctor(byte source, byte replace); // 0x10261430
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class Level2MapComparer : IComparer // TypeDefIndex: 132
+{
+ // Fields
+ public static readonly Level2MapComparer Instance; // 0x00
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x102613E0
+ public int Compare(object o1, object o2); // 0x10261320
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class MSCompatUnicodeTable // TypeDefIndex: 133
+{
+ // Fields
+ private const int ResourceVersionSize = 1; // 0x00
+ public static int MaxExpansionLength; // 0x00
+ private static readonly void * ignorableFlags; // 0x04
+ private static readonly void * categories; // 0x08
+ private static readonly void * level1; // 0x0C
+ private static readonly void * level2; // 0x10
+ private static readonly void * level3; // 0x14
+ private static void * cjkCHScategory; // 0x18
+ private static void * cjkCHTcategory; // 0x1C
+ private static void * cjkJAcategory; // 0x20
+ private static void * cjkKOcategory; // 0x24
+ private static void * cjkCHSlv1; // 0x28
+ private static void * cjkCHTlv1; // 0x2C
+ private static void * cjkJAlv1; // 0x30
+ private static void * cjkKOlv1; // 0x34
+ private static void * cjkKOlv2; // 0x38
+ private static readonly char[] tailoringArr; // 0x3C
+ private static readonly TailoringInfo[] tailoringInfos; // 0x40
+ private static object forLock; // 0x44
+ public static readonly bool isReady; // 0x48
+ private static Dictionary`2 <>f__switch$map2; // 0x4C
+ private static Dictionary`2 <>f__switch$map3; // 0x50
+ private static Dictionary`2 <>f__switch$map4; // 0x54
+
+ // Properties
+ public static bool IsReady { get; } // 0x10263A10
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x10263670
+ public static TailoringInfo GetTailoringInfo(int lcid); // 0x10262950
+ public static void BuildTailoringTables(CultureInfo culture, TailoringInfo t, Contraction[] contractions, Level2Map[] diacriticals); // 0x10261A80
+ private static void SetCJKReferences(string name, CodePointIndexer cjkIndexer, void * catTable, void * lv1Table, CodePointIndexer lv2Indexer, void * lv2Table); // 0x10263180
+ public static byte Category(int cp); // 0x10261FC0
+ public static byte Level1(int cp); // 0x10262FD0
+ public static byte Level2(int cp); // 0x10263060
+ public static byte Level3(int cp); // 0x102630F0
+ public static bool IsSortable(string s); // 0x10262F40
+ public static bool IsSortable(int cp); // 0x10262E20
+ public static bool IsIgnorable(int cp); // 0x10262CB0
+ public static bool IsIgnorable(int cp, byte flag); // 0x10262BB0
+ public static bool IsIgnorableSymbol(int cp); // 0x10262B60
+ public static bool IsIgnorableNonSpacing(int cp); // 0x10262B10
+ public static int ToKanaTypeInsensitive(int i); // 0x102634A0
+ public static int ToWidthCompat(int i); // 0x102634C0
+ public static bool HasSpecialWeight(char c); // 0x10262A30
+ public static byte GetJapaneseDashType(char c); // 0x10262890
+ public static bool IsHalfWidthKana(char c); // 0x10262AB0
+ public static bool IsHiragana(char c); // 0x10262AE0
+ public static bool IsJapaneseSmallLetter(char c); // 0x10262D00
+ private static IntPtr GetResource(string name); // 0x102628E0
+ private static uint UInt32FromBytePtr(void * raw, uint idx); // 0x10263640
+ public static void FillCJK(string culture, CodePointIndexer cjkIndexer, void * catTable, void * lv1Table, CodePointIndexer lv2Indexer, void * lv2Table); // 0x10262730
+ private static void FillCJKCore(string culture, CodePointIndexer cjkIndexer, void * catTable, void * lv1Table, CodePointIndexer cjkLv2Indexer, void * lv2Table); // 0x10262050
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class MSCompatUnicodeTableUtil // TypeDefIndex: 134
+{
+ // Fields
+ public const byte ResourceVersion = 3; // 0x00
+ public static readonly CodePointIndexer Ignorable; // 0x00
+ public static readonly CodePointIndexer Category; // 0x04
+ public static readonly CodePointIndexer Level1; // 0x08
+ public static readonly CodePointIndexer Level2; // 0x0C
+ public static readonly CodePointIndexer Level3; // 0x10
+ public static readonly CodePointIndexer CjkCHS; // 0x14
+ public static readonly CodePointIndexer Cjk; // 0x18
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x102614B0
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal enum NormalizationCheck // TypeDefIndex: 135
+{
+ Yes = 0,
+ No = 1,
+ Maybe = 2
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class Normalization // TypeDefIndex: 136
+{
+ // Fields
+ public const int NoNfd = 1; // 0x00
+ public const int NoNfkd = 2; // 0x00
+ public const int NoNfc = 4; // 0x00
+ public const int MaybeNfc = 8; // 0x00
+ public const int NoNfkc = 16; // 0x00
+ public const int MaybeNfkc = 32; // 0x00
+ public const int FullCompositionExclusion = 64; // 0x00
+ public const int IsUnsafe = 128; // 0x00
+ private const int HangulSBase = 44032; // 0x00
+ private const int HangulLBase = 4352; // 0x00
+ private const int HangulVBase = 4449; // 0x00
+ private const int HangulTBase = 4519; // 0x00
+ private const int HangulLCount = 19; // 0x00
+ private const int HangulVCount = 21; // 0x00
+ private const int HangulTCount = 28; // 0x00
+ private const int HangulNCount = 588; // 0x00
+ private const int HangulSCount = 11172; // 0x00
+ private static void * props; // 0x00
+ private static void * mappedChars; // 0x04
+ private static void * charMapIndex; // 0x08
+ private static void * helperIndex; // 0x0C
+ private static void * mapIdxToComposite; // 0x10
+ private static void * combiningClass; // 0x14
+ private static object forLock; // 0x18
+ public static readonly bool isReady; // 0x1C
+
+ // Properties
+ public static bool IsReady { get; } // 0x10265E10
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x10265C30
+ private static uint PropValue(int cp); // 0x10265790
+ private static int CharMapIdx(int cp); // 0x10264160
+ private static int GetNormalizedStringLength(int ch); // 0x10264F10
+ private static byte GetCombiningClass(int c); // 0x10264E80
+ private static int GetPrimaryCompositeFromMapIndex(int src); // 0x10265290
+ private static int GetPrimaryCompositeHelperIndex(int cp); // 0x10265330
+ private static int GetPrimaryCompositeCharIndex(object chars, int start); // 0x10264FD0
+ private static string Compose(string source, int checkType); // 0x10264570
+ private static StringBuilder Combine(string source, int start, int checkType); // 0x10264460
+ private static bool CanBePrimaryComposite(int i); // 0x102640C0
+ private static void Combine(StringBuilder sb, int start, int checkType); // 0x102641E0
+ private static int GetPrimaryCompositeMapIndex(object o, int cur, int bufferPos); // 0x102653D0
+ private static string Decompose(string source, int checkType); // 0x10264A30
+ private static void Decompose(string source, StringBuilder sb, int checkType); // 0x10264910
+ private static void ReorderCanonical(string src, StringBuilder sb, int start); // 0x102659C0
+ private static void DecomposeChar(StringBuilder sb, int[] buf, string s, int i, int start); // 0x10264740
+ public static NormalizationCheck QuickCheck(char c, int type); // 0x10265860
+ private static bool GetCanonicalHangul(int s, int[] buf, int bufIdx); // 0x10264AB0
+ public static void GetCanonical(int c, int[] buf, int bufIdx); // 0x10264BE0
+ public static bool IsNormalized(string source, int type); // 0x10265480
+ public static string Normalize(string source, int type); // 0x10265690
+ private static void load_normalization_resource(out IntPtr props, out IntPtr mappedChars, out IntPtr charMapIndex, out IntPtr helperIndex, out IntPtr mapIdxToComposite, out IntPtr combiningClass); // 0x10265E60
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class NormalizationTableUtil // TypeDefIndex: 137
+{
+ // Fields
+ public static readonly CodePointIndexer Prop; // 0x00
+ public static readonly CodePointIndexer Map; // 0x04
+ public static readonly CodePointIndexer Combining; // 0x08
+ public static readonly CodePointIndexer Composite; // 0x0C
+ public static readonly CodePointIndexer Helper; // 0x10
+
+ // Properties
+ public static int PropCount { get; } // 0x10264060
+ public static int MapCount { get; } // 0x10264000
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x10263D00
+ public static int PropIdx(int cp); // 0x10263C90
+ public static int PropCP(int index); // 0x10263C20
+ public static int MapIdx(int cp); // 0x10263BB0
+ public static int MapCP(int index); // 0x10263B40
+ public static int CbIdx(int cp); // 0x10263AD0
+ public static int CbCP(int index); // 0x10263A60
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class SimpleCollator // TypeDefIndex: 138
+{
+ // Fields
+ private const int UnsafeFlagLength = 96; // 0x00
+ private static bool QuickCheckDisabled; // 0x00
+ private static SimpleCollator invariant; // 0x04
+ private readonly TextInfo textInfo; // 0x08
+ private readonly bool frenchSort; // 0x0C
+ private readonly void * cjkCatTable; // 0x10
+ private readonly void * cjkLv1Table; // 0x14
+ private readonly CodePointIndexer cjkIndexer; // 0x18
+ private readonly void * cjkLv2Table; // 0x1C
+ private readonly CodePointIndexer cjkLv2Indexer; // 0x20
+ private readonly int lcid; // 0x24
+ private readonly Contraction[] contractions; // 0x28
+ private readonly Level2Map[] level2Maps; // 0x2C
+ private readonly byte[] unsafeFlags; // 0x30
+
+ // Methods
+ public void .ctor(CultureInfo culture); // 0x1026EBD0
+ private static void .cctor(); // 0x1026EB10
+ private void SetCJKTable(CultureInfo culture, CodePointIndexer cjkIndexer, void * catTable, void * lv1Table, CodePointIndexer lv2Indexer, void * lv2Table); // 0x1026E9A0
+ private static CultureInfo GetNeutralCulture(CultureInfo info); // 0x1026B5F0
+ private byte Category(int cp); // 0x10268AB0
+ private byte Level1(int cp); // 0x1026DAC0
+ private byte Level2(int cp, ExtenderType ext); // 0x1026DB50
+ private static bool IsHalfKana(int cp, CompareOptions opt); // 0x1026CA60
+ private Contraction GetContraction(string s, int start, int end); // 0x1026B3F0
+ private Contraction GetContraction(string s, int start, int end, Contraction[] clist); // 0x1026B2E0
+ private Contraction GetTailContraction(string s, int start, int end); // 0x1026BD40
+ private Contraction GetTailContraction(string s, int start, int end, Contraction[] clist); // 0x1026BB60
+ private Contraction GetContraction(char c); // 0x1026B490
+ private Contraction GetContraction(char c, Contraction[] clist); // 0x1026B250
+ private int FilterOptions(int i, CompareOptions opt); // 0x1026AFA0
+ private ExtenderType GetExtenderType(int i); // 0x1026B520
+ private static byte ToDashTypeValue(ExtenderType ext, CompareOptions opt); // 0x1026EAD0
+ private int FilterExtender(int i, ExtenderType ext, CompareOptions opt); // 0x1026ADE0
+ private static bool IsIgnorable(int i, CompareOptions opt); // 0x1026CAD0
+ private bool IsSafe(int i); // 0x1026CC90
+ public SortKey GetSortKey(string s); // 0x1026B7B0
+ public SortKey GetSortKey(string s, CompareOptions options); // 0x1026B710
+ public SortKey GetSortKey(string s, int start, int length, CompareOptions options); // 0x1026B680
+ private void GetSortKey(string s, int start, int end, SortKeyBuffer buf, CompareOptions opt); // 0x1026B850
+ private void FillSortKeyRaw(int i, ExtenderType ext, SortKeyBuffer buf, CompareOptions opt); // 0x1026A9C0
+ private void FillSurrogateSortKeyRaw(int i, SortKeyBuffer buf); // 0x1026AD30
+ public int Compare(string s1, string s2); // 0x1026A800
+ public int Compare(string s1, string s2, CompareOptions options); // 0x1026A840
+ private int CompareOrdinal(string s1, int idx1, int len1, string s2, int idx2, int len2); // 0x10269FF0
+ private int CompareQuick(string s1, int idx1, int len1, string s2, int idx2, int len2, out bool sourceConsumed, out bool targetConsumed, bool immediateBreakup); // 0x1026A2B0
+ private int CompareOrdinalIgnoreCase(string s1, int idx1, int len1, string s2, int idx2, int len2); // 0x10269C90
+ public int Compare(string s1, int idx1, int len1, string s2, int idx2, int len2, CompareOptions options); // 0x1026A880
+ private void ClearBuffer(void * buffer, int size); // 0x10268B40
+ private bool QuickCheckPossible(string s1, int idx1, int end1, string s2, int idx2, int end2); // 0x100EFBF0
+ private int CompareInternal(string s1, int idx1, int len1, string s2, int idx2, int len2, out bool targetConsumed, out bool sourceConsumed, bool skipHeadingExtenders, bool immediateBreakup, Context ctx); // 0x10268B80
+ private int CompareFlagPair(bool b1, bool b2); // 0x10268B60
+ public bool IsPrefix(string src, string target, CompareOptions opt); // 0x1026CB50
+ public bool IsPrefix(string s, string target, int start, int length, CompareOptions opt); // 0x1026CB80
+ private bool IsPrefix(string s, string target, int start, int length, bool skipHeadingExtenders, Context ctx); // 0x1026CC40
+ public bool IsSuffix(string src, string target, CompareOptions opt); // 0x1026CD00
+ public bool IsSuffix(string s, string target, int start, int length, CompareOptions opt); // 0x1026CD80
+ public int IndexOf(string s, string target, CompareOptions opt); // 0x1026C720
+ private int QuickIndexOf(string s, string target, int start, int length, out bool testWasUnable); // 0x1026E870
+ public int IndexOf(string s, string target, int start, int length, CompareOptions opt); // 0x1026C3D0
+ private int IndexOfOrdinal(string s, string target, int start, int length); // 0x1026BFC0
+ private int IndexOfOrdinalIgnoreCase(string s, string target, int start, int length); // 0x1026BE80
+ public int IndexOf(string s, char target, CompareOptions opt); // 0x1026CA30
+ public int IndexOf(string s, char target, int start, int length, CompareOptions opt); // 0x1026C750
+ private int IndexOfOrdinal(string s, char target, int start, int length); // 0x1026BF70
+ private int IndexOfOrdinalIgnoreCase(string s, char target, int start, int length); // 0x1026BDE0
+ private int IndexOfSortKey(string s, int start, int length, void * sortkey, char target, int ti, bool noLv4, Context ctx); // 0x1026C050
+ private int IndexOf(string s, string target, int start, int length, void * targetSortKey, Context ctx); // 0x1026C0A0
+ public int LastIndexOf(string s, string target, CompareOptions opt); // 0x1026D1F0
+ public int LastIndexOf(string s, string target, int start, int length, CompareOptions opt); // 0x1026D520
+ private int LastIndexOfOrdinal(string s, string target, int start, int length); // 0x1026D030
+ private int LastIndexOfOrdinalIgnoreCase(string s, string target, int start, int length); // 0x1026CEB0
+ public int LastIndexOf(string s, char target, CompareOptions opt); // 0x1026D4F0
+ public int LastIndexOf(string s, char target, int start, int length, CompareOptions opt); // 0x1026D220
+ private int LastIndexOfOrdinal(string s, char target, int start, int length); // 0x1026D130
+ private int LastIndexOfOrdinalIgnoreCase(string s, char target, int start, int length); // 0x1026CE00
+ private int LastIndexOfSortKey(string s, int start, int orgStart, int length, void * sortkey, int ti, bool noLv4, Context ctx); // 0x1026D190
+ private int LastIndexOf(string s, string target, int start, int length, void * targetSortKey, Context ctx); // 0x1026D710
+ private bool MatchesForward(string s, int idx, int end, int ti, void * sortkey, bool noLv4, Context ctx); // 0x1026E550
+ private bool MatchesForwardCore(string s, int idx, int end, int ti, void * sortkey, bool noLv4, ExtenderType ext, Contraction ct, Context ctx); // 0x1026E250
+ private bool MatchesPrimitive(CompareOptions opt, void * source, int si, ExtenderType ext, void * target, int ti, bool noLv4); // 0x1026E6A0
+ private bool MatchesBackward(string s, int idx, int end, int orgStart, int ti, void * sortkey, bool noLv4, Context ctx); // 0x1026E100
+ private bool MatchesBackwardCore(string s, int idx, int end, int orgStart, int ti, void * sortkey, bool noLv4, ExtenderType ext, Contraction ct, Context ctx); // 0x1026DCC0
+}
+
+// Namespace:
+internal struct Context // TypeDefIndex: 139
+{
+ // Fields
+ public readonly CompareOptions Option; // 0x08
+ public readonly void * NeverMatchFlags; // 0x0C
+ public readonly void * AlwaysMatchFlags; // 0x10
+ public void * Buffer1; // 0x14
+ public void * Buffer2; // 0x18
+ public int PrevCode; // 0x1C
+ public void * PrevSortKey; // 0x20
+ public readonly bool QuickCheckPossible; // 0x24
+
+ // Methods
+ public void .ctor(CompareOptions opt, void * alwaysMatchFlags, void * neverMatchFlags, void * buffer1, void * buffer2, void * prev1, bool quickCheckPossible); // 0x1001B880
+ public void ClearPrevInfo(); // 0x1001B860
+}
+
+// Namespace:
+private struct PreviousInfo // TypeDefIndex: 140
+{
+ // Fields
+ public int Code; // 0x08
+ public void * SortKey; // 0x0C
+
+ // Methods
+ public void .ctor(bool dummy); // 0x1001B9C0
+}
+
+// Namespace:
+private struct Escape // TypeDefIndex: 141
+{
+ // Fields
+ public string Source; // 0x08
+ public int Index; // 0x0C
+ public int Start; // 0x10
+ public int End; // 0x14
+ public int Optional; // 0x18
+
+}
+
+// Namespace:
+private enum ExtenderType // TypeDefIndex: 142
+{
+ None = 0,
+ Simple = 1,
+ Voiced = 2,
+ Conditional = 3,
+ Buggy = 4
+}
+
+// Namespace: System.Globalization
+[Serializable]
+public class SortKey // TypeDefIndex: 143
+{
+ // Fields
+ private readonly string source; // 0x08
+ private readonly CompareOptions options; // 0x0C
+ private readonly byte[] key; // 0x10
+ private readonly int lcid; // 0x14
+
+ // Properties
+ public virtual string OriginalString { get; } // 0x100BF0C0
+ public virtual byte[] KeyData { get; } // 0x100BFC20
+
+ // Methods
+ internal void .ctor(int lcid, string source, CompareOptions opt); // 0x102C26C0
+ internal void .ctor(int lcid, string source, byte[] buffer, CompareOptions opt, int lv1Length, int lv2Length, int lv3Length, int kanaSmallLength, int markTypeLength, int katakanaLength, int kanaWidthLength, int identLength); // 0x102C2690
+ public static int Compare(SortKey sortkey1, SortKey sortkey2); // 0x102C2190
+ public override bool Equals(object value); // 0x102C2320
+ public override int GetHashCode(); // 0x102C23B0
+ public override string ToString(); // 0x102C2410
+}
+
+// Namespace: Mono.Globalization.Unicode
+internal class SortKeyBuffer // TypeDefIndex: 144
+{
+ // Fields
+ private int l1; // 0x08
+ private int l2; // 0x0C
+ private int l3; // 0x10
+ private int l4s; // 0x14
+ private int l4t; // 0x18
+ private int l4k; // 0x1C
+ private int l4w; // 0x20
+ private int l5; // 0x24
+ private byte[] l1b; // 0x28
+ private byte[] l2b; // 0x2C
+ private byte[] l3b; // 0x30
+ private byte[] l4sb; // 0x34
+ private byte[] l4tb; // 0x38
+ private byte[] l4kb; // 0x3C
+ private byte[] l4wb; // 0x40
+ private byte[] l5b; // 0x44
+ private string source; // 0x48
+ private bool processLevel2; // 0x4C
+ private bool frenchSort; // 0x4D
+ private bool frenchSorted; // 0x4E
+ private int lcid; // 0x50
+ private CompareOptions options; // 0x54
+
+ // Methods
+ public void .ctor(int lcid); // 0x101AA300
+ public void Reset(); // 0x102AF000
+ internal void ClearBuffer(); // 0x102AEA00
+ internal void Initialize(CompareOptions options, int lcid, string s, bool frenchSort); // 0x102AEEB0
+ internal void AppendCJKExtension(byte lv1msb, byte lv1lsb); // 0x102AE680
+ internal void AppendKana(byte category, byte lv1, byte lv2, byte lv3, bool isSmallKana, byte markType, bool isKatakana, bool isHalfWidth); // 0x102AE700
+ internal void AppendNormal(byte category, byte lv1, byte lv2, byte lv3); // 0x102AE830
+ private void AppendLevel5(byte category, byte lv1); // 0x102AE7A0
+ private void AppendBufferPrimitive(byte value, byte[] buf, int bidx); // 0x102AE5E0
+ public SortKey GetResultAndReset(); // 0x102AEA90
+ private int GetOptimizedLength(byte[] data, int len, byte defaultValue); // 0x102AEA40
+ public SortKey GetResult(); // 0x102AEAF0
+}
+
+// Namespace: Mono.Interop
+internal class ComInteropProxy : RealProxy, IRemotingTypeInfo // TypeDefIndex: 145
+{
+ // Fields
+ private __ComObject com_object; // 0x28
+ private int ref_count; // 0x2C
+ private string type_name; // 0x30
+
+ // Properties
+ public string TypeName { get; set; } // 0x100EA580 0x100C15B0
+
+ // Methods
+ private void .ctor(Type t); // 0x102A1D00
+ private void .ctor(IntPtr pUnk); // 0x102A1D30
+ internal void .ctor(IntPtr pUnk, Type t); // 0x102A1E00
+ private static void AddProxy(IntPtr pItf, ComInteropProxy proxy); // 0x101B65B0
+ internal static ComInteropProxy FindProxy(IntPtr pItf); // 0x10104640
+ private void CacheProxy(); // 0x102A18A0
+ internal static ComInteropProxy GetProxy(IntPtr pItf, Type t); // 0x102A1AB0
+ internal static ComInteropProxy CreateProxy(Type t); // 0x102A19A0
+ public override IMessage Invoke(IMessage msg); // 0x102A1C70
+ public bool CanCastTo(Type fromType, object o); // 0x102A18D0
+}
+
+// Namespace: Mono.Interop
+internal interface IDispatch // TypeDefIndex: 146
+{
+}
+
+// Namespace: Mono.Interop
+internal interface IUnknown // TypeDefIndex: 147
+{
+}
+
+// Namespace: Mono.Math.Prime.Generator
+internal class NextPrimeFinder : SequentialSearchPrimeGeneratorBase // TypeDefIndex: 148
+{
+ // Methods
+ public void .ctor(); // 0x100BF000
+ protected override BigInteger GenerateSearchBase(int bits, object Context); // 0x102AC230
+}
+
+// Namespace: Mono.Math.Prime.Generator
+internal abstract class PrimeGeneratorBase // TypeDefIndex: 149
+{
+ // Properties
+ public virtual ConfidenceFactor Confidence { get; } // 0x1016F1E0
+ public virtual PrimalityTest PrimalityTest { get; } // 0x102AE170
+ public virtual int TrialDivisionBounds { get; } // 0x102AE1C0
+
+ // Methods
+ protected void .ctor(); // 0x100BF000
+ protected bool PostTrialDivisionTests(BigInteger bi); // 0x102AE120
+ public abstract BigInteger GenerateNewPrime(int bits);
+}
+
+// Namespace: Mono.Math.Prime.Generator
+internal class SequentialSearchPrimeGeneratorBase : PrimeGeneratorBase // TypeDefIndex: 150
+{
+ // Methods
+ public void .ctor(); // 0x100BF000
+ protected virtual BigInteger GenerateSearchBase(int bits, object context); // 0x102AE510
+ public override BigInteger GenerateNewPrime(int bits); // 0x1020A380
+ public virtual BigInteger GenerateNewPrime(int bits, object context); // 0x102AE1F0
+ protected virtual bool IsPrimeAcceptable(BigInteger bi, object context); // 0x100E5880
+}
+
+// Namespace: Mono.Math.Prime
+internal enum ConfidenceFactor // TypeDefIndex: 151
+{
+ ExtraLow = 0,
+ Low = 1,
+ Medium = 2,
+ High = 3,
+ ExtraHigh = 4,
+ Provable = 5
+}
+
+// Namespace: Mono.Math.Prime
+internal sealed class PrimalityTests // TypeDefIndex: 152
+{
+ // Methods
+ private void .ctor(); // 0x100BF000
+ private static int GetSPPRounds(BigInteger bi, ConfidenceFactor confidence); // 0x102AD9F0
+ public static bool Test(BigInteger n, ConfidenceFactor confidence); // 0x102AE0E0
+ public static bool RabinMillerTest(BigInteger n, ConfidenceFactor confidence); // 0x102ADB80
+ public static bool SmallPrimeSppTest(BigInteger bi, ConfidenceFactor confidence); // 0x102ADEE0
+}
+
+// Namespace: Mono.Math
+internal class BigInteger // TypeDefIndex: 153
+{
+ // Fields
+ private const uint DEFAULT_LEN = 20; // 0x00
+ private const string WouldReturnNegVal = "Operation would return a negative value"; // 0x00
+ private uint length; // 0x08
+ private uint[] data; // 0x0C
+ internal static readonly uint[] smallPrimes; // 0x00
+ private static RandomNumberGenerator rng; // 0x04
+
+ // Properties
+ private static RandomNumberGenerator Rng { get; } // 0x1029FD70
+
+ // Methods
+ public void .ctor(); // 0x1029FC60
+ public void .ctor(Sign sign, uint len); // 0x1029FC00
+ public void .ctor(BigInteger bi); // 0x1029F640
+ public void .ctor(BigInteger bi, uint len); // 0x1029FCC0
+ public void .ctor(byte[] inData); // 0x1029F910
+ public void .ctor(uint[] inData); // 0x1029F6E0
+ public void .ctor(uint ui); // 0x1029F890
+ public void .ctor(ulong ul); // 0x1029F7F0
+ private static void .cctor(); // 0x1029F5F0
+ public static BigInteger Parse(string number); // 0x1029EC60
+ public static BigInteger Add(BigInteger bi1, BigInteger bi2); // 0x1029DDF0
+ public static BigInteger Subtract(BigInteger bi1, BigInteger bi2); // 0x1029F150
+ public static int Modulus(BigInteger bi, int i); // 0x1029EA80
+ public static uint Modulus(BigInteger bi, uint ui); // 0x1029E9B0
+ public static BigInteger Modulus(BigInteger bi1, BigInteger bi2); // 0x1029EA00
+ public static BigInteger Divid(BigInteger bi, int i); // 0x1029DF60
+ public static BigInteger Divid(BigInteger bi1, BigInteger bi2); // 0x1029E010
+ public static BigInteger Multiply(BigInteger bi1, BigInteger bi2); // 0x1029EAF0
+ public static BigInteger Multiply(BigInteger bi, int i); // 0x1029EB40
+ public static BigInteger GenerateRandom(int bits, RandomNumberGenerator rng); // 0x1029E260
+ public static BigInteger GenerateRandom(int bits); // 0x1029E200
+ public void Randomize(RandomNumberGenerator rng); // 0x1029EEE0
+ public void Randomize(); // 0x1029EE80
+ public int BitCount(); // 0x1029DE40
+ public bool TestBit(uint bitNum); // 0x1029F1A0
+ public bool TestBit(int bitNum); // 0x1029F1F0
+ public void SetBit(uint bitNum); // 0x1029F100
+ public void ClearBit(uint bitNum); // 0x1029DEA0
+ public void SetBit(uint bitNum, bool value); // 0x1029F090
+ public int LowestSetBit(); // 0x1029E880
+ public byte[] GetBytes(); // 0x1029E3F0
+ public Sign Compare(BigInteger bi); // 0x1029DF50
+ public string ToString(uint radix); // 0x1029F2D0
+ public string ToString(uint radix, string characterSet); // 0x1029F310
+ private void Normalize(); // 0x1029EC00
+ public void Clear(); // 0x1029DEF0
+ public override int GetHashCode(); // 0x1029E550
+ public override string ToString(); // 0x1029F290
+ public override bool Equals(object o); // 0x1029E090
+ public BigInteger GCD(BigInteger bi); // 0x1029E190
+ public BigInteger ModInverse(BigInteger modulus); // 0x1029E940
+ public BigInteger ModPow(BigInteger exp, BigInteger n); // 0x1029E950
+ public bool IsProbablePrime(); // 0x1029E660
+ public static BigInteger NextHighestPrime(BigInteger bi); // 0x1029EB90
+ public static BigInteger GeneratePseudoPrime(int bits); // 0x1029E1A0
+ public void Incr2(); // 0x1029E5A0
+ public static BigInteger op_Implicit(uint value); // 0x102A0150
+ public static BigInteger op_Implicit(int value); // 0x102A01A0
+ public static BigInteger op_Implicit(ulong value); // 0x102A0220
+ public static BigInteger op_Addition(BigInteger bi1, BigInteger bi2); // 0x1029FE30
+ public static BigInteger op_Subtraction(BigInteger bi1, BigInteger bi2); // 0x102A0930
+ public static int op_Modulus(BigInteger bi, int i); // 0x102A0460
+ public static uint op_Modulus(BigInteger bi, uint ui); // 0x102A0450
+ public static BigInteger op_Modulus(BigInteger bi1, BigInteger bi2); // 0x102A0490
+ public static BigInteger op_Division(BigInteger bi, int i); // 0x1029FF50
+ public static BigInteger op_Division(BigInteger bi1, BigInteger bi2); // 0x1029FFC0
+ public static BigInteger op_Multiply(BigInteger bi1, BigInteger bi2); // 0x102A04D0
+ public static BigInteger op_Multiply(BigInteger bi, int i); // 0x102A0700
+ public static BigInteger op_LeftShift(BigInteger bi1, int shiftVal); // 0x102A0400
+ public static BigInteger op_RightShift(BigInteger bi1, int shiftVal); // 0x102A0920
+ public static bool op_Equality(BigInteger bi1, uint ui); // 0x102A00B0
+ public static bool op_Inequality(BigInteger bi1, uint ui); // 0x102A02F0
+ public static bool op_Equality(BigInteger bi1, BigInteger bi2); // 0x102A0000
+ public static bool op_Inequality(BigInteger bi1, BigInteger bi2); // 0x102A0350
+ public static bool op_GreaterThan(BigInteger bi1, BigInteger bi2); // 0x102A0130
+ public static bool op_LessThan(BigInteger bi1, BigInteger bi2); // 0x102A0430
+ public static bool op_GreaterThanOrEqual(BigInteger bi1, BigInteger bi2); // 0x102A0110
+ public static bool op_LessThanOrEqual(BigInteger bi1, BigInteger bi2); // 0x102A0410
+}
+
+// Namespace:
+public enum Sign // TypeDefIndex: 154
+{
+ Negative = -1,
+ Zero = 0,
+ Positive = 1
+}
+
+// Namespace:
+internal sealed class ModulusRing // TypeDefIndex: 155
+{
+ // Fields
+ private BigInteger mod; // 0x08
+ private BigInteger constant; // 0x0C
+
+ // Methods
+ public void .ctor(BigInteger modulus); // 0x102ABE70
+ public void BarrettReduction(BigInteger x); // 0x102AB5C0
+ public BigInteger Multiply(BigInteger a, BigInteger b); // 0x102ABA30
+ public BigInteger Difference(BigInteger a, BigInteger b); // 0x102AB830
+ public BigInteger Pow(BigInteger a, BigInteger k); // 0x102ABCD0
+ public BigInteger Pow(uint b, BigInteger exp); // 0x102ABC80
+}
+
+// Namespace:
+internal sealed class Montgomery // TypeDefIndex: 156
+{
+ // Methods
+ private void .ctor(); // 0x100BF000
+ public static uint Inverse(uint n); // 0x102ABF90
+ public static BigInteger ToMont(BigInteger n, BigInteger m); // 0x102AC180
+ public static BigInteger Reduce(BigInteger n, BigInteger m, uint mPrime); // 0x102ABFC0
+}
+
+// Namespace:
+private sealed class Kernel // TypeDefIndex: 157
+{
+ // Methods
+ public void .ctor(); // 0x100BF000
+ public static BigInteger AddSameSign(BigInteger bi1, BigInteger bi2); // 0x102A6ED0
+ public static BigInteger Subtract(BigInteger big, BigInteger small); // 0x102A8470
+ public static void MinusEq(BigInteger big, BigInteger small); // 0x102A79B0
+ public static void PlusEq(BigInteger bi1, BigInteger bi2); // 0x102A7E00
+ public static Sign Compare(BigInteger bi1, BigInteger bi2); // 0x102A70B0
+ public static uint SingleByteDivideInPlace(BigInteger n, uint d); // 0x102A81C0
+ public static uint DwordMod(BigInteger n, uint d); // 0x102A7620
+ public static BigInteger DwordDiv(BigInteger n, uint d); // 0x102A74A0
+ public static BigInteger[] DwordDivMod(BigInteger n, uint d); // 0x102A71F0
+ public static BigInteger[] multiByteDivide(BigInteger bi1, BigInteger bi2); // 0x102A8FD0
+ public static BigInteger LeftShift(BigInteger bi, int n); // 0x102A76A0
+ public static BigInteger RightShift(BigInteger bi, int n); // 0x102A7FA0
+ public static BigInteger MultiplyByDword(BigInteger n, uint f); // 0x102A7AC0
+ public static void Multiply(uint[] x, uint xOffset, uint xLen, uint[] y, uint yOffset, uint yLen, uint[] d, uint dOffset); // 0x102A7D00
+ public static void MultiplyMod2p32pmod(uint[] x, int xOffset, int xLen, uint[] y, int yOffest, int yLen, uint[] d, int dOffset, int mod); // 0x102A7BE0
+ public static void SquarePositive(BigInteger bi, uint[] wkSpace); // 0x102A82B0
+ public static BigInteger gcd(BigInteger a, BigInteger b); // 0x102A8620
+ public static uint modInverse(BigInteger bi, uint modulus); // 0x102A8850
+ public static BigInteger modInverse(BigInteger bi, BigInteger modulus); // 0x102A8900
+}
+
+// Namespace: Mono.Security.Authenticode
+internal enum Authority // TypeDefIndex: 158
+{
+ Individual = 0,
+ Commercial = 1,
+ Maximum = 2
+}
+
+// Namespace: Mono.Security.Authenticode
+internal class AuthenticodeBase // TypeDefIndex: 159
+{
+ // Fields
+ public const string spcIndirectDataContext = "1.3.6.1.4.1.311.2.1.4"; // 0x00
+ private byte[] fileblock; // 0x08
+ private FileStream fs; // 0x0C
+ private int blockNo; // 0x10
+ private int blockLength; // 0x14
+ private int peOffset; // 0x18
+ private int dirSecurityOffset; // 0x1C
+ private int dirSecuritySize; // 0x20
+ private int coffSymbolTableOffset; // 0x24
+
+ // Properties
+ internal int PEOffset { get; } // 0x1029C050
+ internal int CoffSymbolTableOffset { get; } // 0x1029C030
+ internal int SecurityOffset { get; } // 0x1029C070
+
+ // Methods
+ public void .ctor(); // 0x1029BFE0
+ internal void Open(string filename); // 0x1029BD30
+ internal void Close(); // 0x1029B680
+ internal bool ReadFirstBlock(); // 0x1029BDB0
+ internal byte[] GetSecurityEntry(); // 0x1029BB70
+ internal byte[] GetHash(HashAlgorithm hash); // 0x1029B6C0
+ protected byte[] HashFile(string fileName, string hashName); // 0x1029BC30
+}
+
+// Namespace: Mono.Security.Authenticode
+internal class AuthenticodeDeformatter : AuthenticodeBase // TypeDefIndex: 160
+{
+ // Fields
+ private string filename; // 0x28
+ private byte[] hash; // 0x2C
+ private X509CertificateCollection coll; // 0x30
+ private ASN1 signedHash; // 0x34
+ private DateTime timestamp; // 0x38
+ private X509Certificate signingCertificate; // 0x48
+ private int reason; // 0x4C
+ private bool trustedRoot; // 0x50
+ private bool trustedTimestampRoot; // 0x51
+ private byte[] entry; // 0x54
+ private X509Chain signerChain; // 0x58
+ private X509Chain timestampChain; // 0x5C
+ private static Dictionary`2 <>f__switch$map5; // 0x00
+ private static Dictionary`2 <>f__switch$map6; // 0x04
+ private static Dictionary`2 <>f__switch$map7; // 0x08
+
+ // Properties
+ public string FileName { get; set; } // 0x100EB040 0x1029DC40
+ public byte[] Hash { get; } // 0x1029D9A0
+ public int Reason { get; } // 0x1029DA20
+ public byte[] Signature { get; } // 0x1029DBB0
+ public DateTime Timestamp { get; } // 0x1029DC20
+ public X509CertificateCollection Certificates { get; } // 0x100EA580
+ public X509Certificate SigningCertificate { get; } // 0x10145560
+
+ // Methods
+ public void .ctor(); // 0x1029D850
+ public void .ctor(string fileName); // 0x1029D8F0
+ public bool IsTrusted(); // 0x1029C500
+ private bool CheckSignature(string fileName); // 0x1029C090
+ private bool CompareIssuerSerial(string issuer, byte[] serial, X509Certificate x509); // 0x1029C3E0
+ private bool VerifySignature(SignedData sd, byte[] calculatedMessageDigest, HashAlgorithm ha); // 0x1029CF10
+ private bool VerifyCounterSignature(SignerInfo cs, byte[] signature); // 0x1029C720
+ private void Reset(); // 0x1029C660
+}
+
+// Namespace: Mono.Security.Cryptography
+internal sealed class CryptoConvert // TypeDefIndex: 161
+{
+ // Methods
+ private void .ctor(); // 0x100BF000
+ private static int ToInt32LE(byte[] bytes, int offset); // 0x102A44F0
+ private static uint ToUInt32LE(byte[] bytes, int offset); // 0x102A44F0
+ private static byte[] GetBytesLE(int val); // 0x102A3440
+ private static byte[] Trim(byte[] array); // 0x102A4590
+ public static RSA FromCapiPrivateKeyBlob(byte[] blob); // 0x102A2BA0
+ public static RSA FromCapiPrivateKeyBlob(byte[] blob, int offset); // 0x102A26C0
+ public static DSA FromCapiPrivateKeyBlobDSA(byte[] blob); // 0x102A26A0
+ public static DSA FromCapiPrivateKeyBlobDSA(byte[] blob, int offset); // 0x102A2310
+ public static byte[] ToCapiPrivateKeyBlob(RSA rsa); // 0x102A37A0
+ public static byte[] ToCapiPrivateKeyBlob(DSA dsa); // 0x102A3B70
+ public static RSA FromCapiPublicKeyBlob(byte[] blob); // 0x102A2F70
+ public static RSA FromCapiPublicKeyBlob(byte[] blob, int offset); // 0x102A2F90
+ public static DSA FromCapiPublicKeyBlobDSA(byte[] blob); // 0x102A2F50
+ public static DSA FromCapiPublicKeyBlobDSA(byte[] blob, int offset); // 0x102A2BC0
+ public static byte[] ToCapiPublicKeyBlob(RSA rsa); // 0x102A3E60
+ public static byte[] ToCapiPublicKeyBlob(DSA dsa); // 0x102A4110
+ public static RSA FromCapiKeyBlob(byte[] blob); // 0x102A20D0
+ public static RSA FromCapiKeyBlob(byte[] blob, int offset); // 0x102A21F0
+ public static DSA FromCapiKeyBlobDSA(byte[] blob); // 0x102A1EC0
+ public static DSA FromCapiKeyBlobDSA(byte[] blob, int offset); // 0x102A1FC0
+ public static byte[] ToCapiKeyBlob(AsymmetricAlgorithm keypair, bool includePrivateKey); // 0x102A3580
+ public static byte[] ToCapiKeyBlob(RSA rsa, bool includePrivateKey); // 0x102A3500
+ public static byte[] ToCapiKeyBlob(DSA dsa, bool includePrivateKey); // 0x102A3720
+ public static string ToHex(byte[] input); // 0x102A4400
+ private static byte FromHexChar(char c); // 0x102A3290
+ public static byte[] FromHex(string hex); // 0x102A3320
+}
+
+// Namespace: Mono.Security.Cryptography
+internal sealed class KeyBuilder // TypeDefIndex: 162
+{
+ // Fields
+ private static RandomNumberGenerator rng; // 0x00
+
+ // Properties
+ private static RandomNumberGenerator Rng { get; } // 0x102A97F0
+
+ // Methods
+ private void .ctor(); // 0x100BF000
+ public static byte[] Key(int size); // 0x102A9740
+ public static byte[] IV(int size); // 0x102A9690
+}
+
+// Namespace: Mono.Security.Cryptography
+internal class BlockProcessor // TypeDefIndex: 163
+{
+ // Fields
+ private ICryptoTransform transform; // 0x08
+ private byte[] block; // 0x0C
+ private int blockSize; // 0x10
+ private int blockCount; // 0x14
+
+ // Methods
+ public void .ctor(ICryptoTransform transform); // 0x102A17C0
+ public void .ctor(ICryptoTransform transform, int blockSize); // 0x102A1770
+ protected override void Finalize(); // 0x102A1680
+ public void Initialize(); // 0x102A1740
+ public void Core(byte[] rgb); // 0x102A1600
+ public void Core(byte[] rgb, int ib, int cb); // 0x102A1480
+ public byte[] Final(); // 0x102A1630
+}
+
+// Namespace: Mono.Security.Cryptography
+internal class DSAManaged : DSA // TypeDefIndex: 164
+{
+ // Fields
+ private const int defaultKeySize = 1024; // 0x00
+ private bool keypairGenerated; // 0x10
+ private bool m_disposed; // 0x11
+ private BigInteger p; // 0x14
+ private BigInteger q; // 0x18
+ private BigInteger g; // 0x1C
+ private BigInteger x; // 0x20
+ private BigInteger y; // 0x24
+ private BigInteger j; // 0x28
+ private BigInteger seed; // 0x2C
+ private int counter; // 0x30
+ private bool j_missing; // 0x34
+ private RandomNumberGenerator rng; // 0x38
+ private KeyGeneratedEventHandler KeyGenerated; // 0x3C
+
+ // Properties
+ private RandomNumberGenerator Random { get; } // 0x102A6150
+ public override int KeySize { get; } // 0x102A60C0
+ public override string KeyExchangeAlgorithm { get; } // 0x100C5600
+ public bool PublicOnly { get; } // 0x102A60F0
+ public override string SignatureAlgorithm { get; } // 0x102A6170
+
+ // Events
+ public event KeyGeneratedEventHandler KeyGenerated {
+ add; // 0x102A5FC0
+ remove; // 0x102A61A0
+ }
+
+ // Methods
+ public void .ctor(); // 0x102A5E40
+ public void .ctor(int dwKeySize); // 0x102A5F00
+ protected override void Finalize(); // 0x1010BCA0
+ private void Generate(); // 0x102A56B0
+ private void GenerateKeyPair(); // 0x102A4ED0
+ private void add(byte[] a, byte[] b, int value); // 0x102A6020
+ private void GenerateParams(int keyLength); // 0x102A5120
+ private byte[] NormalizeArray(byte[] array); // 0x102A5980
+ public override DSAParameters ExportParameters(bool includePrivateParameters); // 0x102A4C60
+ public override void ImportParameters(DSAParameters parameters); // 0x102A56F0
+ public override byte[] CreateSignature(byte[] rgbHash); // 0x102A4630
+ public override bool VerifySignature(byte[] rgbHash, byte[] rgbSignature); // 0x102A5A10
+ protected override void Dispose(bool disposing); // 0x102A49F0
+}
+
+// Namespace:
+public delegate void KeyGeneratedEventHandler(object sender, EventArgs e); // TypeDefIndex: 165; 0x1016E5B0
+
+// Namespace: Mono.Security.Cryptography
+internal class HMACAlgorithm // TypeDefIndex: 166
+{
+ // Fields
+ private byte[] key; // 0x08
+ private byte[] hash; // 0x0C
+ private HashAlgorithm algo; // 0x10
+ private string hashName; // 0x14
+ private BlockProcessor block; // 0x18
+
+ // Properties
+ public HashAlgorithm Algo { get; } // 0x100BFC20
+ public string HashName { get; set; } // 0x100EF0C0 0x102A6E20
+ public byte[] Key { get; set; } // 0x100BF0C0 0x102A6E30
+
+ // Methods
+ public void .ctor(string algoName); // 0x102A6E00
+ protected override void Finalize(); // 0x102A6BF0
+ private void CreateHash(string algoName); // 0x102A69E0
+ public void Dispose(); // 0x102A6A80
+ public void Initialize(); // 0x102A6CB0
+ private byte[] KeySetup(byte[] key, byte padding); // 0x102A6D40
+ public void Core(byte[] rgb, int ib, int cb); // 0x102A69B0
+ public byte[] Final(); // 0x102A6AA0
+}
+
+// Namespace: Mono.Security.Cryptography
+internal class KeyPairPersistence // TypeDefIndex: 167
+{
+ // Fields
+ private static bool _userPathExists; // 0x00
+ private static string _userPath; // 0x04
+ private static bool _machinePathExists; // 0x08
+ private static string _machinePath; // 0x0C
+ private CspParameters _params; // 0x08
+ private string _keyvalue; // 0x0C
+ private string _filename; // 0x10
+ private string _container; // 0x14
+ private static object lockobj; // 0x10
+
+ // Properties
+ public string Filename { get; } // 0x102AA560
+ public string KeyValue { get; set; } // 0x100C5B30 0x102AB1C0
+ public CspParameters Parameters { get; } // 0x102AACA0
+ private static string UserPath { get; } // 0x102AAD00
+ private static string MachinePath { get; } // 0x102AA7D0
+ private bool CanChange { get; } // 0x101D0E10
+ private bool UseDefaultKeyContainer { get; } // 0x102AACC0
+ private bool UseMachineKeyStore { get; } // 0x102AACE0
+ private string ContainerName { get; } // 0x102AA400
+
+ // Methods
+ public void .ctor(CspParameters parameters); // 0x102AA300
+ public void .ctor(CspParameters parameters, string keyPair); // 0x102AA380
+ private static void .cctor(); // 0x102AA2A0
+ public bool Load(); // 0x102A9B80
+ public void Save(); // 0x102A9F30
+ public void Remove(); // 0x102A9F00
+ internal static bool _CanSecure(string root); // 0x100E9F80
+ internal static bool _ProtectUser(string path); // 0x100E9F80
+ internal static bool _ProtectMachine(string path); // 0x100E9F80
+ internal static bool _IsUserProtected(string path); // 0x100E9F80
+ internal static bool _IsMachineProtected(string path); // 0x100E9F80
+ private static bool CanSecure(string path); // 0x102A9840
+ private static bool ProtectUser(string path); // 0x102A9E80
+ private static bool ProtectMachine(string path); // 0x102A9E00
+ private static bool IsUserProtected(string path); // 0x102A9B00
+ private static bool IsMachineProtected(string path); // 0x102A9A80
+ private CspParameters Copy(CspParameters p); // 0x102A98F0
+ private void FromXml(string xml); // 0x102A9970
+ private string ToXml(); // 0x102AA150
+}
+
+// Namespace: Mono.Security.Cryptography
+internal class MACAlgorithm // TypeDefIndex: 168
+{
+ // Fields
+ private SymmetricAlgorithm algo; // 0x08
+ private ICryptoTransform enc; // 0x0C
+ private byte[] block; // 0x10
+ private int blockSize; // 0x14
+ private int blockCount; // 0x18
+
+ // Methods
+ public void .ctor(SymmetricAlgorithm algorithm); // 0x102AB500
+ public void Initialize(byte[] key); // 0x102AB490
+ public void Core(byte[] rgb, int ib, int cb); // 0x102AB1E0
+ public byte[] Final(); // 0x102AB360
+}
+
+// Namespace: Mono.Security.Cryptography
+internal sealed class PKCS1 // TypeDefIndex: 169
+{
+ // Fields
+ private static byte[] emptySHA1; // 0x00
+ private static byte[] emptySHA256; // 0x04
+ private static byte[] emptySHA384; // 0x08
+ private static byte[] emptySHA512; // 0x0C
+
+ // Methods
+ private void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x102AD650
+ private static bool Compare(byte[] array1, byte[] array2); // 0x102AC320
+ private static byte[] xor(byte[] array1, byte[] array2); // 0x102AD720
+ private static byte[] GetEmptyHash(HashAlgorithm hash); // 0x102ACE80
+ public static byte[] I2OSP(int x, int size); // 0x102AD010
+ public static byte[] I2OSP(byte[] x, int size); // 0x102AD090
+ public static byte[] OS2IP(byte[] x); // 0x102AD290
+ public static byte[] RSAEP(RSA rsa, byte[] m); // 0x102AD360
+ public static byte[] RSADP(RSA rsa, byte[] c); // 0x102AD330
+ public static byte[] RSASP1(RSA rsa, byte[] m); // 0x102AD330
+ public static byte[] RSAVP1(RSA rsa, byte[] s); // 0x102AD360
+ public static byte[] Encrypt_OAEP(RSA rsa, HashAlgorithm hash, RandomNumberGenerator rng, byte[] M); // 0x102ACA90
+ public static byte[] Decrypt_OAEP(RSA rsa, HashAlgorithm hash, byte[] C); // 0x102AC3A0
+ public static byte[] Encrypt_v15(RSA rsa, RandomNumberGenerator rng, byte[] M); // 0x102ACCF0
+ public static byte[] Decrypt_v15(RSA rsa, byte[] C); // 0x102AC640
+ public static byte[] Sign_v15(RSA rsa, HashAlgorithm hash, byte[] hashValue); // 0x102AD390
+ public static bool Verify_v15(RSA rsa, HashAlgorithm hash, byte[] hashValue, byte[] signature); // 0x102AD5F0
+ public static bool Verify_v15(RSA rsa, HashAlgorithm hash, byte[] hashValue, byte[] signature, bool tryNonStandardEncoding); // 0x102AD440
+ public static byte[] Encode_v15(HashAlgorithm hash, byte[] hashValue, int emLength); // 0x102AC7D0
+ public static byte[] MGF1(HashAlgorithm hash, byte[] mgfSeed, int maskLen); // 0x102AD100
+}
+
+// Namespace: Mono.Security.Cryptography
+internal sealed class PKCS8 // TypeDefIndex: 170
+{
+ // Methods
+ private void .ctor(); // 0x100BF000
+ public static KeyInfo GetType(byte[] data); // 0x102AD7E0
+}
+
+// Namespace:
+public enum KeyInfo // TypeDefIndex: 171
+{
+ PrivateKey = 0,
+ EncryptedPrivateKey = 1,
+ Unknown = 2
+}
+
+// Namespace:
+public class PrivateKeyInfo // TypeDefIndex: 172
+{
+ // Fields
+ private int _version; // 0x08
+ private string _algorithm; // 0x0C
+ private byte[] _key; // 0x10
+ private ArrayList _list; // 0x14
+
+ // Properties
+ public string Algorithm { get; set; } // 0x100C5B30 0x100C5B50
+ public ArrayList Attributes { get; } // 0x100EF0C0
+ public byte[] PrivateKey { get; set; } // 0x101F4A60 0x101F4AD0
+ public int Version { get; set; } // 0x100BF0C0 0x101F4B70
+
+ // Methods
+ public void .ctor(); // 0x101F4A00
+ public void .ctor(byte[] data); // 0x101F49A0
+ private void Decode(byte[] data); // 0x101F4000
+ public byte[] GetBytes(); // 0x101F4510
+ private static byte[] RemoveLeadingZero(byte[] bigInt); // 0x101F4910
+ private static byte[] Normalize(byte[] bigInt, int length); // 0x101F4890
+ public static RSA DecodeRSA(byte[] keypair); // 0x101F3C90
+ public static byte[] Encode(RSA rsa); // 0x101F4200
+ public static DSA DecodeDSA(byte[] privateKey, DSAParameters dsaParameters); // 0x101F3BC0
+ public static byte[] Encode(DSA dsa); // 0x101F4370
+ public static byte[] Encode(AsymmetricAlgorithm aa); // 0x101F43E0
+}
+
+// Namespace:
+public class EncryptedPrivateKeyInfo // TypeDefIndex: 173
+{
+ // Fields
+ private string _algorithm; // 0x08
+ private byte[] _salt; // 0x0C
+ private int _iterations; // 0x10
+ private byte[] _data; // 0x14
+
+ // Properties
+ public string Algorithm { get; set; } // 0x100BF0C0 0x100EB270
+ public byte[] EncryptedData { get; set; } // 0x102A6730 0x102A6850
+ public byte[] Salt { get; set; } // 0x102A67A0 0x102A6930
+ public int IterationCount { get; set; } // 0x100BFC20 0x102A68C0
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ public void .ctor(byte[] data); // 0x102A6710
+ private void Decode(byte[] data); // 0x102A6200
+ public byte[] GetBytes(); // 0x102A6500
+}
+
+// Namespace: Mono.Security.Cryptography
+internal class RSAManaged : RSA // TypeDefIndex: 174
+{
+ // Fields
+ private const int defaultKeySize = 1024; // 0x00
+ private bool isCRTpossible; // 0x10
+ private bool keyBlinding; // 0x11
+ private bool keypairGenerated; // 0x12
+ private bool m_disposed; // 0x13
+ private BigInteger d; // 0x14
+ private BigInteger p; // 0x18
+ private BigInteger q; // 0x1C
+ private BigInteger dp; // 0x20
+ private BigInteger dq; // 0x24
+ private BigInteger qInv; // 0x28
+ private BigInteger n; // 0x2C
+ private BigInteger e; // 0x30
+ private KeyGeneratedEventHandler KeyGenerated; // 0x34
+
+ // Properties
+ public override int KeySize { get; } // 0x101F6490
+ public override string KeyExchangeAlgorithm { get; } // 0x101F6460
+ public bool PublicOnly { get; } // 0x101F64D0
+ public override string SignatureAlgorithm { get; } // 0x101F6570
+ public bool UseKeyBlinding { get; set; } // 0x101F65A0 0x101F6610
+ public bool IsCrtPossible { get; } // 0x101F6430
+
+ // Events
+ public event KeyGeneratedEventHandler KeyGenerated {
+ add; // 0x101F63D0
+ remove; // 0x101F65B0
+ }
+
+ // Methods
+ public void .ctor(); // 0x101F63B0
+ public void .ctor(int keySize); // 0x101F62E0
+ protected override void Finalize(); // 0x1010BCA0
+ private void GenerateKeyPair(); // 0x101F55D0
+ public override byte[] DecryptValue(byte[] rgb); // 0x101F4BD0
+ public override byte[] EncryptValue(byte[] rgb); // 0x101F51D0
+ public override RSAParameters ExportParameters(bool includePrivateParameters); // 0x101F52C0
+ public override void ImportParameters(RSAParameters parameters); // 0x101F5900
+ protected override void Dispose(bool disposing); // 0x101F4F10
+ public override string ToXmlString(bool includePrivateParameters); // 0x101F5DF0
+ private byte[] GetPaddedValue(BigInteger value, int length); // 0x101F5870
+}
+
+// Namespace:
+public delegate void KeyGeneratedEventHandler(object sender, EventArgs e); // TypeDefIndex: 175; 0x1016E5B0
+
+// Namespace: Mono.Security.Cryptography
+internal abstract class SymmetricTransform : IDisposable, ICryptoTransform // TypeDefIndex: 176
+{
+ // Fields
+ protected SymmetricAlgorithm algo; // 0x08
+ protected bool encrypt; // 0x0C
+ private int BlockSizeByte; // 0x10
+ private byte[] temp; // 0x14
+ private byte[] temp2; // 0x18
+ private byte[] workBuff; // 0x1C
+ private byte[] workout; // 0x20
+ private int FeedBackByte; // 0x24
+ private int FeedBackIter; // 0x28
+ private bool m_disposed; // 0x2C
+ private bool lastBlock; // 0x2D
+ private RandomNumberGenerator _rng; // 0x30
+
+ // Properties
+ public virtual bool CanTransformMultipleBlocks { get; } // 0x100E5880
+ public virtual bool CanReuseTransform { get; } // 0x100EFBF0
+ public virtual int InputBlockSize { get; } // 0x100BFC20
+ public virtual int OutputBlockSize { get; } // 0x100BFC20
+ private bool KeepLastBlock { get; } // 0x101FD660
+
+ // Methods
+ public void .ctor(SymmetricAlgorithm symmAlgo, bool encryption, byte[] rgbIV); // 0x101FD430
+ private void System.IDisposable.Dispose(); // 0x101FCE70
+ protected override void Finalize(); // 0x101FCB30
+ protected virtual void Dispose(bool disposing); // 0x101FC480
+ protected virtual void Transform(byte[] input, byte[] output); // 0x101FD290
+ protected abstract void ECB(byte[] input, byte[] output);
+ protected virtual void CBC(byte[] input, byte[] output); // 0x101FC060
+ protected virtual void CFB(byte[] input, byte[] output); // 0x101FC180
+ protected virtual void OFB(byte[] input, byte[] output); // 0x101FCD90
+ protected virtual void CTS(byte[] input, byte[] output); // 0x101FC330
+ private void CheckInput(byte[] inputBuffer, int inputOffset, int inputCount); // 0x101FC380
+ public virtual int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset); // 0x101FD010
+ private int InternalTransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset); // 0x101FCBF0
+ private void Random(byte[] buffer, int start, int length); // 0x101FCDE0
+ private void ThrowBadPaddingException(PaddingMode padding, int length, int position); // 0x101FCEA0
+ private byte[] FinalEncrypt(byte[] inputBuffer, int inputOffset, int inputCount); // 0x101FC7F0
+ private byte[] FinalDecrypt(byte[] inputBuffer, int inputOffset, int inputCount); // 0x101FC4D0
+ public virtual byte[] TransformFinalBlock(byte[] inputBuffer, int inputOffset, int inputCount); // 0x101FD1F0
+}
+
+// Namespace: Mono.Security.X509.Extensions
+internal class BasicConstraintsExtension : X509Extension // TypeDefIndex: 177
+{
+ // Fields
+ public const int NoPathLengthConstraint = -1; // 0x00
+ private bool cA; // 0x14
+ private int pathLenConstraint; // 0x18
+
+ // Properties
+ public bool CertificateAuthority { get; set; } // 0x100C5670 0x10142260
+ public override string Name { get; } // 0x101E8BB0
+ public int PathLenConstraint { get; set; } // 0x100EE580 0x101E8BE0
+
+ // Methods
+ public void .ctor(); // 0x101E8B50
+ public void .ctor(ASN1 asn1); // 0x101E8B40
+ public void .ctor(X509Extension extension); // 0x101E8BA0
+ protected override void Decode(); // 0x101E8810
+ protected override void Encode(); // 0x101E8920
+ public override string ToString(); // 0x101E8A30
+}
+
+// Namespace: Mono.Security.X509.Extensions
+internal enum KeyUsages // TypeDefIndex: 178
+{
+ none = 0,
+ encipherOnly = 1,
+ cRLSign = 2,
+ keyCertSign = 4,
+ keyAgreement = 8,
+ dataEncipherment = 16,
+ keyEncipherment = 32,
+ nonRepudiation = 64,
+ digitalSignature = 128,
+ decipherOnly = 2048
+}
+
+// Namespace: Mono.Security.X509.Extensions
+internal class KeyUsageExtension : X509Extension // TypeDefIndex: 179
+{
+ // Fields
+ private int kubits; // 0x14
+
+ // Properties
+ public KeyUsages KeyUsage { get; set; } // 0x100EF0C0 0x101EA240
+ public override string Name { get; } // 0x101EA210
+
+ // Methods
+ public void .ctor(ASN1 asn1); // 0x101E8B40
+ public void .ctor(X509Extension extension); // 0x101E8BA0
+ public void .ctor(); // 0x101EA1D0
+ protected override void Decode(); // 0x101E9B80
+ protected override void Encode(); // 0x101E9C80
+ public bool Support(KeyUsages usage); // 0x101E9E20
+ public override string ToString(); // 0x101E9ED0
+}
+
+// Namespace: Mono.Security.X509.Extensions
+internal class SubjectKeyIdentifierExtension : X509Extension // TypeDefIndex: 180
+{
+ // Fields
+ private byte[] ski; // 0x14
+
+ // Properties
+ public override string Name { get; } // 0x101FC030
+ public byte[] Identifier { get; } // 0x101FBFC0
+
+ // Methods
+ public void .ctor(); // 0x101FBF80
+ public void .ctor(ASN1 asn1); // 0x101E8B40
+ public void .ctor(X509Extension extension); // 0x101E8BA0
+ protected override void Decode(); // 0x101FBDB0
+ public override string ToString(); // 0x101FBE60
+}
+
+// Namespace: Mono.Security.X509
+internal class PKCS5 // TypeDefIndex: 181
+{
+ // Fields
+ public const string pbeWithMD2AndDESCBC = "1.2.840.113549.1.5.1"; // 0x00
+ public const string pbeWithMD5AndDESCBC = "1.2.840.113549.1.5.3"; // 0x00
+ public const string pbeWithMD2AndRC2CBC = "1.2.840.113549.1.5.4"; // 0x00
+ public const string pbeWithMD5AndRC2CBC = "1.2.840.113549.1.5.6"; // 0x00
+ public const string pbeWithSHA1AndDESCBC = "1.2.840.113549.1.5.10"; // 0x00
+ public const string pbeWithSHA1AndRC2CBC = "1.2.840.113549.1.5.11"; // 0x00
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+}
+
+// Namespace: Mono.Security.X509
+internal class PKCS9 // TypeDefIndex: 182
+{
+ // Fields
+ public const string friendlyName = "1.2.840.113549.1.9.20"; // 0x00
+ public const string localKeyId = "1.2.840.113549.1.9.21"; // 0x00
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+}
+
+// Namespace: Mono.Security.X509
+internal class SafeBag // TypeDefIndex: 183
+{
+ // Fields
+ private string _bagOID; // 0x08
+ private ASN1 _asn1; // 0x0C
+
+ // Properties
+ public string BagOID { get; } // 0x100BF0C0
+ public ASN1 ASN1 { get; } // 0x100C5B30
+
+ // Methods
+ public void .ctor(string bagOID, ASN1 asn1); // 0x100F97B0
+}
+
+// Namespace: Mono.Security.X509
+internal class PKCS12 : ICloneable // TypeDefIndex: 184
+{
+ // Fields
+ public const string pbeWithSHAAnd128BitRC4 = "1.2.840.113549.1.12.1.1"; // 0x00
+ public const string pbeWithSHAAnd40BitRC4 = "1.2.840.113549.1.12.1.2"; // 0x00
+ public const string pbeWithSHAAnd3KeyTripleDESCBC = "1.2.840.113549.1.12.1.3"; // 0x00
+ public const string pbeWithSHAAnd2KeyTripleDESCBC = "1.2.840.113549.1.12.1.4"; // 0x00
+ public const string pbeWithSHAAnd128BitRC2CBC = "1.2.840.113549.1.12.1.5"; // 0x00
+ public const string pbeWithSHAAnd40BitRC2CBC = "1.2.840.113549.1.12.1.6"; // 0x00
+ public const string keyBag = "1.2.840.113549.1.12.10.1.1"; // 0x00
+ public const string pkcs8ShroudedKeyBag = "1.2.840.113549.1.12.10.1.2"; // 0x00
+ public const string certBag = "1.2.840.113549.1.12.10.1.3"; // 0x00
+ public const string crlBag = "1.2.840.113549.1.12.10.1.4"; // 0x00
+ public const string secretBag = "1.2.840.113549.1.12.10.1.5"; // 0x00
+ public const string safeContentsBag = "1.2.840.113549.1.12.10.1.6"; // 0x00
+ public const string x509Certificate = "1.2.840.113549.1.9.22.1"; // 0x00
+ public const string sdsiCertificate = "1.2.840.113549.1.9.22.2"; // 0x00
+ public const string x509Crl = "1.2.840.113549.1.9.23.1"; // 0x00
+ public const int CryptoApiPasswordLimit = 32; // 0x00
+ private static int recommendedIterationCount; // 0x00
+ private byte[] _password; // 0x08
+ private ArrayList _keyBags; // 0x0C
+ private ArrayList _secretBags; // 0x10
+ private X509CertificateCollection _certs; // 0x14
+ private bool _keyBagsChanged; // 0x18
+ private bool _secretBagsChanged; // 0x19
+ private bool _certsChanged; // 0x1A
+ private int _iterations; // 0x1C
+ private ArrayList _safeBags; // 0x20
+ private RandomNumberGenerator _rng; // 0x24
+ private static int password_max_length; // 0x04
+ private static Dictionary`2 <>f__switch$map8; // 0x08
+ private static Dictionary`2 <>f__switch$map9; // 0x0C
+ private static Dictionary`2 <>f__switch$mapA; // 0x10
+ private static Dictionary`2 <>f__switch$mapB; // 0x14
+ private static Dictionary`2 <>f__switch$mapC; // 0x18
+ private static Dictionary`2 <>f__switch$mapD; // 0x1C
+ private static Dictionary`2 <>f__switch$mapE; // 0x20
+ private static Dictionary`2 <>f__switch$mapF; // 0x24
+
+ // Properties
+ public string Password { set; } // 0x101F37B0
+ public int IterationCount { get; set; } // 0x100F85F0 0x10113F50
+ public ArrayList Keys { get; } // 0x101F2EA0
+ public ArrayList Secrets { get; } // 0x101F3430
+ public X509CertificateCollection Certificates { get; } // 0x101F2BB0
+ internal RandomNumberGenerator RNG { get; } // 0x101F3410
+ public static int MaximumPasswordLength { get; set; } // 0x101F3370 0x101F36D0
+
+ // Methods
+ public void .ctor(); // 0x101F2A30
+ public void .ctor(byte[] data); // 0x101F2B60
+ public void .ctor(byte[] data, string password); // 0x101F2B00
+ public void .ctor(byte[] data, byte[] password); // 0x101F2B30
+ private static void .cctor(); // 0x101F29F0
+ private void Decode(byte[] data); // 0x101EB800
+ protected override void Finalize(); // 0x101EC4D0
+ private bool Compare(byte[] expected, byte[] actual); // 0x101EB780
+ private SymmetricAlgorithm GetSymmetricAlgorithm(string algorithmOid, byte[] salt, int iterationCount); // 0x101EF6D0
+ public byte[] Decrypt(string algorithmOid, byte[] salt, int iterationCount, byte[] encryptedData); // 0x101EBFA0
+ public byte[] Decrypt(EncryptedData ed); // 0x101EBEA0
+ public byte[] Encrypt(string algorithmOid, byte[] salt, int iterationCount, byte[] data); // 0x101EC0F0
+ private DSAParameters GetExistingParameters(out bool found); // 0x101EF100
+ private void AddPrivateKey(PrivateKeyInfo pki); // 0x101EAB00
+ private void ReadSafeBag(ASN1 safeBag); // 0x101F1070
+ private ASN1 Pkcs8ShroudedKeyBagSafeBag(AsymmetricAlgorithm aa, IDictionary attributes); // 0x101F07C0
+ private ASN1 KeyBagSafeBag(AsymmetricAlgorithm aa, IDictionary attributes); // 0x101EFB00
+ private ASN1 SecretBagSafeBag(byte[] secret, IDictionary attributes); // 0x101F2330
+ private ASN1 CertificateSafeBag(X509Certificate x509, IDictionary attributes); // 0x101EAE10
+ private byte[] MAC(byte[] password, byte[] salt, int iterations, byte[] data); // 0x101F06B0
+ public byte[] GetBytes(); // 0x101ED4F0
+ private ContentInfo EncryptedContentInfo(ASN1 safeBags, string algorithmOid); // 0x101EC230
+ public void AddCertificate(X509Certificate cert); // 0x101EA520
+ public void AddCertificate(X509Certificate cert, IDictionary attributes); // 0x101EA2E0
+ public void RemoveCertificate(X509Certificate cert); // 0x101F17A0
+ public void RemoveCertificate(X509Certificate cert, IDictionary attrs); // 0x101F17C0
+ private bool CompareAsymmetricAlgorithm(AsymmetricAlgorithm a1, AsymmetricAlgorithm a2); // 0x101EB6B0
+ public void AddPkcs8ShroudedKeyBag(AsymmetricAlgorithm aa); // 0x101EAAE0
+ public void AddPkcs8ShroudedKeyBag(AsymmetricAlgorithm aa, IDictionary attributes); // 0x101EA7E0
+ public void RemovePkcs8ShroudedKeyBag(AsymmetricAlgorithm aa); // 0x101F1DB0
+ public void AddKeyBag(AsymmetricAlgorithm aa); // 0x101EA7C0
+ public void AddKeyBag(AsymmetricAlgorithm aa, IDictionary attributes); // 0x101EA540
+ public void RemoveKeyBag(AsymmetricAlgorithm aa); // 0x101F1B70
+ public void AddSecretBag(byte[] secret); // 0x101EADF0
+ public void AddSecretBag(byte[] secret, IDictionary attributes); // 0x101EAC40
+ public void RemoveSecretBag(byte[] secret); // 0x101F2070
+ public AsymmetricAlgorithm GetAsymmetricAlgorithm(IDictionary attrs); // 0x101EC5A0
+ public byte[] GetSecret(IDictionary attrs); // 0x101EF2F0
+ public X509Certificate GetCertificate(IDictionary attrs); // 0x101EECB0
+ public IDictionary GetAttributes(AsymmetricAlgorithm aa); // 0x101ECF60
+ public IDictionary GetAttributes(X509Certificate cert); // 0x101ECB70
+ public void SaveToFile(string filename); // 0x101F21D0
+ public object Clone(); // 0x101EB5A0
+ private static byte[] LoadFile(string filename); // 0x101F03A0
+ public static PKCS12 LoadFromFile(string filename); // 0x101F05E0
+ public static PKCS12 LoadFromFile(string filename, string password); // 0x101F0530
+}
+
+// Namespace:
+public class DeriveBytes // TypeDefIndex: 185
+{
+ // Fields
+ private static byte[] keyDiversifier; // 0x00
+ private static byte[] ivDiversifier; // 0x04
+ private static byte[] macDiversifier; // 0x08
+ private string _hashName; // 0x08
+ private int _iterations; // 0x0C
+ private byte[] _password; // 0x10
+ private byte[] _salt; // 0x14
+
+ // Properties
+ public string HashName { get; set; } // 0x100BF0C0 0x100EB270
+ public int IterationCount { get; set; } // 0x100C5B30 0x100C5B50
+ public byte[] Password { get; set; } // 0x10160C80 0x10160D60
+ public byte[] Salt { get; set; } // 0x10160CF0 0x10160DF0
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x10160BE0
+ private void Adjust(byte[] a, int aOff, byte[] b); // 0x10160630
+ private byte[] Derive(byte[] diversifier, int n); // 0x10160840
+ public byte[] DeriveKey(int size); // 0x10160780
+ public byte[] DeriveIV(int size); // 0x10160720
+ public byte[] DeriveMAC(int size); // 0x101607E0
+}
+
+// Namespace:
+public enum Purpose // TypeDefIndex: 186
+{
+ Key = 0,
+ IV = 1,
+ MAC = 2
+}
+
+// Namespace: Mono.Security.X509
+internal sealed class X501 // TypeDefIndex: 187
+{
+ // Fields
+ private static byte[] countryName; // 0x00
+ private static byte[] organizationName; // 0x04
+ private static byte[] organizationalUnitName; // 0x08
+ private static byte[] commonName; // 0x0C
+ private static byte[] localityName; // 0x10
+ private static byte[] stateOrProvinceName; // 0x14
+ private static byte[] streetAddress; // 0x18
+ private static byte[] domainComponent; // 0x1C
+ private static byte[] userid; // 0x20
+ private static byte[] email; // 0x24
+ private static byte[] dnQualifier; // 0x28
+ private static byte[] title; // 0x2C
+ private static byte[] surname; // 0x30
+ private static byte[] givenName; // 0x34
+ private static byte[] initial; // 0x38
+ private static Dictionary`2 <>f__switch$map10; // 0x3C
+
+ // Methods
+ private void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x10165600
+ public static string ToString(ASN1 seq); // 0x10165510
+ public static string ToString(ASN1 seq, bool reversed, string separator, bool quotes); // 0x101653A0
+ private static void AppendEntry(StringBuilder sb, ASN1 entry, bool quotes); // 0x10163930
+ private static AttributeTypeAndValue GetAttributeFromOid(string attributeType); // 0x101641D0
+ private static bool IsOid(string oid); // 0x10164A40
+ private static AttributeTypeAndValue ReadAttribute(string value, int pos); // 0x10164B10
+ private static bool IsHex(char c); // 0x10164970
+ private static string ReadHex(string value, int pos); // 0x10164DE0
+ private static int ReadEscaped(StringBuilder sb, string value, int pos); // 0x10164C70
+ private static int ReadQuoted(StringBuilder sb, string value, int pos); // 0x10165030
+ private static string ReadValue(string value, int pos); // 0x10165160
+ public static ASN1 FromString(string rdn); // 0x10164090
+}
+
+// Namespace: Mono.Security.X509
+internal class X509Crl // TypeDefIndex: 188
+{
+ // Fields
+ private string issuer; // 0x08
+ private byte version; // 0x0C
+ private DateTime thisUpdate; // 0x10
+ private DateTime nextUpdate; // 0x20
+ private ArrayList entries; // 0x30
+ private string signatureOID; // 0x34
+ private byte[] signature; // 0x38
+ private X509ExtensionCollection extensions; // 0x3C
+ private byte[] encoded; // 0x40
+ private byte[] hash_value; // 0x44
+ private static Dictionary`2 <>f__switch$map11; // 0x00
+ private static Dictionary`2 <>f__switch$map12; // 0x04
+
+ // Properties
+ public ArrayList Entries { get; } // 0x1016B0F0
+ public X509CrlEntry Item { get; } // 0x1016B3B0
+ public X509CrlEntry Item { get; } // 0x1016B450
+ public X509ExtensionCollection Extensions { get; } // 0x100EB220
+ public byte[] Hash { get; } // 0x1016B150
+ public string IssuerName { get; } // 0x100BF0C0
+ public DateTime NextUpdate { get; } // 0x10168A50
+ public DateTime ThisUpdate { get; } // 0x10168A30
+ public string SignatureAlgorithm { get; } // 0x100E9ED0
+ public byte[] Signature { get; } // 0x1016B4D0
+ public byte[] RawData { get; } // 0x1016B460
+ public byte Version { get; } // 0x100F8910
+ public bool IsCurrent { get; } // 0x1016B200
+
+ // Methods
+ public void .ctor(byte[] crl); // 0x1016B030
+ private void Parse(byte[] crl); // 0x1016A270
+ public bool WasCurrent(DateTime instant); // 0x1016AED0
+ public byte[] GetBytes(); // 0x10169E00
+ private bool Compare(byte[] array1, byte[] array2); // 0x10165E80
+ public X509CrlEntry GetCrlEntry(X509Certificate x509); // 0x1016A050
+ public X509CrlEntry GetCrlEntry(byte[] serialNumber); // 0x10169E80
+ public bool VerifySignature(X509Certificate x509); // 0x1016AC80
+ private string GetHashName(); // 0x1016A0D0
+ internal bool VerifySignature(DSA dsa); // 0x1016A9A0
+ internal bool VerifySignature(RSA rsa); // 0x1016ABF0
+ public bool VerifySignature(AsymmetricAlgorithm aa); // 0x1016A860
+ public static X509Crl CreateFromFile(string filename); // 0x10169C50
+}
+
+// Namespace:
+public class X509CrlEntry // TypeDefIndex: 189
+{
+ // Fields
+ private byte[] sn; // 0x08
+ private DateTime revocationDate; // 0x10
+ private X509ExtensionCollection extensions; // 0x20
+
+ // Properties
+ public byte[] SerialNumber { get; } // 0x10169BE0
+ public DateTime RevocationDate { get; } // 0x10168A30
+ public X509ExtensionCollection Extensions { get; } // 0x100EACD0
+
+ // Methods
+ internal void .ctor(byte[] serialNumber, DateTime revocationDate, X509ExtensionCollection extensions); // 0x10169AB0
+ internal void .ctor(ASN1 entry); // 0x10169B20
+ public byte[] GetBytes(); // 0x101699B0
+}
+
+// Namespace: Mono.Security.X509
+internal class X509Certificate : ISerializable // TypeDefIndex: 190
+{
+ // Fields
+ private ASN1 decoder; // 0x08
+ private byte[] m_encodedcert; // 0x0C
+ private DateTime m_from; // 0x10
+ private DateTime m_until; // 0x20
+ private ASN1 issuer; // 0x30
+ private string m_issuername; // 0x34
+ private string m_keyalgo; // 0x38
+ private byte[] m_keyalgoparams; // 0x3C
+ private ASN1 subject; // 0x40
+ private string m_subject; // 0x44
+ private byte[] m_publickey; // 0x48
+ private byte[] signature; // 0x4C
+ private string m_signaturealgo; // 0x50
+ private byte[] m_signaturealgoparams; // 0x54
+ private byte[] certhash; // 0x58
+ private RSA _rsa; // 0x5C
+ private DSA _dsa; // 0x60
+ private int version; // 0x64
+ private byte[] serialnumber; // 0x68
+ private byte[] issuerUniqueID; // 0x6C
+ private byte[] subjectUniqueID; // 0x70
+ private X509ExtensionCollection extensions; // 0x74
+ private static string encoding_error; // 0x00
+ private static Dictionary`2 <>f__switch$map13; // 0x04
+ private static Dictionary`2 <>f__switch$map14; // 0x08
+ private static Dictionary`2 <>f__switch$map15; // 0x0C
+
+ // Properties
+ public DSA DSA { get; set; } // 0x10167C10 0x10168A70
+ public X509ExtensionCollection Extensions { get; } // 0x10167E60
+ public byte[] Hash { get; } // 0x10167E70
+ public virtual string IssuerName { get; } // 0x100E9ED0
+ public virtual string KeyAlgorithm { get; } // 0x100EB210
+ public virtual byte[] KeyAlgorithmParameters { get; set; } // 0x10168320 0x101455F0
+ public virtual byte[] PublicKey { get; } // 0x10168390
+ public virtual RSA RSA { get; set; } // 0x10168400 0x10168A90
+ public virtual byte[] RawData { get; } // 0x10168530
+ public virtual byte[] SerialNumber { get; } // 0x101685A0
+ public virtual byte[] Signature { get; } // 0x10168680
+ public virtual string SignatureAlgorithm { get; } // 0x10132810
+ public virtual byte[] SignatureAlgorithmParameters { get; } // 0x10168610
+ public virtual string SubjectName { get; } // 0x10145530
+ public virtual DateTime ValidFrom { get; } // 0x10168A30
+ public virtual DateTime ValidUntil { get; } // 0x10168A50
+ public int Version { get; } // 0x10145590
+ public bool IsCurrent { get; } // 0x101680D0
+ public byte[] IssuerUniqueIdentifier { get; } // 0x101682B0
+ public byte[] SubjectUniqueIdentifier { get; } // 0x101689C0
+ public bool IsSelfSigned { get; } // 0x10168220
+
+ // Methods
+ public void .ctor(byte[] data); // 0x10167970
+ protected void .ctor(SerializationInfo info, StreamingContext context); // 0x101678A0
+ private static void .cctor(); // 0x10167860
+ private void Parse(byte[] data); // 0x10166AE0
+ private byte[] GetUnsignedBigInteger(byte[] integer); // 0x10166940
+ public bool WasCurrent(DateTime instant); // 0x10167760
+ internal bool VerifySignature(DSA dsa); // 0x101676C0
+ internal string GetHashNameFromOID(string oid); // 0x10166760
+ internal bool VerifySignature(RSA rsa); // 0x10167260
+ public bool VerifySignature(AsymmetricAlgorithm aa); // 0x101674E0
+ public bool CheckSignature(byte[] hash, string hashAlgorithm, byte[] signature); // 0x101666F0
+ public ASN1 GetIssuerName(); // 0x100EA580
+ public ASN1 GetSubjectName(); // 0x100E9E80
+ public virtual void GetObjectData(SerializationInfo info, StreamingContext context); // 0x101668F0
+ private static byte[] PEM(string type, byte[] data); // 0x101669C0
+}
+
+// Namespace: Mono.Security.X509
+[Serializable]
+internal class X509CertificateCollection : CollectionBase, IEnumerable // TypeDefIndex: 191
+{
+ // Properties
+ public X509Certificate Item { get; set; } // 0x10166390 0x10166430
+
+ // Methods
+ public void .ctor(); // 0x100C5970
+ public void .ctor(X509Certificate[] value); // 0x101662C0
+ public void .ctor(X509CertificateCollection value); // 0x101662A0
+ private IEnumerator System.Collections.IEnumerable.GetEnumerator(); // 0x10166260
+ public int Add(X509Certificate value); // 0x10165DF0
+ public void AddRange(X509Certificate[] value); // 0x10165C60
+ public void AddRange(X509CertificateCollection value); // 0x10165D20
+ public bool Contains(X509Certificate value); // 0x10165EF0
+ public void CopyTo(X509Certificate[] array, int index); // 0x10165F10
+ public X509CertificateEnumerator GetEnumerator(); // 0x10165F50
+ public override int GetHashCode(); // 0x10165FE0
+ public int IndexOf(X509Certificate value); // 0x10166020
+ public void Insert(int index, X509Certificate value); // 0x101661E0
+ public void Remove(X509Certificate value); // 0x10166220
+ private bool Compare(byte[] array1, byte[] array2); // 0x10165E80
+}
+
+// Namespace:
+public class X509CertificateEnumerator : IEnumerator // TypeDefIndex: 192
+{
+ // Fields
+ private IEnumerator enumerator; // 0x08
+
+ // Properties
+ private object System.Collections.IEnumerator.Current { get; } // 0x101665B0
+ public X509Certificate Current { get; } // 0x10166660
+
+ // Methods
+ public void .ctor(X509CertificateCollection mappings); // 0x10166600
+ private bool System.Collections.IEnumerator.MoveNext(); // 0x10166510
+ private void System.Collections.IEnumerator.Reset(); // 0x10166560
+ public bool MoveNext(); // 0x10166470
+ public void Reset(); // 0x101664C0
+}
+
+// Namespace: Mono.Security.X509
+internal class X509Chain // TypeDefIndex: 193
+{
+ // Fields
+ private X509CertificateCollection roots; // 0x08
+ private X509CertificateCollection certs; // 0x0C
+ private X509Certificate _root; // 0x10
+ private X509CertificateCollection _chain; // 0x14
+ private X509ChainStatusFlags _status; // 0x18
+
+ // Properties
+ public X509CertificateCollection Chain { get; } // 0x100EF0C0
+ public X509Certificate Root { get; } // 0x100BFC20
+ public X509ChainStatusFlags Status { get; } // 0x100EE580
+ public X509CertificateCollection TrustAnchors { get; set; } // 0x10169870 0x100EB270
+
+ // Methods
+ public void .ctor(); // 0x10169780
+ public void .ctor(X509CertificateCollection chain); // 0x101697D0
+ public void LoadCertificate(X509Certificate x509); // 0x101696D0
+ public void LoadCertificates(X509CertificateCollection collection); // 0x10169700
+ public X509Certificate FindByIssuerName(string issuerName); // 0x10168DF0
+ public bool Build(X509Certificate leaf); // 0x10168AB0
+ public void Reset(); // 0x10169730
+ private bool IsValid(X509Certificate cert); // 0x10169560
+ private X509Certificate FindCertificateParent(X509Certificate child); // 0x10168FF0
+ private X509Certificate FindCertificateRoot(X509Certificate potentialRoot); // 0x101691A0
+ private bool IsTrusted(X509Certificate potentialTrusted); // 0x10169530
+ private bool IsParent(X509Certificate child, X509Certificate parent); // 0x101693D0
+}
+
+// Namespace: Mono.Security.X509
+[Serializable]
+internal enum X509ChainStatusFlags // TypeDefIndex: 194
+{
+ NoError = 0,
+ NotTimeValid = 1,
+ NotTimeNested = 2,
+ NotSignatureValid = 8,
+ UntrustedRoot = 32,
+ InvalidBasicConstraints = 1024,
+ PartialChain = 65536
+}
+
+// Namespace: Mono.Security.X509
+internal class X509Extension // TypeDefIndex: 195
+{
+ // Fields
+ protected string extnOid; // 0x08
+ protected bool extnCritical; // 0x0C
+ protected ASN1 extnValue; // 0x10
+
+ // Properties
+ public ASN1 ASN1 { get; } // 0x1016CAB0
+ public string Oid { get; } // 0x100BF0C0
+ public bool Critical { get; set; } // 0x100F8910 0x1016CBD0
+ public virtual string Name { get; } // 0x100BF0C0
+ public ASN1 Value { get; } // 0x1016CBA0
+
+ // Methods
+ protected void .ctor(); // 0x1016C710
+ public void .ctor(ASN1 asn1); // 0x1016C730
+ public void .ctor(X509Extension extension); // 0x1016C9A0
+ protected virtual void Decode(); // 0x100C5530
+ protected virtual void Encode(); // 0x100C5530
+ public override bool Equals(object obj); // 0x1016C2F0
+ public byte[] GetBytes(); // 0x1016C450
+ public override int GetHashCode(); // 0x10140690
+ private void WriteLine(StringBuilder sb, int n, int pos); // 0x1016C560
+ public override string ToString(); // 0x1016C490
+}
+
+// Namespace: Mono.Security.X509
+internal sealed class X509ExtensionCollection : CollectionBase, IEnumerable // TypeDefIndex: 196
+{
+ // Fields
+ private bool readOnly; // 0x0C
+
+ // Properties
+ public X509Extension Item { get; } // 0x1016C250
+ public X509Extension Item { get; } // 0x1016C190
+
+ // Methods
+ public void .ctor(); // 0x100C5970
+ public void .ctor(ASN1 asn1); // 0x1016C0B0
+ private IEnumerator System.Collections.IEnumerable.GetEnumerator(); // 0x10166260
+ public int Add(X509Extension extension); // 0x1016B7E0
+ public void AddRange(X509Extension[] extension); // 0x1016B540
+ public void AddRange(X509ExtensionCollection collection); // 0x1016B640
+ public bool Contains(X509Extension extension); // 0x1016B8C0
+ public bool Contains(string oid); // 0x1016B8A0
+ public void CopyTo(X509Extension[] extensions, int index); // 0x1016BA10
+ public int IndexOf(X509Extension extension); // 0x1016BD90
+ public int IndexOf(string oid); // 0x1016BC20
+ public void Insert(int index, X509Extension extension); // 0x1016BEF0
+ public void Remove(X509Extension extension); // 0x1016C020
+ public void Remove(string oid); // 0x1016BF80
+ public byte[] GetBytes(); // 0x1016BAA0
+}
+
+// Namespace: Mono.Security.X509
+internal class X509Store // TypeDefIndex: 197
+{
+ // Fields
+ private string _storePath; // 0x08
+ private X509CertificateCollection _certificates; // 0x0C
+ private ArrayList _crls; // 0x10
+ private bool _crl; // 0x14
+ private string _name; // 0x18
+
+ // Properties
+ public X509CertificateCollection Certificates { get; } // 0x1016DF20
+ public ArrayList Crls { get; } // 0x1016DF50
+ public string Name { get; } // 0x1016DFC0
+
+ // Methods
+ internal void .ctor(string path, bool crl); // 0x1016DEF0
+ public void Clear(); // 0x1016D540
+ public void Import(X509Certificate certificate); // 0x1016D810
+ public void Import(X509Crl crl); // 0x1016D9C0
+ public void Remove(X509Certificate certificate); // 0x1016DDF0
+ public void Remove(X509Crl crl); // 0x1016DE70
+ private string GetUniqueName(X509Certificate certificate); // 0x1016D790
+ private string GetUniqueName(X509Crl crl); // 0x1016D690
+ private byte[] GetUniqueName(X509ExtensionCollection extensions); // 0x1016D710
+ private string GetUniqueName(string method, byte[] name, string fileExtension); // 0x1016D590
+ private byte[] Load(string filename); // 0x1016DC60
+ private X509Certificate LoadCertificate(string filename); // 0x1016DBA0
+ private X509Crl LoadCrl(string filename); // 0x1016DC00
+ private bool CheckStore(string path, bool throwException); // 0x1016D430
+ private X509CertificateCollection BuildCertificatesCollection(string storeName); // 0x1016D130
+ private ArrayList BuildCrlsCollection(string storeName); // 0x1016D2B0
+}
+
+// Namespace: Mono.Security.X509
+internal sealed class X509StoreManager // TypeDefIndex: 198
+{
+ // Fields
+ private static X509Stores _userStore; // 0x00
+ private static X509Stores _machineStore; // 0x04
+
+ // Properties
+ public static X509Stores CurrentUser { get; } // 0x1016CBE0
+ public static X509Stores LocalMachine { get; } // 0x1016CE20
+ public static X509CertificateCollection IntermediateCACertificates { get; } // 0x1016CC90
+ public static ArrayList IntermediateCACrls { get; } // 0x1016CD60
+ public static X509CertificateCollection TrustedRootCertificates { get; } // 0x1016CF90
+ public static ArrayList TrustedRootCACrls { get; } // 0x1016CED0
+ public static X509CertificateCollection UntrustedCertificates { get; } // 0x1016D060
+
+ // Methods
+ private void .ctor(); // 0x100BF000
+}
+
+// Namespace: Mono.Security.X509
+internal class X509Stores // TypeDefIndex: 199
+{
+ // Fields
+ private string _storePath; // 0x08
+ private X509Store _personal; // 0x0C
+ private X509Store _other; // 0x10
+ private X509Store _intermediate; // 0x14
+ private X509Store _trusted; // 0x18
+ private X509Store _untrusted; // 0x1C
+
+ // Properties
+ public X509Store Personal { get; } // 0x1016E3C0
+ public X509Store OtherPeople { get; } // 0x1016E330
+ public X509Store IntermediateCA { get; } // 0x1016E2A0
+ public X509Store TrustedRoot { get; } // 0x1016E450
+ public X509Store Untrusted { get; } // 0x1016E4E0
+
+ // Methods
+ internal void .ctor(string path); // 0x10113500
+ public void Clear(); // 0x1016E050
+ public X509Store Open(string storeName, bool create); // 0x1016E1D0
+}
+
+// Namespace:
+public class Names // TypeDefIndex: 200
+{
+ // Fields
+ public const string Personal = "My"; // 0x00
+ public const string OtherPeople = "AddressBook"; // 0x00
+ public const string IntermediateCA = "CA"; // 0x00
+ public const string TrustedRoot = "Trust"; // 0x00
+ public const string Untrusted = "Disallowed"; // 0x00
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+}
+
+// Namespace: Mono.Security.X509
+internal class X520 // TypeDefIndex: 201
+{
+ // Methods
+ public void .ctor(); // 0x100BF000
+}
+
+// Namespace:
+public abstract class AttributeTypeAndValue // TypeDefIndex: 202
+{
+ // Fields
+ private string oid; // 0x08
+ private string attrValue; // 0x0C
+ private int upperBound; // 0x10
+ private byte encoding; // 0x14
+
+ // Properties
+ public string Value { get; set; } // 0x100C5B30 0x101604D0
+ public ASN1 ASN1 { get; } // 0x10160380
+
+ // Methods
+ protected void .ctor(string oid, int upperBound); // 0x10160470
+ protected void .ctor(string oid, int upperBound, byte encoding); // 0x101604A0
+ internal ASN1 GetASN1(byte encoding); // 0x10160160
+ internal ASN1 GetASN1(); // 0x10160380
+ public byte[] GetBytes(byte encoding); // 0x101603A0
+ public byte[] GetBytes(); // 0x101603E0
+ private byte SelectBestEncoding(); // 0x10160420
+}
+
+// Namespace:
+public class Name : AttributeTypeAndValue // TypeDefIndex: 203
+{
+ // Methods
+ public void .ctor(); // 0x10161050
+}
+
+// Namespace:
+public class CommonName : AttributeTypeAndValue // TypeDefIndex: 204
+{
+ // Methods
+ public void .ctor(); // 0x10160590
+}
+
+// Namespace:
+public class SerialNumber : AttributeTypeAndValue // TypeDefIndex: 205
+{
+ // Methods
+ public void .ctor(); // 0x101615E0
+}
+
+// Namespace:
+public class LocalityName : AttributeTypeAndValue // TypeDefIndex: 206
+{
+ // Methods
+ public void .ctor(); // 0x10161000
+}
+
+// Namespace:
+public class StateOrProvinceName : AttributeTypeAndValue // TypeDefIndex: 207
+{
+ // Methods
+ public void .ctor(); // 0x101637F0
+}
+
+// Namespace:
+public class OrganizationName : AttributeTypeAndValue // TypeDefIndex: 208
+{
+ // Methods
+ public void .ctor(); // 0x101610D0
+}
+
+// Namespace:
+public class OrganizationalUnitName : AttributeTypeAndValue // TypeDefIndex: 209
+{
+ // Methods
+ public void .ctor(); // 0x10161120
+}
+
+// Namespace:
+public class EmailAddress : AttributeTypeAndValue // TypeDefIndex: 210
+{
+ // Methods
+ public void .ctor(); // 0x10160F10
+}
+
+// Namespace:
+public class DomainComponent : AttributeTypeAndValue // TypeDefIndex: 211
+{
+ // Methods
+ public void .ctor(); // 0x10160EC0
+}
+
+// Namespace:
+public class UserId : AttributeTypeAndValue // TypeDefIndex: 212
+{
+ // Methods
+ public void .ctor(); // 0x101638E0
+}
+
+// Namespace:
+public class Oid : AttributeTypeAndValue // TypeDefIndex: 213
+{
+ // Methods
+ public void .ctor(string oid); // 0x101610A0
+}
+
+// Namespace:
+public class Title : AttributeTypeAndValue // TypeDefIndex: 214
+{
+ // Methods
+ public void .ctor(); // 0x10163890
+}
+
+// Namespace:
+public class CountryName : AttributeTypeAndValue // TypeDefIndex: 215
+{
+ // Methods
+ public void .ctor(); // 0x101605E0
+}
+
+// Namespace:
+public class DnQualifier : AttributeTypeAndValue // TypeDefIndex: 216
+{
+ // Methods
+ public void .ctor(); // 0x10160E70
+}
+
+// Namespace:
+public class Surname : AttributeTypeAndValue // TypeDefIndex: 217
+{
+ // Methods
+ public void .ctor(); // 0x10163840
+}
+
+// Namespace:
+public class GivenName : AttributeTypeAndValue // TypeDefIndex: 218
+{
+ // Methods
+ public void .ctor(); // 0x10160F60
+}
+
+// Namespace:
+public class Initial : AttributeTypeAndValue // TypeDefIndex: 219
+{
+ // Methods
+ public void .ctor(); // 0x10160FB0
+}
+
+// Namespace: Mono.Security
+internal class ASN1 // TypeDefIndex: 220
+{
+ // Fields
+ private byte m_nTag; // 0x08
+ private byte[] m_aValue; // 0x0C
+ private ArrayList elist; // 0x10
+
+ // Properties
+ public int Count { get; } // 0x1029B420
+ public byte Tag { get; } // 0x100EA020
+ public int Length { get; } // 0x1029B560
+ public byte[] Value { get; set; } // 0x1029B580 0x1029B610
+ public ASN1 Item { get; } // 0x1029B450
+
+ // Methods
+ public void .ctor(); // 0x1029B3A0
+ public void .ctor(byte tag); // 0x1029B3C0
+ public void .ctor(byte tag, byte[] data); // 0x1029B3F0
+ public void .ctor(byte[] data); // 0x1029B260
+ private bool CompareArray(byte[] array1, byte[] array2); // 0x1029A4C0
+ public bool Equals(byte[] asn1); // 0x1029A8F0
+ public bool CompareValue(byte[] value); // 0x1029A540
+ public ASN1 Add(ASN1 asn1); // 0x1029A440
+ public virtual byte[] GetBytes(); // 0x1029A920
+ protected void Decode(byte[] asn1, int anPos, int anLength); // 0x1029A660
+ protected void DecodeTLV(byte[] asn1, int pos, out byte tag, out int length, out byte[] content); // 0x1029A560
+ public ASN1 Element(int index, byte anTag); // 0x1029A7E0
+ public override string ToString(); // 0x1029B0A0
+ public void SaveToFile(string filename); // 0x1029AF30
+}
+
+// Namespace: Mono.Security
+internal static class ASN1Convert // TypeDefIndex: 221
+{
+ // Methods
+ public static ASN1 FromDateTime(DateTime dt); // 0x10299730
+ public static ASN1 FromInt32(int value); // 0x10299950
+ public static ASN1 FromOid(string oid); // 0x10299B40
+ public static ASN1 FromUnsignedBigInteger(byte[] big); // 0x10299BE0
+ public static int ToInt32(ASN1 asn1); // 0x1029A0F0
+ public static string ToOid(ASN1 asn1); // 0x1029A1F0
+ public static DateTime ToDateTime(ASN1 time); // 0x10299CA0
+}
+
+// Namespace: Mono.Security
+internal sealed class BitConverterLE // TypeDefIndex: 222
+{
+ // Methods
+ private void .ctor(); // 0x100BF000
+ private static byte[] GetUShortBytes(void * bytes); // 0x102A0F70
+ private static byte[] GetUIntBytes(void * bytes); // 0x102A0BD0
+ private static byte[] GetULongBytes(void * bytes); // 0x102A0D10
+ internal static byte[] GetBytes(bool value); // 0x102A0B70
+ internal static byte[] GetBytes(char value); // 0x102A0B50
+ internal static byte[] GetBytes(short value); // 0x102A0B50
+ internal static byte[] GetBytes(int value); // 0x102A0B30
+ internal static byte[] GetBytes(long value); // 0x102A0B10
+ internal static byte[] GetBytes(ushort value); // 0x102A0B50
+ internal static byte[] GetBytes(uint value); // 0x102A0B30
+ internal static byte[] GetBytes(ulong value); // 0x102A0B10
+ internal static byte[] GetBytes(float value); // 0x102A0B30
+ internal static byte[] GetBytes(double value); // 0x102A0B10
+ private static void UShortFromBytes(void * dst, byte[] src, int startIndex); // 0x102A13A0
+ private static void UIntFromBytes(void * dst, byte[] src, int startIndex); // 0x102A1180
+ private static void ULongFromBytes(void * dst, byte[] src, int startIndex); // 0x102A12E0
+ internal static bool ToBoolean(byte[] value, int startIndex); // 0x102A1050
+ internal static char ToChar(byte[] value, int startIndex); // 0x102A1090
+ internal static short ToInt16(byte[] value, int startIndex); // 0x102A1090
+ internal static int ToInt32(byte[] value, int startIndex); // 0x102A10F0
+ internal static long ToInt64(byte[] value, int startIndex); // 0x102A1120
+ internal static ushort ToUInt16(byte[] value, int startIndex); // 0x102A1090
+ internal static uint ToUInt32(byte[] value, int startIndex); // 0x102A10F0
+ internal static ulong ToUInt64(byte[] value, int startIndex); // 0x102A1120
+ internal static float ToSingle(byte[] value, int startIndex); // 0x102A1150
+ internal static double ToDouble(byte[] value, int startIndex); // 0x102A10C0
+}
+
+// Namespace: Mono.Security
+internal sealed class PKCS7 // TypeDefIndex: 223
+{
+ // Methods
+ private void .ctor(); // 0x100BF000
+ public static ASN1 Attribute(string oid, ASN1 value); // 0x101F39F0
+ public static ASN1 AlgorithmIdentifier(string oid); // 0x101F3960
+ public static ASN1 AlgorithmIdentifier(string oid, ASN1 parameters); // 0x101F38F0
+ public static ASN1 IssuerAndSerialNumber(X509Certificate x509); // 0x101F3A90
+}
+
+// Namespace:
+public class Oid // TypeDefIndex: 224
+{
+ // Fields
+ public const string rsaEncryption = "1.2.840.113549.1.1.1"; // 0x00
+ public const string data = "1.2.840.113549.1.7.1"; // 0x00
+ public const string signedData = "1.2.840.113549.1.7.2"; // 0x00
+ public const string envelopedData = "1.2.840.113549.1.7.3"; // 0x00
+ public const string signedAndEnvelopedData = "1.2.840.113549.1.7.4"; // 0x00
+ public const string digestedData = "1.2.840.113549.1.7.5"; // 0x00
+ public const string encryptedData = "1.2.840.113549.1.7.6"; // 0x00
+ public const string contentType = "1.2.840.113549.1.9.3"; // 0x00
+ public const string messageDigest = "1.2.840.113549.1.9.4"; // 0x00
+ public const string signingTime = "1.2.840.113549.1.9.5"; // 0x00
+ public const string countersignature = "1.2.840.113549.1.9.6"; // 0x00
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+}
+
+// Namespace:
+public class ContentInfo // TypeDefIndex: 225
+{
+ // Fields
+ private string contentType; // 0x08
+ private ASN1 content; // 0x0C
+
+ // Properties
+ public ASN1 ASN1 { get; } // 0x101E8FB0
+ public ASN1 Content { get; set; } // 0x100C5B30 0x100C5B50
+ public string ContentType { get; set; } // 0x100BF0C0 0x100EB270
+
+ // Methods
+ public void .ctor(); // 0x101E8F50
+ public void .ctor(string oid); // 0x101E8EA0
+ public void .ctor(byte[] data); // 0x101E8F00
+ public void .ctor(ASN1 asn1); // 0x101E8D60
+ internal ASN1 GetASN1(); // 0x101E8C90
+ public byte[] GetBytes(); // 0x101E8D20
+}
+
+// Namespace:
+public class EncryptedData // TypeDefIndex: 226
+{
+ // Fields
+ private byte _version; // 0x08
+ private ContentInfo _content; // 0x0C
+ private ContentInfo _encryptionAlgorithm; // 0x10
+ private byte[] _encrypted; // 0x14
+
+ // Properties
+ public ASN1 ASN1 { get; } // 0x100C5600
+ public ContentInfo ContentInfo { get; } // 0x100C5B30
+ public ContentInfo EncryptionAlgorithm { get; } // 0x100BFC20
+ public byte[] EncryptedContent { get; } // 0x101E93F0
+ public byte Version { get; set; } // 0x100EA020 0x10155000
+
+ // Methods
+ public void .ctor(); // 0x101E9380
+ public void .ctor(byte[] data); // 0x101E93A0
+ public void .ctor(ASN1 asn1); // 0x101E9110
+ internal ASN1 GetASN1(); // 0x100C5600
+ public byte[] GetBytes(); // 0x101E9100
+}
+
+// Namespace:
+public class EnvelopedData // TypeDefIndex: 227
+{
+ // Fields
+ private byte _version; // 0x08
+ private ContentInfo _content; // 0x0C
+ private ContentInfo _encryptionAlgorithm; // 0x10
+ private ArrayList _recipientInfos; // 0x14
+ private byte[] _encrypted; // 0x18
+
+ // Properties
+ public ArrayList RecipientInfos { get; } // 0x100EF0C0
+ public ASN1 ASN1 { get; } // 0x101E9460
+ public ContentInfo ContentInfo { get; } // 0x100C5B30
+ public ContentInfo EncryptionAlgorithm { get; } // 0x100BFC20
+ public byte[] EncryptedContent { get; } // 0x101E9B10
+ public byte Version { get; set; } // 0x100EA020 0x10155000
+
+ // Methods
+ public void .ctor(); // 0x101E9A10
+ public void .ctor(byte[] data); // 0x101E99C0
+ public void .ctor(ASN1 asn1); // 0x101E9500
+ internal ASN1 GetASN1(); // 0x101E9460
+ public byte[] GetBytes(); // 0x101E94A0
+}
+
+// Namespace:
+public class RecipientInfo // TypeDefIndex: 228
+{
+ // Fields
+ private int _version; // 0x08
+ private string _oid; // 0x0C
+ private byte[] _key; // 0x10
+ private byte[] _ski; // 0x14
+ private string _issuer; // 0x18
+ private byte[] _serial; // 0x1C
+
+ // Properties
+ public string Oid { get; } // 0x100C5B30
+ public byte[] Key { get; } // 0x101F67E0
+ public byte[] SubjectKeyIdentifier { get; } // 0x101F68C0
+ public string Issuer { get; } // 0x100EE580
+ public byte[] Serial { get; } // 0x101F6850
+ public int Version { get; } // 0x100BF0C0
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ public void .ctor(ASN1 data); // 0x101F6620
+}
+
+// Namespace:
+public class SignedData // TypeDefIndex: 229
+{
+ // Fields
+ private byte version; // 0x08
+ private string hashAlgorithm; // 0x0C
+ private ContentInfo contentInfo; // 0x10
+ private X509CertificateCollection certs; // 0x14
+ private ArrayList crls; // 0x18
+ private SignerInfo signerInfo; // 0x1C
+ private bool mda; // 0x20
+ private bool signed; // 0x21
+ private static Dictionary`2 <>f__switch$map16; // 0x00
+
+ // Properties
+ public ASN1 ASN1 { get; } // 0x101F7E90
+ public X509CertificateCollection Certificates { get; } // 0x100EF0C0
+ public ContentInfo ContentInfo { get; } // 0x100BFC20
+ public ArrayList Crls { get; } // 0x100EE580
+ public string HashName { get; set; } // 0x100C5B30 0x101F7EA0
+ public SignerInfo SignerInfo { get; } // 0x100F85F0
+ public byte Version { get; set; } // 0x100EA020 0x10155000
+ public bool UseAuthenticatedAttributes { get; set; } // 0x101B94D0 0x101D3670
+
+ // Methods
+ public void .ctor(); // 0x101F7DB0
+ public void .ctor(byte[] data); // 0x101F7D60
+ public void .ctor(ASN1 asn1); // 0x101F76C0
+ public bool VerifySignature(AsymmetricAlgorithm aa); // 0x101F7310
+ internal string OidToName(string oid); // 0x101F7180
+ internal ASN1 GetASN1(); // 0x101F6930
+ public byte[] GetBytes(); // 0x101F7140
+}
+
+// Namespace:
+public class SignerInfo // TypeDefIndex: 230
+{
+ // Fields
+ private byte version; // 0x08
+ private X509Certificate x509; // 0x0C
+ private string hashAlgorithm; // 0x10
+ private AsymmetricAlgorithm key; // 0x14
+ private ArrayList authenticatedAttributes; // 0x18
+ private ArrayList unauthenticatedAttributes; // 0x1C
+ private byte[] signature; // 0x20
+ private string issuer; // 0x24
+ private byte[] serial; // 0x28
+ private byte[] ski; // 0x2C
+
+ // Properties
+ public string IssuerName { get; } // 0x100EAD50
+ public byte[] SerialNumber { get; } // 0x101F8AF0
+ public byte[] SubjectKeyIdentifier { get; } // 0x101F8BD0
+ public ASN1 ASN1 { get; } // 0x101F8AE0
+ public ArrayList AuthenticatedAttributes { get; } // 0x100EE580
+ public X509Certificate Certificate { get; set; } // 0x100C5B30 0x100C5B50
+ public string HashName { get; set; } // 0x100BFC20 0x100C5B40
+ public AsymmetricAlgorithm Key { get; set; } // 0x100EF0C0 0x10127B00
+ public byte[] Signature { get; set; } // 0x101F8B60 0x101F8C40
+ public ArrayList UnauthenticatedAttributes { get; } // 0x100F85F0
+ public byte Version { get; set; } // 0x100EA020 0x10155000
+
+ // Methods
+ public void .ctor(); // 0x101F8A70
+ public void .ctor(byte[] data); // 0x101F8680
+ public void .ctor(ASN1 asn1); // 0x101F86D0
+ internal ASN1 GetASN1(); // 0x101F7EC0
+ public byte[] GetBytes(); // 0x101F8640
+}
+
+// Namespace: Mono.Security
+internal sealed class StrongName // TypeDefIndex: 231
+{
+ // Fields
+ private RSA rsa; // 0x08
+ private byte[] publicKey; // 0x0C
+ private byte[] keyToken; // 0x10
+ private string tokenAlgorithm; // 0x14
+ private static object lockObject; // 0x00
+ private static bool initialized; // 0x04
+
+ // Properties
+ public bool CanSign { get; } // 0x101FB530
+ public RSA RSA { get; set; } // 0x101FBC10 0x101FBC70
+ public byte[] PublicKey { get; } // 0x101FB800
+ public byte[] PublicKeyToken { get; } // 0x101FB6F0
+ public string TokenAlgorithm { get; set; } // 0x101FBC30 0x101FBC90
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ public void .ctor(int keySize); // 0x101FB320
+ public void .ctor(byte[] data); // 0x101FB370
+ public void .ctor(RSA rsa); // 0x101FB4B0
+ private static void .cctor(); // 0x101FB2D0
+ private void InvalidateCache(); // 0x101F9FB0
+ public byte[] GetBytes(); // 0x101F9F30
+ private uint RVAtoPosition(uint r, int sections, byte[] headers); // 0x101FA520
+ internal StrongNameSignature StrongHash(Stream stream, StrongNameOptions options); // 0x101FA8F0
+ public byte[] Hash(string fileName); // 0x101F9F60
+ public bool Sign(string fileName); // 0x101FA5B0
+ public bool Verify(string fileName); // 0x101FAFA0
+ public bool Verify(Stream stream); // 0x101FB0D0
+ public static bool IsAssemblyStrongnamed(string assemblyName); // 0x101F9FD0
+ public static bool VerifySignature(byte[] publicKey, int algorithm, byte[] hash, byte[] signature); // 0x101FAEA0
+ private static bool Verify(RSA rsa, AssemblyHashAlgorithm algorithm, byte[] hash, byte[] signature); // 0x101FB230
+}
+
+// Namespace:
+internal class StrongNameSignature // TypeDefIndex: 232
+{
+ // Fields
+ private byte[] hash; // 0x08
+ private byte[] signature; // 0x0C
+ private uint signaturePosition; // 0x10
+ private uint signatureLength; // 0x14
+ private uint metadataPosition; // 0x18
+ private uint metadataLength; // 0x1C
+ private byte cliFlag; // 0x20
+ private uint cliFlagPosition; // 0x24
+
+ // Properties
+ public byte[] Hash { get; set; } // 0x100BF0C0 0x100EB270
+ public byte[] Signature { get; set; } // 0x100C5B30 0x100C5B50
+ public uint MetadataPosition { get; set; } // 0x100EE580 0x10113F40
+ public uint MetadataLength { get; set; } // 0x100F85F0 0x10113F50
+ public uint SignaturePosition { get; set; } // 0x100BFC20 0x100C5B40
+ public uint SignatureLength { get; set; } // 0x100EF0C0 0x10127B00
+ public byte CliFlag { get; set; } // 0x101B94D0 0x101D3670
+ public uint CliFlagPosition { get; set; } // 0x100EAD50 0x100EB240
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+}
+
+// Namespace:
+internal enum StrongNameOptions // TypeDefIndex: 233
+{
+ Metadata = 0,
+ Signature = 1
+}
+
+// Namespace: Mono.Security
+internal class StrongNameManager // TypeDefIndex: 234
+{
+ // Fields
+ private static Hashtable mappings; // 0x00
+ private static Hashtable tokens; // 0x04
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x100C5530
+ public static void LoadConfig(string filename); // 0x101F8D90
+ private static void LoadMapping(SecurityElement mapping); // 0x101F9030
+ private static void LoadVerificationSettings(SecurityElement settings); // 0x101F9440
+ public static byte[] GetMappedPublicKey(byte[] token); // 0x101F8CB0
+ public static bool MustVerify(AssemblyName an); // 0x101F9980
+ public override string ToString(); // 0x101F9AE0
+}
+
+// Namespace:
+private class Element // TypeDefIndex: 235
+{
+ // Fields
+ internal Hashtable assemblies; // 0x08
+
+ // Methods
+ public void .ctor(); // 0x101E90B0
+ public void .ctor(string assembly, string users); // 0x101E9030
+ public string GetUsers(string assembly); // 0x101E8FC0
+}
+
+// Namespace: Mono.Security
+internal enum UriPartial // TypeDefIndex: 236
+{
+ Scheme = 0,
+ Authority = 1,
+ Path = 2
+}
+
+// Namespace: Mono.Security
+internal class Uri // TypeDefIndex: 237
+{
+ // Fields
+ private bool isUnixFilePath; // 0x08
+ private string source; // 0x0C
+ private string scheme; // 0x10
+ private string host; // 0x14
+ private int port; // 0x18
+ private string path; // 0x1C
+ private string query; // 0x20
+ private string fragment; // 0x24
+ private string userinfo; // 0x28
+ private bool isUnc; // 0x2C
+ private bool isOpaquePart; // 0x2D
+ private string[] segments; // 0x30
+ private bool userEscaped; // 0x34
+ private string cachedAbsoluteUri; // 0x38
+ private string cachedToString; // 0x3C
+ private string cachedLocalPath; // 0x40
+ private int cachedHashCode; // 0x44
+ private bool reduce; // 0x48
+ private static readonly string hexUpperChars; // 0x00
+ public static readonly string SchemeDelimiter; // 0x04
+ public static readonly string UriSchemeFile; // 0x08
+ public static readonly string UriSchemeFtp; // 0x0C
+ public static readonly string UriSchemeGopher; // 0x10
+ public static readonly string UriSchemeHttp; // 0x14
+ public static readonly string UriSchemeHttps; // 0x18
+ public static readonly string UriSchemeMailto; // 0x1C
+ public static readonly string UriSchemeNews; // 0x20
+ public static readonly string UriSchemeNntp; // 0x24
+ private static UriScheme[] schemes; // 0x28
+ private static Dictionary`2 <>f__switch$map17; // 0x2C
+
+ // Properties
+ public string AbsolutePath { get; } // 0x100F85F0
+ public string AbsoluteUri { get; } // 0x10201B50
+ public string Authority { get; } // 0x10201BD0
+ public string Fragment { get; } // 0x100EAD50
+ public string Host { get; } // 0x100EF0C0
+ public bool IsDefaultPort { get; } // 0x10201C80
+ public bool IsFile { get; } // 0x10201CE0
+ public bool IsLoopback { get; } // 0x10201D60
+ public bool IsUnc { get; } // 0x10201E40
+ public string LocalPath { get; } // 0x10201E50
+ public string PathAndQuery { get; } // 0x10202110
+ public int Port { get; } // 0x100EE580
+ public string Query { get; } // 0x100EACD0
+ public string Scheme { get; } // 0x100BFC20
+ public string[] Segments { get; } // 0x10202170
+ public bool UserEscaped { get; } // 0x100C00E0
+ public string UserInfo { get; } // 0x100EB040
+
+ // Methods
+ public void .ctor(string uriString); // 0x102019B0
+ public void .ctor(string uriString, bool dontEscape); // 0x10201A90
+ public void .ctor(string uriString, bool dontEscape, bool reduce); // 0x102018E0
+ public void .ctor(Uri baseUri, string relativeUri); // 0x10201A70
+ public void .ctor(Uri baseUri, string relativeUri, bool dontEscape); // 0x102011A0
+ private static void .cctor(); // 0x10200E60
+ internal static bool IsIPv4Address(string name); // 0x101FEFF0
+ internal static bool IsDomainAddress(string name); // 0x101FED20
+ public static bool CheckSchemeName(string schemeName); // 0x101FD6D0
+ public override bool Equals(object comparant); // 0x101FD7C0
+ public override int GetHashCode(); // 0x101FE050
+ public string GetLeftPart(UriPartial part); // 0x101FE0F0
+ public static int FromHex(char digit); // 0x101FDE90
+ public static string HexEscape(char character); // 0x101FE870
+ public static char HexUnescape(string pattern, int index); // 0x101FE9B0
+ public static bool IsHexDigit(char digit); // 0x101FEE90
+ public static bool IsHexEncoding(string pattern, int index); // 0x101FEED0
+ public string MakeRelative(Uri toUri); // 0x101FF390
+ public override string ToString(); // 0x10200BC0
+ protected void Escape(); // 0x101FDDF0
+ protected static string EscapeString(string str); // 0x101FDB20
+ internal static string EscapeString(string str, bool escapeReserved, bool escapeHex, bool escapeBrackets); // 0x101FDB80
+ protected void Parse(); // 0x10200820
+ protected string Unescape(string str); // 0x10200CF0
+ internal string Unescape(string str, bool excludeSharp); // 0x10200D10
+ private void ParseAsWindowsUNC(string uriString); // 0x101FF920
+ private void ParseAsWindowsAbsoluteFilePath(string uriString); // 0x101FF7F0
+ private void ParseAsUnixAbsoluteFilePath(string uriString); // 0x101FF680
+ private void Parse(string uriString); // 0x101FFAA0
+ private static string Reduce(string path); // 0x102008A0
+ internal static string GetSchemeDelimiter(string scheme); // 0x101FE730
+ internal static int GetDefaultPort(string scheme); // 0x101FDF30
+ private string GetOpaqueWiseSchemeDelimiter(); // 0x101FE5A0
+ protected bool IsBadFileSystemCharacter(char ch); // 0x101FECB0
+ protected static bool IsExcludedCharacter(char ch); // 0x101FEE20
+ private static bool IsPredefinedScheme(string scheme); // 0x101FF180
+ protected bool IsReservedCharacter(char ch); // 0x101FF340
+}
+
+// Namespace:
+private struct UriScheme // TypeDefIndex: 238
+{
+ // Fields
+ public string scheme; // 0x08
+ public string delimiter; // 0x0C
+ public int defaultPort; // 0x10
+
+ // Methods
+ public void .ctor(string s, string d, int p); // 0x100074C0
+}
+
+// Namespace: Mono.Xml
+internal class SecurityParser : SmallXmlParser, IContentHandler // TypeDefIndex: 239
+{
+ // Fields
+ private SecurityElement root; // 0x38
+ private SecurityElement current; // 0x3C
+ private Stack stack; // 0x40
+
+ // Methods
+ public void .ctor(); // 0x101614A0
+ public void LoadXml(string xml); // 0x10161170
+ public SecurityElement ToXml(); // 0x100EB210
+ public void OnStartParsing(SmallXmlParser parser); // 0x100C5530
+ public void OnProcessingInstruction(string name, string text); // 0x100C5530
+ public void OnIgnorableWhitespace(string s); // 0x100C5530
+ public void OnStartElement(string name, IAttrList attrs); // 0x101612D0
+ public void OnEndElement(string name); // 0x10161260
+ public void OnChars(string ch); // 0x101611F0
+ public void OnEndParsing(SmallXmlParser parser); // 0x100C5530
+}
+
+// Namespace: Mono.Xml
+internal class DefaultHandler : IContentHandler // TypeDefIndex: 240
+{
+ // Methods
+ public void .ctor(); // 0x100BF000
+ public void OnStartParsing(SmallXmlParser parser); // 0x100C5530
+ public void OnEndParsing(SmallXmlParser parser); // 0x100C5530
+ public void OnStartElement(string name, IAttrList attrs); // 0x100C5530
+ public void OnEndElement(string name); // 0x100C5530
+ public void OnChars(string s); // 0x100C5530
+ public void OnIgnorableWhitespace(string s); // 0x100C5530
+ public void OnProcessingInstruction(string name, string text); // 0x100C5530
+}
+
+// Namespace: Mono.Xml
+internal class SmallXmlParser // TypeDefIndex: 241
+{
+ // Fields
+ private IContentHandler handler; // 0x08
+ private TextReader reader; // 0x0C
+ private Stack elementNames; // 0x10
+ private Stack xmlSpaces; // 0x14
+ private string xmlSpace; // 0x18
+ private StringBuilder buffer; // 0x1C
+ private char[] nameBuffer; // 0x20
+ private bool isWhitespace; // 0x24
+ private AttrListImpl attributes; // 0x28
+ private int line; // 0x2C
+ private int column; // 0x30
+ private bool resetColumn; // 0x34
+ private static Dictionary`2 <>f__switch$map18; // 0x00
+
+ // Methods
+ public void .ctor(); // 0x101636E0
+ private Exception Error(string msg); // 0x101617B0
+ private Exception UnexpectedEndError(); // 0x10163610
+ private bool IsNameChar(char c, bool start); // 0x10161B60
+ private bool IsWhitespace(int c); // 0x10161C50
+ public void SkipWhitespaces(); // 0x101635F0
+ private void HandleWhitespaces(); // 0x10161A50
+ public void SkipWhitespaces(bool expected); // 0x101634F0
+ private int Peek(); // 0x10161EA0
+ private int Read(); // 0x10163490
+ public void Expect(int c); // 0x10161890
+ private string ReadUntil(char until, bool handleReferences); // 0x10163360
+ public string ReadName(); // 0x10162ED0
+ public void Parse(TextReader input, IContentHandler handler); // 0x10161C90
+ private void Cleanup(); // 0x101616E0
+ public void ReadContent(); // 0x10162520
+ private void HandleBufferedContent(); // 0x101619B0
+ private void ReadCharacters(); // 0x101622B0
+ private void ReadReference(); // 0x10163040
+ private int ReadCharacterReference(); // 0x101621A0
+ private void ReadAttribute(AttrListImpl a); // 0x10161ED0
+ private void ReadCDATASection(); // 0x10162050
+ private void ReadComment(); // 0x101623D0
+}
+
+// Namespace:
+public interface IContentHandler // TypeDefIndex: 242
+{
+ // Methods
+ void OnStartParsing(SmallXmlParser parser);
+ void OnEndParsing(SmallXmlParser parser);
+ void OnStartElement(string name, IAttrList attrs);
+ void OnEndElement(string name);
+ void OnProcessingInstruction(string name, string text);
+ void OnChars(string text);
+ void OnIgnorableWhitespace(string text);
+}
+
+// Namespace:
+public interface IAttrList // TypeDefIndex: 243
+{
+ // Properties
+ int Length { get; }
+ bool IsEmpty { get; }
+ string[] Names { get; }
+ string[] Values { get; }
+
+ // Methods
+ string GetName(int i);
+ string GetValue(int i);
+ string GetValue(string name);
+}
+
+// Namespace:
+private class AttrListImpl : IAttrList // TypeDefIndex: 244
+{
+ // Fields
+ private ArrayList attrNames; // 0x08
+ private ArrayList attrValues; // 0x0C
+
+ // Properties
+ public int Length { get; } // 0x101273C0
+ public bool IsEmpty { get; } // 0x1015FFD0
+ public string[] Names { get; } // 0x10160000
+ public string[] Values { get; } // 0x101600B0
+
+ // Methods
+ public void .ctor(); // 0x1015FF60
+ public string GetName(int i); // 0x1015FD80
+ public string GetValue(int i); // 0x1015FEF0
+ public string GetValue(string name); // 0x1015FDF0
+ internal void Clear(); // 0x1015FD30
+ internal void Add(string name, string value); // 0x1015FCE0
+}
+
+// Namespace: Mono.Xml
+internal class SmallXmlParserException : SystemException // TypeDefIndex: 245
+{
+ // Fields
+ private int line; // 0x34
+ private int column; // 0x38
+
+ // Properties
+ public int Line { get; } // 0x100E9ED0
+ public int Column { get; } // 0x100EB210
+
+ // Methods
+ public void .ctor(string msg, int line, int column); // 0x10161630
+}
+
+// Namespace: Mono
+internal abstract class DataConverter // TypeDefIndex: 246
+{
+ // Fields
+ private static DataConverter SwapConv; // 0x00
+ private static DataConverter CopyConv; // 0x04
+ public static readonly bool IsLittleEndian; // 0x08
+
+ // Properties
+ public static DataConverter LittleEndian { get; } // 0x1025DD80
+ public static DataConverter BigEndian { get; } // 0x1025DCE0
+ public static DataConverter Native { get; } // 0x1025DE20
+
+ // Methods
+ protected void .ctor(); // 0x100BF000
+ private static void .cctor(); // 0x1025DBC0
+ public abstract double GetDouble(byte[] data, int index);
+ public abstract float GetFloat(byte[] data, int index);
+ public abstract long GetInt64(byte[] data, int index);
+ public abstract int GetInt32(byte[] data, int index);
+ public abstract short GetInt16(byte[] data, int index);
+ public abstract uint GetUInt32(byte[] data, int index);
+ public abstract ushort GetUInt16(byte[] data, int index);
+ public abstract ulong GetUInt64(byte[] data, int index);
+ public abstract void PutBytes(byte[] dest, int destIdx, double value);
+ public abstract void PutBytes(byte[] dest, int destIdx, float value);
+ public abstract void PutBytes(byte[] dest, int destIdx, int value);
+ public abstract void PutBytes(byte[] dest, int destIdx, long value);
+ public abstract void PutBytes(byte[] dest, int destIdx, short value);
+ public abstract void PutBytes(byte[] dest, int destIdx, ushort value);
+ public abstract void PutBytes(byte[] dest, int destIdx, uint value);
+ public abstract void PutBytes(byte[] dest, int destIdx, ulong value);
+ public byte[] GetBytes(double value); // 0x1025BFE0
+ public byte[] GetBytes(float value); // 0x1025BDA0
+ public byte[] GetBytes(int value); // 0x1025BF20
+ public byte[] GetBytes(long value); // 0x1025BE00
+ public byte[] GetBytes(short value); // 0x1025BF80
+ public byte[] GetBytes(ushort value); // 0x1025BD40
+ public byte[] GetBytes(uint value); // 0x1025BEC0
+ public byte[] GetBytes(ulong value); // 0x1025BE60
+ private static int Align(int current, int align); // 0x1025BC80
+ public static byte[] Pack(string description, object[] args); // 0x1025CD10
+ public static byte[] PackEnumerable(string description, IEnumerable args); // 0x1025C040
+ private static bool PackOne(PackContext b, object oarg); // 0x1025C1F0
+ private static bool Prepare(byte[] buffer, int idx, int size, bool align); // 0x1025CE80
+ public static IList Unpack(string description, byte[] buffer, int startIndex); // 0x1025CF10
+ internal void Check(byte[] dest, int destIdx, int size); // 0x1025BCA0
+}
+
+// Namespace:
+private class PackContext // TypeDefIndex: 247
+{
+ // Fields
+ public byte[] buffer; // 0x08
+ private int next; // 0x0C
+ public string description; // 0x10
+ public int i; // 0x14
+ public DataConverter conv; // 0x18
+ public int repeat; // 0x1C
+ public int align; // 0x20
+
+ // Methods
+ public void .ctor(); // 0x100BF000
+ public void Add(byte[] group); // 0x10265E80
+ public byte[] Get(); // 0x10265FE0
+}
+
+// Namespace:
+private class CopyConverter : DataConverter // TypeDefIndex: 248
+{
+ // Methods
+ public void .ctor(); // 0x1025BB80
+ public override double GetDouble(byte[] data, int index); // 0x1025B390
+ public override ulong GetUInt64(byte[] data, int index); // 0x1025B9B0
+ public override long GetInt64(byte[] data, int index); // 0x1025B710
+ public override float GetFloat(byte[] data, int index); // 0x1025B470
+ public override int GetInt32(byte[] data, int index); // 0x1025B630
+ public override uint GetUInt32(byte[] data, int index); // 0x1025B8D0
+ public override short GetInt16(byte[] data, int index); // 0x1025B550
+ public override ushort GetUInt16(byte[] data, int index); // 0x1025B7F0
+ public override void PutBytes(byte[] dest, int destIdx, double value); // 0x1025BA90
+ public override void PutBytes(byte[] dest, int destIdx, float value); // 0x1025BB30
+ public override void PutBytes(byte[] dest, int destIdx, int value); // 0x1025BB30
+ public override void PutBytes(byte[] dest, int destIdx, uint value); // 0x1025BB30
+ public override void PutBytes(byte[] dest, int destIdx, long value); // 0x1025BA90
+ public override void PutBytes(byte[] dest, int destIdx, ulong value); // 0x1025BA90
+ public override void PutBytes(byte[] dest, int destIdx, short value); // 0x1025BAE0
+ public override void PutBytes(byte[] dest, int destIdx, ushort value); // 0x1025BAE0
+}
+
+// Namespace:
+private class SwapConverter : DataConverter // TypeDefIndex: 249
+{
+ // Methods
+ public void .ctor(); // 0x1026F8D0
+ public override double GetDouble(byte[] data, int index); // 0x1026EFD0
+ public override ulong GetUInt64(byte[] data, int index); // 0x1026F5F0
+ public override long GetInt64(byte[] data, int index); // 0x1026F350
+ public override float GetFloat(byte[] data, int index); // 0x1026F0B0
+ public override int GetInt32(byte[] data, int index); // 0x1026F270
+ public override uint GetUInt32(byte[] data, int index); // 0x1026F510
+ public override short GetInt16(byte[] data, int index); // 0x1026F190
+ public override ushort GetUInt16(byte[] data, int index); // 0x1026F430
+ public override void PutBytes(byte[] dest, int destIdx, double value); // 0x1026F6D0
+ public override void PutBytes(byte[] dest, int destIdx, float value); // 0x1026F870
+ public override void PutBytes(byte[] dest, int destIdx, int value); // 0x1026F7B0
+ public override void PutBytes(byte[] dest, int destIdx, uint value); // 0x1026F7B0
+ public override void PutBytes(byte[] dest, int destIdx, long value); // 0x1026F6D0
+ public override void PutBytes(byte[] dest, int destIdx, ulong value); // 0x1026F810
+ public override void PutBytes(byte[] dest, int destIdx, short value); // 0x1026F750
+ public override void PutBytes(byte[] dest, int destIdx, ushort value); // 0x1026F750
+}
+
+// Namespace: Mono
+internal class Runtime // TypeDefIndex: 250
+{
+ // Methods
+ public void .ctor(); // 0x100BF000
+ private static void mono_runtime_install_handlers(); // 0x102AE1E0
+ internal static void InstallSignalHandlers(); // 0x102AE1E0
+ internal static string GetDisplayName(); // 0x102AE1D0
+}
+
+// Namespace: System.Collections.Generic
+internal sealed class CollectionDebuggerView`1 // TypeDefIndex: 251
+{
+ // Fields
+ private readonly ICollection`1 c; // 0x00
+
+ // Properties
+ public T[] Items { get; }
+
+ // Methods
+ public void .ctor(ICollection`1 col);
+}
+
+// Namespace: System.Collections.Generic
+internal sealed class CollectionDebuggerView`2 // TypeDefIndex: 252
+{
+ // Fields
+ private readonly ICollection`1> c; // 0x00
+
+ // Properties
+ public KeyValuePair`2[] Items { get; }
+
+ // Methods
+ public void .ctor(ICollection`1> col);
+}
+
+// Namespace: System.Collections.Generic
+[Serializable]
+public abstract class Comparer`1 : IComparer`1, IComparer // TypeDefIndex: 253
+{
+ // Fields
+ private static readonly Comparer`1 _default; // 0x00
+
+ // Properties
+ public static Comparer`1 Default { get; }
+
+ // Methods
+ protected void .ctor();
+ private static void .cctor();
+ private int System.Collections.IComparer.Compare(object x, object y);
+ public abstract int Compare(T x, T y);
+}
+
+// Namespace:
+private sealed class DefaultComparer : Comparer`1 // TypeDefIndex: 254
+{
+ // Methods
+ public void .ctor();
+ public override int Compare(T x, T y);
+}
+
+// Namespace: System.Collections.Generic
+[Serializable]
+internal sealed class GenericComparer`1 : Comparer`1 // TypeDefIndex: 255
+{
+ // Methods
+ public void .ctor();
+ public override int Compare(T x, T y);
+}
+
+// Namespace: System.Collections.Generic
+internal struct Link // TypeDefIndex: 256
+{
+ // Fields
+ public int HashCode; // 0x08
+ public int Next; // 0x0C
+
+}
+
+// Namespace: System.Collections.Generic
+[Serializable]
+public class Dictionary`2 : IEnumerable, ISerializable, ICollection, ICollection`1>, IEnumerable`1>, IDictionary`2, IDictionary, IDeserializationCallback // TypeDefIndex: 257
+{
+ // Fields
+ private const int INITIAL_SIZE = 10; // 0x00
+ private const float DEFAULT_LOAD_FACTOR = 0.9; // 0x00
+ private const int NO_SLOT = -1; // 0x00
+ private const int HASH_FLAG = -2147483648; // 0x00
+ private int[] table; // 0x00
+ private Link[] linkSlots; // 0x00
+ private T[] keySlots; // 0x00
+ private T[] valueSlots; // 0x00
+ private int touchedSlots; // 0x00
+ private int emptySlot; // 0x00
+ private int count; // 0x00
+ private int threshold; // 0x00
+ private IEqualityComparer`1 hcp; // 0x00
+ private SerializationInfo serialization_info; // 0x00
+ private int generation; // 0x00
+ private static Transform`1 <>f__am$cacheB; // 0x00
+
+ // Properties
+ private ICollection`1 System.Collections.Generic.IDictionary.Keys { get; }
+ private ICollection`1 System.Collections.Generic.IDictionary.Values { get; }
+ private ICollection System.Collections.IDictionary.Keys { get; }
+ private ICollection System.Collections.IDictionary.Values { get; }
+ private bool System.Collections.IDictionary.IsFixedSize { get; }
+ private bool System.Collections.IDictionary.IsReadOnly { get; }
+ private object System.Collections.IDictionary.Item { get; set; }
+ private bool System.Collections.ICollection.IsSynchronized { get; }
+ private object System.Collections.ICollection.SyncRoot { get; }
+ private bool System.Collections.Generic.ICollection>.IsReadOnly { get; }
+ public int Count { get; }
+ public T Item { get; set; }
+ public IEqualityComparer`1 Comparer { get; }
+ public KeyCollection Keys { get; }
+ public ValueCollection Values { get; }
+
+ // Methods
+ public void .ctor();
+ public void .ctor(IEqualityComparer`1 comparer);
+ public void .ctor(IDictionary`2 dictionary);
+ public void .ctor(int capacity);
+ public void .ctor(IDictionary`2 dictionary, IEqualityComparer`1 comparer);
+ public void .ctor(int capacity, IEqualityComparer`1 comparer);
+ protected void .ctor(SerializationInfo info, StreamingContext context);
+ private void System.Collections.IDictionary.Add(object key, object value);
+ private bool System.Collections.IDictionary.Contains(object key);
+ private void System.Collections.IDictionary.Remove(object key);
+ private void System.Collections.Generic.ICollection>.Add(KeyValuePair`2 keyValuePair);
+ private bool System.Collections.Generic.ICollection>.Contains(KeyValuePair`2 keyValuePair);
+ private void System.Collections.Generic.ICollection>.CopyTo(KeyValuePair`2[] array, int index);
+ private bool System.Collections.Generic.ICollection>.Remove(KeyValuePair`2 keyValuePair);
+ private void System.Collections.ICollection.CopyTo(Array array, int index);
+ private IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ private IEnumerator`1> System.Collections.Generic.IEnumerable>.GetEnumerator();
+ private IDictionaryEnumerator System.Collections.IDictionary.GetEnumerator();
+ private void Init(int capacity, IEqualityComparer`1 hcp);
+ private void InitArrays(int size);
+ private void CopyToCheck(Array array, int index);
+ private void Do_CopyTo(T[] array, int index, Transform`1 transform);
+ private static KeyValuePair`2 make_pair(T key, T value);
+ private static T pick_key(T key, T value);
+ private static T pick_value(T key, T value);
+ private void CopyTo(KeyValuePair`2[] array, int index);
+ private void Do_ICollectionCopyTo(Array array, int index, Transform`1 transform);
+ private void Resize();
+ public void Add(T key, T value);
+ public void Clear();
+ public bool ContainsKey(T key);
+ public bool ContainsValue(T value);
+ public virtual void GetObjectData(SerializationInfo info, StreamingContext context);
+ public virtual void OnDeserialization(object sender);
+ public bool Remove(T key);
+ public bool TryGetValue(T key, out T value);
+ private T ToTKey(object key);
+ private T ToTValue(object value);
+ private bool ContainsKeyValuePair(KeyValuePair`2 pair);
+ public Enumerator GetEnumerator();
+ private static DictionaryEntry m__0(T key, T value);
+}
+
+// Namespace:
+[Serializable]
+private class ShimEnumerator : IEnumerator, IDictionaryEnumerator // TypeDefIndex: 258
+{
+ // Fields
+ private Enumerator host_enumerator; // 0x00
+
+ // Properties
+ public DictionaryEntry Entry { get; }
+ public object Key { get; }
+ public object Value { get; }
+ public object Current { get; }
+
+ // Methods
+ public void .ctor(Dictionary`2 host);
+ public void Dispose();
+ public bool MoveNext();
+ public void Reset();
+}
+
+// Namespace:
+[Serializable]
+public struct Enumerator : IEnumerator, IDisposable, IEnumerator`1>, IDictionaryEnumerator // TypeDefIndex: 259
+{
+ // Fields
+ private Dictionary`2 dictionary; // 0x00
+ private int next; // 0x00
+ private int stamp; // 0x00
+ internal KeyValuePair`2 current; // 0x00
+
+ // Properties
+ private object System.Collections.IEnumerator.Current { get; }
+ private DictionaryEntry System.Collections.IDictionaryEnumerator.Entry { get; }
+ private object System.Collections.IDictionaryEnumerator.Key { get; }
+ private object System.Collections.IDictionaryEnumerator.Value { get; }
+ public KeyValuePair`2 Current { get; }
+ internal T CurrentKey { get; }
+ internal T CurrentValue { get; }
+
+ // Methods
+ internal void .ctor(Dictionary`2 dictionary);
+ private void System.Collections.IEnumerator.Reset();
+ public bool MoveNext();
+ internal void Reset();
+ private void VerifyState();
+ private void VerifyCurrent();
+ public void Dispose();
+}
+
+// Namespace:
+[Serializable]
+public sealed class KeyCollection : IEnumerable, ICollection, ICollection`1, IEnumerable`1 // TypeDefIndex: 260
+{
+ // Fields
+ private Dictionary`2 dictionary; // 0x00
+
+ // Properties
+ private bool System.Collections.Generic.ICollection.IsReadOnly { get; }
+ private bool System.Collections.ICollection.IsSynchronized { get; }
+ private object System.Collections.ICollection.SyncRoot { get; }
+ public int Count { get; }
+
+ // Methods
+ public void .ctor(Dictionary`2 dictionary);
+ private void System.Collections.Generic.ICollection.Add(T item);
+ private void System.Collections.Generic.ICollection.Clear();
+ private bool System.Collections.Generic.ICollection.Contains(T item);
+ private bool System.Collections.Generic.ICollection.Remove(T item);
+ private IEnumerator`1 System.Collections.Generic.IEnumerable.GetEnumerator();
+ private void System.Collections.ICollection.CopyTo(Array array, int index);
+ private IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public void CopyTo(T[] array, int index);
+ public Enumerator GetEnumerator();
+}
+
+// Namespace:
+[Serializable]
+public struct Enumerator : IEnumerator, IDisposable, IEnumerator`1 // TypeDefIndex: 261
+{
+ // Fields
+ private Enumerator host_enumerator; // 0x00
+
+ // Properties
+ private object System.Collections.IEnumerator.Current { get; }
+ public T Current { get; }
+
+ // Methods
+ internal void .ctor(Dictionary`2 host);
+ private void System.Collections.IEnumerator.Reset();
+ public void Dispose();
+ public bool MoveNext();
+}
+
+// Namespace:
+[Serializable]
+public sealed class ValueCollection : IEnumerable, ICollection, ICollection`1, IEnumerable`1 // TypeDefIndex: 262
+{
+ // Fields
+ private Dictionary`2 dictionary; // 0x00
+
+ // Properties
+ private bool System.Collections.Generic.ICollection.IsReadOnly { get; }
+ private bool System.Collections.ICollection.IsSynchronized { get; }
+ private object System.Collections.ICollection.SyncRoot { get; }
+ public int Count { get; }
+
+ // Methods
+ public void .ctor(Dictionary`2 dictionary);
+ private void System.Collections.Generic.ICollection.Add(T item);
+ private void System.Collections.Generic.ICollection.Clear();
+ private bool System.Collections.Generic.ICollection.Contains(T item);
+ private bool System.Collections.Generic.ICollection.Remove(T item);
+ private IEnumerator`1 System.Collections.Generic.IEnumerable.GetEnumerator();
+ private void System.Collections.ICollection.CopyTo(Array array, int index);
+ private IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ public void CopyTo(T[] array, int index);
+ public Enumerator GetEnumerator();
+}
+
+// Namespace:
+[Serializable]
+public struct Enumerator : IEnumerator, IDisposable, IEnumerator`1 // TypeDefIndex: 263
+{
+ // Fields
+ private Enumerator host_enumerator; // 0x00
+
+ // Properties
+ private object System.Collections.IEnumerator.Current { get; }
+ public T Current { get; }
+
+ // Methods
+ internal void .ctor(Dictionary`2 host);
+ private void System.Collections.IEnumerator.Reset();
+ public void Dispose();
+ public bool MoveNext();
+}
+
+// Namespace:
+private delegate T Transform`1(T key, T value); // TypeDefIndex: 264; 0x00000000
+
+// Namespace: System.Collections.Generic
+[Serializable]
+public abstract class EqualityComparer`1 : IEqualityComparer`1, IEqualityComparer // TypeDefIndex: 265
+{
+ // Fields
+ private static readonly EqualityComparer`1 _default; // 0x00
+
+ // Properties
+ public static EqualityComparer`1 Default { get; }
+
+ // Methods
+ protected void .ctor();
+ private static void .cctor();
+ private int System.Collections.IEqualityComparer.GetHashCode(object obj);
+ private bool System.Collections.IEqualityComparer.Equals(object x, object y);
+ public abstract int GetHashCode(T obj);
+ public abstract bool Equals(T x, T y);
+}
+
+// Namespace:
+[Serializable]
+private sealed class DefaultComparer : EqualityComparer`1 // TypeDefIndex: 266
+{
+ // Methods
+ public void .ctor();
+ public override int GetHashCode(T obj);
+ public override bool Equals(T x, T y);
+}
+
+// Namespace: System.Collections.Generic
+[Serializable]
+internal sealed class GenericEqualityComparer`1 : EqualityComparer`1 // TypeDefIndex: 267
+{
+ // Methods
+ public void .ctor();
+ public override int GetHashCode(T obj);
+ public override bool Equals(T x, T y);
+}
+
+// Namespace: System.Collections.Generic
+public interface IComparer`1 // TypeDefIndex: 268
+{
+ // Methods
+ int Compare(T x, T y);
+}
+
+// Namespace: System.Collections.Generic
+public interface IDictionary`2 : IEnumerable, ICollection`1>, IEnumerable`1> // TypeDefIndex: 269
+{
+ // Properties
+ T Item { get; set; }
+ ICollection`1 Keys { get; }
+ ICollection`1 Values { get; }
+
+ // Methods
+ void Add(T key, T value);
+ bool ContainsKey(T key);
+ bool Remove(T key);
+ bool TryGetValue(T key, out T value);
+}
+
+// Namespace: System.Collections.Generic
+public interface IEqualityComparer`1 // TypeDefIndex: 270
+{
+ // Methods
+ bool Equals(T x, T y);
+ int GetHashCode(T obj);
+}
+
+// Namespace: System.Collections.Generic
+[Serializable]
+public class KeyNotFoundException : SystemException, ISerializable // TypeDefIndex: 271
+{
+ // Methods
+ public void .ctor(); // 0x10227B50
+ public void .ctor(string message); // 0x100E5680
+ public void .ctor(string message, Exception innerException); // 0x100E5670
+ protected void .ctor(SerializationInfo info, StreamingContext context); // 0x100E5610
+}
+
+// Namespace: System.Collections.Generic
+[Serializable]
+public struct KeyValuePair`2 // TypeDefIndex: 272
+{
+ // Fields
+ private T key; // 0x00
+ private T value; // 0x00
+
+ // Properties
+ public T Key { get; set; }
+ public T Value { get; set; }
+
+ // Methods
+ public void .ctor(T key, T value);
+ public override string ToString();
+}
+
+// Namespace: System.Collections.Generic
+[Serializable]
+public class List`1 : IEnumerable, ICollection, IList, ICollection`1, IEnumerable`1, IList`1 // TypeDefIndex: 273
+{
+ // Fields
+ private const int DefaultCapacity = 4; // 0x00
+ private T[] _items; // 0x00
+ private int _size; // 0x00
+ private int _version; // 0x00
+ private static readonly T[] EmptyArray; // 0x00
+
+ // Properties
+ private bool System.Collections.Generic.ICollection.IsReadOnly { get; }
+ private bool System.Collections.ICollection.IsSynchronized { get; }
+ private object System.Collections.ICollection.SyncRoot { get; }
+ private bool System.Collections.IList.IsFixedSize { get; }
+ private bool System.Collections.IList.IsReadOnly { get; }
+ private object System.Collections.IList.Item { get; set; }
+ public int Capacity { get; set; }
+ public int Count { get; }
+ public T Item { get; set; }
+
+ // Methods
+ public void .ctor();
+ public void .ctor(IEnumerable`1 collection);
+ public void .ctor(int capacity);
+ internal void .ctor(T[] data, int size);
+ private static void .cctor();
+ private IEnumerator`1 System.Collections.Generic.IEnumerable.GetEnumerator();
+ private void System.Collections.ICollection.CopyTo(Array array, int arrayIndex);
+ private IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ private int System.Collections.IList.Add(object item);
+ private bool System.Collections.IList.Contains(object item);
+ private int System.Collections.IList.IndexOf(object item);
+ private void System.Collections.IList.Insert(int index, object item);
+ private void System.Collections.IList.Remove(object item);
+ public void Add(T item);
+ private void GrowIfNeeded(int newCount);
+ private void CheckRange(int idx, int count);
+ private void AddCollection(ICollection`1 collection);
+ private void AddEnumerable(IEnumerable`1 enumerable);
+ public void AddRange(IEnumerable`1 collection);
+ public ReadOnlyCollection`1 AsReadOnly();
+ public int BinarySearch(T item);
+ public int BinarySearch(T item, IComparer`1 comparer);
+ public int BinarySearch(int index, int count, T item, IComparer`1 comparer);
+ public void Clear();
+ public bool Contains(T item);
+ public List`1 ConvertAll(Converter`2 converter);
+ public void CopyTo(T[] array);
+ public void CopyTo(T[] array, int arrayIndex);
+ public void CopyTo(int index, T[] array, int arrayIndex, int count);
+ public bool Exists(Predicate`1 match);
+ public T Find(Predicate`1 match);
+ private static void CheckMatch(Predicate`1 match);
+ public List`1 FindAll(Predicate`1 match);
+ private List`1 FindAllStackBits(Predicate`1 match);
+ private List`1 FindAllList(Predicate`1 match);
+ public int FindIndex(Predicate`1 match);
+ public int FindIndex(int startIndex, Predicate`1 match);
+ public int FindIndex(int startIndex, int count, Predicate`1 match);
+ private int GetIndex(int startIndex, int count, Predicate`1 match);
+ public T FindLast(Predicate`1 match);
+ public int FindLastIndex(Predicate`1 match);
+ public int FindLastIndex(int startIndex, Predicate`1 match);
+ public int FindLastIndex(int startIndex, int count, Predicate`1 match);
+ private int GetLastIndex(int startIndex, int count, Predicate`1 match);
+ public void ForEach(Action`1 action);
+ public Enumerator GetEnumerator();
+ public List`1 GetRange(int index, int count);
+ public int IndexOf(T item);
+ public int IndexOf(T item, int index);
+ public int IndexOf(T item, int index, int count);
+ private void Shift(int start, int delta);
+ private void CheckIndex(int index);
+ public void Insert(int index, T item);
+ private void CheckCollection(IEnumerable`1 collection);
+ public void InsertRange(int index, IEnumerable`1 collection);
+ private void InsertCollection(int index, ICollection`1 collection);
+ private void InsertEnumeration(int index, IEnumerable`1 enumerable);
+ public int LastIndexOf(T item);
+ public int LastIndexOf(T item, int index);
+ public int LastIndexOf(T item, int index, int count);
+ public bool Remove(T item);
+ public int RemoveAll(Predicate`1 match);
+ public void RemoveAt(int index);
+ public void RemoveRange(int index, int count);
+ public void Reverse();
+ public void Reverse(int index, int count);
+ public void Sort();
+ public void Sort(IComparer`1 comparer);
+ public void Sort(Comparison`1 comparison);
+ public void Sort(int index, int count, IComparer`1 comparer);
+ public T[] ToArray();
+ public void TrimExcess();
+ public bool TrueForAll(Predicate`1 match);
+}
+
+// Namespace:
+[Serializable]
+public struct Enumerator : IEnumerator, IDisposable, IEnumerator`1 // TypeDefIndex: 274
+{
+ // Fields
+ private List`1 l; // 0x00
+ private int next; // 0x00
+ private int ver; // 0x00
+ private T current; // 0x00
+
+ // Properties
+ private object System.Collections.IEnumerator.Current { get; }
+ public T Current { get; }
+
+ // Methods
+ internal void .ctor(List`1 l);
+ private void System.Collections.IEnumerator.Reset();
+ public void Dispose();
+ private void VerifyState();
+ public bool MoveNext();
+}
+
+// Namespace: System.Collections.ObjectModel
+[Serializable]
+public class Collection`1 : IEnumerable, ICollection, IList, ICollection`1, IList`1, IEnumerable`1 // TypeDefIndex: 275
+{
+ // Fields
+ private IList`1 list; // 0x00
+ private object syncRoot; // 0x00
+
+ // Properties
+ private bool System.Collections.Generic.ICollection.IsReadOnly { get; }
+ private bool System.Collections.ICollection.IsSynchronized { get; }
+ private object System.Collections.ICollection.SyncRoot { get; }
+ private bool System.Collections.IList.IsFixedSize { get; }
+ private bool System.Collections.IList.IsReadOnly { get; }
+ private object System.Collections.IList.Item { get; set; }
+ protected IList`1 Items { get; }
+ public int Count { get; }
+ public T Item { get; set; }
+
+ // Methods
+ public void .ctor();
+ public void .ctor(IList`1 list);
+ private void System.Collections.ICollection.CopyTo(Array array, int index);
+ private IEnumerator System.Collections.IEnumerable.GetEnumerator();
+ private int System.Collections.IList.Add(object value);
+ private bool System.Collections.IList.Contains(object value);
+ private int System.Collections.IList.IndexOf(object value);
+ private void System.Collections.IList.Insert(int index, object value);
+ private void System.Collections.IList.Remove(object value);
+ public void Add(T item);
+ public void Clear();
+ protected virtual void ClearItems();
+ public bool Contains(T item);
+ public void CopyTo(T[] array, int index);
+ public IEnumerator`1 GetEnumerator();
+ public int IndexOf(T item);
+ public void Insert(int index, T item);
+ protected virtual void InsertItem(int index, T item);
+ public bool Remove(T item);
+ public void RemoveAt(int index);
+ protected virtual void RemoveItem(int index);
+ protected virtual void SetItem(int index, T item);
+ internal static bool IsValidItem(object item);
+ internal static T ConvertItem(object item);
+ internal static void CheckWritable(IList`1 list);
+ internal static bool IsSynchronized(IList`1 list);
+ internal static bool IsFixedSize(IList`1 list);
+}
+
+// Namespace: System.Collections.ObjectModel
+[Serializable]
+public abstract class KeyedCollection`2 : Collection`1 // TypeDefIndex: 276
+{
+ // Fields
+ private Dictionary`2