The Bytecode Club - Reverse Engineering Forum

Full Version: Form Remove
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I keep seeing this form which do not allow me to open the app

        invokespecial void StringBuilder.<init>()
        aload message
        invokevirtual StringBuilder StringBuilder.append(String)
        ldc String Constant "Ky PC "
        invokevirtual StringBuilder StringBuilder.append(String)
        aload_3 clientSerial
        invokevirtual StringBuilder StringBuilder.append(String)
        ldc String Constant " nuk eshte i licensuar !
"
        invokevirtual StringBuilder StringBuilder.append(String)
        invokevirtual String StringBuilder.toString()
        astore message
        label_232:
        iload_2 isCheckModuleKey
        ifeq label_272
        iload containsModuleOnHashMap
        ifne label_272
        new StringBuilder
        dup
        invokespecial void StringBuilder.<init>()
        aload message
        invokevirtual StringBuilder StringBuilder.append(String)
        ldc String Constant "Nuk ka license per modulin e kerkuar te programit :"
        invokevirtual StringBuilder StringBuilder.append(String)
        aload_1 moduleKey
        invokevirtual StringBuilder StringBuilder.append(String)
        ldc String Constant "



Code:
package com.tpk.bilanc;

import com.tpk.bilanc.master.CompanyController;
import com.tpk.bilanc.settings.CompanyPreferencesController;
import com.tpk.bilanc.utils.TPKJOptionPane;
import com.tpk.db.DBAdapter;
import com.tpk.db.DBConfiguration;
import com.tpk.security.TPKComputer;
import com.tpk.utils.DesEncrypter;
import com.tpk.utils.TPKUtilDate;
import java.awt.Component;
import java.io.PrintStream;
import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.StringTokenizer;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

// SourceFile = SaasLicenseController.java
// Class Version: 51.0
public class SaasLicenseController {

   public static final String LICENSE_END_DATE_KEY = "EndDate";
   public static final String SAAS_LICENSE_KEY = "license";
   public static final String BILANC_EKSPRES_VERSION_KEY = "MyVersion=0";
   public static final String BILANC_STANDARD_VERSION_KEY = "MyVersion=1";
   public static final String BILANC_PROFESIONAL_VERSION_KEY = "MyVersion=2";
   public static final String FULL_LICENSE_KEY = "FullLicense";
   private HashMap<String, String> licenses;
   public static final int LICENSE_NEGATIVE_LIMIT = (int) -7;
   private static SaasLicenseController saasLicenseController;

