Weather/smali_classes4/com/moji/webview/encode/Base64$Encoder.smali
2021-05-10 10:13:34 +02:00

1028 lines
16 KiB
Smali

.class Lcom/moji/webview/encode/Base64$Encoder;
.super Lcom/moji/webview/encode/Base64$Coder;
.source "Base64.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/moji/webview/encode/Base64;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "Encoder"
.end annotation
# static fields
.field static final synthetic g:Z
.field private static final h:[B
.field private static final i:[B
# instance fields
.field c:I
.field public final d:Z
.field public final e:Z
.field public final f:Z
.field private final j:[B
.field private k:I
.field private final l:[B
# direct methods
.method static constructor <clinit>()V
.locals 2
.line 544
const-class v0, Lcom/moji/webview/encode/Base64;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
xor-int/lit8 v0, v0, 0x1
sput-boolean v0, Lcom/moji/webview/encode/Base64$Encoder;->g:Z
const/16 v0, 0x40
.line 556
new-array v1, v0, [B
fill-array-data v1, :array_0
sput-object v1, Lcom/moji/webview/encode/Base64$Encoder;->h:[B
.line 567
new-array v0, v0, [B
fill-array-data v0, :array_1
sput-object v0, Lcom/moji/webview/encode/Base64$Encoder;->i:[B
return-void
nop
:array_0
.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_1
.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
.end method
.method public constructor <init>(I[B)V
.locals 2
.line 583
invoke-direct {p0}, Lcom/moji/webview/encode/Base64$Coder;-><init>()V
.line 584
iput-object p2, p0, Lcom/moji/webview/encode/Base64$Encoder;->a:[B
and-int/lit8 p2, p1, 0x1
const/4 v0, 0x0
const/4 v1, 0x1
if-nez p2, :cond_0
const/4 p2, 0x1
goto :goto_0
:cond_0
const/4 p2, 0x0
.line 586
:goto_0
iput-boolean p2, p0, Lcom/moji/webview/encode/Base64$Encoder;->d:Z
and-int/lit8 p2, p1, 0x2
if-nez p2, :cond_1
const/4 p2, 0x1
goto :goto_1
:cond_1
const/4 p2, 0x0
.line 587
:goto_1
iput-boolean p2, p0, Lcom/moji/webview/encode/Base64$Encoder;->e:Z
and-int/lit8 p2, p1, 0x4
if-eqz p2, :cond_2
goto :goto_2
:cond_2
const/4 v1, 0x0
.line 588
:goto_2
iput-boolean v1, p0, Lcom/moji/webview/encode/Base64$Encoder;->f:Z
and-int/lit8 p1, p1, 0x8
if-nez p1, :cond_3
.line 589
sget-object p1, Lcom/moji/webview/encode/Base64$Encoder;->h:[B
goto :goto_3
:cond_3
sget-object p1, Lcom/moji/webview/encode/Base64$Encoder;->i:[B
:goto_3
iput-object p1, p0, Lcom/moji/webview/encode/Base64$Encoder;->l:[B
const/4 p1, 0x2
.line 591
new-array p1, p1, [B
iput-object p1, p0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
.line 592
iput v0, p0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
.line 594
iget-boolean p1, p0, Lcom/moji/webview/encode/Base64$Encoder;->e:Z
if-eqz p1, :cond_4
const/16 p1, 0x13
goto :goto_4
:cond_4
const/4 p1, -0x1
:goto_4
iput p1, p0, Lcom/moji/webview/encode/Base64$Encoder;->k:I
return-void
.end method
# virtual methods
.method public a([BIIZ)Z
.locals 18
move-object/from16 v0, p0
.line 607
iget-object v3, v0, Lcom/moji/webview/encode/Base64$Encoder;->l:[B
.line 608
iget-object v4, v0, Lcom/moji/webview/encode/Base64$Encoder;->a:[B
.line 610
iget v5, v0, Lcom/moji/webview/encode/Base64$Encoder;->k:I
add-int v6, p3, p2
.line 620
iget v7, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
const/4 v8, -0x1
const/4 v9, 0x0
const/4 v10, 0x1
packed-switch v7, :pswitch_data_0
goto :goto_0
:pswitch_0
add-int/lit8 v7, p2, 0x1
if-gt v7, v6, :cond_0
.line 639
iget-object v11, v0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
aget-byte v11, v11, v9
and-int/lit16 v11, v11, 0xff
shl-int/lit8 v11, v11, 0x10
iget-object v12, v0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
aget-byte v12, v12, v10
and-int/lit16 v12, v12, 0xff
shl-int/lit8 v12, v12, 0x8
or-int/2addr v11, v12
aget-byte v2, p1, p2
and-int/lit16 v2, v2, 0xff
or-int/2addr v2, v11
.line 642
iput v9, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
goto :goto_1
:pswitch_1
add-int/lit8 v7, p2, 0x2
if-gt v7, v6, :cond_0
.line 629
iget-object v7, v0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
aget-byte v7, v7, v9
and-int/lit16 v7, v7, 0xff
shl-int/lit8 v7, v7, 0x10
add-int/lit8 v11, p2, 0x1
aget-byte v2, p1, p2
and-int/lit16 v2, v2, 0xff
shl-int/lit8 v2, v2, 0x8
or-int/2addr v2, v7
add-int/lit8 v7, v11, 0x1
aget-byte v11, p1, v11
and-int/lit16 v11, v11, 0xff
or-int/2addr v2, v11
.line 632
iput v9, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
goto :goto_1
:cond_0
:goto_0
:pswitch_2
move/from16 v7, p2
const/4 v2, -0x1
:goto_1
const/4 v12, 0x4
const/16 v13, 0xd
const/16 v14, 0xa
const/4 v15, 0x2
if-eq v2, v8, :cond_3
shr-int/lit8 v8, v2, 0x12
and-int/lit8 v8, v8, 0x3f
.line 648
aget-byte v8, v3, v8
aput-byte v8, v4, v9
shr-int/lit8 v8, v2, 0xc
and-int/lit8 v8, v8, 0x3f
.line 649
aget-byte v8, v3, v8
aput-byte v8, v4, v10
shr-int/lit8 v8, v2, 0x6
and-int/lit8 v8, v8, 0x3f
.line 650
aget-byte v8, v3, v8
aput-byte v8, v4, v15
and-int/lit8 v2, v2, 0x3f
.line 651
aget-byte v2, v3, v2
const/4 v8, 0x3
aput-byte v2, v4, v8
add-int/lit8 v5, v5, -0x1
if-nez v5, :cond_2
.line 653
iget-boolean v2, v0, Lcom/moji/webview/encode/Base64$Encoder;->f:Z
if-eqz v2, :cond_1
const/4 v2, 0x5
aput-byte v13, v4, v12
goto :goto_2
:cond_1
const/4 v2, 0x4
:goto_2
add-int/lit8 v5, v2, 0x1
.line 654
aput-byte v14, v4, v2
const/16 v2, 0x13
goto :goto_3
:cond_2
move v2, v5
const/4 v5, 0x4
goto :goto_3
:cond_3
move v2, v5
const/4 v5, 0x0
:goto_3
add-int/lit8 v8, v7, 0x3
if-gt v8, v6, :cond_6
.line 665
aget-byte v11, p1, v7
and-int/lit16 v11, v11, 0xff
shl-int/lit8 v11, v11, 0x10
add-int/lit8 v16, v7, 0x1
aget-byte v15, p1, v16
and-int/lit16 v15, v15, 0xff
shl-int/lit8 v15, v15, 0x8
or-int/2addr v11, v15
add-int/lit8 v7, v7, 0x2
aget-byte v7, p1, v7
and-int/lit16 v7, v7, 0xff
or-int/2addr v7, v11
shr-int/lit8 v11, v7, 0x12
and-int/lit8 v11, v11, 0x3f
.line 668
aget-byte v11, v3, v11
aput-byte v11, v4, v5
add-int/lit8 v11, v5, 0x1
shr-int/lit8 v15, v7, 0xc
and-int/lit8 v15, v15, 0x3f
.line 669
aget-byte v15, v3, v15
aput-byte v15, v4, v11
add-int/lit8 v11, v5, 0x2
shr-int/lit8 v15, v7, 0x6
and-int/lit8 v15, v15, 0x3f
.line 670
aget-byte v15, v3, v15
aput-byte v15, v4, v11
add-int/lit8 v11, v5, 0x3
and-int/lit8 v7, v7, 0x3f
.line 671
aget-byte v7, v3, v7
aput-byte v7, v4, v11
add-int/lit8 v5, v5, 0x4
add-int/lit8 v2, v2, -0x1
if-nez v2, :cond_5
.line 675
iget-boolean v2, v0, Lcom/moji/webview/encode/Base64$Encoder;->f:Z
if-eqz v2, :cond_4
add-int/lit8 v2, v5, 0x1
aput-byte v13, v4, v5
goto :goto_4
:cond_4
move v2, v5
:goto_4
add-int/lit8 v5, v2, 0x1
.line 676
aput-byte v14, v4, v2
move v7, v8
const/16 v2, 0x13
goto :goto_5
:cond_5
move v7, v8
:goto_5
const/4 v15, 0x2
goto :goto_3
:cond_6
if-eqz p4, :cond_16
.line 687
iget v8, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
sub-int v8, v7, v8
add-int/lit8 v11, v6, -0x1
if-ne v8, v11, :cond_a
.line 689
iget v8, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
if-lez v8, :cond_7
iget-object v1, v0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
aget-byte v1, v1, v9
const/4 v9, 0x1
goto :goto_6
:cond_7
add-int/lit8 v8, v7, 0x1
aget-byte v1, p1, v7
move v7, v8
:goto_6
and-int/lit16 v1, v1, 0xff
shl-int/2addr v1, v12
.line 690
iget v8, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
sub-int/2addr v8, v9
iput v8, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
add-int/lit8 v8, v5, 0x1
shr-int/lit8 v9, v1, 0x6
and-int/lit8 v9, v9, 0x3f
.line 691
aget-byte v9, v3, v9
aput-byte v9, v4, v5
add-int/lit8 v5, v8, 0x1
and-int/lit8 v1, v1, 0x3f
.line 692
aget-byte v1, v3, v1
aput-byte v1, v4, v8
.line 693
iget-boolean v1, v0, Lcom/moji/webview/encode/Base64$Encoder;->d:Z
if-eqz v1, :cond_8
add-int/lit8 v1, v5, 0x1
const/16 v3, 0x3d
.line 694
aput-byte v3, v4, v5
add-int/lit8 v5, v1, 0x1
.line 695
aput-byte v3, v4, v1
.line 697
:cond_8
iget-boolean v1, v0, Lcom/moji/webview/encode/Base64$Encoder;->e:Z
if-eqz v1, :cond_12
.line 698
iget-boolean v1, v0, Lcom/moji/webview/encode/Base64$Encoder;->f:Z
if-eqz v1, :cond_9
add-int/lit8 v1, v5, 0x1
aput-byte v13, v4, v5
goto :goto_7
:cond_9
move v1, v5
:goto_7
add-int/lit8 v5, v1, 0x1
.line 699
aput-byte v14, v4, v1
goto/16 :goto_c
.line 701
:cond_a
iget v8, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
sub-int v8, v7, v8
add-int/lit8 v11, v6, -0x2
if-ne v8, v11, :cond_10
.line 703
iget v8, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
if-le v8, v10, :cond_b
iget-object v8, v0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
aget-byte v8, v8, v9
const/4 v9, 0x1
move/from16 v17, v8
move v8, v7
move/from16 v7, v17
goto :goto_8
:cond_b
add-int/lit8 v8, v7, 0x1
aget-byte v7, p1, v7
:goto_8
and-int/lit16 v7, v7, 0xff
shl-int/2addr v7, v14
iget v11, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
if-lez v11, :cond_c
iget-object v1, v0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
add-int/lit8 v11, v9, 0x1
aget-byte v1, v1, v9
goto :goto_9
:cond_c
add-int/lit8 v11, v8, 0x1
aget-byte v1, p1, v8
move v8, v11
move v11, v9
:goto_9
and-int/lit16 v1, v1, 0xff
const/4 v9, 0x2
shl-int/2addr v1, v9
or-int/2addr v1, v7
.line 705
iget v7, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
sub-int/2addr v7, v11
iput v7, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
add-int/lit8 v7, v5, 0x1
shr-int/lit8 v9, v1, 0xc
and-int/lit8 v9, v9, 0x3f
.line 706
aget-byte v9, v3, v9
aput-byte v9, v4, v5
add-int/lit8 v5, v7, 0x1
shr-int/lit8 v9, v1, 0x6
and-int/lit8 v9, v9, 0x3f
.line 707
aget-byte v9, v3, v9
aput-byte v9, v4, v7
add-int/lit8 v7, v5, 0x1
and-int/lit8 v1, v1, 0x3f
.line 708
aget-byte v1, v3, v1
aput-byte v1, v4, v5
.line 709
iget-boolean v1, v0, Lcom/moji/webview/encode/Base64$Encoder;->d:Z
if-eqz v1, :cond_d
add-int/lit8 v1, v7, 0x1
const/16 v3, 0x3d
.line 710
aput-byte v3, v4, v7
goto :goto_a
:cond_d
move v1, v7
.line 712
:goto_a
iget-boolean v3, v0, Lcom/moji/webview/encode/Base64$Encoder;->e:Z
if-eqz v3, :cond_f
.line 713
iget-boolean v3, v0, Lcom/moji/webview/encode/Base64$Encoder;->f:Z
if-eqz v3, :cond_e
add-int/lit8 v3, v1, 0x1
aput-byte v13, v4, v1
move v1, v3
:cond_e
add-int/lit8 v3, v1, 0x1
.line 714
aput-byte v14, v4, v1
move v1, v3
:cond_f
move v5, v1
move v7, v8
goto :goto_c
.line 716
:cond_10
iget-boolean v1, v0, Lcom/moji/webview/encode/Base64$Encoder;->e:Z
if-eqz v1, :cond_12
if-lez v5, :cond_12
const/16 v1, 0x13
if-eq v2, v1, :cond_12
.line 717
iget-boolean v1, v0, Lcom/moji/webview/encode/Base64$Encoder;->f:Z
if-eqz v1, :cond_11
add-int/lit8 v1, v5, 0x1
aput-byte v13, v4, v5
goto :goto_b
:cond_11
move v1, v5
:goto_b
add-int/lit8 v3, v1, 0x1
.line 718
aput-byte v14, v4, v1
move v5, v3
.line 721
:cond_12
:goto_c
sget-boolean v1, Lcom/moji/webview/encode/Base64$Encoder;->g:Z
if-nez v1, :cond_14
iget v1, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
if-nez v1, :cond_13
goto :goto_d
:cond_13
new-instance v1, Ljava/lang/AssertionError;
invoke-direct {v1}, Ljava/lang/AssertionError;-><init>()V
throw v1
.line 722
:cond_14
:goto_d
sget-boolean v1, Lcom/moji/webview/encode/Base64$Encoder;->g:Z
if-nez v1, :cond_18
if-ne v7, v6, :cond_15
goto :goto_e
:cond_15
new-instance v1, Ljava/lang/AssertionError;
invoke-direct {v1}, Ljava/lang/AssertionError;-><init>()V
throw v1
:cond_16
add-int/lit8 v3, v6, -0x1
if-ne v7, v3, :cond_17
.line 728
iget-object v3, v0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
iget v4, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
add-int/lit8 v6, v4, 0x1
iput v6, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
aget-byte v1, p1, v7
aput-byte v1, v3, v4
goto :goto_e
:cond_17
const/4 v3, 0x2
sub-int/2addr v6, v3
if-ne v7, v6, :cond_18
.line 730
iget-object v3, v0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
iget v4, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
add-int/lit8 v6, v4, 0x1
iput v6, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
aget-byte v6, p1, v7
aput-byte v6, v3, v4
.line 731
iget-object v3, v0, Lcom/moji/webview/encode/Base64$Encoder;->j:[B
iget v4, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
add-int/lit8 v6, v4, 0x1
iput v6, v0, Lcom/moji/webview/encode/Base64$Encoder;->c:I
add-int/2addr v7, v10
aget-byte v1, p1, v7
aput-byte v1, v3, v4
.line 735
:cond_18
:goto_e
iput v5, v0, Lcom/moji/webview/encode/Base64$Encoder;->b:I
.line 736
iput v2, v0, Lcom/moji/webview/encode/Base64$Encoder;->k:I
return v10
:pswitch_data_0
.packed-switch 0x0
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method