public static Object ungz(String string) {
		//DetectRight.checkPoint("base64");
		if (string == null) return null;
		if (PHPSerializer.isSerialized(string)) return Functions.unserialize(string);
		byte[] byt;
		//DetectRight::checkPoint("GZDecode");
		try {
			byt = Functions.base64_decode(string);
			byt = Functions.gzdecode(byt);
			//objStr = new String(byt,"ISO-8859-1");

		} catch (Throwable e) {
			return "";
		}
		if (byt == null) return null;
		if (byt.length < 2 ) return null;
		String dcmp;
		try {
			dcmp = new String(byt,"UTF-8");
		} catch (UnsupportedEncodingException e1) {
			// This should never happen
			return null;
		}
		//DetectRight::checkPoint("Unserialize");
		if (!PHPDeserializer.isSerialized(dcmp)) return dcmp;
		Object newObj = Functions.unserialize(byt);
		if (newObj instanceof PhpObject) {
			PhpObject phpo = (PhpObject) newObj;
			newObj = phpo.getRealObject();
		}
		if (newObj == null) {
			return dcmp;
		}
		return newObj;
	}