state("Enotria-Win64-Shipping", "Demo 1.0") { int Loads: 0x78F9800; } state("Enotria-Win64-Shipping", "Demo 1.1") { int Loads: 0x78FB800; } state("Enotria-Win64-Shipping", "Demo 1.2") { int Loads: 0x78FDB00; } state("Enotria-Win64-Shipping", "Demo 1.3 & 1.4") { int Loads: 0x78FDB00; } init { string MD5Hash; using (var md5 = System.Security.Cryptography.MD5.Create()) using (var s = File.Open(modules.First().FileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) MD5Hash = md5.ComputeHash(s).Select(x => x.ToString("X2")).Aggregate((a, b) => a + b); print("Hash is: " + MD5Hash); switch (MD5Hash) { case "CE256EFC2F488901879B1F097968C01A": version = "Demo 1.0"; break; case "F1E0E1D8F3A787EB531BABBEB41B1484": version = "Demo 1.1"; break; case "9B54B859520DCADF15D07269E2C55BDB": version = "Demo 1.2"; break; case "354B615D0E84D95A6C8C1AC83BDAF388": version = "Demo 1.3 & 1.4"; break; default: version = "Unknown"; break; } } isLoading { return current.Loads == 50; }