   private void <init>() {
       this_start:
       SaasLicenseController this (#0 0 - 10)
       aload_0 this
       invokespecial void Object.<init>()
       aload_0 this
       aconst_null
       putfield HashMap SaasLicenseController.licenses
       return
       this_end:
   }

   public static SaasLicenseController getInstance() {
       getstatic SaasLicenseController SaasLicenseController.saasLicenseController
       ifnonnull label_16
       new SaasLicenseController
       dup
       invokespecial void SaasLicenseController.<init>()
       putstatic SaasLicenseController SaasLicenseController.saasLicenseController
       label_16:
       getstatic SaasLicenseController SaasLicenseController.saasLicenseController
       areturn
   }

   public void checkRegisteredLicense() {
       this_start:
       SaasLicenseController this (#0 0 - 13)
       invokestatic boolean SaasLicenseController.isWhiteListSerial()
       ifeq label_7
       return
       label_7:
       aload_0 this
       aconst_null
       invokevirtual void SaasLicenseController.checkRegisteredLicense(String)
       return
       this_end:
   }

   public void checkRegisteredLicense(String moduleKey) {
       moduleKey_start:
       this_start:
       SaasLicenseController this (#0 0 - 20)
       String moduleKey (#1 0 - 20)
       invokestatic boolean SaasLicenseController.isFullLicense()
       ifeq label_14
       aload_0 this
       aload_1 moduleKey
       invokevirtual void SaasLicenseController.checkRegisteredLicenseFull(String)
       goto label_19
       label_14:
       aload_0 this
       aload_1 moduleKey
       invokevirtual void SaasLicenseController.checkRegisteredLicenseSaaS(String)
       label_19:
       return
       moduleKey_end:
       this_end:
   }

   public boolean isModuleEnabled(String moduleKey) {
       moduleKey_start:
       this_start:
       SaasLicenseController this (#0 0 - 9)
       String moduleKey (#1 0 - 9)
       aload_0 this
       invokevirtual HashMap SaasLicenseController.getLicenses()
       aload_1 moduleKey
       invokevirtual boolean HashMap.containsKey(Object)
       ireturn
       moduleKey_end:
       this_end:
   }

   public void checkRegisteredLicenseFull(String moduleKey) {
       moduleKey_start:
       this_start:
       SaasLicenseController this (#0 0 - 10)
       String moduleKey (#1 0 - 10)
       aload_0 this
       aload_1 moduleKey
       invokespecial void SaasLicenseController.checkLicensesCoreLogic(String)
       aload_0 this
       invokespecial void SaasLicenseController.checkUpdateValidForContractEndDate()
       return
       moduleKey_end:
       this_end:
   }

   public void checkRegisteredLicenseSaaS(String moduleKey) {
       moduleKey_start:
       this_start:
       SaasLicenseController this (#0 0 - 10)
       String moduleKey (#1 0 - 10)
       aload_0 this
       aload_1 moduleKey
       invokespecial void SaasLicenseController.checkLicensesCoreLogic(String)
       aload_0 this
       invokespecial void SaasLicenseController.checkDaysRemainingSaaS()
       return
       moduleKey_end:
       this_end:
   }

   private void checkLicensesCoreLogic(String moduleKey) {
       moduleKey_start:
       this_start:
       SaasLicenseController this (#0 0 - 322)
       String moduleKey (#1 0 - 322)
       aload_1 moduleKey
       ifnull label_15
       aload_1 moduleKey
       invokevirtual boolean String.isEmpty()
       ifne label_15
       iconst_1 1
       goto label_16
       label_15:
       label_15:
       iconst_0 0
       label_16:
       istore_2 2
       isCheckModuleKey_start:
       boolean isCheckModuleKey (#2 17 - 322)
       invokestatic TPKComputer TPKComputer.getInstance()
       invokevirtual String TPKComputer.getComputerID()
       astore_3
       clientSerial_start:
       String clientSerial (#3 24 - 322)
       aload_3 clientSerial
       invokestatic String BilancUtils.getStringValueNotNull(Object)
       invokevirtual boolean String.isEmpty()
       ifeq label_40
       iconst_1 1
       istore 4
       containsSerial_start:
       boolean containsSerial (#4 37 - 40)
       goto label_84
       containsSerial_end:
       label_40:
       invokestatic DBConfiguration DBAdapter.getDbConfiguration()
       invokevirtual boolean DBConfiguration.isServer()
       ifeq label_74
       aload_0 this
       invokevirtual HashMap SaasLicenseController.getLicenses()
       ldc String Constant "Server"
       invokevirtual Object HashMap.get(Object)
       invokestatic String BilancUtils.getStringValueNotNull(Object)
       astore 5
       serverSerialIfAny_start:
       String serverSerialIfAny (#5 63 - 71)
       aload serverSerialIfAny
       aload_3 clientSerial
       invokevirtual boolean String.contains(CharSequence)
       istore 4
       containsSerial_start:
       serverSerialIfAny_end:
       boolean containsSerial (#4 71 - 74)
       goto label_84
       containsSerial_end:
       label_74:
       aload_0 this
       invokevirtual HashMap SaasLicenseController.getLicenses()
       aload_3 clientSerial
       invokevirtual boolean HashMap.containsKey(Object)
       istore 4
       containsSerial_start:
       label_84:
       label_84:
       boolean containsSerial (#4 84 - 322)
       aload_0 this
       invokevirtual HashMap SaasLicenseController.getLicenses()
       aload_1 moduleKey
       invokevirtual boolean HashMap.containsKey(Object)
       istore 5
       containsModuleOnHashMap_start:
       boolean containsModuleOnHashMap (#5 94 - 322)
       getstatic PrintStream System.out
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       ldc String Constant "containsSerial = "
       invokevirtual StringBuilder StringBuilder.append(String)
       iload containsSerial
       invokevirtual StringBuilder StringBuilder.append(boolean)
       invokevirtual String StringBuilder.toString()
       invokevirtual void PrintStream.println(String)
       getstatic PrintStream System.out
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       ldc String Constant "containsModuleOnHashMap = "
       invokevirtual StringBuilder StringBuilder.append(String)
       iload containsModuleOnHashMap
       invokevirtual StringBuilder StringBuilder.append(boolean)
       invokevirtual String StringBuilder.toString()
       invokevirtual void PrintStream.println(String)
       getstatic PrintStream System.out
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       ldc String Constant "isCheckModuleKey = "
       invokevirtual StringBuilder StringBuilder.append(String)
       iload_2 isCheckModuleKey
       invokevirtual StringBuilder StringBuilder.append(boolean)
       invokevirtual String StringBuilder.toString()
       invokevirtual void PrintStream.println(String)
       iload containsSerial
       istore 6
       licenseOK_start:
       boolean licenseOK (#6 175 - 322)
       iload_2 isCheckModuleKey
       ifeq label_187
       iload containsModuleOnHashMap
       ifne label_187
       iconst_0 0
       istore licenseOK
       label_187:
       label_187:
       iload licenseOK
       ifne label_321
       ldc String Constant ""
       astore 7
       message_start:
       String message (#7 196 - 321)
       iload containsSerial
       ifne label_232
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       aload message
       invokevirtual StringBuilder StringBuilder.append(String)
       ldc String Constant "Ky PC "
       invokevirtual StringBuilder StringBuilder.append(String)
       aload_3 clientSerial
       invokevirtual StringBuilder StringBuilder.append(String)
       ldc String Constant " nuk eshte i licensuar !
"
       invokevirtual StringBuilder StringBuilder.append(String)
       invokevirtual String StringBuilder.toString()
       astore message
       label_232:
       iload_2 isCheckModuleKey
       ifeq label_272
       iload containsModuleOnHashMap
       ifne label_272
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       aload message
       invokevirtual StringBuilder StringBuilder.append(String)
       ldc String Constant "Nuk ka license per modulin e kerkuar te programit :"
       invokevirtual StringBuilder StringBuilder.append(String)
       aload_1 moduleKey
       invokevirtual StringBuilder StringBuilder.append(String)
       ldc String Constant "
"
       invokevirtual StringBuilder StringBuilder.append(String)
       invokevirtual String StringBuilder.toString()
       astore message
       label_272:
       label_272:
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       aload message
       invokevirtual StringBuilder StringBuilder.append(String)
       ldc String Constant "Kontaktoni Bilanc shpk!
"
       invokevirtual StringBuilder StringBuilder.append(String)
       invokevirtual String StringBuilder.toString()
       astore message
       aconst_null
       new JScrollPane
       dup
       new JTextArea
       dup
       aload message
       invokespecial void JTextArea.<init>(String)
       invokespecial void JScrollPane.<init>(Component)
       ldc String Constant "Gabim"
       iconst_0 0
       invokestatic void TPKJOptionPane.showMessageDialog(Component, Object, String, int)
       iconst_0 0
       invokestatic void System.exit(int)
       message_end:
       label_321:
       return
       licenseOK_end:
       containsModuleOnHashMap_end:
       containsSerial_end:
       clientSerial_end:
       isCheckModuleKey_end:
       moduleKey_end:
       this_end:
   }

   private void checkDaysRemainingSaaS() {
       this_start:
       try-block_start(java.text.ParseException)_0:
       SaasLicenseController this (#0 0 - 118)
       invokestatic CompanyPreferencesController CompanyPreferencesController.getInstance()
       aload_0 this
       invokespecial TPKUtilDate SaasLicenseController.getLicenseEndDate()
       invokevirtual void CompanyPreferencesController.setLicenseEndDateForSaaS(TPKUtilDate)
       aload_0 this
       invokevirtual int SaasLicenseController.getDaysRemainingSaaS()
       istore_1 1
       daysRemaining_start:
       int daysRemaining (#1 15 - 96)
       iload_1 daysRemaining
       bipush 249
       if_icmpge label_31
       aconst_null
       ldc String Constant "Licensa juaj ka perfunduar.
Programi do te mbyllet.
Ju lutem rinovoni licensen."
       invokestatic void JOptionPane.showMessageDialog(Component, Object)
       iconst_0 0
       invokestatic void System.exit(int)
       label_31:
       iload_1 daysRemaining
       bipush 249
       if_icmplt label_57
       iload_1 daysRemaining
       ifgt label_57
       invokestatic JFrame O2WorkBook.getMainJFrameStatic()
       astore_2
       mainJFrameStatic_start:
       JFrame mainJFrameStatic (#2 45 - 54)
       aload_2 mainJFrameStatic
       ldc String Constant "Licensa juaj ka perfunduar.
Ju lutem rinovoni ate sa me shpejt."
       ldc String Constant "Gabim"
       iconst_0 0
       invokestatic void JOptionPane.showMessageDialog(Component, Object, String, int)
       mainJFrameStatic_end:
       goto label_96
       label_57:
       label_57:
       iload_1 daysRemaining
       bipush 15
       if_icmpgt label_96
       aconst_null
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       ldc String Constant "Licensa juaj perfundon per "
       invokevirtual StringBuilder StringBuilder.append(String)
       iload_1 daysRemaining
       invokevirtual StringBuilder StringBuilder.append(int)
       ldc String Constant " dite.
"
       invokevirtual StringBuilder StringBuilder.append(String)
       ldc String Constant "Ju lutem rinovoni licensen brenda ketij afati."
       invokevirtual StringBuilder StringBuilder.append(String)
       invokevirtual String StringBuilder.toString()
       invokestatic void JOptionPane.showMessageDialog(Component, Object)
       daysRemaining_end:
       try-block_end(java.text.ParseException)_96:
       label_96:
       label_96:
       goto label_117
       exception_handler(java.text.ParseException)_99:
       astore_1
       e_start:
       ParseException e (#1 100 - 117)
       aload_1 e
       invokevirtual void ParseException.printStackTrace()
       aconst_null
       ldc String Constant "License e pasakte!
Kontaktoni Bilanc shpk!"
       ldc String Constant "Gabim"
       iconst_0 0
       invokestatic void TPKJOptionPane.showMessageDialog(Component, Object, String, int)
       iconst_0 0
       invokestatic void System.exit(int)
       e_end:
       label_117:
       return
       this_end:
   }

   private void checkUpdateValidForContractEndDate() {
       this_start:
       try-block_start(java.text.ParseException)_0:
       SaasLicenseController this (#0 0 - 122)
       invokestatic TPKUtilDate BilancUtils.getBilancBuildDate()
       astore_1
       dateOfBilancBuild_start:
       TPKUtilDate dateOfBilancBuild (#1 4 - 99)
       aload_0 this
       invokespecial TPKUtilDate SaasLicenseController.getLicenseEndDate()
       astore_2
       licenseEndDate_start:
       TPKUtilDate licenseEndDate (#2 9 - 99)
       getstatic PrintStream System.out
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       ldc String Constant "licenseEndDate = "
       invokevirtual StringBuilder StringBuilder.append(String)
       aload_2 licenseEndDate
       invokevirtual StringBuilder StringBuilder.append(Object)
       invokevirtual String StringBuilder.toString()
       invokevirtual void PrintStream.println(String)
       getstatic PrintStream System.out
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       ldc_w String Constant "dateOfBilancBuild = "
       invokevirtual StringBuilder StringBuilder.append(String)
       aload_1 dateOfBilancBuild
       invokevirtual StringBuilder StringBuilder.append(Object)
       invokevirtual String StringBuilder.toString()
       invokevirtual void PrintStream.println(String)
       aload_1 dateOfBilancBuild
       aload_2 licenseEndDate
       invokevirtual boolean TPKUtilDate.after(Date)
       ifeq label_85
       aconst_null
       ldc_w String Constant "Versioni i programit nuk eshte i perfshire ne kontraten tuaj aktive.
Programi do te mbyllet. Ju lutem kontaktoni Bilanc sh.p.k"
       ldc String Constant "Gabim"
       iconst_0 0
       invokestatic void JOptionPane.showMessageDialog(Component, Object, String, int)
       iconst_0 0
       invokestatic void System.exit(int)
       goto label_99
       label_85:
       getstatic PrintStream System.out
       ldc_w String Constant "versioni ok me daten e kontrates"
       iconst_0 0
       anewarray Object
       invokevirtual PrintStream PrintStream.printf(String, Object[])
       pop
       licenseEndDate_end:
       dateOfBilancBuild_end:
       try-block_end(java.text.ParseException)_99:
       label_99:
       goto label_121
       exception_handler(java.text.ParseException)_102:
       astore_1
       e_start:
       ParseException e (#1 103 - 121)
       aload_1 e
       invokevirtual void ParseException.printStackTrace()
       aconst_null
       ldc_w String Constant "Gabim ne kontrollin e versionit/kontrates!
Programi do te mbyllet.
Ju lutem kontaktoni Bilanc sh.p.k"
       ldc String Constant "Gabim"
       iconst_0 0
       invokestatic void TPKJOptionPane.showMessageDialog(Component, Object, String, int)
       iconst_0 0
       invokestatic void System.exit(int)
       e_end:
       label_121:
       return
       this_end:
   }

   public int getDaysRemainingSaaS() throws ParseException {
       this_start:
       SaasLicenseController this (#0 0 - 45)
       aload_0 this
       invokespecial TPKUtilDate SaasLicenseController.getLicenseEndDate()
       astore_1
       licenseEndDate_start:
       TPKUtilDate licenseEndDate (#1 5 - 45)
       new TPKUtilDate
       dup
       invokespecial void TPKUtilDate.<init>()
       aload_1 licenseEndDate
       invokestatic int TPKUtilDate.dayDiff(Date, Date)
       istore_2 2
       remainingDays_start:
       int remainingDays (#2 17 - 45)
       getstatic PrintStream System.out
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       ldc_w String Constant "remainingDays = "
       invokevirtual StringBuilder StringBuilder.append(String)
       iload_2 remainingDays
       invokevirtual StringBuilder StringBuilder.append(int)
       invokevirtual String StringBuilder.toString()
       invokevirtual void PrintStream.println(String)
       iload_2 remainingDays
       ireturn
       remainingDays_end:
       licenseEndDate_end:
       this_end:
   }

   private TPKUtilDate getLicenseEndDate() throws ParseException {
       this_start:
       SaasLicenseController this (#0 0 - 20)
       new TPKUtilDate
       dup
       aload_0 this
       invokevirtual HashMap SaasLicenseController.getLicenses()
       ldc String Constant "EndDate"
       invokevirtual Object HashMap.get(Object)
       checkcast String
       invokespecial void TPKUtilDate.<init>(String)
       areturn
       this_end:
   }

   public HashMap<String, String> getLicenses() {
       this_start:
       SaasLicenseController this (#0 0 - 22)
       aload_0 this
       getfield HashMap SaasLicenseController.licenses
       ifnonnull label_17
       aload_0 this
       aload_0 this
       ldc String Constant "license"
       invokespecial HashMap SaasLicenseController.getLicensesFromMasterDB(String)
       putfield HashMap SaasLicenseController.licenses
       label_17:
       aload_0 this
       getfield HashMap SaasLicenseController.licenses
       areturn
       this_end:
   }

   private synchronized HashMap<String, String> getLicensesFromMasterDB(String licenseKey) {
       licenseKey_start:
       this_start:
       SaasLicenseController this (#0 0 - 95)
       String licenseKey (#1 0 - 95)
       new HashMap
       dup
       invokespecial void HashMap.<init>()
       astore_2
       fileLicenses_start:
       HashMap fileLicenses (#2 8 - 95)
       aload_0 this
       aload_1 licenseKey
       invokespecial String SaasLicenseController.readAndDecryptFile(String)
       astore_3
       fileDecrypted_start:
       String fileDecrypted (#3 14 - 95)
       new StringTokenizer
       dup
       aload_3 fileDecrypted
       ldc String Constant "
"
       invokespecial void StringTokenizer.<init>(String, String)
       astore 4
       rows_start:
       label_26:
       StringTokenizer rows (#4 26 - 95)
       aload rows
       invokevirtual boolean StringTokenizer.hasMoreTokens()
       ifeq label_93
       aload rows
       invokevirtual String StringTokenizer.nextToken()
       astore 5
       rowstring_start:
       String rowstring (#5 41 - 90)
       new StringTokenizer
       dup
       aload rowstring
       ldc_w String Constant "    "
       invokespecial void StringTokenizer.<init>(String, String)
       astore 6
       columnsTokenizer_start:
       StringTokenizer columnsTokenizer (#6 55 - 90)
       aload columnsTokenizer
       invokevirtual String StringTokenizer.nextToken()
       astore 7
       key_start:
       String key (#7 62 - 90)
       aload key
       astore 8
       value_start:
       String value (#8 66 - 90)
       aload columnsTokenizer
       invokevirtual boolean StringTokenizer.hasMoreTokens()
       ifeq label_81
       aload columnsTokenizer
       invokevirtual String StringTokenizer.nextToken()
       astore value
       label_81:
       aload_2 fileLicenses
       aload key
       aload value
       invokevirtual Object HashMap.put(Object, Object)
       pop
       value_end:
       key_end:
       columnsTokenizer_end:
       rowstring_end:
       goto label_26
       label_93:
       aload_2 fileLicenses
       areturn
       rows_end:
       fileDecrypted_end:
       fileLicenses_end:
       licenseKey_end:
       this_end:
   }

   private String readAndDecryptFile(String licenseKey) {
       licenseKey_start:
       this_start:
       SaasLicenseController this (#0 0 - 92)
       String licenseKey (#1 0 - 92)
       ldc String Constant ""
       astore_2
       file_start:
       try-block_start(java.lang.Exception)_3:
       String file (#2 3 - 92)
       invokestatic CompanyController CompanyController.getInstance()
       aload_1 licenseKey
       invokevirtual String CompanyController.getSaasLicense(String)
       astore_2
       try-block_end(java.lang.Exception)_11:
       goto label_44
       exception_handler(java.lang.Exception)_14:
       astore_3
       e_start:
       Exception e (#3 15 - 44)
       getstatic PrintStream System.err
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       ldc_w String Constant "Error: "
       invokevirtual StringBuilder StringBuilder.append(String)
       aload_3 e
       invokevirtual String Exception.getMessage()
       invokevirtual StringBuilder StringBuilder.append(String)
       invokevirtual String StringBuilder.toString()
       invokevirtual void PrintStream.println(String)
       e_end:
       label_44:
       new DesEncrypter
       dup
       ldc_w String Constant "tpksolutions"
       invokespecial void DesEncrypter.<init>(String)
       astore_3
       desEncrypter_start:
       DesEncrypter desEncrypter (#3 55 - 92)
       aload_3 desEncrypter
       aload_2 file
       invokevirtual String DesEncrypter.decrypt(String)
       astore 4
       decryptedFile_start:
       String decryptedFile (#4 62 - 92)
       getstatic PrintStream System.out
       new StringBuilder
       dup
       invokespecial void StringBuilder.<init>()
       ldc_w String Constant "decryptedFile = "
       invokevirtual StringBuilder StringBuilder.append(String)
       aload decryptedFile
       invokevirtual StringBuilder StringBuilder.append(String)
       invokevirtual String StringBuilder.toString()
       invokevirtual void PrintStream.println(String)
       aload decryptedFile
       areturn
       decryptedFile_end:
       desEncrypter_end:
       file_end:
       licenseKey_end:
       this_end:
   }

   public void setLicenses(HashMap<String, String> licenses) {
       licenses_start:
       this_start:
       SaasLicenseController this (#0 0 - 6)
       HashMap licenses (#1 0 - 6)
       aload_0 this
       aload_1 licenses
       putfield HashMap SaasLicenseController.licenses
       return
       licenses_end:
       this_end:
   }

   public void resetAllCaches() {
       this_start:
       SaasLicenseController this (#0 0 - 6)
       aload_0 this
       aconst_null
       invokevirtual void SaasLicenseController.setLicenses(HashMap)
       return
       this_end:
   }

   public static boolean isBilancEkspres() {
       invokestatic SaasLicenseController SaasLicenseController.getInstance()
       invokevirtual HashMap SaasLicenseController.getLicenses()
       ldc String Constant "MyVersion=0"
       invokevirtual boolean HashMap.containsKey(Object)
       ireturn
   }

   public static boolean isBilancStandard() {
       invokestatic SaasLicenseController SaasLicenseController.getInstance()
       invokevirtual HashMap SaasLicenseController.getLicenses()
       ldc String Constant "MyVersion=1"
       invokevirtual boolean HashMap.containsKey(Object)
       ireturn
   }

   public static boolean isBilancProfesional() {
       invokestatic SaasLicenseController SaasLicenseController.getInstance()
       invokevirtual HashMap SaasLicenseController.getLicenses()
       ldc String Constant "MyVersion=2"
       invokevirtual boolean HashMap.containsKey(Object)
       ireturn
   }

   public static boolean isFullLicense() {
       invokestatic SaasLicenseController SaasLicenseController.getInstance()
       invokevirtual HashMap SaasLicenseController.getLicenses()
       ldc String Constant "FullLicense"
       invokevirtual boolean HashMap.containsKey(Object)
       ireturn
   }

   public static boolean hasNoLicense() {
       invokestatic SaasLicenseController SaasLicenseController.getInstance()
       invokevirtual HashMap SaasLicenseController.getLicenses()
       invokevirtual boolean HashMap.isEmpty()
       ireturn
   }

   public static boolean isSaasLicense() {
       invokestatic boolean SaasLicenseController.isFullLicense()
       ifne label_10
       iconst_1 1
       goto label_11
       label_10:
       iconst_0 0
       label_11:
       ireturn
   }

   public String getMyVersionAsString() {
       this_start:
       SaasLicenseController this (#0 0 - 34)
       invokestatic boolean SaasLicenseController.isBilancEkspres()
       ifeq label_10
       ldc_w String Constant "Ekspres"
       areturn
       label_10:
       invokestatic boolean SaasLicenseController.isBilancProfesional()
       ifeq label_20
       ldc_w String Constant "Profesional"
       areturn
       label_20:
       invokestatic boolean SaasLicenseController.isBilancStandard()
       ifeq label_30
       ldc_w String Constant "Standard"
       areturn
       label_30:
       ldc_w String Constant "-"
       areturn
       this_end:
   }

   public static boolean isWhiteListSerial() {
       invokestatic TPKComputer TPKComputer.getInstance()
       invokevirtual String TPKComputer.getComputerID()
       astore_0
       computerID_start:
       String computerID (#0 7 - 25)
       invokestatic HashMap SaasLicenseController.getWhiteListSerials()
       astore_1
       whiteListSerials_start:
       HashMap whiteListSerials (#1 11 - 25)
       aload_1 whiteListSerials
       aload_0 computerID
       invokevirtual Object HashMap.get(Object)
       ifnull label_23
       iconst_1 1
       goto label_24
       label_23:
       iconst_0 0
       label_24:
       ireturn
       whiteListSerials_end:
       computerID_end:
   }

   private static HashMap<String, String> getWhiteListSerials() {
       new HashMap
       dup
       invokespecial void HashMap.<init>()
       astore_0
       whiteListSerials_start:
       HashMap whiteListSerials (#0 8 - 32)
       aload_0 whiteListSerials
       ldc_w String Constant "445C-3A27"
       ldc_w String Constant "445C-3A27"
       invokevirtual Object HashMap.put(Object, Object)
       pop
       aload_0 whiteListSerials
       ldc_w String Constant "14SSPVNIT"
       ldc_w String Constant "14SSPVNIT"
       invokevirtual Object HashMap.put(Object, Object)
       pop
       aload_0 whiteListSerials
       areturn
       whiteListSerials_end:
   }

}