b.smali

.class public final Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;
.super Ljava/lang/Object;
.source "SourceFile"


# static fields
.field static final synthetic a:Z

.field private static final b:[B

.field private static final c:[B

.field private static final d:[B

.field private static final e:[B


# direct methods
.method static constructor <clinit>()V
    .registers 2

    .line 41
    const-class v0, Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;

    invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z

    move-result v0

    xor-int/lit8 v0, v0, 0x1

    sput-boolean v0, Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;->a:Z

    const/16 v0, 0x40

    new-array v1, v0, [B

    .line 65
    fill-array-data v1, :array_2c

    sput-object v1, Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;->b:[B

    new-array v0, v0, [B

    .line 83
    fill-array-data v0, :array_50

    sput-object v0, Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;->c:[B

    const/16 v0, 0x80

    new-array v1, v0, [B

    .line 102
    fill-array-data v1, :array_74

    sput-object v1, Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;->d:[B

    new-array v0, v0, [B

    .line 138
    fill-array-data v0, :array_b8

    sput-object v0, Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;->e:[B

    return-void

    nop

    :array_2c
    .array-data 1
        0x41t
        0x42t
        0x43t
        0x44t
        0x45t
        0x46t
        0x47t
        0x48t
        0x49t
        0x4at
        0x4bt
        0x4ct
        0x4dt
        0x4et
        0x4ft
        0x50t
        0x51t
        0x52t
        0x53t
        0x54t
        0x55t
        0x56t
        0x57t
        0x58t
        0x59t
        0x5at
        0x61t
        0x62t
        0x63t
        0x64t
        0x65t
        0x66t
        0x67t
        0x68t
        0x69t
        0x6at
        0x6bt
        0x6ct
        0x6dt
        0x6et
        0x6ft
        0x70t
        0x71t
        0x72t
        0x73t
        0x74t
        0x75t
        0x76t
        0x77t
        0x78t
        0x79t
        0x7at
        0x30t
        0x31t
        0x32t
        0x33t
        0x34t
        0x35t
        0x36t
        0x37t
        0x38t
        0x39t
        0x2bt
        0x2ft
    .end array-data

    :array_50
    .array-data 1
        0x41t
        0x42t
        0x43t
        0x44t
        0x45t
        0x46t
        0x47t
        0x48t
        0x49t
        0x4at
        0x4bt
        0x4ct
        0x4dt
        0x4et
        0x4ft
        0x50t
        0x51t
        0x52t
        0x53t
        0x54t
        0x55t
        0x56t
        0x57t
        0x58t
        0x59t
        0x5at
        0x61t
        0x62t
        0x63t
        0x64t
        0x65t
        0x66t
        0x67t
        0x68t
        0x69t
        0x6at
        0x6bt
        0x6ct
        0x6dt
        0x6et
        0x6ft
        0x70t
        0x71t
        0x72t
        0x73t
        0x74t
        0x75t
        0x76t
        0x77t
        0x78t
        0x79t
        0x7at
        0x30t
        0x31t
        0x32t
        0x33t
        0x34t
        0x35t
        0x36t
        0x37t
        0x38t
        0x39t
        0x2dt
        0x5ft
    .end array-data

    :array_74
    .array-data 1
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x5t
        -0x5t
        -0x9t
        -0x9t
        -0x5t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x5t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        0x3et
        -0x9t
        -0x9t
        -0x9t
        0x3ft
        0x34t
        0x35t
        0x36t
        0x37t
        0x38t
        0x39t
        0x3at
        0x3bt
        0x3ct
        0x3dt
        -0x9t
        -0x9t
        -0x9t
        -0x1t
        -0x9t
        -0x9t
        -0x9t
        0x0t
        0x1t
        0x2t
        0x3t
        0x4t
        0x5t
        0x6t
        0x7t
        0x8t
        0x9t
        0xat
        0xbt
        0xct
        0xdt
        0xet
        0xft
        0x10t
        0x11t
        0x12t
        0x13t
        0x14t
        0x15t
        0x16t
        0x17t
        0x18t
        0x19t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        0x1at
        0x1bt
        0x1ct
        0x1dt
        0x1et
        0x1ft
        0x20t
        0x21t
        0x22t
        0x23t
        0x24t
        0x25t
        0x26t
        0x27t
        0x28t
        0x29t
        0x2at
        0x2bt
        0x2ct
        0x2dt
        0x2et
        0x2ft
        0x30t
        0x31t
        0x32t
        0x33t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
    .end array-data

    :array_b8
    .array-data 1
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x5t
        -0x5t
        -0x9t
        -0x9t
        -0x5t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x5t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        0x3et
        -0x9t
        -0x9t
        0x34t
        0x35t
        0x36t
        0x37t
        0x38t
        0x39t
        0x3at
        0x3bt
        0x3ct
        0x3dt
        -0x9t
        -0x9t
        -0x9t
        -0x1t
        -0x9t
        -0x9t
        -0x9t
        0x0t
        0x1t
        0x2t
        0x3t
        0x4t
        0x5t
        0x6t
        0x7t
        0x8t
        0x9t
        0xat
        0xbt
        0xct
        0xdt
        0xet
        0xft
        0x10t
        0x11t
        0x12t
        0x13t
        0x14t
        0x15t
        0x16t
        0x17t
        0x18t
        0x19t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        0x3ft
        -0x9t
        0x1at
        0x1bt
        0x1ct
        0x1dt
        0x1et
        0x1ft
        0x20t
        0x21t
        0x22t
        0x23t
        0x24t
        0x25t
        0x26t
        0x27t
        0x28t
        0x29t
        0x2at
        0x2bt
        0x2ct
        0x2dt
        0x2et
        0x2ft
        0x30t
        0x31t
        0x32t
        0x33t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
        -0x9t
    .end array-data
.end method

.method private constructor <init>()V
    .registers 1

    .line 181
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method private static a([B[BI[B)I
    .registers 10

    const/4 v0, 0x2

    .line 389
    aget-byte v1, p0, v0

    const/16 v2, 0x3d

    const/4 v3, 0x0

    const/4 v4, 0x1

    if-ne v1, v2, :cond_20

    .line 390
    aget-byte v0, p0, v3

    aget-byte v0, p3, v0

    shl-int/lit8 v0, v0, 0x18

    ushr-int/lit8 v0, v0, 0x6

    aget-byte p0, p0, v4

    aget-byte p0, p3, p0

    shl-int/lit8 p0, p0, 0x18

    ushr-int/lit8 p0, p0, 0xc

    or-int/2addr p0, v0

    ushr-int/lit8 p0, p0, 0x10

    int-to-byte p0, p0

    .line 394
    aput-byte p0, p1, p2

    return v4

    :cond_20
    const/4 v1, 0x3

    .line 396
    aget-byte v5, p0, v1

    if-ne v5, v2, :cond_4b

    .line 398
    aget-byte v1, p0, v3

    aget-byte v1, p3, v1

    shl-int/lit8 v1, v1, 0x18

    ushr-int/lit8 v1, v1, 0x6

    aget-byte v2, p0, v4

    aget-byte v2, p3, v2

    shl-int/lit8 v2, v2, 0x18

    ushr-int/lit8 v2, v2, 0xc

    or-int/2addr v1, v2

    aget-byte p0, p0, v0

    aget-byte p0, p3, p0

    shl-int/lit8 p0, p0, 0x18

    ushr-int/lit8 p0, p0, 0x12

    or-int/2addr p0, v1

    ushr-int/lit8 p3, p0, 0x10

    int-to-byte p3, p3

    .line 403
    aput-byte p3, p1, p2

    add-int/2addr p2, v4

    ushr-int/lit8 p0, p0, 0x8

    int-to-byte p0, p0

    .line 404
    aput-byte p0, p1, p2

    return v0

    .line 408
    :cond_4b
    aget-byte v2, p0, v3

    aget-byte v2, p3, v2

    shl-int/lit8 v2, v2, 0x18

    ushr-int/lit8 v2, v2, 0x6

    aget-byte v3, p0, v4

    aget-byte v3, p3, v3

    shl-int/lit8 v3, v3, 0x18

    ushr-int/lit8 v3, v3, 0xc

    or-int/2addr v2, v3

    aget-byte v3, p0, v0

    aget-byte v3, p3, v3

    shl-int/lit8 v3, v3, 0x18

    ushr-int/lit8 v3, v3, 0x12

    or-int/2addr v2, v3

    aget-byte p0, p0, v1

    aget-byte p0, p3, p0

    shl-int/lit8 p0, p0, 0x18

    ushr-int/lit8 p0, p0, 0x18

    or-int/2addr p0, v2

    shr-int/lit8 p3, p0, 0x10

    int-to-byte p3, p3

    .line 414
    aput-byte p3, p1, p2

    add-int/lit8 p3, p2, 0x1

    shr-int/lit8 v2, p0, 0x8

    int-to-byte v2, v2

    .line 415
    aput-byte v2, p1, p3

    add-int/2addr p2, v0

    int-to-byte p0, p0

    .line 416
    aput-byte p0, p1, p2

    return v1
.end method

.method public static a(Ljava/lang/String;)[B
    .registers 17
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;
        }
    .end annotation

    .line 430
    invoke-virtual/range {p0 .. p0}, Ljava/lang/String;->getBytes()[B

    move-result-object v0

    .line 431
    array-length v1, v0

    .line 1485
    sget-object v2, Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;->d:[B

    mul-int/lit8 v3, v1, 0x3

    const/4 v4, 0x4

    .line 1515
    div-int/2addr v3, v4

    const/4 v5, 0x2

    add-int/2addr v3, v5

    .line 1516
    new-array v3, v3, [B

    new-array v6, v4, [B

    const/4 v7, 0x0

    const/4 v8, 0x0

    const/4 v9, 0x0

    const/4 v10, 0x0

    :goto_15
    const/16 v11, 0x3d

    const/4 v12, 0x1

    if-ge v8, v1, :cond_ab

    add-int/lit8 v13, v8, 0x0

    .line 1525
    aget-byte v14, v0, v13

    and-int/lit8 v14, v14, 0x7f

    int-to-byte v14, v14

    .line 1526
    aget-byte v15, v2, v14

    const/4 v4, -0x5

    if-lt v15, v4, :cond_88

    const/4 v4, -0x1

    if-lt v15, v4, :cond_83

    if-ne v14, v11, :cond_73

    sub-int v4, v1, v8

    add-int/lit8 v13, v1, -0x1

    add-int/2addr v13, v7

    .line 1534
    aget-byte v0, v0, v13

    and-int/lit8 v0, v0, 0x7f

    int-to-byte v0, v0

    if-eqz v9, :cond_63

    if-eq v9, v12, :cond_63

    const/4 v13, 0x3

    if-ne v9, v13, :cond_3e

    if-gt v4, v5, :cond_44

    :cond_3e
    const/4 v5, 0x4

    if-ne v9, v5, :cond_54

    if-gt v4, v12, :cond_44

    goto :goto_54

    .line 1540
    :cond_44
    new-instance v0, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;

    invoke-static {v8}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v1

    const-string v2, "padding byte \'=\' falsely signals end of encoded value at offset "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_54
    :goto_54
    if-eq v0, v11, :cond_ab

    const/16 v4, 0xa

    if-ne v0, v4, :cond_5b

    goto :goto_ab

    .line 1544
    :cond_5b
    new-instance v0, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;

    const-string v1, "encoded value has invalid trailing byte"

    invoke-direct {v0, v1}, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1536
    :cond_63
    new-instance v0, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;

    invoke-static {v8}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v1

    const-string v2, "invalid padding byte \'=\' at byte offset "

    invoke-virtual {v2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_73
    add-int/lit8 v4, v9, 0x1

    .line 1550
    aput-byte v14, v6, v9

    const/4 v11, 0x4

    if-ne v4, v11, :cond_81

    .line 1552
    invoke-static {v6, v3, v10, v2}, Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;->a([B[BI[B)I

    move-result v4

    add-int/2addr v10, v4

    const/4 v9, 0x0

    goto :goto_84

    :cond_81
    move v9, v4

    goto :goto_84

    :cond_83
    const/4 v11, 0x4

    :goto_84
    add-int/lit8 v8, v8, 0x1

    const/4 v4, 0x4

    goto :goto_15

    .line 1557
    :cond_88
    new-instance v1, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Bad Base64 input character at "

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

    invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, ": "

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

    aget-byte v0, v0, v13

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v0, "(decimal)"

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

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

    move-result-object v0

    invoke-direct {v1, v0}, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;-><init>(Ljava/lang/String;)V

    throw v1

    :cond_ab
    :goto_ab
    if-eqz v9, :cond_cc

    if-eq v9, v12, :cond_b7

    .line 1573
    aput-byte v11, v6, v9

    .line 1574
    invoke-static {v6, v3, v10, v2}, Lcom/imo/android/imoim/imoout/recharge/buy/pay/b;->a([B[BI[B)I

    move-result v0

    add-int/2addr v10, v0

    goto :goto_cc

    .line 1570
    :cond_b7
    new-instance v0, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "single trailing character at offset "

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

    sub-int/2addr v1, v12

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

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

    move-result-object v1

    invoke-direct {v0, v1}, Lcom/imo/android/imoim/imoout/recharge/buy/pay/Base64DecoderException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1577
    :cond_cc
    :goto_cc
    new-array v0, v10, [B

    .line 1578
    invoke-static {v3, v7, v0, v7, v10}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    return-object v0
.end method