public static void run(ModuleDefMD module, Assembly asm)
        {
            VMDecryptor.FindEncryptedMethods(module);
            bool flag  = VMDecryptor.allEncMethods.Count != 0;
            bool flag2 = flag;

            if (flag2)
            {
                DecryptionMethods dec = VMDecryptor.setUpDecryptionRoutine(VMDecryptor.allEncMethods[0].method);
                VMDecryptor.DecryptMethods(dec, asm, module);
            }
        }
 public static void FindEncryptedMethods(ModuleDefMD module)
 {
     foreach (TypeDef typeDef in module.GetTypes())
     {
         foreach (MethodDef methodDef in typeDef.Methods)
         {
             bool flag  = methodDef.MDToken.ToInt32() == 100663440;
             bool flag2 = flag;
             if (flag2)
             {
             }
             bool flag3 = !methodDef.HasBody;
             bool flag4 = !flag3;
             if (flag4)
             {
                 bool flag5 = methodDef.Body.Instructions.Count > 70;
                 bool flag6 = !flag5;
                 if (flag6)
                 {
                     bool flag7 = !methodDef.Body.Instructions[0].IsLdcI4();
                     bool flag8 = !flag7;
                     if (flag8)
                     {
                         bool flag9  = methodDef.Body.Instructions.Count < 3;
                         bool flag10 = !flag9;
                         if (flag10)
                         {
                             bool flag11 = methodDef.Body.Instructions[methodDef.Body.Instructions.Count - 3].OpCode != OpCodes.Call;
                             bool flag12 = !flag11;
                             if (flag12)
                             {
                                 bool flag13 = !VMDecryptor.checkMethod(methodDef);
                                 bool flag14 = !flag13;
                                 if (flag14)
                                 {
                                     int ldcI4Value = methodDef.Body.Instructions[0].GetLdcI4Value();
                                     EncryptedMethodDetails item = new EncryptedMethodDetails(methodDef, ldcI4Value);
                                     VMDecryptor.allEncMethods.Add(item);
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }