LicenseParser.smali
.class public Lcom/avast/android/billing/licensesever/parser/LicenseParser;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field private a:Landroid/content/Context;
.field private b:I
# direct methods
.method public constructor <init>(Landroid/content/Context;I)V
.registers 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/avast/android/billing/licensesever/parser/LicenseParser;->a:Landroid/content/Context;
iput p2, p0, Lcom/avast/android/billing/licensesever/parser/LicenseParser;->b:I
return-void
.end method
.method private c(Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;)Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"[B>;)",
"Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;"
}
.end annotation
const-string v0, "UTF-8"
const-string v1, "chef error"
const-string v2, "};"
invoke-virtual {p1, v2}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I
move-result v2
const/4 v3, 0x0
if-gtz v2, :cond_e
return-object v3
:cond_e
add-int/lit8 v4, v2, 0x1
const/4 v5, 0x0
invoke-virtual {p1, v5, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v4
const/4 v6, 0x2
add-int/2addr v2, v6
invoke-virtual {p1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
const-string v2, ";"
invoke-static {v2}, Ljava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {p1, v2}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p1
array-length v2, p1
const/4 v7, 0x3
if-lt v2, v7, :cond_190
aget-object v2, p1, v5
const-string v7, "SHA1"
invoke-virtual {v7, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_190
const/4 v2, 0x1
aget-object v7, p1, v2
if-eqz v7, :cond_190
aget-object v7, p1, v2
invoke-virtual {v7}, Ljava/lang/String;->length()I
move-result v7
if-lez v7, :cond_190
aget-object v7, p1, v6
if-eqz v7, :cond_190
aget-object v7, p1, v6
invoke-virtual {v7}, Ljava/lang/String;->length()I
move-result v7
if-gtz v7, :cond_4e
goto/16 :goto_190
:cond_4e
aget-object v2, p1, v2
invoke-virtual {p3, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p3
check-cast p3, [B
if-nez p3, :cond_59
return-object v3
:cond_59
:try_start_59
new-instance v2, Ljava/security/spec/X509EncodedKeySpec;
invoke-direct {v2, p3}, Ljava/security/spec/X509EncodedKeySpec;-><init>([B)V
const-string p3, "DSA"
invoke-static {p3}, Ljava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;
move-result-object p3
invoke-virtual {p3, v2}, Ljava/security/KeyFactory;->generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
move-result-object p3
const-string v2, "SHA1withDSA"
invoke-static {v2}, Ljava/security/Signature;->getInstance(Ljava/lang/String;)Ljava/security/Signature;
move-result-object v2
invoke-virtual {v2, p3}, Ljava/security/Signature;->initVerify(Ljava/security/PublicKey;)V
invoke-virtual {v4, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p3
invoke-virtual {v2, p3}, Ljava/security/Signature;->update([B)V
aget-object p1, p1, v6
invoke-static {p1}, Lcom/avast/android/billing/licensesever/parser/Base64;->a(Ljava/lang/String;)[B
move-result-object p1
invoke-virtual {v2, p1}, Ljava/security/Signature;->verify([B)Z
move-result p1
:try_end_82
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_59 .. :try_end_82} :catch_b4
.catch Ljava/lang/Exception; {:try_start_59 .. :try_end_82} :catch_9f
:try_start_82
sget-object p3, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "chef: verified: "
invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
new-array v6, v5, [Ljava/lang/Object;
invoke-virtual {p3, v2, v6}, Lcom/avast/android/logging/Alf;->c(Ljava/lang/String;[Ljava/lang/Object;)V
:try_end_9a
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_82 .. :try_end_9a} :catch_9d
.catch Ljava/lang/Exception; {:try_start_82 .. :try_end_9a} :catch_9b
goto :goto_cf
:catch_9b
move-exception p3
goto :goto_a1
:catch_9d
move-exception p3
goto :goto_b6
:catch_9f
move-exception p3
const/4 p1, 0x0
:goto_a1
sget-object v2, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
invoke-virtual {p3}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p3
new-array v6, v5, [Ljava/lang/Object;
invoke-virtual {v2, p3, v6}, Lcom/avast/android/logging/Alf;->e(Ljava/lang/String;[Ljava/lang/Object;)V
sget-object p3, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
new-array v2, v5, [Ljava/lang/Object;
invoke-virtual {p3, v1, v2}, Lcom/avast/android/logging/Alf;->c(Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_cf
:catch_b4
move-exception p3
const/4 p1, 0x0
:goto_b6
sget-object v2, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
invoke-virtual {p3}, Ljava/security/NoSuchAlgorithmException;->getMessage()Ljava/lang/String;
move-result-object p3
new-array v6, v5, [Ljava/lang/Object;
invoke-virtual {v2, p3, v6}, Lcom/avast/android/logging/Alf;->e(Ljava/lang/String;[Ljava/lang/Object;)V
sget-object p3, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
new-array v2, v5, [Ljava/lang/Object;
invoke-virtual {p3, v1, v2}, Lcom/avast/android/logging/Alf;->c(Ljava/lang/String;[Ljava/lang/Object;)V
:try_start_c8
const-string p3, "RSA"
invoke-static {p3}, Ljava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;
:try_end_cd
.catch Ljava/lang/Exception; {:try_start_c8 .. :try_end_cd} :catch_ce
goto :goto_cf
:catch_ce
nop
:goto_cf
if-eqz p1, :cond_190
:try_start_d1
new-instance p3, Lorg/json/JSONObject;
invoke-direct {p3, v4}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
const-string v1, "ln_hash"
invoke-virtual {p3, v1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
sget-object v2, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {v1, v2}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v1
new-instance v2, Ljava/lang/String;
invoke-virtual {p2, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p2
invoke-static {p2}, Lorg/apache/commons/codec/digest/DigestUtils;->sha1([B)[B
move-result-object p2
invoke-static {p2}, Lorg/apache/commons/codec/binary/Hex;->encodeHex([B)[C
move-result-object p2
invoke-direct {v2, p2}, Ljava/lang/String;-><init>([C)V
sget-object p2, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {v2, p2}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p2
invoke-virtual {p2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_190
const-string p2, "parameters"
invoke-virtual {p3, p2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p2
const-string v0, "expiration"
invoke-virtual {p2, v0}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p2
const-wide/16 v0, -0x1
if-eqz p2, :cond_174
const-string v2, "type"
invoke-virtual {p2, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v4, "value"
invoke-virtual {p2, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
const-string v4, "fixed"
invoke-virtual {v4, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_14d
new-instance v0, Ljava/text/SimpleDateFormat;
const-string v1, "yyyy-MM-dd"
sget-object v4, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-direct {v0, v1, v4}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
invoke-virtual {v0, p2}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object p2
invoke-virtual {p2}, Ljava/util/Date;->getTime()J
move-result-wide v0
sget-object p2, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "license extension: expiration value (fixed): "
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
new-array v6, v5, [Ljava/lang/Object;
invoke-virtual {p2, v4, v6}, Lcom/avast/android/logging/Alf;->c(Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_175
:cond_14d
const-string v4, "relative"
invoke-virtual {v4, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_172
invoke-static {p2}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v0
sget-object p2, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "license extension: expiration value (relative): "
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
new-array v6, v5, [Ljava/lang/Object;
invoke-virtual {p2, v4, v6}, Lcom/avast/android/logging/Alf;->c(Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_175
:cond_172
const/4 p1, 0x0
goto :goto_175
:cond_174
move-object v2, v3
:goto_175
if-eqz p1, :cond_190
const-string p1, "server_cookie"
invoke-virtual {p3, p1}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
new-instance p2, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;
invoke-direct {p2, v2, v0, v1, p1}, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;-><init>(Ljava/lang/String;JLjava/lang/String;)V
:try_end_182
.catch Ljava/lang/Exception; {:try_start_d1 .. :try_end_182} :catch_184
move-object v3, p2
goto :goto_190
:catch_184
move-exception p1
sget-object p2, Lcom/avast/android/billing/utils/LH;->a:Lcom/avast/android/logging/Alf;
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p1
new-array p3, v5, [Ljava/lang/Object;
invoke-virtual {p2, p1, p3}, Lcom/avast/android/logging/Alf;->e(Ljava/lang/String;[Ljava/lang/Object;)V
:cond_190
:goto_190
return-object v3
.end method
# virtual methods
.method public a()J
.registers 3
const-wide/16 v0, 0x0
return-wide v0
.end method
.method public b(Ljava/lang/String;ZLjava/lang/String;Ljava/util/HashMap;)Lcom/avast/android/billing/licensesever/parser/AvgFeatures;
.registers 28
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Z",
"Ljava/lang/String;",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"[B>;)",
"Lcom/avast/android/billing/licensesever/parser/AvgFeatures;"
}
.end annotation
move-object/from16 v1, p0
move/from16 v0, p2
invoke-static/range {p1 .. p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
const/4 v3, 0x0
if-eqz v2, :cond_c
return-object v3
:cond_c
sget-object v2, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
move-object/from16 v4, p1
invoke-virtual {v4, v2}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v2
sget-object v4, Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;->f:Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;
new-instance v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;
invoke-direct {v4}, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;-><init>()V
new-instance v5, Lcom/avast/android/billing/licensesever/parser/AvgLicenseChangeResult;
invoke-direct {v5}, Lcom/avast/android/billing/licensesever/parser/AvgLicenseChangeResult;-><init>()V
new-instance v6, Lcom/avast/android/billing/licensesever/parser/AvgLicense;
invoke-direct {v6}, Lcom/avast/android/billing/licensesever/parser/AvgLicense;-><init>()V
:try_start_25
invoke-virtual {v6, v4, v2, v5}, Lcom/avast/android/billing/licensesever/parser/AvgLicense;->a(Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;Ljava/lang/String;Lcom/avast/android/billing/licensesever/parser/AvgLicenseChangeResult;)V
if-eqz p3, :cond_2d
move-object/from16 v5, p3
goto :goto_2e
:cond_2d
move-object v5, v3
:goto_2e
if-eqz v5, :cond_48
iget-object v6, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->b:Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;
iget-object v6, v6, Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;->q:Ljava/lang/String;
const/4 v7, 0x0
iget-object v8, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->a:Ljava/lang/String;
invoke-virtual {v8}, Ljava/lang/String;->length()I
move-result v8
invoke-virtual {v6, v7, v8}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v6
move-object/from16 v7, p4
invoke-direct {v1, v5, v6, v7}, Lcom/avast/android/billing/licensesever/parser/LicenseParser;->c(Ljava/lang/String;Ljava/lang/String;Ljava/util/HashMap;)Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;
move-result-object v5
if-nez v5, :cond_49
return-object v3
:cond_48
move-object v5, v3
:cond_49
iget-object v6, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->c:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;
sget-object v7, Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;->g:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;
const-wide/16 v8, 0x3e7
if-eq v6, v7, :cond_5e
iget-object v6, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->c:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;
sget-object v7, Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;->i:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;
if-ne v6, v7, :cond_58
goto :goto_5e
:cond_58
new-instance v0, Lcom/avast/android/billing/licensesever/parser/AvgException;
invoke-direct {v0, v8, v9}, Lcom/avast/android/billing/licensesever/parser/AvgException;-><init>(J)V
throw v0
:cond_5e
:goto_5e
iget-object v6, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->d:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;
sget-object v7, Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;->g:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;
if-eq v6, v7, :cond_71
iget-object v6, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->d:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;
sget-object v7, Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;->i:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$LicAnalyzeCRCValidity;
if-ne v6, v7, :cond_6b
goto :goto_71
:cond_6b
new-instance v0, Lcom/avast/android/billing/licensesever/parser/AvgException;
invoke-direct {v0, v8, v9}, Lcom/avast/android/billing/licensesever/parser/AvgException;-><init>(J)V
throw v0
:cond_71
:goto_71
sget-object v6, Lcom/avast/android/billing/licensesever/parser/LicenseParser$1;->a:[I
iget-object v7, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->b:Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;
iget-object v7, v7, Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;->d:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$AvgLicenseLicenseType;
invoke-virtual {v7}, Ljava/lang/Enum;->ordinal()I
move-result v7
aget v6, v6, v7
const/4 v7, 0x3
const/4 v10, 0x2
const/4 v11, 0x1
if-eq v6, v11, :cond_92
if-eq v6, v10, :cond_8f
if-ne v6, v7, :cond_89
sget-object v6, Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;->h:Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;
goto :goto_94
:cond_89
new-instance v0, Lcom/avast/android/billing/licensesever/parser/AvgException;
invoke-direct {v0, v8, v9}, Lcom/avast/android/billing/licensesever/parser/AvgException;-><init>(J)V
throw v0
:cond_8f
sget-object v6, Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;->g:Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;
goto :goto_94
:cond_92
sget-object v6, Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;->f:Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;
:goto_94
iget-object v12, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->b:Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;
iget-object v12, v12, Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;->h:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$AvgLicenseExpirationType;
if-eqz v5, :cond_b7
iget-object v13, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->a:Ljava/lang/String;
if-eqz v13, :cond_b7
const-string v13, "fixed"
iget-object v14, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->a:Ljava/lang/String;
invoke-virtual {v13, v14}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_ab
sget-object v12, Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$AvgLicenseExpirationType;->h:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$AvgLicenseExpirationType;
goto :goto_b7
:cond_ab
const-string v13, "relative"
iget-object v14, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->a:Ljava/lang/String;
invoke-virtual {v13, v14}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_b7
sget-object v12, Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$AvgLicenseExpirationType;->g:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$AvgLicenseExpirationType;
:cond_b7
:goto_b7
sget-object v13, Lcom/avast/android/billing/licensesever/parser/LicenseParser$1;->b:[I
invoke-virtual {v12}, Ljava/lang/Enum;->ordinal()I
move-result v12
aget v12, v13, v12
if-eq v12, v11, :cond_148
if-eq v12, v10, :cond_d0
if-ne v12, v7, :cond_ca
:cond_c5
:goto_c5
const v7, 0x7fffffff
goto/16 :goto_167
:cond_ca
new-instance v0, Lcom/avast/android/billing/licensesever/parser/AvgException;
invoke-direct {v0, v8, v9}, Lcom/avast/android/billing/licensesever/parser/AvgException;-><init>(J)V
throw v0
:cond_d0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v7
if-eqz v5, :cond_dd
iget-object v9, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->a:Ljava/lang/String;
if-eqz v9, :cond_dd
iget-wide v9, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->b:J
goto :goto_11a
:cond_dd
new-instance v9, Lcom/avast/android/billing/licensesever/parser/AvgTimeFields;
invoke-direct {v9}, Lcom/avast/android/billing/licensesever/parser/AvgTimeFields;-><init>()V
iget-object v10, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->b:Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;
iget-wide v14, v10, Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;->j:J
invoke-virtual {v9, v14, v15}, Lcom/avast/android/billing/licensesever/parser/AvgTimeFields;->a(J)Ljava/lang/String;
new-instance v10, Ljava/util/GregorianCalendar;
const-string v12, "GMT"
invoke-static {v12}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
move-result-object v12
invoke-direct {v10, v12}, Ljava/util/GregorianCalendar;-><init>(Ljava/util/TimeZone;)V
iget-wide v14, v9, Lcom/avast/android/billing/licensesever/parser/AvgTimeFields;->a:J
long-to-int v12, v14
iget-wide v14, v9, Lcom/avast/android/billing/licensesever/parser/AvgTimeFields;->b:J
const-wide/16 v16, 0x1
sub-long v14, v14, v16
long-to-int v15, v14
iget-wide v13, v9, Lcom/avast/android/billing/licensesever/parser/AvgTimeFields;->c:J
long-to-int v9, v13
const/16 v20, 0x9
const/16 v21, 0x0
const/16 v22, 0x0
move-object/from16 v16, v10
move/from16 v17, v12
move/from16 v18, v15
move/from16 v19, v9
invoke-virtual/range {v16 .. v22}, Ljava/util/Calendar;->set(IIIIII)V
invoke-virtual {v10}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
move-result-object v9
invoke-virtual {v9}, Ljava/util/Date;->getTime()J
move-result-wide v9
:goto_11a
const-wide v12, 0x1784edcdb3eL
cmp-long v14, v9, v12
if-gez v14, :cond_12c
const-wide v12, 0x1784490233eL
cmp-long v14, v9, v12
if-gtz v14, :cond_c5
:cond_12c
const-wide v12, 0x15da22c533fL
cmp-long v14, v9, v12
if-gez v14, :cond_13f
const-wide v12, 0x15d97df9b3fL
cmp-long v14, v9, v12
if-lez v14, :cond_13f
goto :goto_c5
:cond_13f
sub-long/2addr v9, v7
const-wide/32 v7, 0x5265c00
div-long/2addr v9, v7
long-to-int v7, v9
if-gez v7, :cond_167
return-object v3
:cond_148
iget-object v7, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->b:Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;
iget v7, v7, Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;->i:I
if-eqz v5, :cond_156
iget-object v8, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->a:Ljava/lang/String;
if-eqz v8, :cond_156
iget-wide v7, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->b:J
long-to-int v8, v7
move v7, v8
:cond_156
if-nez v0, :cond_167
if-eqz p3, :cond_15e
iget-object v8, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->a:Ljava/lang/String;
if-nez v8, :cond_167
:cond_15e
invoke-virtual/range {p0 .. p0}, Lcom/avast/android/billing/licensesever/parser/LicenseParser;->a()J
move-result-wide v8
long-to-int v9, v8
sub-int/2addr v7, v9
if-gez v7, :cond_167
return-object v3
:cond_167
:goto_167
iget v8, v1, Lcom/avast/android/billing/licensesever/parser/LicenseParser;->b:I
const/4 v9, -0x1
if-ne v8, v9, :cond_172
iget-object v8, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->b:Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;
iget v8, v8, Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;->m:I
iput v8, v1, Lcom/avast/android/billing/licensesever/parser/LicenseParser;->b:I
:try_end_172
.catch Lcom/avast/android/billing/licensesever/parser/AvgException; {:try_start_25 .. :try_end_172} :catch_1b9
.catch Ljava/lang/Exception; {:try_start_25 .. :try_end_172} :catch_1b9
:cond_172
new-instance v8, Lcom/avast/android/billing/licensesever/parser/PluginDetector;
invoke-direct {v8}, Lcom/avast/android/billing/licensesever/parser/PluginDetector;-><init>()V
iget-object v9, v1, Lcom/avast/android/billing/licensesever/parser/LicenseParser;->a:Landroid/content/Context;
invoke-virtual {v8, v9}, Lcom/avast/android/billing/licensesever/parser/PluginDetector;->a(Landroid/content/Context;)Z
move-result v8
if-eqz v8, :cond_186
sget-object v6, Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;->h:Lcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;
move-object v10, v6
const v8, 0x7fffffff
goto :goto_188
:cond_186
move-object v10, v6
move v8, v7
:goto_188
if-eq v0, v11, :cond_18e
if-eqz p3, :cond_18e
iget-object v0, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->a:Ljava/lang/String;
:cond_18e
iget-object v0, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->b:Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;
iget-object v0, v0, Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;->e:Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$AvgLicensePredefinedProducts;
invoke-virtual {v0}, Lcom/avast/android/billing/licensesever/parser/AvgLicenseEnums$AvgLicensePredefinedProducts;->f()I
move-result v0
monitor-enter p0
:try_start_197
new-instance v17, Lcom/avast/android/billing/licensesever/parser/AvgFeatures;
iget-object v6, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->b:Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;
iget v6, v6, Lcom/avast/android/billing/licensesever/parser/AvgLicenseParameters;->f:I
const/4 v7, 0x1
iget v9, v1, Lcom/avast/android/billing/licensesever/parser/LicenseParser;->b:I
const/4 v11, 0x1
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v12
if-eqz v5, :cond_1a9
iget-object v3, v5, Lcom/avast/android/billing/licensesever/parser/LicenseParser$LicenseExtensionParameters;->c:Ljava/lang/String;
:cond_1a9
move-object v14, v3
iget-object v15, v4, Lcom/avast/android/billing/licensesever/parser/LicAnalyzeResult;->a:Ljava/lang/String;
move-object/from16 v4, v17
move v5, v0
move-object/from16 v16, v2
invoke-direct/range {v4 .. v16}, Lcom/avast/android/billing/licensesever/parser/AvgFeatures;-><init>(IIZIILcom/avast/android/billing/licensesever/parser/AvgFeatures$ProductType;ZJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
monitor-exit p0
return-object v17
:catchall_1b6
move-exception v0
monitor-exit p0
:try_end_1b8
.catchall {:try_start_197 .. :try_end_1b8} :catchall_1b6
throw v0
:catch_1b9
return-object v3
.end method