c.smali

.class final Lcom/bumptech/glide/c/c;
.super Ljava/lang/Object;
.source "NeuQuant.java"


# instance fields
.field EA:[[I

.field EB:[I

.field private EC:[I

.field private ED:[I

.field private EE:[I

.field private Ew:I

.field private Ex:[B

.field private Ey:I

.field private Ez:I


# direct methods
.method public constructor <init>([BII)V
    .registers 11

    .prologue
    const/4 v1, 0x0

    const/16 v6, 0x100

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

    .line 123
    new-array v0, v6, [I

    iput-object v0, p0, Lcom/bumptech/glide/c/c;->EB:[I

    .line 127
    new-array v0, v6, [I

    iput-object v0, p0, Lcom/bumptech/glide/c/c;->EC:[I

    .line 130
    new-array v0, v6, [I

    iput-object v0, p0, Lcom/bumptech/glide/c/c;->ED:[I

    .line 132
    const/16 v0, 0x20

    new-array v0, v0, [I

    iput-object v0, p0, Lcom/bumptech/glide/c/c;->EE:[I

    .line 145
    iput-object p1, p0, Lcom/bumptech/glide/c/c;->Ex:[B

    .line 146
    iput p2, p0, Lcom/bumptech/glide/c/c;->Ey:I

    .line 147
    iput p3, p0, Lcom/bumptech/glide/c/c;->Ez:I

    .line 149
    new-array v0, v6, [[I

    iput-object v0, p0, Lcom/bumptech/glide/c/c;->EA:[[I

    move v0, v1

    .line 150
    :goto_23
    if-ge v0, v6, :cond_47

    .line 151
    iget-object v2, p0, Lcom/bumptech/glide/c/c;->EA:[[I

    const/4 v3, 0x4

    new-array v3, v3, [I

    aput-object v3, v2, v0

    .line 152
    iget-object v2, p0, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v2, v2, v0

    .line 153
    const/4 v3, 0x1

    const/4 v4, 0x2

    shl-int/lit8 v5, v0, 0xc

    div-int/lit16 v5, v5, 0x100

    aput v5, v2, v4

    aput v5, v2, v3

    aput v5, v2, v1

    .line 154
    iget-object v2, p0, Lcom/bumptech/glide/c/c;->ED:[I

    aput v6, v2, v0

    .line 155
    iget-object v2, p0, Lcom/bumptech/glide/c/c;->EC:[I

    aput v1, v2, v0

    .line 150
    add-int/lit8 v0, v0, 0x1

    goto :goto_23

    .line 157
    :cond_47
    return-void
.end method


# virtual methods
.method public final dG()V
    .registers 26

    .prologue
    .line 240
    move-object/from16 v0, p0

    iget v1, v0, Lcom/bumptech/glide/c/c;->Ey:I

    const/16 v2, 0x5e5

    if-ge v1, v2, :cond_d

    .line 241
    const/4 v1, 0x1

    move-object/from16 v0, p0

    iput v1, v0, Lcom/bumptech/glide/c/c;->Ez:I

    .line 242
    :cond_d
    move-object/from16 v0, p0

    iget v1, v0, Lcom/bumptech/glide/c/c;->Ez:I

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

    div-int/lit8 v1, v1, 0x3

    add-int/lit8 v1, v1, 0x1e

    move-object/from16 v0, p0

    iput v1, v0, Lcom/bumptech/glide/c/c;->Ew:I

    .line 243
    move-object/from16 v0, p0

    iget-object v15, v0, Lcom/bumptech/glide/c/c;->Ex:[B

    .line 244
    const/4 v5, 0x0

    .line 245
    move-object/from16 v0, p0

    iget v0, v0, Lcom/bumptech/glide/c/c;->Ey:I

    move/from16 v16, v0

    .line 246
    move-object/from16 v0, p0

    iget v1, v0, Lcom/bumptech/glide/c/c;->Ey:I

    move-object/from16 v0, p0

    iget v2, v0, Lcom/bumptech/glide/c/c;->Ez:I

    mul-int/lit8 v2, v2, 0x3

    div-int v17, v1, v2

    .line 247
    div-int/lit8 v2, v17, 0x64

    .line 248
    const/16 v3, 0x400

    .line 249
    const/16 v6, 0x800

    .line 251
    const/16 v4, 0x20

    .line 254
    const/4 v1, 0x0

    :goto_3b
    const/16 v7, 0x20

    if-ge v1, v7, :cond_52

    .line 255
    move-object/from16 v0, p0

    iget-object v7, v0, Lcom/bumptech/glide/c/c;->EE:[I

    mul-int v8, v1, v1

    rsub-int v8, v8, 0x400

    shl-int/lit8 v8, v8, 0x8

    div-int/lit16 v8, v8, 0x400

    mul-int/lit16 v8, v8, 0x400

    aput v8, v7, v1

    .line 254
    add-int/lit8 v1, v1, 0x1

    goto :goto_3b

    .line 259
    :cond_52
    move-object/from16 v0, p0

    iget v1, v0, Lcom/bumptech/glide/c/c;->Ey:I

    const/16 v7, 0x5e5

    if-ge v1, v7, :cond_de

    .line 260
    const/4 v1, 0x3

    .line 274
    :goto_5b
    const/4 v7, 0x0

    move v10, v5

    move v9, v2

    move v11, v3

    move v12, v4

    move v13, v6

    move v14, v7

    .line 275
    :goto_62
    move/from16 v0, v17

    if-ge v14, v0, :cond_248

    .line 276
    aget-byte v2, v15, v10

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v18, v2, 0x4

    .line 277
    add-int/lit8 v2, v10, 0x1

    aget-byte v2, v15, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v19, v2, 0x4

    .line 278
    add-int/lit8 v2, v10, 0x2

    aget-byte v2, v15, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v20, v2, 0x4

    .line 1471
    const v4, 0x7fffffff

    .line 1472
    const v7, 0x7fffffff

    .line 1473
    const/4 v6, -0x1

    .line 1474
    const/4 v8, -0x1

    .line 1476
    const/4 v5, 0x0

    :goto_85
    const/16 v2, 0x100

    if-ge v5, v2, :cond_106

    .line 1477
    move-object/from16 v0, p0

    iget-object v2, v0, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v21, v2, v5

    .line 1478
    const/4 v2, 0x0

    aget v2, v21, v2

    sub-int v2, v2, v18

    .line 1479
    if-gez v2, :cond_97

    .line 1480
    neg-int v2, v2

    .line 1481
    :cond_97
    const/4 v3, 0x1

    aget v3, v21, v3

    sub-int v3, v3, v19

    .line 1482
    if-gez v3, :cond_9f

    .line 1483
    neg-int v3, v3

    .line 1484
    :cond_9f
    add-int/2addr v3, v2

    .line 1485
    const/4 v2, 0x2

    aget v2, v21, v2

    sub-int v2, v2, v20

    .line 1486
    if-gez v2, :cond_a8

    .line 1487
    neg-int v2, v2

    .line 1488
    :cond_a8
    add-int/2addr v3, v2

    .line 1489
    if-ge v3, v4, :cond_26b

    move v2, v3

    move v4, v5

    .line 1493
    :goto_ad
    move-object/from16 v0, p0

    iget-object v6, v0, Lcom/bumptech/glide/c/c;->EC:[I

    aget v6, v6, v5

    shr-int/lit8 v6, v6, 0xc

    sub-int/2addr v3, v6

    .line 1494
    if-ge v3, v7, :cond_267

    move v6, v5

    .line 1498
    :goto_b9
    move-object/from16 v0, p0

    iget-object v7, v0, Lcom/bumptech/glide/c/c;->ED:[I

    aget v7, v7, v5

    shr-int/lit8 v7, v7, 0xa

    .line 1499
    move-object/from16 v0, p0

    iget-object v8, v0, Lcom/bumptech/glide/c/c;->ED:[I

    aget v21, v8, v5

    sub-int v21, v21, v7

    aput v21, v8, v5

    .line 1500
    move-object/from16 v0, p0

    iget-object v8, v0, Lcom/bumptech/glide/c/c;->EC:[I

    aget v21, v8, v5

    shl-int/lit8 v7, v7, 0xa

    add-int v7, v7, v21

    aput v7, v8, v5

    .line 1476
    add-int/lit8 v5, v5, 0x1

    move v7, v3

    move v8, v6

    move v6, v4

    move v4, v2

    goto :goto_85

    .line 261
    :cond_de
    move-object/from16 v0, p0

    iget v1, v0, Lcom/bumptech/glide/c/c;->Ey:I

    rem-int/lit16 v1, v1, 0x1f3

    if-eqz v1, :cond_ea

    .line 262
    const/16 v1, 0x5d9

    goto/16 :goto_5b

    .line 264
    :cond_ea
    move-object/from16 v0, p0

    iget v1, v0, Lcom/bumptech/glide/c/c;->Ey:I

    rem-int/lit16 v1, v1, 0x1eb

    if-eqz v1, :cond_f6

    .line 265
    const/16 v1, 0x5c1

    goto/16 :goto_5b

    .line 267
    :cond_f6
    move-object/from16 v0, p0

    iget v1, v0, Lcom/bumptech/glide/c/c;->Ey:I

    rem-int/lit16 v1, v1, 0x1e7

    if-eqz v1, :cond_102

    .line 268
    const/16 v1, 0x5b5

    goto/16 :goto_5b

    .line 270
    :cond_102
    const/16 v1, 0x5e5

    goto/16 :goto_5b

    .line 1502
    :cond_106
    move-object/from16 v0, p0

    iget-object v2, v0, Lcom/bumptech/glide/c/c;->ED:[I

    aget v3, v2, v6

    add-int/lit8 v3, v3, 0x40

    aput v3, v2, v6

    .line 1503
    move-object/from16 v0, p0

    iget-object v2, v0, Lcom/bumptech/glide/c/c;->EC:[I

    aget v3, v2, v6

    const/high16 v4, 0x10000

    sub-int/2addr v3, v4

    aput v3, v2, v6

    .line 2451
    move-object/from16 v0, p0

    iget-object v2, v0, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v2, v2, v8

    .line 2452
    const/4 v3, 0x0

    aget v4, v2, v3

    const/4 v5, 0x0

    aget v5, v2, v5

    sub-int v5, v5, v18

    mul-int/2addr v5, v11

    div-int/lit16 v5, v5, 0x400

    sub-int/2addr v4, v5

    aput v4, v2, v3

    .line 2453
    const/4 v3, 0x1

    aget v4, v2, v3

    const/4 v5, 0x1

    aget v5, v2, v5

    sub-int v5, v5, v19

    mul-int/2addr v5, v11

    div-int/lit16 v5, v5, 0x400

    sub-int/2addr v4, v5

    aput v4, v2, v3

    .line 2454
    const/4 v3, 0x2

    aget v4, v2, v3

    const/4 v5, 0x2

    aget v5, v2, v5

    sub-int v5, v5, v20

    mul-int/2addr v5, v11

    div-int/lit16 v5, v5, 0x400

    sub-int/2addr v4, v5

    aput v4, v2, v3

    .line 282
    if-eqz v12, :cond_20a

    .line 3411
    sub-int v2, v8, v12

    .line 3412
    const/4 v3, -0x1

    if-ge v2, v3, :cond_264

    .line 3413
    const/4 v2, -0x1

    move v7, v2

    .line 3414
    :goto_154
    add-int v2, v8, v12

    .line 3415
    const/16 v3, 0x100

    if-le v2, v3, :cond_15c

    .line 3416
    const/16 v2, 0x100

    .line 3418
    :cond_15c
    add-int/lit8 v4, v8, 0x1

    .line 3419
    add-int/lit8 v5, v8, -0x1

    .line 3420
    const/4 v3, 0x1

    move v6, v5

    move v5, v4

    .line 3421
    :goto_163
    if-lt v5, v2, :cond_167

    if-le v6, v7, :cond_20a

    .line 3422
    :cond_167
    move-object/from16 v0, p0

    iget-object v8, v0, Lcom/bumptech/glide/c/c;->EE:[I

    add-int/lit8 v4, v3, 0x1

    aget v8, v8, v3

    .line 3423
    if-ge v5, v2, :cond_25d

    .line 3424
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/bumptech/glide/c/c;->EA:[[I

    move-object/from16 v21, v0

    add-int/lit8 v3, v5, 0x1

    aget-object v5, v21, v5

    .line 3426
    const/16 v21, 0x0

    :try_start_17d
    aget v22, v5, v21

    const/16 v23, 0x0

    aget v23, v5, v23

    sub-int v23, v23, v18

    mul-int v23, v23, v8

    const/high16 v24, 0x40000

    div-int v23, v23, v24

    sub-int v22, v22, v23

    aput v22, v5, v21

    .line 3427
    const/16 v21, 0x1

    aget v22, v5, v21

    const/16 v23, 0x1

    aget v23, v5, v23

    sub-int v23, v23, v19

    mul-int v23, v23, v8

    const/high16 v24, 0x40000

    div-int v23, v23, v24

    sub-int v22, v22, v23

    aput v22, v5, v21

    .line 3428
    const/16 v21, 0x2

    aget v22, v5, v21

    const/16 v23, 0x2

    aget v23, v5, v23

    sub-int v23, v23, v20

    mul-int v23, v23, v8

    const/high16 v24, 0x40000

    div-int v23, v23, v24

    sub-int v22, v22, v23

    aput v22, v5, v21
    :try_end_1b7
    .catch Ljava/lang/Exception; {:try_start_17d .. :try_end_1b7} :catch_249

    .line 3432
    :goto_1b7
    if-le v6, v7, :cond_260

    .line 3433
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/bumptech/glide/c/c;->EA:[[I

    move-object/from16 v21, v0

    add-int/lit8 v5, v6, -0x1

    aget-object v6, v21, v6

    .line 3435
    const/16 v21, 0x0

    :try_start_1c5
    aget v22, v6, v21

    const/16 v23, 0x0

    aget v23, v6, v23

    sub-int v23, v23, v18

    mul-int v23, v23, v8

    const/high16 v24, 0x40000

    div-int v23, v23, v24

    sub-int v22, v22, v23

    aput v22, v6, v21

    .line 3436
    const/16 v21, 0x1

    aget v22, v6, v21

    const/16 v23, 0x1

    aget v23, v6, v23

    sub-int v23, v23, v19

    mul-int v23, v23, v8

    const/high16 v24, 0x40000

    div-int v23, v23, v24

    sub-int v22, v22, v23

    aput v22, v6, v21

    .line 3437
    const/16 v21, 0x2

    aget v22, v6, v21

    const/16 v23, 0x2

    aget v23, v6, v23

    sub-int v23, v23, v20

    mul-int v8, v8, v23

    const/high16 v23, 0x40000

    div-int v8, v8, v23

    sub-int v8, v22, v8

    aput v8, v6, v21
    :try_end_1ff
    .catch Ljava/lang/Exception; {:try_start_1c5 .. :try_end_1ff} :catch_204

    move v6, v5

    move v5, v3

    move v3, v4

    .line 3439
    goto/16 :goto_163

    :catch_204
    move-exception v6

    move v6, v5

    move v5, v3

    move v3, v4

    goto/16 :goto_163

    .line 285
    :cond_20a
    add-int v2, v10, v1

    .line 286
    move/from16 v0, v16

    if-lt v2, v0, :cond_25b

    .line 287
    move-object/from16 v0, p0

    iget v3, v0, Lcom/bumptech/glide/c/c;->Ey:I

    sub-int/2addr v2, v3

    move v5, v2

    .line 289
    :goto_216
    add-int/lit8 v8, v14, 0x1

    .line 290
    if-nez v9, :cond_259

    .line 291
    const/4 v2, 0x1

    .line 292
    :goto_21b
    rem-int v3, v8, v2

    if-nez v3, :cond_254

    .line 293
    move-object/from16 v0, p0

    iget v3, v0, Lcom/bumptech/glide/c/c;->Ew:I

    div-int v3, v11, v3

    sub-int v6, v11, v3

    .line 294
    div-int/lit8 v3, v13, 0x1e

    sub-int v7, v13, v3

    .line 295
    shr-int/lit8 v3, v7, 0x6

    .line 296
    const/4 v4, 0x1

    if-gt v3, v4, :cond_231

    .line 297
    const/4 v3, 0x0

    .line 298
    :cond_231
    const/4 v4, 0x0

    :goto_232
    if-ge v4, v3, :cond_24c

    .line 299
    move-object/from16 v0, p0

    iget-object v9, v0, Lcom/bumptech/glide/c/c;->EE:[I

    mul-int v10, v3, v3

    mul-int v11, v4, v4

    sub-int/2addr v10, v11

    shl-int/lit8 v10, v10, 0x8

    mul-int v11, v3, v3

    div-int/2addr v10, v11

    mul-int/2addr v10, v6

    aput v10, v9, v4

    .line 298
    add-int/lit8 v4, v4, 0x1

    goto :goto_232

    .line 304
    :cond_248
    return-void

    :catch_249
    move-exception v5

    goto/16 :goto_1b7

    :cond_24c
    move v10, v5

    move v9, v2

    move v11, v6

    move v12, v3

    move v13, v7

    move v14, v8

    goto/16 :goto_62

    :cond_254
    move v10, v5

    move v9, v2

    move v14, v8

    goto/16 :goto_62

    :cond_259
    move v2, v9

    goto :goto_21b

    :cond_25b
    move v5, v2

    goto :goto_216

    :cond_25d
    move v3, v5

    goto/16 :goto_1b7

    :cond_260
    move v5, v3

    move v3, v4

    goto/16 :goto_163

    :cond_264
    move v7, v2

    goto/16 :goto_154

    :cond_267
    move v3, v7

    move v6, v8

    goto/16 :goto_b9

    :cond_26b
    move v2, v4

    move v4, v6

    goto/16 :goto_ad
.end method