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