crc.smali

.class public Ldxoptimizer/crc;
.super Ldxoptimizer/crd;
.source "Base64.java"


# static fields
.field static final a:[B

.field private static final i:[B

.field private static final j:[B

.field private static final k:[B


# instance fields
.field private final l:[B

.field private final m:[B

.field private final n:[B

.field private final o:I

.field private final p:I

.field private q:I


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

    .prologue
    const/16 v1, 0x40

    .line 71
    const/4 v0, 0x2

    new-array v0, v0, [B

    fill-array-data v0, :array_22

    sput-object v0, Ldxoptimizer/crc;->a:[B

    .line 80
    new-array v0, v1, [B

    fill-array-data v0, :array_28

    sput-object v0, Ldxoptimizer/crc;->i:[B

    .line 93
    new-array v0, v1, [B

    fill-array-data v0, :array_4c

    sput-object v0, Ldxoptimizer/crc;->j:[B

    .line 112
    const/16 v0, 0x7b

    new-array v0, v0, [B

    fill-array-data v0, :array_70

    sput-object v0, Ldxoptimizer/crc;->k:[B

    return-void

    .line 71
    :array_22
    .array-data 1
        0xdt
        0xat
    .end array-data

    .line 80
    nop

    :array_28
    .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

    .line 93
    :array_4c
    .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

    .line 112
    :array_70
    .array-data 1
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        0x3et
        -0x1t
        0x3et
        -0x1t
        0x3ft
        0x34t
        0x35t
        0x36t
        0x37t
        0x38t
        0x39t
        0x3at
        0x3bt
        0x3ct
        0x3dt
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        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
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        0x3ft
        -0x1t
        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
    .end array-data
.end method

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

    .prologue
    .line 176
    const/4 v0, 0x0

    invoke-direct {p0, v0}, Ldxoptimizer/crc;-><init>(I)V

    .line 177
    return-void
.end method

.method public constructor <init>(I)V
    .registers 3

    .prologue
    .line 217
    sget-object v0, Ldxoptimizer/crc;->a:[B

    invoke-direct {p0, p1, v0}, Ldxoptimizer/crc;-><init>(I[B)V

    .line 218
    return-void
.end method

.method public constructor <init>(I[B)V
    .registers 4

    .prologue
    .line 243
    const/4 v0, 0x0

    invoke-direct {p0, p1, p2, v0}, Ldxoptimizer/crc;-><init>(I[BZ)V

    .line 244
    return-void
.end method

.method public constructor <init>(I[BZ)V
    .registers 9

    .prologue
    const/4 v4, 0x0

    const/4 v3, 0x4

    const/4 v1, 0x0

    .line 272
    const/4 v2, 0x3

    if-nez p2, :cond_39

    move v0, v1

    :goto_7
    invoke-direct {p0, v2, v3, p1, v0}, Ldxoptimizer/crd;-><init>(IIII)V

    .line 140
    sget-object v0, Ldxoptimizer/crc;->k:[B

    iput-object v0, p0, Ldxoptimizer/crc;->m:[B

    .line 277
    if-eqz p2, :cond_5f

    .line 278
    invoke-virtual {p0, p2}, Ldxoptimizer/crc;->f([B)Z

    move-result v0

    if-eqz v0, :cond_3b

    .line 279
    invoke-static {p2}, Ldxoptimizer/cre;->a([B)Ljava/lang/String;

    move-result-object v0

    .line 280
    new-instance v1, Ljava/lang/IllegalArgumentException;

    new-instance v2, Ljava/lang/StringBuilder;

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

    const-string v3, "lineSeparator must not contain base64 characters: ["

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

    move-result-object v2

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

    move-result-object v0

    const-string v2, "]"

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

    move-result-object v0

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

    move-result-object v0

    invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 272
    :cond_39
    array-length v0, p2

    goto :goto_7

    .line 282
    :cond_3b
    if-lez p1, :cond_5a

    .line 283
    array-length v0, p2

    add-int/lit8 v0, v0, 0x4

    iput v0, p0, Ldxoptimizer/crc;->p:I

    .line 284
    array-length v0, p2

    new-array v0, v0, [B

    iput-object v0, p0, Ldxoptimizer/crc;->n:[B

    .line 285
    iget-object v0, p0, Ldxoptimizer/crc;->n:[B

    array-length v2, p2

    invoke-static {p2, v1, v0, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 294
    :goto_4d
    iget v0, p0, Ldxoptimizer/crc;->p:I

    add-int/lit8 v0, v0, -0x1

    iput v0, p0, Ldxoptimizer/crc;->o:I

    .line 295
    if-eqz p3, :cond_64

    sget-object v0, Ldxoptimizer/crc;->j:[B

    :goto_57
    iput-object v0, p0, Ldxoptimizer/crc;->l:[B

    .line 296
    return-void

    .line 287
    :cond_5a
    iput v3, p0, Ldxoptimizer/crc;->p:I

    .line 288
    iput-object v4, p0, Ldxoptimizer/crc;->n:[B

    goto :goto_4d

    .line 291
    :cond_5f
    iput v3, p0, Ldxoptimizer/crc;->p:I

    .line 292
    iput-object v4, p0, Ldxoptimizer/crc;->n:[B

    goto :goto_4d

    .line 295
    :cond_64
    sget-object v0, Ldxoptimizer/crc;->i:[B

    goto :goto_57
.end method

.method public constructor <init>(Z)V
    .registers 4

    .prologue
    .line 195
    const/16 v0, 0x4c

    sget-object v1, Ldxoptimizer/crc;->a:[B

    invoke-direct {p0, v0, v1, p1}, Ldxoptimizer/crc;-><init>(I[BZ)V

    .line 196
    return-void
.end method

.method public static a(Ljava/lang/String;)[B
    .registers 2

    .prologue
    .line 667
    new-instance v0, Ldxoptimizer/crc;

    invoke-direct {v0}, Ldxoptimizer/crc;-><init>()V

    invoke-virtual {v0, p0}, Ldxoptimizer/crc;->b(Ljava/lang/String;)[B

    move-result-object v0

    return-object v0
.end method

.method public static a([B)[B
    .registers 2

    .prologue
    .line 535
    const/4 v0, 0x0

    invoke-static {p0, v0}, Ldxoptimizer/crc;->a([BZ)[B

    move-result-object v0

    return-object v0
.end method

.method public static a([BZ)[B
    .registers 3

    .prologue
    .line 602
    const/4 v0, 0x0

    invoke-static {p0, p1, v0}, Ldxoptimizer/crc;->a([BZZ)[B

    move-result-object v0

    return-object v0
.end method

.method public static a([BZZ)[B
    .registers 4

    .prologue
    .line 620
    const v0, 0x7fffffff

    invoke-static {p0, p1, p2, v0}, Ldxoptimizer/crc;->a([BZZI)[B

    move-result-object v0

    return-object v0
.end method

.method public static a([BZZI)[B
    .registers 10

    .prologue
    .line 640
    if-eqz p0, :cond_5

    array-length v0, p0

    if-nez v0, :cond_6

    .line 655
    :cond_5
    :goto_5
    return-object p0

    .line 646
    :cond_6
    if-eqz p1, :cond_39

    new-instance v0, Ldxoptimizer/crc;

    invoke-direct {v0, p2}, Ldxoptimizer/crc;-><init>(Z)V

    .line 647
    :goto_d
    invoke-virtual {v0, p0}, Ldxoptimizer/crc;->g([B)J

    move-result-wide v2

    .line 648
    int-to-long v4, p3

    cmp-long v1, v2, v4

    if-lez v1, :cond_42

    .line 649
    new-instance v0, Ljava/lang/IllegalArgumentException;

    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v4, "Input array too big, the output array would be bigger ("

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

    move-result-object v1

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

    move-result-object v1

    const-string v2, ") than the specified maximum size of "

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

    move-result-object v1

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

    move-result-object v1

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

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 646
    :cond_39
    new-instance v0, Ldxoptimizer/crc;

    const/4 v1, 0x0

    sget-object v2, Ldxoptimizer/crc;->a:[B

    invoke-direct {v0, v1, v2, p2}, Ldxoptimizer/crc;-><init>(I[BZ)V

    goto :goto_d

    .line 655
    :cond_42
    invoke-virtual {v0, p0}, Ldxoptimizer/crc;->e([B)[B

    move-result-object p0

    goto :goto_5
.end method

.method public static b([B)Ljava/lang/String;
    .registers 2

    .prologue
    .line 550
    const/4 v0, 0x0

    invoke-static {p0, v0}, Ldxoptimizer/crc;->a([BZ)[B

    move-result-object v0

    invoke-static {v0}, Ldxoptimizer/cre;->a([B)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static c([B)[B
    .registers 2

    .prologue
    .line 678
    new-instance v0, Ldxoptimizer/crc;

    invoke-direct {v0}, Ldxoptimizer/crc;-><init>()V

    invoke-virtual {v0, p0}, Ldxoptimizer/crc;->d([B)[B

    move-result-object v0

    return-object v0
.end method


# virtual methods
.method a([BII)V
    .registers 11

    .prologue
    const/16 v6, 0x3d

    const/4 v2, 0x0

    .line 327
    iget-boolean v0, p0, Ldxoptimizer/crc;->f:Z

    if-eqz v0, :cond_8

    .line 389
    :cond_7
    :goto_7
    return-void

    .line 332
    :cond_8
    if-gez p3, :cond_d8

    .line 333
    const/4 v0, 0x1

    iput-boolean v0, p0, Ldxoptimizer/crc;->f:Z

    .line 334
    iget v0, p0, Ldxoptimizer/crc;->h:I

    if-nez v0, :cond_15

    iget v0, p0, Ldxoptimizer/crc;->c:I

    if-eqz v0, :cond_7

    .line 337
    :cond_15
    iget v0, p0, Ldxoptimizer/crc;->p:I

    invoke-virtual {p0, v0}, Ldxoptimizer/crc;->a(I)V

    .line 338
    iget v0, p0, Ldxoptimizer/crc;->e:I

    .line 339
    iget v1, p0, Ldxoptimizer/crc;->h:I

    packed-switch v1, :pswitch_data_176

    .line 360
    :cond_21
    :goto_21
    iget v1, p0, Ldxoptimizer/crc;->g:I

    iget v3, p0, Ldxoptimizer/crc;->e:I

    sub-int v0, v3, v0

    add-int/2addr v0, v1

    iput v0, p0, Ldxoptimizer/crc;->g:I

    .line 362
    iget v0, p0, Ldxoptimizer/crc;->c:I

    if-lez v0, :cond_7

    iget v0, p0, Ldxoptimizer/crc;->g:I

    if-lez v0, :cond_7

    .line 363
    iget-object v0, p0, Ldxoptimizer/crc;->n:[B

    iget-object v1, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    iget-object v4, p0, Ldxoptimizer/crc;->n:[B

    array-length v4, v4

    invoke-static {v0, v2, v1, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 364
    iget v0, p0, Ldxoptimizer/crc;->e:I

    iget-object v1, p0, Ldxoptimizer/crc;->n:[B

    array-length v1, v1

    add-int/2addr v0, v1

    iput v0, p0, Ldxoptimizer/crc;->e:I

    goto :goto_7

    .line 341
    :pswitch_47
    iget-object v1, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    iget-object v4, p0, Ldxoptimizer/crc;->l:[B

    iget v5, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v5, v5, 0x2

    and-int/lit8 v5, v5, 0x3f

    aget-byte v4, v4, v5

    aput-byte v4, v1, v3

    .line 342
    iget-object v1, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    iget-object v4, p0, Ldxoptimizer/crc;->l:[B

    iget v5, p0, Ldxoptimizer/crc;->q:I

    shl-int/lit8 v5, v5, 0x4

    and-int/lit8 v5, v5, 0x3f

    aget-byte v4, v4, v5

    aput-byte v4, v1, v3

    .line 344
    iget-object v1, p0, Ldxoptimizer/crc;->l:[B

    sget-object v3, Ldxoptimizer/crc;->i:[B

    if-ne v1, v3, :cond_21

    .line 345
    iget-object v1, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    aput-byte v6, v1, v3

    .line 346
    iget-object v1, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    aput-byte v6, v1, v3

    goto :goto_21

    .line 351
    :pswitch_8a
    iget-object v1, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    iget-object v4, p0, Ldxoptimizer/crc;->l:[B

    iget v5, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v5, v5, 0xa

    and-int/lit8 v5, v5, 0x3f

    aget-byte v4, v4, v5

    aput-byte v4, v1, v3

    .line 352
    iget-object v1, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    iget-object v4, p0, Ldxoptimizer/crc;->l:[B

    iget v5, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v5, v5, 0x4

    and-int/lit8 v5, v5, 0x3f

    aget-byte v4, v4, v5

    aput-byte v4, v1, v3

    .line 353
    iget-object v1, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    iget-object v4, p0, Ldxoptimizer/crc;->l:[B

    iget v5, p0, Ldxoptimizer/crc;->q:I

    shl-int/lit8 v5, v5, 0x2

    and-int/lit8 v5, v5, 0x3f

    aget-byte v4, v4, v5

    aput-byte v4, v1, v3

    .line 355
    iget-object v1, p0, Ldxoptimizer/crc;->l:[B

    sget-object v3, Ldxoptimizer/crc;->i:[B

    if-ne v1, v3, :cond_21

    .line 356
    iget-object v1, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    aput-byte v6, v1, v3

    goto/16 :goto_21

    :cond_d8
    move v1, v2

    .line 367
    :goto_d9
    if-ge v1, p3, :cond_7

    .line 368
    iget v0, p0, Ldxoptimizer/crc;->p:I

    invoke-virtual {p0, v0}, Ldxoptimizer/crc;->a(I)V

    .line 369
    iget v0, p0, Ldxoptimizer/crc;->h:I

    add-int/lit8 v0, v0, 0x1

    rem-int/lit8 v0, v0, 0x3

    iput v0, p0, Ldxoptimizer/crc;->h:I

    .line 370
    add-int/lit8 v3, p2, 0x1

    aget-byte v0, p1, p2

    .line 371
    if-gez v0, :cond_f0

    .line 372
    add-int/lit16 v0, v0, 0x100

    .line 374
    :cond_f0
    iget v4, p0, Ldxoptimizer/crc;->q:I

    shl-int/lit8 v4, v4, 0x8

    add-int/2addr v0, v4

    iput v0, p0, Ldxoptimizer/crc;->q:I

    .line 375
    iget v0, p0, Ldxoptimizer/crc;->h:I

    if-nez v0, :cond_16f

    .line 376
    iget-object v0, p0, Ldxoptimizer/crc;->d:[B

    iget v4, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v5, v4, 0x1

    iput v5, p0, Ldxoptimizer/crc;->e:I

    iget-object v5, p0, Ldxoptimizer/crc;->l:[B

    iget v6, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v6, v6, 0x12

    and-int/lit8 v6, v6, 0x3f

    aget-byte v5, v5, v6

    aput-byte v5, v0, v4

    .line 377
    iget-object v0, p0, Ldxoptimizer/crc;->d:[B

    iget v4, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v5, v4, 0x1

    iput v5, p0, Ldxoptimizer/crc;->e:I

    iget-object v5, p0, Ldxoptimizer/crc;->l:[B

    iget v6, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v6, v6, 0xc

    and-int/lit8 v6, v6, 0x3f

    aget-byte v5, v5, v6

    aput-byte v5, v0, v4

    .line 378
    iget-object v0, p0, Ldxoptimizer/crc;->d:[B

    iget v4, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v5, v4, 0x1

    iput v5, p0, Ldxoptimizer/crc;->e:I

    iget-object v5, p0, Ldxoptimizer/crc;->l:[B

    iget v6, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v6, v6, 0x6

    and-int/lit8 v6, v6, 0x3f

    aget-byte v5, v5, v6

    aput-byte v5, v0, v4

    .line 379
    iget-object v0, p0, Ldxoptimizer/crc;->d:[B

    iget v4, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v5, v4, 0x1

    iput v5, p0, Ldxoptimizer/crc;->e:I

    iget-object v5, p0, Ldxoptimizer/crc;->l:[B

    iget v6, p0, Ldxoptimizer/crc;->q:I

    and-int/lit8 v6, v6, 0x3f

    aget-byte v5, v5, v6

    aput-byte v5, v0, v4

    .line 380
    iget v0, p0, Ldxoptimizer/crc;->g:I

    add-int/lit8 v0, v0, 0x4

    iput v0, p0, Ldxoptimizer/crc;->g:I

    .line 381
    iget v0, p0, Ldxoptimizer/crc;->c:I

    if-lez v0, :cond_16f

    iget v0, p0, Ldxoptimizer/crc;->c:I

    iget v4, p0, Ldxoptimizer/crc;->g:I

    if-gt v0, v4, :cond_16f

    .line 382
    iget-object v0, p0, Ldxoptimizer/crc;->n:[B

    iget-object v4, p0, Ldxoptimizer/crc;->d:[B

    iget v5, p0, Ldxoptimizer/crc;->e:I

    iget-object v6, p0, Ldxoptimizer/crc;->n:[B

    array-length v6, v6

    invoke-static {v0, v2, v4, v5, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 383
    iget v0, p0, Ldxoptimizer/crc;->e:I

    iget-object v4, p0, Ldxoptimizer/crc;->n:[B

    array-length v4, v4

    add-int/2addr v0, v4

    iput v0, p0, Ldxoptimizer/crc;->e:I

    .line 384
    iput v2, p0, Ldxoptimizer/crc;->g:I

    .line 367
    :cond_16f
    add-int/lit8 v0, v1, 0x1

    move v1, v0

    move p2, v3

    goto/16 :goto_d9

    .line 339
    nop

    :pswitch_data_176
    .packed-switch 0x1
        :pswitch_47
        :pswitch_8a
    .end packed-switch
.end method

.method protected a(B)Z
    .registers 4

    .prologue
    .line 752
    if-ltz p1, :cond_10

    iget-object v0, p0, Ldxoptimizer/crc;->m:[B

    array-length v0, v0

    if-ge p1, v0, :cond_10

    iget-object v0, p0, Ldxoptimizer/crc;->m:[B

    aget-byte v0, v0, p1

    const/4 v1, -0x1

    if-eq v0, v1, :cond_10

    const/4 v0, 0x1

    :goto_f
    return v0

    :cond_10
    const/4 v0, 0x0

    goto :goto_f
.end method

.method b([BII)V
    .registers 10

    .prologue
    const/4 v5, 0x1

    .line 415
    iget-boolean v0, p0, Ldxoptimizer/crc;->f:Z

    if-eqz v0, :cond_6

    .line 466
    :cond_5
    :goto_5
    return-void

    .line 418
    :cond_6
    if-gez p3, :cond_a

    .line 419
    iput-boolean v5, p0, Ldxoptimizer/crc;->f:Z

    .line 421
    :cond_a
    const/4 v0, 0x0

    :goto_b
    if-ge v0, p3, :cond_1c

    .line 422
    iget v1, p0, Ldxoptimizer/crc;->o:I

    invoke-virtual {p0, v1}, Ldxoptimizer/crc;->a(I)V

    .line 423
    add-int/lit8 v1, p2, 0x1

    aget-byte v2, p1, p2

    .line 424
    const/16 v3, 0x3d

    if-ne v2, v3, :cond_45

    .line 426
    iput-boolean v5, p0, Ldxoptimizer/crc;->f:Z

    .line 447
    :cond_1c
    iget-boolean v0, p0, Ldxoptimizer/crc;->f:Z

    if-eqz v0, :cond_5

    iget v0, p0, Ldxoptimizer/crc;->h:I

    if-eqz v0, :cond_5

    .line 448
    iget v0, p0, Ldxoptimizer/crc;->o:I

    invoke-virtual {p0, v0}, Ldxoptimizer/crc;->a(I)V

    .line 452
    iget v0, p0, Ldxoptimizer/crc;->h:I

    packed-switch v0, :pswitch_data_c4

    goto :goto_5

    .line 456
    :pswitch_2f
    iget v0, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v0, v0, 0x4

    iput v0, p0, Ldxoptimizer/crc;->q:I

    .line 457
    iget-object v0, p0, Ldxoptimizer/crc;->d:[B

    iget v1, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Ldxoptimizer/crc;->e:I

    iget v2, p0, Ldxoptimizer/crc;->q:I

    and-int/lit16 v2, v2, 0xff

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    goto :goto_5

    .line 429
    :cond_45
    if-ltz v2, :cond_96

    sget-object v3, Ldxoptimizer/crc;->k:[B

    array-length v3, v3

    if-ge v2, v3, :cond_96

    .line 430
    sget-object v3, Ldxoptimizer/crc;->k:[B

    aget-byte v2, v3, v2

    .line 431
    if-ltz v2, :cond_96

    .line 432
    iget v3, p0, Ldxoptimizer/crc;->h:I

    add-int/lit8 v3, v3, 0x1

    rem-int/lit8 v3, v3, 0x4

    iput v3, p0, Ldxoptimizer/crc;->h:I

    .line 433
    iget v3, p0, Ldxoptimizer/crc;->q:I

    shl-int/lit8 v3, v3, 0x6

    add-int/2addr v2, v3

    iput v2, p0, Ldxoptimizer/crc;->q:I

    .line 434
    iget v2, p0, Ldxoptimizer/crc;->h:I

    if-nez v2, :cond_96

    .line 435
    iget-object v2, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    iget v4, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v4, v4, 0x10

    and-int/lit16 v4, v4, 0xff

    int-to-byte v4, v4

    aput-byte v4, v2, v3

    .line 436
    iget-object v2, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    iget v4, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v4, v4, 0x8

    and-int/lit16 v4, v4, 0xff

    int-to-byte v4, v4

    aput-byte v4, v2, v3

    .line 437
    iget-object v2, p0, Ldxoptimizer/crc;->d:[B

    iget v3, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v4, v3, 0x1

    iput v4, p0, Ldxoptimizer/crc;->e:I

    iget v4, p0, Ldxoptimizer/crc;->q:I

    and-int/lit16 v4, v4, 0xff

    int-to-byte v4, v4

    aput-byte v4, v2, v3

    .line 421
    :cond_96
    add-int/lit8 v0, v0, 0x1

    move p2, v1

    goto/16 :goto_b

    .line 460
    :pswitch_9b
    iget v0, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v0, v0, 0x2

    iput v0, p0, Ldxoptimizer/crc;->q:I

    .line 461
    iget-object v0, p0, Ldxoptimizer/crc;->d:[B

    iget v1, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Ldxoptimizer/crc;->e:I

    iget v2, p0, Ldxoptimizer/crc;->q:I

    shr-int/lit8 v2, v2, 0x8

    and-int/lit16 v2, v2, 0xff

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    .line 462
    iget-object v0, p0, Ldxoptimizer/crc;->d:[B

    iget v1, p0, Ldxoptimizer/crc;->e:I

    add-int/lit8 v2, v1, 0x1

    iput v2, p0, Ldxoptimizer/crc;->e:I

    iget v2, p0, Ldxoptimizer/crc;->q:I

    and-int/lit16 v2, v2, 0xff

    int-to-byte v2, v2

    aput-byte v2, v0, v1

    goto/16 :goto_5

    .line 452
    nop

    :pswitch_data_c4
    .packed-switch 0x2
        :pswitch_2f
        :pswitch_9b
    .end packed-switch
.end method