示例#1
0
		public Class20(Class15.Class18 class18_1, Assembly assembly_1)
		{
			this.assembly_0 = assembly_1;
			this.class18_0 = class18_1;
		}
示例#2
0
		public Class22(Class15.Class18 class18_1, Class15.Class17 class17_1, Type type_1, byte[] byte_2, byte[] byte_3)
		{
			this.class18_0 = class18_1;
			this.class17_0 = class17_1;
			this.type_0 = type_1;
			this.byte_0 = byte_2;
			this.byte_1 = byte_3;
		}
示例#3
0
	internal License method_10(LicenseContext licenseContext_0, Type type_0, object object_2, bool bool_6, bool bool_7, bool bool_8, bool bool_9, string string_10, string string_11, byte[] byte_3, bool bool_10, bool bool_11, bool bool_12)
	{
		if (!bool_7 && !bool_8 && !bool_9 && !bool_11 && !bool_12)
		{
			if (licenseContext_0 == null)
			{
				return null;
			}
			if (Class15.sortedList_1[type_0.Assembly.FullName] != null)
			{
				if ((bool)Class15.sortedList_0[type_0.Assembly.FullName])
				{
					return (Class15.Class26)Class15.sortedList_1[type_0.Assembly.FullName];
				}
				return null;
			}
			else if (Class15.sortedList_1[typeof(Class15).Assembly.FullName] != null)
			{
				AssemblyName[] referencedAssemblies = typeof(Class15).Assembly.GetReferencedAssemblies();
				int i = 0;
				while (i < referencedAssemblies.Length)
				{
					if (!(type_0.Assembly.GetName().FullName == referencedAssemblies[i].FullName))
					{
						i++;
					}
					else
					{
						if ((bool)Class15.sortedList_0[typeof(Class15).Assembly.FullName])
						{
							return (Class15.Class26)Class15.sortedList_1[typeof(Class15).Assembly.FullName];
						}
						return null;
					}
				}
			}
			else
			{
				AssemblyName[] referencedAssemblies2 = typeof(Class15).Assembly.GetReferencedAssemblies();
				for (int j = 0; j < referencedAssemblies2.Length; j++)
				{
					if (typeof(Class15).Assembly.GetName().FullName == referencedAssemblies2[j].FullName)
					{
						type_0 = typeof(Class15);
						break;
					}
				}
			}
		}
		Class15.Class18 @class = new Class15.Class18();
		new Class15.Class26(this, "");
		BinaryReader binaryReader = new BinaryReader(typeof(Class15).Assembly.GetManifestResourceStream("f41b6698-d795-4f0b-a290-8c1f75203a8d"));
		binaryReader.BaseStream.Position = 0L;
		byte[] array = new byte[0];
		byte[] array2 = binaryReader.ReadBytes((int)binaryReader.BaseStream.Length);
		byte[] array3 = new byte[32];
		array3[0] = 117;
		array3[0] = 100;
		array3[0] = 114;
		array3[0] = 199;
		array3[1] = 142;
		array3[1] = 51;
		array3[1] = 106;
		array3[1] = 83;
		array3[1] = 100;
		array3[1] = 156;
		array3[2] = 117;
		array3[2] = 110;
		array3[2] = 106;
		array3[3] = 120;
		array3[3] = 165;
		array3[3] = 51;
		array3[4] = 88;
		array3[4] = 98;
		array3[4] = 214;
		array3[4] = 129;
		array3[4] = 150;
		array3[5] = 119;
		array3[5] = 124;
		array3[5] = 121;
		array3[5] = 220;
		array3[6] = 101;
		array3[6] = 37;
		array3[6] = 92;
		array3[6] = 113;
		array3[7] = 168;
		array3[7] = 97;
		array3[7] = 178;
		array3[8] = 115;
		array3[8] = 123;
		array3[8] = 130;
		array3[8] = 83;
		array3[9] = 160;
		array3[9] = 119;
		array3[9] = 104;
		array3[9] = 116;
		array3[9] = 150;
		array3[9] = 154;
		array3[10] = 165;
		array3[10] = 71;
		array3[10] = 169;
		array3[10] = 44;
		array3[11] = 118;
		array3[11] = 125;
		array3[11] = 116;
		array3[11] = 130;
		array3[11] = 243;
		array3[12] = 239;
		array3[12] = 168;
		array3[12] = 208;
		array3[12] = 91;
		array3[12] = 108;
		array3[12] = 102;
		array3[13] = 99;
		array3[13] = 98;
		array3[13] = 136;
		array3[13] = 54;
		array3[13] = 135;
		array3[13] = 173;
		array3[14] = 166;
		array3[14] = 130;
		array3[14] = 88;
		array3[15] = 82;
		array3[15] = 184;
		array3[15] = 82;
		array3[16] = 76;
		array3[16] = 111;
		array3[16] = 120;
		array3[16] = 10;
		array3[17] = 120;
		array3[17] = 154;
		array3[17] = 116;
		array3[17] = 162;
		array3[17] = 120;
		array3[17] = 242;
		array3[18] = 108;
		array3[18] = 124;
		array3[18] = 92;
		array3[18] = 133;
		array3[18] = 76;
		array3[18] = 19;
		array3[19] = 140;
		array3[19] = 118;
		array3[19] = 164;
		array3[19] = 103;
		array3[19] = 125;
		array3[19] = 40;
		array3[20] = 65;
		array3[20] = 100;
		array3[20] = 111;
		array3[21] = 107;
		array3[21] = 102;
		array3[21] = 111;
		array3[21] = 227;
		array3[22] = 112;
		array3[22] = 108;
		array3[22] = 102;
		array3[22] = 216;
		array3[22] = 152;
		array3[22] = 230;
		array3[23] = 108;
		array3[23] = 158;
		array3[23] = 139;
		array3[23] = 215;
		array3[24] = 124;
		array3[24] = 82;
		array3[24] = 104;
		array3[24] = 120;
		array3[24] = 96;
		array3[24] = 106;
		array3[25] = 96;
		array3[25] = 116;
		array3[25] = 172;
		array3[26] = 121;
		array3[26] = 166;
		array3[26] = 118;
		array3[26] = 100;
		array3[26] = 66;
		array3[27] = 123;
		array3[27] = 91;
		array3[27] = 162;
		array3[27] = 150;
		array3[27] = 213;
		array3[28] = 127;
		array3[28] = 145;
		array3[28] = 227;
		array3[28] = 0;
		array3[29] = 144;
		array3[29] = 151;
		array3[29] = 116;
		array3[30] = 163;
		array3[30] = 92;
		array3[30] = 151;
		array3[31] = 122;
		array3[31] = 107;
		array3[31] = 158;
		array3[31] = 106;
		array3[31] = 156;
		array3[31] = 48;
		Class15.byte_1 = array3;
		byte[] array4 = new byte[16];
		array4[0] = 117;
		array4[0] = 162;
		array4[0] = 188;
		array4[1] = 134;
		array4[1] = 122;
		array4[1] = 96;
		array4[1] = 88;
		array4[1] = 33;
		array4[1] = 68;
		array4[2] = 162;
		array4[2] = 185;
		array4[2] = 32;
		array4[2] = 156;
		array4[2] = 25;
		array4[2] = 167;
		array4[3] = 116;
		array4[3] = 159;
		array4[3] = 199;
		array4[4] = 96;
		array4[4] = 152;
		array4[4] = 103;
		array4[4] = 46;
		array4[4] = 127;
		array4[4] = 54;
		array4[5] = 202;
		array4[5] = 86;
		array4[5] = 86;
		array4[5] = 136;
		array4[5] = 4;
		array4[6] = 161;
		array4[6] = 118;
		array4[6] = 78;
		array4[6] = 73;
		array4[6] = 59;
		array4[7] = 157;
		array4[7] = 168;
		array4[7] = 128;
		array4[7] = 192;
		array4[7] = 162;
		array4[7] = 100;
		array4[8] = 166;
		array4[8] = 126;
		array4[8] = 177;
		array4[8] = 46;
		array4[9] = 116;
		array4[9] = 208;
		array4[9] = 92;
		array4[9] = 116;
		array4[9] = 232;
		array4[10] = 110;
		array4[10] = 156;
		array4[10] = 105;
		array4[10] = 126;
		array4[10] = 88;
		array4[10] = 123;
		array4[11] = 151;
		array4[11] = 130;
		array4[11] = 113;
		array4[11] = 101;
		array4[11] = 128;
		array4[11] = 248;
		array4[12] = 94;
		array4[12] = 158;
		array4[12] = 149;
		array4[12] = 137;
		array4[12] = 151;
		array4[12] = 195;
		array4[13] = 138;
		array4[13] = 74;
		array4[13] = 251;
		array4[14] = 149;
		array4[14] = 123;
		array4[14] = 82;
		array4[15] = 172;
		array4[15] = 148;
		array4[15] = 95;
		array4[15] = 244;
		Class15.byte_2 = array4;
		if (bool_8)
		{
			try
			{
				Class15.smethod_5();
				Class15.Class17 class2 = null;
				try
				{
					string str = Class15.Class16.string_0;
					string str2 = Class15.string_3 + "\\";
					RegistryKey registryKey = Registry.CurrentUser;
					if (Class15.smethod_0())
					{
						registryKey = Registry.LocalMachine;
					}
					RegistryKey registryKey2 = registryKey.OpenSubKey(str + str2, false);
					if (registryKey2 != null)
					{
						Class15.Class17 class3 = new Class15.Class17();
						class3.method_0((string)registryKey2.GetValue("1"), Class15.byte_1, Class15.byte_2);
						if (class2 == null)
						{
							class2 = class3;
						}
						if (class3.ulong_0 > class2.ulong_0)
						{
							class2 = class3;
						}
					}
				}
				catch
				{
				}
				try
				{
					if (Class14.smethod_5(type_0.Assembly).ToString().Length > 0 && File.Exists(Class14.smethod_5(type_0.Assembly).ToString()))
					{
						Class15.Class17 class4 = new Class15.Class17();
						class4.method_0(Class15.smethod_8(Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()), Class15.string_2), Class15.byte_1, Class15.byte_2);
						if (class2 == null)
						{
							class2 = class4;
						}
						if (class4.ulong_0 > class2.ulong_0)
						{
							class2 = class4;
						}
					}
				}
				catch
				{
				}
				try
				{
					if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2))
					{
						Class15.Class17 class5 = new Class15.Class17();
						class5.method_0(Encoding.Unicode.GetString(Class15.smethod_11(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2)), Class15.byte_1, Class15.byte_2);
						if (class2 == null)
						{
							class2 = class5;
						}
						if (class5.ulong_0 > class2.ulong_0)
						{
							class2 = class5;
						}
					}
				}
				catch
				{
				}
				if (class2 == null)
				{
					class2 = new Class15.Class17();
				}
				this.method_0(Environment.TickCount);
				class2.int_3 = this.method_3(10000000, 2147483646);
				try
				{
					string str3 = Class15.Class16.string_0;
					string str4 = Class15.string_3 + "\\";
					RegistryKey registryKey3 = Registry.CurrentUser;
					if (Class15.smethod_0())
					{
						registryKey3 = Registry.LocalMachine;
					}
					RegistryKey registryKey4;
					if (registryKey3.OpenSubKey(str3 + str4, false) == null)
					{
						registryKey3 = Registry.CurrentUser;
						if (Class15.smethod_0())
						{
							registryKey3 = Registry.LocalMachine;
						}
						registryKey4 = registryKey3.CreateSubKey(str3 + str4);
					}
					registryKey3 = Registry.CurrentUser;
					if (Class15.smethod_0())
					{
						registryKey3 = Registry.LocalMachine;
					}
					registryKey4 = registryKey3.OpenSubKey(str3 + str4, true);
					if (registryKey4 != null)
					{
						registryKey4.SetValue("1", class2.method_5(Class15.byte_1, Class15.byte_2));
						registryKey4.Close();
					}
				}
				catch
				{
				}
				try
				{
					if (Class14.smethod_5(type_0.Assembly).ToString().Length > 0 && File.Exists(Class14.smethod_5(type_0.Assembly).ToString()))
					{
						Class15.smethod_7(Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()), Class15.string_2, class2.method_5(Class15.byte_1, Class15.byte_2));
					}
				}
				catch
				{
				}
				try
				{
					FileStream fileStream = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2, FileMode.Create, FileAccess.ReadWrite);
					byte[] bytes = Encoding.Unicode.GetBytes(class2.method_5(Class15.byte_1, Class15.byte_2));
					fileStream.Write(bytes, 0, bytes.Length);
					fileStream.Close();
				}
				catch
				{
				}
				ICryptoTransform transform = new RijndaelManaged
				{
					Mode = CipherMode.CBC
				}.CreateEncryptor(Class15.byte_1, Class15.byte_2);
				MemoryStream memoryStream = new MemoryStream();
				CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write);
				byte[] array5 = new byte[0];
				if (string_10.Length > 0)
				{
					array5 = Encoding.ASCII.GetBytes(string_10 + class2.int_3.ToString());
				}
				else
				{
					array5 = Encoding.ASCII.GetBytes(Class15.smethod_3(true, false, true, true, false, false) + class2.int_3.ToString());
				}
				cryptoStream.Write(array5, 0, array5.Length);
				cryptoStream.FlushFinalBlock();
				array = memoryStream.ToArray();
				Class34.string_0 = Convert.ToBase64String(array);
				memoryStream.Close();
				cryptoStream.Close();
				class2 = null;
			}
			catch
			{
			}
			return null;
		}
		License result;
		if (bool_9)
		{
			try
			{
				Class15.smethod_5();
				Class15.Class17 class6 = null;
				try
				{
					string str5 = Class15.Class16.string_0;
					string str6 = Class15.string_3 + "\\";
					RegistryKey registryKey5 = Registry.CurrentUser;
					if (Class15.smethod_0())
					{
						registryKey5 = Registry.LocalMachine;
					}
					RegistryKey registryKey6 = registryKey5.OpenSubKey(str5 + str6, false);
					if (registryKey6 != null)
					{
						Class15.Class17 class7 = new Class15.Class17();
						class7.method_0((string)registryKey6.GetValue("1"), Class15.byte_1, Class15.byte_2);
						if (class6 == null)
						{
							class6 = class7;
						}
						if (class7.ulong_0 > class6.ulong_0)
						{
							class6 = class7;
						}
					}
				}
				catch
				{
				}
				try
				{
					if (Class14.smethod_5(type_0.Assembly).ToString().Length > 0 && File.Exists(Class14.smethod_5(type_0.Assembly).ToString()))
					{
						Class15.Class17 class8 = new Class15.Class17();
						class8.method_0(Class15.smethod_8(Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()), Class15.string_2), Class15.byte_1, Class15.byte_2);
						if (class6 == null)
						{
							class6 = class8;
						}
						if (class8.ulong_0 > class6.ulong_0)
						{
							class6 = class8;
						}
					}
				}
				catch
				{
				}
				try
				{
					if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2))
					{
						Class15.Class17 class9 = new Class15.Class17();
						class9.method_0(Encoding.Unicode.GetString(Class15.smethod_11(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2)), Class15.byte_1, Class15.byte_2);
						if (class6 == null)
						{
							class6 = class9;
						}
						if (class9.ulong_0 > class6.ulong_0)
						{
							class6 = class9;
						}
					}
				}
				catch
				{
				}
				if (class6.int_3 == 0)
				{
					result = new Class15.Class26(this, "");
					return result;
				}
				byte[] array6 = Convert.FromBase64String(string_10);
				ICryptoTransform transform2 = new RijndaelManaged
				{
					Mode = CipherMode.CBC
				}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
				MemoryStream memoryStream2 = new MemoryStream();
				CryptoStream cryptoStream2 = new CryptoStream(memoryStream2, transform2, CryptoStreamMode.Write);
				byte[] array7 = array6;
				cryptoStream2.Write(array7, 0, array7.Length);
				cryptoStream2.FlushFinalBlock();
				array = memoryStream2.ToArray();
				memoryStream2.Close();
				cryptoStream2.Close();
				string @string = Encoding.Unicode.GetString(array, 0, array.Length);
				if (@string != null && @string.Length > 0 && @string.IndexOf(class6.int_3.ToString()) >= 0)
				{
					class6.int_3 = 0;
					try
					{
						string str7 = Class15.Class16.string_0;
						string str8 = Class15.string_3 + "\\";
						RegistryKey registryKey7 = Registry.CurrentUser;
						if (Class15.smethod_0())
						{
							registryKey7 = Registry.LocalMachine;
						}
						RegistryKey registryKey8;
						if (registryKey7.OpenSubKey(str7 + str8, false) == null)
						{
							registryKey7 = Registry.CurrentUser;
							if (Class15.smethod_0())
							{
								registryKey7 = Registry.LocalMachine;
							}
							registryKey8 = registryKey7.CreateSubKey(str7 + str8);
						}
						registryKey7 = Registry.CurrentUser;
						if (Class15.smethod_0())
						{
							registryKey7 = Registry.LocalMachine;
						}
						registryKey8 = registryKey7.OpenSubKey(str7 + str8, true);
						if (registryKey8 != null)
						{
							registryKey8.SetValue("1", class6.method_5(Class15.byte_1, Class15.byte_2));
							registryKey8.Close();
						}
					}
					catch
					{
					}
					try
					{
						if (Class14.smethod_5(type_0.Assembly).ToString().Length > 0 && File.Exists(Class14.smethod_5(type_0.Assembly).ToString()))
						{
							Class15.smethod_7(Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()), Class15.string_2, class6.method_5(Class15.byte_1, Class15.byte_2));
						}
					}
					catch
					{
					}
					try
					{
						FileStream fileStream2 = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2, FileMode.Create, FileAccess.ReadWrite);
						byte[] bytes2 = Encoding.Unicode.GetBytes(class6.method_5(Class15.byte_1, Class15.byte_2));
						fileStream2.Write(bytes2, 0, bytes2.Length);
						fileStream2.Close();
					}
					catch
					{
					}
					result = new Class15.Class26(this, "");
					return result;
				}
				result = null;
				return result;
			}
			catch
			{
				result = null;
				return result;
			}
		}
		ICryptoTransform transform3 = new RijndaelManaged
		{
			Mode = CipherMode.CBC
		}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
		MemoryStream memoryStream3 = new MemoryStream();
		CryptoStream cryptoStream3 = new CryptoStream(memoryStream3, transform3, CryptoStreamMode.Write);
		cryptoStream3.Write(array2, 0, array2.Length);
		cryptoStream3.FlushFinalBlock();
		array = memoryStream3.ToArray();
		memoryStream3.Close();
		cryptoStream3.Close();
		binaryReader.Close();
		if ([email protected]_0(array))
		{
			try
			{
				Class15.TerminateProcess(Class15.GetCurrentProcess(), 1);
			}
			catch
			{
			}
			return null;
		}
		if ([email protected]_1(array))
		{
			try
			{
				Class15.TerminateProcess(Class15.GetCurrentProcess(), 1);
			}
			catch
			{
			}
			return null;
		}
		if ([email protected]_13)
		{
			try
			{
				Class15.TerminateProcess(Class15.GetCurrentProcess(), 1);
			}
			catch
			{
			}
			return null;
		}
		if (bool_11)
		{
			ICryptoTransform transform4 = new RijndaelManaged
			{
				Mode = CipherMode.CBC
			}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
			MemoryStream memoryStream4 = new MemoryStream();
			CryptoStream cryptoStream4 = new CryptoStream(memoryStream4, transform4, CryptoStreamMode.Write);
			cryptoStream4.Write(byte_3, 0, byte_3.Length);
			cryptoStream4.FlushFinalBlock();
			byte[] array8 = memoryStream4.ToArray();
			memoryStream4.Close();
			cryptoStream4.Close();
			if ([email protected]_0(array8))
			{
				return null;
			}
			return new Class15.Class26(this, "");
		}
		else
		{
			if (bool_12)
			{
				ICryptoTransform transform5 = new RijndaelManaged
				{
					Mode = CipherMode.CBC
				}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
				MemoryStream memoryStream5 = new MemoryStream();
				CryptoStream cryptoStream5 = new CryptoStream(memoryStream5, transform5, CryptoStreamMode.Write);
				cryptoStream5.Write(byte_3, 0, byte_3.Length);
				cryptoStream5.FlushFinalBlock();
				byte[] buffer = memoryStream5.ToArray();
				memoryStream5.Close();
				cryptoStream5.Close();
				MemoryStream memoryStream6 = new MemoryStream(buffer);
				BinaryReader binaryReader2 = new BinaryReader(memoryStream6);
				memoryStream6.Position = 0L;
				byte[] array9 = binaryReader2.ReadBytes(binaryReader2.ReadInt32());
				byte[] array10 = binaryReader2.ReadBytes((int)(memoryStream6.Length - 4L - (long)array9.Length));
				binaryReader2.Close();
				Class35.byte_0 = array10;
				return new Class15.Class26(this, "");
			}
			@class.string_2 = "";
			@class.int_0 = 5;
			@class.int_1 = 0;
			@class.bool_2 = false;
			@class.bool_4 = false;
			@class.bool_12 = false;
			@class.bool_13 = false;
			@class.bool_3 = false;
			Class15.Class18 class10 = null;
			if ([email protected]_16 && [email protected]_15 && [email protected]_17 && [email protected]_18 && [email protected]_19 && [email protected]_20 && [email protected]_21)
			{
				Class15.sortedList_0[type_0.Assembly.FullName] = true;
				Class15.sortedList_1[type_0.Assembly.FullName] = new Class15.Class26(this, "");
				return new Class15.Class26(this, "");
			}
			Class33.smethod_0().method_7((Enum7)0);
			Class15.smethod_5();
			bool flag = false;
			bool flag2 = false;
			Class15.Class17 class11 = null;
			try
			{
				string str9 = Class15.Class16.string_0;
				string str10 = Class15.string_3 + "\\";
				RegistryKey registryKey9 = Registry.CurrentUser;
				if (Class15.smethod_0())
				{
					registryKey9 = Registry.LocalMachine;
				}
				RegistryKey registryKey10 = registryKey9.OpenSubKey(str9 + str10, false);
				if (registryKey10 != null)
				{
					Class15.Class17 class12 = new Class15.Class17();
					class12.method_0((string)registryKey10.GetValue("1"), Class15.byte_1, Class15.byte_2);
					if (class11 == null)
					{
						class11 = class12;
					}
					if (class12.ulong_0 > class11.ulong_0)
					{
						class11 = class12;
					}
				}
			}
			catch
			{
			}
			try
			{
				if (Class14.smethod_5(type_0.Assembly).ToString().Length > 0 && File.Exists(Class14.smethod_5(type_0.Assembly).ToString()))
				{
					Class15.Class17 class13 = new Class15.Class17();
					class13.method_0(Class15.smethod_8(Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()), Class15.string_2), Class15.byte_1, Class15.byte_2);
					if (class11 == null)
					{
						class11 = class13;
					}
					if (class13.ulong_0 > class11.ulong_0)
					{
						class11 = class13;
					}
				}
			}
			catch
			{
			}
			try
			{
				if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2))
				{
					Class15.Class17 class14 = new Class15.Class17();
					class14.method_0(Encoding.Unicode.GetString(Class15.smethod_11(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2)), Class15.byte_1, Class15.byte_2);
					if (class11 == null)
					{
						class11 = class14;
					}
					if (class14.ulong_0 > class11.ulong_0)
					{
						class11 = class14;
					}
				}
			}
			catch
			{
			}
			if (class11 == null)
			{
				class11 = new Class15.Class17();
			}
			bool flag3 = false;
			if (class11 != null && class11.int_3 > 0)
			{
				Class33.smethod_0().method_1((Enum6)8);
				Class33.smethod_0().method_3((Enum6)8);
				Class33.smethod_0().method_5((Enum6)8);
				flag3 = true;
				Class15.sortedList_0[type_0.Assembly.FullName] = true;
				Class15.sortedList_1[type_0.Assembly.FullName] = new Class15.Class26(this, "");
			}
			class11 = null;
			if (!flag3)
			{
				if (bool_7)
				{
					byte[] array11 = new byte[0];
					if (string_11.Length > 0)
					{
						try
						{
							array11 = Class15.smethod_11(string_11);
							goto IL_192C;
						}
						catch
						{
							goto IL_192C;
						}
					}
					array11 = byte_3;
					IL_192C:
					if (array11.Length > 0)
					{
						Class15.Class18 class15 = new Class15.Class18();
						array = new byte[0];
						try
						{
							array2 = array11;
							ICryptoTransform transform6 = new RijndaelManaged
							{
								Mode = CipherMode.CBC
							}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
							MemoryStream memoryStream7 = new MemoryStream();
							CryptoStream cryptoStream6 = new CryptoStream(memoryStream7, transform6, CryptoStreamMode.Write);
							cryptoStream6.Write(array2, 0, array2.Length);
							cryptoStream6.FlushFinalBlock();
							array = memoryStream7.ToArray();
							memoryStream7.Close();
							cryptoStream6.Close();
						}
						catch
						{
							array = new byte[0];
						}
						if (array.Length > 0)
						{
							if (class15.method_0(array))
							{
								bool flag4 = true;
								class15.method_1(array);
								if (class15.bool_4)
								{
									string text = Class15.smethod_3(class15.bool_6, class15.bool_7, class15.bool_11, class15.bool_5, class15.bool_8, class15.bool_9);
									if (text.Length == 29)
									{
										int num = 0;
										if (class15.bool_8 && class15.string_3.Substring(0, 4) != text.Substring(0, 4))
										{
											num++;
										}
										if (class15.bool_6 && class15.string_3.Substring(5, 4) != text.Substring(5, 4))
										{
											num++;
										}
										if (class15.bool_7 && class15.string_3.Substring(10, 4) != text.Substring(10, 4))
										{
											num++;
										}
										if (class15.bool_11 && class15.string_3.Substring(15, 4) != text.Substring(15, 4))
										{
											num++;
										}
										if (class15.bool_5 && class15.string_3.Substring(20, 4) != text.Substring(20, 4))
										{
											num++;
										}
										if (class15.bool_9 && class15.string_3.Substring(25, 4) != text.Substring(25, 4))
										{
											num++;
										}
										if (class15.int_1 - num < 0)
										{
											Class33.smethod_0().method_5((Enum6)5);
											flag4 = false;
											flag = true;
										}
									}
									else
									{
										flag = true;
										flag4 = false;
										Class33.smethod_0().method_5((Enum6)5);
									}
								}
								if (flag4 && licenseContext_0 != null)
								{
									if (licenseContext_0.UsageMode == LicenseUsageMode.Runtime && !class15.bool_0)
									{
										Class33.smethod_0().method_5((Enum6)0);
										flag4 = false;
									}
									if (licenseContext_0.UsageMode == LicenseUsageMode.Designtime && !class15.bool_1)
									{
										Class33.smethod_0().method_5((Enum6)0);
										flag4 = false;
									}
								}
								if (class15.bool_13)
								{
									flag4 = false;
								}
								if (flag4)
								{
									class10 = class15;
								}
								if (flag4)
								{
									Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
									bool flag5 = false;
									int k = 0;
									while (k < assemblies.Length)
									{
										bool flag6 = true;
										IDictionaryEnumerator enumerator = class10.hashtable_0.GetEnumerator();
										while (enumerator.MoveNext())
										{
											string a = enumerator.Key.ToString();
											string b = enumerator.Value.ToString();
											if (a == Class15.Class16.string_4)
											{
												if (this.method_11(assemblies[k], typeof(AssemblyVersionAttribute)) != b)
												{
													flag6 = false;
												}
											}
											else if (a == Class15.Class16.string_5)
											{
												if (this.method_11(assemblies[k], typeof(AssemblyCopyrightAttribute)) != b)
												{
													flag6 = false;
												}
											}
											else if (a == Class15.Class16.string_6)
											{
												if (this.method_11(assemblies[k], typeof(AssemblyTrademarkAttribute)) != b)
												{
													flag6 = false;
												}
											}
											else if (a == Class15.Class16.string_7)
											{
												if (this.method_11(assemblies[k], typeof(AssemblyCompanyAttribute)) != b)
												{
													flag6 = false;
												}
											}
											else if (a == Class15.Class16.string_8)
											{
												if (this.method_11(assemblies[k], typeof(AssemblyProductAttribute)) != b)
												{
													flag6 = false;
												}
											}
											else if (a == Class15.Class16.string_9)
											{
												if (this.method_11(assemblies[k], typeof(AssemblyDescriptionAttribute)) != b)
												{
													flag6 = false;
												}
											}
											else if (a == Class15.Class16.string_10)
											{
												if (this.method_11(assemblies[k], typeof(AssemblyTitleAttribute)) != b)
												{
													flag6 = false;
												}
											}
											else if (a == Class15.Class16.string_3 && this.method_11(assemblies[k], typeof(AssemblyName)) != b)
											{
												flag6 = false;
											}
										}
										if (!flag6)
										{
											k++;
										}
										else
										{
											flag5 = true;
											IL_1DE1:
											if (!flag5)
											{
												class10 = null;
											}
											if (class10 == null)
											{
												Class33.smethod_0().method_5((Enum6)6);
												flag2 = true;
												goto IL_1DF7;
											}
											goto IL_1DF7;
										}
									}
									goto IL_1DE1;
								}
								IL_1DF7:
								if (flag4 && class10 != null && class15.bool_2)
								{
									try
									{
										Class15.Class19 class16 = new Class15.Class19(class15.string_2);
										Random random = new Random();
										byte[] array12 = new byte[16];
										random.NextBytes(array12);
										byte[] array13 = new byte[byte_3.Length + 16];
										Array.Copy(array12, 0, array13, 0, array12.Length);
										Array.Copy(byte_3, 0, array13, array12.Length, byte_3.Length);
										array12 = array13;
										byte[] array14 = class16.Activate(array12);
										byte[] buffer2 = new byte[0];
										ICryptoTransform transform7 = new RijndaelManaged
										{
											Mode = CipherMode.CBC
										}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
										MemoryStream memoryStream8 = new MemoryStream();
										CryptoStream cryptoStream7 = new CryptoStream(memoryStream8, transform7, CryptoStreamMode.Write);
										cryptoStream7.Write(array14, 0, array14.Length);
										cryptoStream7.FlushFinalBlock();
										buffer2 = memoryStream8.ToArray();
										memoryStream8.Close();
										cryptoStream7.Close();
										if (@class.method_0(buffer2))
										{
											MemoryStream memoryStream9 = new MemoryStream(buffer2);
											BinaryReader binaryReader3 = new BinaryReader(memoryStream9);
											memoryStream9.Position = 0L;
											byte[] array15 = binaryReader3.ReadBytes(binaryReader3.ReadInt32());
											byte[] array16 = binaryReader3.ReadBytes((int)(memoryStream9.Length - 4L - (long)array15.Length));
											binaryReader3.Close();
											if (Convert.ToBase64String(array12, 0, 16) != Convert.ToBase64String(array16, 0, 16))
											{
												Class33.smethod_0().method_5((Enum6)7);
												class10 = null;
											}
											else if (array16[16] == 0)
											{
												Class33.smethod_0().method_5((Enum6)7);
												class10 = null;
											}
										}
										else
										{
											Class33.smethod_0().method_5((Enum6)7);
											class10 = null;
										}
									}
									catch
									{
										Class33.smethod_0().method_5((Enum6)7);
										class10 = null;
									}
								}
								if (class10 != null)
								{
									Class15.byte_0 = byte_3;
									if (class10.bool_10)
									{
										Class15.string_0 = class10.string_1;
									}
									else
									{
										Class15.string_0 = "";
									}
									Class33.smethod_0().method_5((Enum6)0);
									Class33.smethod_0().method_7((Enum7)2);
								}
							}
							else
							{
								Class33.smethod_0().method_5((Enum6)6);
								flag2 = true;
							}
						}
					}
				}
				else
				{
					if (class10 == null && @class.bool_23)
					{
						Class33.smethod_0().method_3((Enum6)4);
						ArrayList arrayList = new ArrayList();
						try
						{
							if (Assembly.GetCallingAssembly() != null)
							{
								arrayList.Add(Assembly.GetCallingAssembly());
							}
						}
						catch
						{
						}
						try
						{
							if (Assembly.GetEntryAssembly() != null)
							{
								arrayList.Add(Assembly.GetEntryAssembly());
							}
						}
						catch
						{
						}
						try
						{
							if (Assembly.GetExecutingAssembly() != null)
							{
								arrayList.Add(Assembly.GetExecutingAssembly());
							}
						}
						catch
						{
						}
						arrayList.Add(type_0.Assembly);
						for (int l = 0; l < arrayList.Count; l++)
						{
							try
							{
								string text2 = @class.string_13.Replace(Class15.Class16.string_32, Class15.Class16.string_33);
								string[] manifestResourceNames = ((Assembly)arrayList[l]).GetManifestResourceNames();
								for (int m = 0; m < manifestResourceNames.Length; m++)
								{
									try
									{
										if (manifestResourceNames[m].ToUpper().IndexOf(text2.ToUpper()) >= 0)
										{
											Class15.Class18 class17 = new Class15.Class18();
											array = new byte[0];
											byte[] array17 = new byte[0];
											try
											{
												Stream manifestResourceStream = ((Assembly)arrayList[l]).GetManifestResourceStream(manifestResourceNames[m]);
												manifestResourceStream.Position = 0L;
												array2 = new byte[manifestResourceStream.Length];
												manifestResourceStream.Read(array2, 0, array2.Length);
												manifestResourceStream.Close();
												array17 = array2;
												ICryptoTransform transform8 = new RijndaelManaged
												{
													Mode = CipherMode.CBC
												}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
												MemoryStream memoryStream10 = new MemoryStream();
												CryptoStream cryptoStream8 = new CryptoStream(memoryStream10, transform8, CryptoStreamMode.Write);
												cryptoStream8.Write(array2, 0, array2.Length);
												cryptoStream8.FlushFinalBlock();
												array = memoryStream10.ToArray();
												memoryStream10.Close();
												cryptoStream8.Close();
											}
											catch
											{
												array = new byte[0];
											}
											if (array.Length > 0)
											{
												if (class17.method_0(array))
												{
													bool flag7 = true;
													class17.method_1(array);
													if (class17.bool_4)
													{
														string text3 = Class15.smethod_3(class17.bool_6, class17.bool_7, class17.bool_11, class17.bool_5, class17.bool_8, class17.bool_9);
														if (text3.Length == 29)
														{
															int num2 = 0;
															if (class17.bool_8 && class17.string_3.Substring(0, 4) != text3.Substring(0, 4))
															{
																num2++;
															}
															if (class17.bool_6 && class17.string_3.Substring(5, 4) != text3.Substring(5, 4))
															{
																num2++;
															}
															if (class17.bool_7 && class17.string_3.Substring(10, 4) != text3.Substring(10, 4))
															{
																num2++;
															}
															if (class17.bool_11 && class17.string_3.Substring(15, 4) != text3.Substring(15, 4))
															{
																num2++;
															}
															if (class17.bool_5 && class17.string_3.Substring(20, 4) != text3.Substring(20, 4))
															{
																num2++;
															}
															if (class17.bool_9 && class17.string_3.Substring(25, 4) != text3.Substring(25, 4))
															{
																num2++;
															}
															if (class17.int_1 - num2 < 0)
															{
																Class33.smethod_0().method_3((Enum6)5);
																flag = true;
																flag7 = false;
															}
														}
														else
														{
															Class33.smethod_0().method_3((Enum6)5);
															flag = true;
															flag7 = false;
														}
													}
													if (flag7 && licenseContext_0 != null)
													{
														if (licenseContext_0.UsageMode == LicenseUsageMode.Runtime && !class17.bool_0)
														{
															Class33.smethod_0().method_3((Enum6)0);
															flag7 = false;
														}
														if (licenseContext_0.UsageMode == LicenseUsageMode.Designtime && !class17.bool_1)
														{
															Class33.smethod_0().method_3((Enum6)0);
															flag7 = false;
														}
													}
													if (class17.bool_13)
													{
														flag7 = false;
													}
													if (flag7)
													{
														class10 = class17;
													}
													if (flag7)
													{
														IDictionaryEnumerator enumerator2 = class10.hashtable_0.GetEnumerator();
														while (enumerator2.MoveNext())
														{
															string a2 = enumerator2.Key.ToString();
															string b2 = enumerator2.Value.ToString();
															if (a2 == Class15.Class16.string_4)
															{
																if (this.method_11((Assembly)arrayList[l], typeof(AssemblyVersionAttribute)) != b2)
																{
																	class10 = null;
																}
															}
															else if (a2 == Class15.Class16.string_5)
															{
																if (this.method_11((Assembly)arrayList[l], typeof(AssemblyCopyrightAttribute)) != b2)
																{
																	class10 = null;
																}
															}
															else if (a2 == Class15.Class16.string_6)
															{
																if (this.method_11((Assembly)arrayList[l], typeof(AssemblyTrademarkAttribute)) != b2)
																{
																	class10 = null;
																}
															}
															else if (a2 == Class15.Class16.string_7)
															{
																if (this.method_11((Assembly)arrayList[l], typeof(AssemblyCompanyAttribute)) != b2)
																{
																	class10 = null;
																}
															}
															else if (a2 == Class15.Class16.string_8)
															{
																if (this.method_11((Assembly)arrayList[l], typeof(AssemblyProductAttribute)) != b2)
																{
																	class10 = null;
																}
															}
															else if (a2 == Class15.Class16.string_9)
															{
																if (this.method_11((Assembly)arrayList[l], typeof(AssemblyDescriptionAttribute)) != b2)
																{
																	class10 = null;
																}
															}
															else if (a2 == Class15.Class16.string_10)
															{
																if (this.method_11((Assembly)arrayList[l], typeof(AssemblyTitleAttribute)) != b2)
																{
																	class10 = null;
																}
															}
															else if (a2 == Class15.Class16.string_3 && this.method_11((Assembly)arrayList[l], typeof(AssemblyName)) != b2)
															{
																class10 = null;
															}
														}
														if (class10 == null)
														{
															Class33.smethod_0().method_3((Enum6)6);
															flag2 = true;
														}
													}
													if (flag7 && class10 != null && class17.bool_2)
													{
														try
														{
															Class15.Class19 class18 = new Class15.Class19(class17.string_2);
															Random random2 = new Random();
															byte[] array18 = new byte[16];
															random2.NextBytes(array18);
															byte[] array19 = new byte[array17.Length + 16];
															Array.Copy(array18, 0, array19, 0, array18.Length);
															Array.Copy(array17, 0, array19, array18.Length, array17.Length);
															array18 = array19;
															byte[] array20 = class18.Activate(array18);
															byte[] buffer3 = new byte[0];
															ICryptoTransform transform9 = new RijndaelManaged
															{
																Mode = CipherMode.CBC
															}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
															MemoryStream memoryStream11 = new MemoryStream();
															CryptoStream cryptoStream9 = new CryptoStream(memoryStream11, transform9, CryptoStreamMode.Write);
															cryptoStream9.Write(array20, 0, array20.Length);
															cryptoStream9.FlushFinalBlock();
															buffer3 = memoryStream11.ToArray();
															memoryStream11.Close();
															cryptoStream9.Close();
															if (@class.method_0(buffer3))
															{
																MemoryStream memoryStream12 = new MemoryStream(buffer3);
																BinaryReader binaryReader4 = new BinaryReader(memoryStream12);
																memoryStream12.Position = 0L;
																byte[] array21 = binaryReader4.ReadBytes(binaryReader4.ReadInt32());
																byte[] array22 = binaryReader4.ReadBytes((int)(memoryStream12.Length - 4L - (long)array21.Length));
																binaryReader4.Close();
																if (Convert.ToBase64String(array18, 0, 16) != Convert.ToBase64String(array22, 0, 16))
																{
																	Class33.smethod_0().method_3((Enum6)7);
																	class10 = null;
																}
																else if (array22[16] == 0)
																{
																	Class33.smethod_0().method_3((Enum6)7);
																	class10 = null;
																}
															}
															else
															{
																Class33.smethod_0().method_3((Enum6)7);
																class10 = null;
															}
														}
														catch
														{
															Class33.smethod_0().method_3((Enum6)7);
															class10 = null;
														}
													}
													if (class10 != null)
													{
														if (class10.bool_10)
														{
															Class15.string_0 = class10.string_1;
														}
														else
														{
															Class15.string_0 = "";
														}
														Class15.byte_0 = array17;
														Class33.smethod_0().method_3((Enum6)0);
														Class33.smethod_0().method_7((Enum7)1);
														break;
													}
												}
												else
												{
													Class33.smethod_0().method_3((Enum6)6);
													flag2 = true;
												}
											}
										}
									}
									catch
									{
									}
								}
							}
							catch
							{
							}
						}
					}
					if (class10 == null && @class.bool_24)
					{
						Class33.smethod_0().method_5((Enum6)4);
						ArrayList arrayList2 = new ArrayList();
						if (File.Exists(Class15.smethod_1()))
						{
							arrayList2.Add(Path.GetDirectoryName(Class15.smethod_1()) + "\\");
						}
						else if (Class14.smethod_5(type_0.Assembly).ToString().Length > 0 && File.Exists(Class14.smethod_5(type_0.Assembly).ToString()))
						{
							arrayList2.Add(Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()) + "\\");
						}
						try
						{
							if (File.Exists(Class15.smethod_1()) && Class14.smethod_5(type_0.Assembly).ToString().Length > 0 && File.Exists(Class14.smethod_5(type_0.Assembly).ToString()) && Path.GetDirectoryName(Class15.smethod_1()).ToString() != Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()).ToString())
							{
								arrayList2.Add(Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()) + "\\");
							}
						}
						catch
						{
						}
						try
						{
							if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory) && arrayList2.IndexOf(AppDomain.CurrentDomain.BaseDirectory) < 0)
							{
								arrayList2.Add(AppDomain.CurrentDomain.BaseDirectory);
							}
						}
						catch
						{
						}
						try
						{
							if (Directory.Exists(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath))
							{
								arrayList2.Add(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath);
							}
						}
						catch
						{
						}
						try
						{
							if (AppDomain.CurrentDomain.GetData("DataDirectory") != null)
							{
								string text4 = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();
								if (Directory.Exists(text4))
								{
									arrayList2.Add(text4 + "\\");
								}
							}
						}
						catch
						{
						}
						for (int n = 0; n < arrayList2.Count; n++)
						{
							try
							{
								string[] files = Directory.GetFiles((string)arrayList2[n], @class.string_13);
								for (int num3 = 0; num3 < files.Length; num3++)
								{
									try
									{
										Class15.Class18 class19 = new Class15.Class18();
										array = new byte[0];
										byte[] array23 = new byte[0];
										try
										{
											FileStream fileStream3 = new FileStream(files[num3], FileMode.Open, FileAccess.Read);
											fileStream3.Position = 0L;
											array2 = new byte[fileStream3.Length];
											fileStream3.Read(array2, 0, array2.Length);
											fileStream3.Close();
											array23 = array2;
											ICryptoTransform transform10 = new RijndaelManaged
											{
												Mode = CipherMode.CBC
											}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
											MemoryStream memoryStream13 = new MemoryStream();
											CryptoStream cryptoStream10 = new CryptoStream(memoryStream13, transform10, CryptoStreamMode.Write);
											cryptoStream10.Write(array2, 0, array2.Length);
											cryptoStream10.FlushFinalBlock();
											array = memoryStream13.ToArray();
											memoryStream13.Close();
											cryptoStream10.Close();
										}
										catch
										{
											array = new byte[0];
										}
										if (array.Length > 0)
										{
											if (class19.method_0(array))
											{
												bool flag8 = true;
												class19.method_1(array);
												if (class19.bool_4)
												{
													string text5 = Class15.smethod_3(class19.bool_6, class19.bool_7, class19.bool_11, class19.bool_5, class19.bool_8, class19.bool_9);
													if (text5.Length == 29)
													{
														int num4 = 0;
														if (class19.bool_8 && class19.string_3.Substring(0, 4) != text5.Substring(0, 4))
														{
															num4++;
														}
														if (class19.bool_6 && class19.string_3.Substring(5, 4) != text5.Substring(5, 4))
														{
															num4++;
														}
														if (class19.bool_7 && class19.string_3.Substring(10, 4) != text5.Substring(10, 4))
														{
															num4++;
														}
														if (class19.bool_11 && class19.string_3.Substring(15, 4) != text5.Substring(15, 4))
														{
															num4++;
														}
														if (class19.bool_5 && class19.string_3.Substring(20, 4) != text5.Substring(20, 4))
														{
															num4++;
														}
														if (class19.bool_9 && class19.string_3.Substring(25, 4) != text5.Substring(25, 4))
														{
															num4++;
														}
														if (class19.int_1 - num4 < 0)
														{
															Class33.smethod_0().method_5((Enum6)5);
															flag8 = false;
															flag = true;
														}
													}
													else
													{
														flag = true;
														flag8 = false;
														Class33.smethod_0().method_5((Enum6)5);
													}
												}
												if (flag8 && licenseContext_0 != null)
												{
													if (licenseContext_0.UsageMode == LicenseUsageMode.Runtime && !class19.bool_0)
													{
														Class33.smethod_0().method_5((Enum6)0);
														flag8 = false;
													}
													if (licenseContext_0.UsageMode == LicenseUsageMode.Designtime && !class19.bool_1)
													{
														Class33.smethod_0().method_5((Enum6)0);
														flag8 = false;
													}
												}
												if (class19.bool_13)
												{
													flag8 = false;
												}
												if (flag8)
												{
													class10 = class19;
												}
												if (flag8)
												{
													Assembly[] assemblies2 = AppDomain.CurrentDomain.GetAssemblies();
													bool flag9 = false;
													int num5 = 0;
													while (num5 < assemblies2.Length)
													{
														bool flag10 = true;
														IDictionaryEnumerator enumerator3 = class10.hashtable_0.GetEnumerator();
														while (enumerator3.MoveNext())
														{
															string a3 = enumerator3.Key.ToString();
															string b3 = enumerator3.Value.ToString();
															if (a3 == Class15.Class16.string_4)
															{
																if (this.method_11(assemblies2[num5], typeof(AssemblyVersionAttribute)) != b3)
																{
																	flag10 = false;
																}
															}
															else if (a3 == Class15.Class16.string_5)
															{
																if (this.method_11(assemblies2[num5], typeof(AssemblyCopyrightAttribute)) != b3)
																{
																	flag10 = false;
																}
															}
															else if (a3 == Class15.Class16.string_6)
															{
																if (this.method_11(assemblies2[num5], typeof(AssemblyTrademarkAttribute)) != b3)
																{
																	flag10 = false;
																}
															}
															else if (a3 == Class15.Class16.string_7)
															{
																if (this.method_11(assemblies2[num5], typeof(AssemblyCompanyAttribute)) != b3)
																{
																	flag10 = false;
																}
															}
															else if (a3 == Class15.Class16.string_8)
															{
																if (this.method_11(assemblies2[num5], typeof(AssemblyProductAttribute)) != b3)
																{
																	flag10 = false;
																}
															}
															else if (a3 == Class15.Class16.string_9)
															{
																if (this.method_11(assemblies2[num5], typeof(AssemblyDescriptionAttribute)) != b3)
																{
																	flag10 = false;
																}
															}
															else if (a3 == Class15.Class16.string_10)
															{
																if (this.method_11(assemblies2[num5], typeof(AssemblyTitleAttribute)) != b3)
																{
																	flag10 = false;
																}
															}
															else if (a3 == Class15.Class16.string_3 && this.method_11(assemblies2[n], typeof(AssemblyName)) != b3)
															{
																flag10 = false;
															}
														}
														if (!flag10)
														{
															num5++;
														}
														else
														{
															flag9 = true;
															IL_2F63:
															if (!flag9)
															{
																class10 = null;
															}
															if (class10 == null)
															{
																Class33.smethod_0().method_5((Enum6)6);
																flag2 = true;
																goto IL_2F7A;
															}
															goto IL_2F7A;
														}
													}
													goto IL_2F63;
												}
												IL_2F7A:
												if (flag8 && class10 != null && class19.bool_2)
												{
													try
													{
														Class15.Class19 class20 = new Class15.Class19(class19.string_2);
														Random random3 = new Random();
														byte[] array24 = new byte[16];
														random3.NextBytes(array24);
														byte[] array25 = new byte[array23.Length + 16];
														Array.Copy(array24, 0, array25, 0, array24.Length);
														Array.Copy(array23, 0, array25, array24.Length, array23.Length);
														array24 = array25;
														byte[] array26 = class20.Activate(array24);
														byte[] buffer4 = new byte[0];
														ICryptoTransform transform11 = new RijndaelManaged
														{
															Mode = CipherMode.CBC
														}.CreateDecryptor(Class15.byte_1, Class15.byte_2);
														MemoryStream memoryStream14 = new MemoryStream();
														CryptoStream cryptoStream11 = new CryptoStream(memoryStream14, transform11, CryptoStreamMode.Write);
														cryptoStream11.Write(array26, 0, array26.Length);
														cryptoStream11.FlushFinalBlock();
														buffer4 = memoryStream14.ToArray();
														memoryStream14.Close();
														cryptoStream11.Close();
														if (@class.method_0(buffer4))
														{
															MemoryStream memoryStream15 = new MemoryStream(buffer4);
															BinaryReader binaryReader5 = new BinaryReader(memoryStream15);
															memoryStream15.Position = 0L;
															byte[] array27 = binaryReader5.ReadBytes(binaryReader5.ReadInt32());
															byte[] array28 = binaryReader5.ReadBytes((int)(memoryStream15.Length - 4L - (long)array27.Length));
															binaryReader5.Close();
															if (Convert.ToBase64String(array24, 0, 16) != Convert.ToBase64String(array28, 0, 16))
															{
																Class33.smethod_0().method_5((Enum6)7);
																class10 = null;
															}
															else if (array28[16] == 0)
															{
																Class33.smethod_0().method_5((Enum6)7);
																class10 = null;
															}
														}
														else
														{
															Class33.smethod_0().method_5((Enum6)7);
															class10 = null;
														}
													}
													catch (Exception)
													{
														Class33.smethod_0().method_5((Enum6)7);
														class10 = null;
													}
												}
												if (class10 != null)
												{
													if (class10.bool_10)
													{
														Class15.string_0 = class10.string_1;
													}
													else
													{
														Class15.string_0 = "";
													}
													Class15.byte_0 = array23;
													Class33.smethod_0().method_5((Enum6)0);
													Class33.smethod_0().method_7((Enum7)2);
													break;
												}
											}
											else
											{
												Class33.smethod_0().method_5((Enum6)6);
												flag2 = true;
											}
										}
									}
									catch
									{
									}
								}
							}
							catch
							{
							}
						}
					}
				}
			}
			bool flag11 = false;
			bool flag12 = true;
			if (class10 != null)
			{
				flag11 = true;
				@class.bool_2 = class10.bool_2;
				@class.string_2 = class10.string_2;
				@class.bool_3 = class10.bool_3;
				@class.int_0 = class10.int_0;
				@class.int_1 = class10.int_1;
				@class.bool_12 = class10.bool_12;
				@class.hashtable_0 = class10.hashtable_0;
				@class.bool_4 = class10.bool_4;
				@class.string_3 = class10.string_3;
				@class.bool_6 = class10.bool_6;
				@class.bool_7 = class10.bool_7;
				@class.bool_5 = class10.bool_5;
				@class.bool_11 = class10.bool_11;
				@class.bool_8 = class10.bool_8;
				@class.bool_9 = class10.bool_9;
				if (!class10.bool_16 && !class10.bool_15 && !class10.bool_17 && !class10.bool_18 && !class10.bool_19 && !class10.bool_20 && !class10.bool_21)
				{
					flag12 = false;
				}
				if (!class10.bool_12)
				{
					flag12 = false;
				}
				else
				{
					@class.bool_21 = class10.bool_21;
					@class.bool_16 = class10.bool_16;
					@class.dateTime_0 = class10.dateTime_0;
					@class.bool_15 = class10.bool_15;
					@class.int_2 = class10.int_2;
					@class.bool_17 = class10.bool_17;
					@class.int_3 = class10.int_3;
					@class.bool_18 = class10.bool_18;
					@class.int_4 = class10.int_4;
					@class.bool_19 = class10.bool_19;
					@class.int_5 = class10.int_5;
					@class.bool_20 = class10.bool_20;
					@class.int_6 = class10.int_6;
				}
			}
			else
			{
				@class.bool_4 = false;
				@class.string_3 = Class15.Class16.string_11;
				@class.bool_6 = false;
				@class.bool_7 = false;
				@class.bool_5 = false;
				@class.bool_11 = false;
				@class.bool_8 = false;
				@class.bool_9 = false;
				@class.bool_2 = false;
				@class.string_2 = "";
				@class.bool_3 = false;
				@class.int_0 = 0;
				@class.int_1 = 0;
				if ([email protected]_26)
				{
					Class15.Class21.timer_0 = new System.Threading.Timer(new TimerCallback(new Class15.Class21().method_0), null, 90000, 30000);
					if (@class.bool_31)
					{
						string message = @class.string_7;
						try
						{
							Class15.EnableWindow(Process.GetCurrentProcess().MainWindowHandle, false);
						}
						catch
						{
						}
						Class15.ShowMessage(message);
					}
					try
					{
						Class15.TerminateProcess(Class15.GetCurrentProcess(), 1);
					}
					catch
					{
					}
					return null;
				}
			}
			if (flag12 && @class.bool_21)
			{
				@class.bool_16 = false;
				@class.dateTime_0 = DateTime.Now;
				@class.bool_15 = false;
				@class.int_2 = 28;
				@class.bool_17 = false;
				@class.int_3 = 20;
				@class.bool_18 = false;
				@class.int_4 = 10;
				@class.bool_19 = false;
				@class.int_5 = 60;
				@class.bool_20 = false;
				@class.int_6 = 1;
			}
			if (flag11)
			{
				if (flag12)
				{
					Class33.smethod_0().method_1((Enum6)2);
				}
				else
				{
					Class33.smethod_0().method_1((Enum6)1);
				}
			}
			else if (@class.bool_21)
			{
				if (flag3)
				{
					Class33.smethod_0().method_1((Enum6)8);
				}
				else if (flag)
				{
					Class33.smethod_0().method_1((Enum6)5);
				}
				else if (flag2)
				{
					Class33.smethod_0().method_1((Enum6)6);
				}
				else
				{
					Class33.smethod_0().method_1((Enum6)4);
				}
			}
			else if (flag12)
			{
				Class33.smethod_0().method_1((Enum6)2);
			}
			else
			{
				Class33.smethod_0().method_1((Enum6)0);
			}
			if (Class33.smethod_0().method_6() == (Enum7)2)
			{
				Class33.smethod_0().method_5(Class33.smethod_0().method_0());
			}
			if (Class33.smethod_0().method_6() == (Enum7)1)
			{
				Class33.smethod_0().method_3(Class33.smethod_0().method_0());
			}
			Class33.smethod_0().method_43(@class.bool_21);
			Class33.smethod_0().method_27(@class.bool_17);
			Class33.smethod_0().method_23(@class.int_3);
			Class33.smethod_0().method_25(0);
			Class33.smethod_0().method_15(@class.bool_16);
			Class33.smethod_0().method_13(@class.dateTime_0);
			Class33.smethod_0().method_17(@class.bool_15);
			Class33.smethod_0().method_19(@class.int_2);
			Class33.smethod_0().method_21(0);
			Class33.smethod_0().method_33(@class.bool_19);
			Class33.smethod_0().method_35(@class.int_5);
			Class33.smethod_0().method_37(0);
			Class33.smethod_0().method_41(@class.bool_20);
			Class33.smethod_0().method_39(@class.int_6);
			Class33.smethod_0().method_29(@class.bool_18);
			Class33.smethod_0().method_31(@class.int_4);
			Class33.smethod_0().method_50().Clear();
			if (class10 != null)
			{
				IDictionaryEnumerator enumerator4 = @class.hashtable_0.GetEnumerator();
				while (enumerator4.MoveNext())
				{
					Class33.smethod_0().method_50().Add(enumerator4.Key.ToString(), enumerator4.Value.ToString());
				}
			}
			Class33.smethod_0().method_9(@class.bool_2);
			Class33.smethod_0().method_11(@class.string_2);
			Class33.smethod_0().method_49(@class.string_3);
			Class33.smethod_0().method_47(@class.bool_4);
			Class33.smethod_0().method_57(@class.bool_6);
			Class33.smethod_0().method_59(@class.bool_7);
			Class33.smethod_0().method_55(@class.bool_5);
			Class33.smethod_0().method_53(@class.bool_11);
			Class33.smethod_0().method_61(@class.bool_9);
			Class33.smethod_0().method_63(@class.bool_8);
			Class33.smethod_0().method_67(@class.int_1);
			Class33.smethod_0().method_65(@class.bool_12);
			Class15.smethod_5();
			class11 = new Class15.Class17();
			if (flag12)
			{
				if (@class.bool_34)
				{
					string string_12 = @class.string_11;
					Class15.ShowMessage(string_12);
				}
				if (@class.bool_21)
				{
					Class15.sortedList_0[type_0.Assembly.FullName] = true;
					Class15.sortedList_1[type_0.Assembly.FullName] = new Class15.Class26(this, "");
					return new Class15.Class26(this, "");
				}
				if (@class.bool_20)
				{
					try
					{
						string processName = Process.GetCurrentProcess().ProcessName;
						Process[] processesByName = Process.GetProcessesByName(processName);
						if (processesByName.Length > @class.int_6)
						{
							if (@class.bool_32)
							{
								string text6 = @class.string_8;
								text6 = text6.Replace(Class15.Class16.string_21, @class.int_6.ToString());
								if (@class.bool_25)
								{
									try
									{
										Class15.EnableWindow(Process.GetCurrentProcess().MainWindowHandle, false);
									}
									catch
									{
									}
								}
								Class15.ShowMessage(text6);
							}
							if (@class.bool_25)
							{
								try
								{
									Class15.TerminateProcess(Class15.GetCurrentProcess(), 1);
								}
								catch
								{
								}
								result = null;
								return result;
							}
						}
					}
					catch
					{
					}
				}
				Class15.smethod_5();
				class11 = null;
				try
				{
					string str11 = Class15.Class16.string_0;
					string str12 = Class15.string_3 + "\\";
					RegistryKey registryKey11 = Registry.CurrentUser;
					if (Class15.smethod_0())
					{
						registryKey11 = Registry.LocalMachine;
					}
					RegistryKey registryKey12 = registryKey11.OpenSubKey(str11 + str12, false);
					if (registryKey12 != null)
					{
						Class15.Class17 class21 = new Class15.Class17();
						class21.method_0((string)registryKey12.GetValue("1"), Class15.byte_1, Class15.byte_2);
						if (class11 == null)
						{
							class11 = class21;
						}
						if (class21.ulong_0 > class11.ulong_0)
						{
							class11 = class21;
						}
					}
				}
				catch
				{
				}
				try
				{
					if (Class14.smethod_5(type_0.Assembly).ToString().Length > 0 && File.Exists(Class14.smethod_5(type_0.Assembly).ToString()))
					{
						Class15.Class17 class22 = new Class15.Class17();
						class22.method_0(Class15.smethod_8(Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()), Class15.string_2), Class15.byte_1, Class15.byte_2);
						if (class11 == null)
						{
							class11 = class22;
						}
						if (class22.ulong_0 > class11.ulong_0)
						{
							class11 = class22;
						}
					}
				}
				catch
				{
				}
				try
				{
					if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2))
					{
						Class15.Class17 class23 = new Class15.Class17();
						class23.method_0(Encoding.Unicode.GetString(Class15.smethod_11(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2)), Class15.byte_1, Class15.byte_2);
						if (class11 == null)
						{
							class11 = class23;
						}
						if (class23.ulong_0 > class11.ulong_0)
						{
							class11 = class23;
						}
					}
				}
				catch
				{
				}
				if (class11 == null)
				{
					class11 = new Class15.Class17();
				}
				try
				{
					class11.ulong_0 += 1uL;
				}
				catch
				{
					class11.ulong_0 = 0uL;
				}
				DateTime dateTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
				if (@class.bool_15)
				{
					class11.int_2 += Math.Abs(dateTime.Subtract(class11.dateTime_1).Days);
				}
				class11.dateTime_1 = dateTime;
				if (@class.bool_16)
				{
					if (DateTime.Compare(dateTime, class11.dateTime_0) >= 0)
					{
						class11.dateTime_0 = dateTime;
					}
				}
				else
				{
					class11.dateTime_0 = dateTime;
				}
				if (@class.bool_17)
				{
					class11.int_0++;
				}
				int num6 = 0;
				int num7 = 0;
				bool flag13 = false;
				bool flag14 = false;
				bool flag15 = false;
				bool flag16 = false;
				if (@class.bool_18 && @class.bool_22)
				{
					num6++;
				}
				if (@class.bool_19)
				{
					num6++;
					if (class11.int_1 >= @class.int_5)
					{
						num7++;
						flag16 = true;
					}
				}
				if (@class.bool_17)
				{
					num6++;
					if (class11.int_0 > @class.int_3)
					{
						num7++;
						flag15 = true;
					}
				}
				if (@class.bool_15)
				{
					num6++;
					if (class11.int_2 > @class.int_2)
					{
						num7++;
						flag14 = true;
					}
				}
				if (@class.bool_16)
				{
					num6++;
					if (class11.dateTime_0 >= @class.dateTime_0)
					{
						num7++;
						flag13 = true;
					}
				}
				if (@class.bool_17 && flag15 && class11.int_0 > @class.int_3 + 1 && ((@class.bool_22 && num6 == num7) || ([email protected]_22 && num7 > 0)))
				{
					Class33.smethod_0().method_1((Enum6)3);
					if (Class33.smethod_0().method_6() == (Enum7)2)
					{
						Class33.smethod_0().method_5(Class33.smethod_0().method_0());
					}
					if (Class33.smethod_0().method_6() == (Enum7)1)
					{
						Class33.smethod_0().method_3(Class33.smethod_0().method_0());
					}
					if (@class.bool_25)
					{
						class11.int_0--;
					}
				}
				Class33.smethod_0().method_25(class11.int_0);
				Class33.smethod_0().method_21(class11.int_2);
				Class33.smethod_0().method_37(class11.int_1);
				try
				{
					string str13 = Class15.Class16.string_0;
					string str14 = Class15.string_3 + "\\";
					RegistryKey registryKey13 = Registry.CurrentUser;
					if (Class15.smethod_0())
					{
						registryKey13 = Registry.LocalMachine;
					}
					RegistryKey registryKey14;
					if (registryKey13.OpenSubKey(str13 + str14, false) == null)
					{
						registryKey13 = Registry.CurrentUser;
						if (Class15.smethod_0())
						{
							registryKey13 = Registry.LocalMachine;
						}
						registryKey14 = registryKey13.CreateSubKey(str13 + str14);
					}
					registryKey13 = Registry.CurrentUser;
					if (Class15.smethod_0())
					{
						registryKey13 = Registry.LocalMachine;
					}
					registryKey14 = registryKey13.OpenSubKey(str13 + str14, true);
					if (registryKey14 != null)
					{
						registryKey14.SetValue("1", class11.method_5(Class15.byte_1, Class15.byte_2));
						registryKey14.Close();
					}
				}
				catch
				{
				}
				try
				{
					if (Class14.smethod_5(type_0.Assembly).ToString().Length > 0 && File.Exists(Class14.smethod_5(type_0.Assembly).ToString()))
					{
						Class15.smethod_7(Path.GetDirectoryName(Class14.smethod_5(type_0.Assembly).ToString()), Class15.string_2, class11.method_5(Class15.byte_1, Class15.byte_2));
					}
				}
				catch
				{
				}
				try
				{
					FileStream fileStream4 = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Class15.Class16.string_2 + Class15.string_2, FileMode.Create, FileAccess.ReadWrite);
					byte[] bytes3 = Encoding.Unicode.GetBytes(class11.method_5(Class15.byte_1, Class15.byte_2));
					fileStream4.Write(bytes3, 0, bytes3.Length);
					fileStream4.Close();
				}
				catch
				{
				}
				if ((@class.bool_22 && num6 == num7) || ([email protected]_22 && num7 > 0))
				{
					if (flag13)
					{
						try
						{
							Class33.smethod_0().method_1((Enum6)3);
							if (Class33.smethod_0().method_6() == (Enum7)2)
							{
								Class33.smethod_0().method_5(Class33.smethod_0().method_0());
							}
							if (Class33.smethod_0().method_6() == (Enum7)1)
							{
								Class33.smethod_0().method_3(Class33.smethod_0().method_0());
							}
							if (@class.bool_28)
							{
								string text7 = @class.string_5;
								text7 = text7.Replace(Class15.Class16.string_16, @class.dateTime_0.ToString());
								text7 = text7.Replace(Class15.Class16.string_17, DateTime.Now.ToString());
								if (@class.bool_25)
								{
									try
									{
										Class15.EnableWindow(Process.GetCurrentProcess().MainWindowHandle, false);
									}
									catch
									{
									}
								}
								Class15.ShowMessage(text7);
							}
							if (@class.bool_25)
							{
								try
								{
									Class15.TerminateProcess(Class15.GetCurrentProcess(), 1);
								}
								catch
								{
								}
								result = null;
								return result;
							}
							goto IL_442C;
						}
						catch
						{
							goto IL_442C;
						}
					}
					if (flag14)
					{
						try
						{
							Class33.smethod_0().method_1((Enum6)3);
							if (Class33.smethod_0().method_6() == (Enum7)2)
							{
								Class33.smethod_0().method_5(Class33.smethod_0().method_0());
							}
							if (Class33.smethod_0().method_6() == (Enum7)1)
							{
								Class33.smethod_0().method_3(Class33.smethod_0().method_0());
							}
							if (@class.bool_27)
							{
								int num8 = @class.int_2 - class11.int_2;
								if (num8 < 0)
								{
									num8 = 0;
								}
								string text8 = @class.string_4;
								text8 = text8.Replace(Class15.Class16.string_12, class11.int_2.ToString());
								text8 = text8.Replace(Class15.Class16.string_15, @class.int_2.ToString());
								text8 = text8.Replace(Class15.Class16.string_13, num8.ToString());
								if (@class.bool_25)
								{
									try
									{
										Class15.EnableWindow(Process.GetCurrentProcess().MainWindowHandle, false);
									}
									catch
									{
									}
								}
								Class15.ShowMessage(text8);
							}
							if (@class.bool_25)
							{
								try
								{
									Class15.TerminateProcess(Class15.GetCurrentProcess(), 1);
								}
								catch
								{
								}
								result = null;
								return result;
							}
							goto IL_442C;
						}
						catch
						{
							goto IL_442C;
						}
					}
					if (flag15)
					{
						try
						{
							Class33.smethod_0().method_1((Enum6)3);
							if (Class33.smethod_0().method_6() == (Enum7)2)
							{
								Class33.smethod_0().method_5(Class33.smethod_0().method_0());
							}
							if (Class33.smethod_0().method_6() == (Enum7)1)
							{
								Class33.smethod_0().method_3(Class33.smethod_0().method_0());
							}
							if (@class.bool_29)
							{
								int num9 = @class.int_3 - class11.int_0;
								if (num9 < 0)
								{
									num9 = 0;
								}
								string text9 = @class.string_6;
								text9 = text9.Replace(Class15.Class16.string_18, class11.int_0.ToString());
								text9 = text9.Replace(Class15.Class16.string_19, @class.int_3.ToString());
								text9 = text9.Replace(Class15.Class16.string_20, num9.ToString());
								if (@class.bool_25)
								{
									try
									{
										Class15.EnableWindow(Process.GetCurrentProcess().MainWindowHandle, false);
									}
									catch
									{
									}
								}
								Class15.ShowMessage(text9);
							}
							if (@class.bool_25)
							{
								try
								{
									Class15.TerminateProcess(Class15.GetCurrentProcess(), 1);
								}
								catch
								{
								}
								result = null;
								return result;
							}
							goto IL_442C;
						}
						catch
						{
							goto IL_442C;
						}
					}
					if (flag16)
					{
						try
						{
							Class33.smethod_0().method_1((Enum6)3);
							if (Class33.smethod_0().method_6() == (Enum7)2)
							{
								Class33.smethod_0().method_5(Class33.smethod_0().method_0());
							}
							if (Class33.smethod_0().method_6() == (Enum7)1)
							{
								Class33.smethod_0().method_3(Class33.smethod_0().method_0());
							}
							if (@class.bool_33)
							{
								int num10 = @class.int_5 - class11.int_1;
								if (num10 < 0)
								{
									num10 = 0;
								}
								string text10 = @class.string_9;
								text10 = text10.Replace(Class15.Class16.string_22, class11.int_1.ToString());
								text10 = text10.Replace(Class15.Class16.string_23, @class.int_5.ToString());
								text10 = text10.Replace(Class15.Class16.string_14, num10.ToString());
								if (@class.bool_25)
								{
									try
									{
										Class15.EnableWindow(Process.GetCurrentProcess().MainWindowHandle, false);
									}
									catch
									{
									}
								}
								Class15.ShowMessage(text10);
							}
							if ([email protected]_25)
							{
								goto IL_442C;
							}
							try
							{
								Class15.TerminateProcess(Class15.GetCurrentProcess(), 1);
							}
							catch
							{
							}
							result = null;
						}
						catch
						{
							goto IL_442C;
						}
						return result;
					}
				}
				else
				{
					if (@class.bool_19)
					{
						Class15.Class24 class24 = new Class15.Class24(@class, class11, type_0, Class15.byte_1, Class15.byte_2);
						class24.timer_0 = new System.Threading.Timer(new TimerCallback(class24.method_0), null, 60000, 60000);
					}
					if (@class.bool_18)
					{
						Class15.Class20 class25 = new Class15.Class20(@class, type_0.Assembly);
						class25.timer_0 = new System.Threading.Timer(new TimerCallback(class25.method_0), null, @class.int_4 * 60000, @class.int_4 * 60000);
					}
					if (@class.bool_16 || @class.bool_15)
					{
						Class15.Class23 class26 = new Class15.Class23(@class, class11, type_0, Class15.byte_1, Class15.byte_2);
						Class15.Class22 class27 = new Class15.Class22(@class, class11, type_0, Class15.byte_1, Class15.byte_2);
						class26.class22_0 = class27;
						class27.class23_0 = class26;
						class26.int_1 = num7;
						class26.int_0 = num6;
						class27.int_1 = num7;
						class27.int_0 = num6;
						if (@class.bool_16 && !flag13)
						{
							class27.timer_0 = new System.Threading.Timer(new TimerCallback(class27.method_0), null, 60000, 60000);
						}
						if (@class.bool_15 && !flag14)
						{
							class26.timer_0 = new System.Threading.Timer(new TimerCallback(class26.method_0), null, 60000, 60000);
						}
					}
				}
			}
			IL_442C:
			Class15.sortedList_0[type_0.Assembly.FullName] = true;
			Class15.sortedList_1[type_0.Assembly.FullName] = new Class15.Class26(this, "");
			return new Class15.Class26(this, "");
		}
		return result;
	}