private void loadZIP(File assetFile) {
        renderEngine.logger.info("ASSETS LOADER : Extracting game assets...");
        ArrayList<String[]> var = ZipUtilities.getFiles(assetFile.toString());
        ArrayList<String> list = new ArrayList<String>();
        ArrayList<File> list1 = new ArrayList<File>();
        for (String[] var1 : var) {
            String s = var1[0];
            list.add(s);
            try {
                String s1 = s.replace("/", File.separator);
                File var2 = new File(GameApplication.getGameDir() + File.separator + "assetCache" + File.separator + s1 + " ");
                renderEngine.logger.info(var2.toString());
                File var5 = var2.getParentFile();
                if (!var5.exists()) {
                    var5.mkdirs();
                }

                File f1 = new File(GameApplication.getGameDir() + File.separator + "assetCache" + File.separator + s);
                if (!f1.isDirectory())
                    ZipUtilities.extractTo(assetFile.toString(), s, GameApplication.getGameDir() + File.separator + "assetCache" + File.separator);

                list1.add(new File(GameApplication.getGameDir() + File.separator + "assetCache" + File.separator + s1));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        renderEngine.logger.info("ASSETS LOADER : Game assets extraction ended with no errors");

        renderEngine.logger.info("ASSETS LOADER : Mounting game assets...");
        addAssets(list, list1);
        if (hasAsset("materials/backgrounds/sldtBG.png")) {
            try {
                ByteArrayInputStream stream = new ByteArrayInputStream(getAsset("materials/backgrounds/sldtBG.png").assetData);
                String s = (FileUtilities.getMD5Checksum(stream));
                stream.close();
                if (!s.equals("d59a49000715febb4560af1a4d3f0f45") && !s.equals("8aa8a9bfdf85bc1bcdebb944a24a6d9f")) {
                    throw new GameException(new ErrorCode005());
                }
            } catch (Exception e) {
                throw new GameException(new ErrorCode005());
            }
        } else {
            renderEngine.logger.severe("RenderEngine has detected that you've not included SLDT's-GameEngine background file in your assets ! Please correct your environment.");
            renderEngine.logger.severe("This game will now be stopped...");
            System.exit(0);
        }
        renderEngine.logger.info("ASSETS LOADER : Game assets mounted successfully !");

        renderEngine.logger.info("ASSETS LOADER : Deleting assets extraction cache...");
        try {
            assetFile.delete();
            FileUtilities.delete(new File(GameApplication.getGameDir() + File.separator + "assetCache" + File.separator));
        } catch (IOException e) {
            e.printStackTrace();
        }
        renderEngine.logger.info("ASSETS LOADER : Assets extraction cache deleted successfully !");
    }