i.smali

.class public final Lcom/cmcm/safewallet/data/thwallet/e/i;
.super Lcom/cmcm/safewallet/data/thwallet/e/a;
.source "SerializeStrategyV3.java"


# direct methods
.method public constructor <init>()V
    .registers 2

    .prologue
    .line 39
    const/4 v0, 0x3

    invoke-direct {p0, v0}, Lcom/cmcm/safewallet/data/thwallet/e/a;-><init>(I)V

    .line 40
    return-void
.end method


# virtual methods
.method public final O([B)Lcom/cmcm/safewallet/data/keystore/ak;
    .registers 14

    .prologue
    const/4 v2, 0x0

    .line 90
    iget-object v0, p0, Lcom/cmcm/safewallet/data/thwallet/e/i;->adk:[B

    array-length v0, v0

    iget-object v1, p0, Lcom/cmcm/safewallet/data/thwallet/e/i;->adk:[B

    array-length v1, v1

    .line 1067
    iget-object v3, p0, Lcom/cmcm/safewallet/data/thwallet/e/a;->adn:[B

    invoke-static {p1, v1, v3, v2}, Lcom/cmcm/safewallet/data/thwallet/e/a;->a([BI[BZ)I

    move-result v1

    .line 90
    invoke-static {p1, v0, v1}, Lorg/spongycastle/util/Arrays;->copyOfRange([BII)[B

    move-result-object v4

    .line 91
    new-instance v5, Lcom/cmcm/safewallet/data/keystore/ak;

    invoke-direct {v5}, Lcom/cmcm/safewallet/data/keystore/ak;-><init>()V

    .line 97
    new-instance v6, Ljava/util/ArrayList;

    invoke-direct {v6}, Ljava/util/ArrayList;-><init>()V

    .line 99
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v0

    .line 101
    :goto_1f
    invoke-virtual {p0, v4, v2}, Lcom/cmcm/safewallet/data/thwallet/e/i;->h([BI)I

    move-result v2

    .line 102
    const/4 v3, -0x1

    if-eq v2, v3, :cond_c8

    .line 105
    iget-object v3, p0, Lcom/cmcm/safewallet/data/thwallet/e/i;->adl:[B

    array-length v3, v3

    add-int/2addr v2, v3

    .line 106
    new-instance v7, Lcom/cmcm/safewallet/data/keystore/k;

    invoke-direct {v7}, Lcom/cmcm/safewallet/data/keystore/k;-><init>()V

    .line 107
    aget-byte v3, v4, v2

    .line 108
    new-instance v8, Ljava/lang/String;

    add-int/lit8 v9, v2, 0x1

    invoke-direct {v8, v4, v9, v3}, Ljava/lang/String;-><init>([BII)V

    .line 1189
    iput-object v8, v7, Lcom/cmcm/safewallet/data/keystore/k;->name:Ljava/lang/String;

    .line 109
    add-int/lit8 v3, v3, 0x1

    add-int/2addr v2, v3

    .line 110
    aget-byte v3, v4, v2

    .line 111
    new-instance v8, Ljava/lang/String;

    add-int/lit8 v9, v2, 0x1

    invoke-direct {v8, v4, v9, v3}, Ljava/lang/String;-><init>([BII)V

    .line 1221
    iput-object v8, v7, Lcom/cmcm/safewallet/data/keystore/k;->WC:Ljava/lang/String;

    .line 2217
    iget-object v8, v7, Lcom/cmcm/safewallet/data/keystore/k;->WC:Ljava/lang/String;

    .line 112
    invoke-static {v8}, Lcom/cmcm/safewallet/data/keystore/a;->bi(Ljava/lang/String;)I

    move-result v8

    .line 3197
    iput v8, v7, Lcom/cmcm/safewallet/data/keystore/k;->WD:I

    .line 114
    const-wide/16 v8, 0x1

    add-long/2addr v0, v8

    .line 3253
    iput-wide v0, v7, Lcom/cmcm/safewallet/data/keystore/k;->mCreateTime:J

    .line 115
    add-int/lit8 v3, v3, 0x1

    add-int/2addr v2, v3

    .line 117
    :goto_58
    invoke-virtual {p0, v4, v2}, Lcom/cmcm/safewallet/data/thwallet/e/i;->g([BI)Z

    move-result v3

    if-eqz v3, :cond_66

    .line 118
    iget-object v3, p0, Lcom/cmcm/safewallet/data/thwallet/e/i;->adm:[B

    array-length v3, v3

    add-int/2addr v2, v3

    .line 139
    invoke-virtual {v6, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_1f

    .line 121
    :cond_66
    aget-byte v8, v4, v2

    .line 122
    add-int/lit8 v3, v2, 0x1

    .line 4193
    iget v9, v7, Lcom/cmcm/safewallet/data/keystore/k;->WD:I

    .line 124
    const/16 v10, 0x3c

    if-ne v9, v10, :cond_ae

    .line 125
    new-instance v9, Lcom/cmcm/safewallet/data/keystore/Token;

    invoke-direct {v9}, Lcom/cmcm/safewallet/data/keystore/Token;-><init>()V

    .line 127
    add-int v10, v3, v8

    invoke-static {v4, v3, v10}, Lorg/spongycastle/util/Arrays;->copyOfRange([BII)[B

    move-result-object v3

    .line 128
    new-instance v10, Ljava/lang/StringBuilder;

    const-string v11, "0x"

    invoke-direct {v10, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-static {v3}, Lcom/cmcm/safewallet/utils/an;->S([B)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    .line 129
    invoke-virtual {v9, v3}, Lcom/cmcm/safewallet/data/keystore/Token;->setContractAddr(Ljava/lang/String;)V

    .line 131
    :try_start_91
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v10, " ETH >> "

    invoke-direct {v3, v10}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    .line 4209
    iget-object v10, v7, Lcom/cmcm/safewallet/data/keystore/k;->address:Ljava/lang/String;

    .line 131
    invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v10, " TOKEN >> "

    invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v9}, Lcom/cmcm/safewallet/data/keystore/Token;->getContractAddr()Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 132
    invoke-virtual {v7, v9}, Lcom/cmcm/safewallet/data/keystore/k;->a(Lcom/cmcm/safewallet/data/keystore/Token;)I
    :try_end_ae
    .catch Lcom/cmcm/safewallet/data/keystore/KeystoreException; {:try_start_91 .. :try_end_ae} :catch_b2

    .line 137
    :cond_ae
    :goto_ae
    add-int/lit8 v3, v8, 0x1

    add-int/2addr v2, v3

    .line 138
    goto :goto_58

    .line 133
    :catch_b2
    move-exception v3

    .line 134
    const-string v9, "walletinfo"

    new-instance v10, Ljava/lang/StringBuilder;

    const-string v11, " Add a duplicate token : "

    invoke-direct {v10, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    .line 5052
    invoke-static {v9, v3}, Lcom/cmcm/safewallet/a/e;->d(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_ae

    .line 146
    :cond_c8
    invoke-virtual {v5, v6}, Lcom/cmcm/safewallet/data/keystore/ak;->c(Ljava/util/ArrayList;)V

    .line 147
    return-object v5
.end method