c.smali
.class public Lcom/google/zxing/qrcode/a/c;
.super Ljava/lang/Object;
.source "Detector.java"
# instance fields
.field protected final bpO:Lcom/google/zxing/common/b;
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/b;)V
.registers 2
.prologue
.line 44
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 45
iput-object p1, p0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 46
return-void
.end method
.method private b(Lcom/google/zxing/f;Lcom/google/zxing/f;)F
.registers 9
.prologue
const/high16 v5, 0x40e00000 # 7.0f
.line 242
.line 25038
iget v0, p1, Lcom/google/zxing/f;->x:F
.line 242
float-to-int v0, v0
.line 25042
iget v1, p1, Lcom/google/zxing/f;->y:F
.line 243
float-to-int v1, v1
.line 26038
iget v2, p2, Lcom/google/zxing/f;->x:F
.line 244
float-to-int v2, v2
.line 26042
iget v3, p2, Lcom/google/zxing/f;->y:F
.line 245
float-to-int v3, v3
.line 242
invoke-direct {p0, v0, v1, v2, v3}, Lcom/google/zxing/qrcode/a/c;->k(IIII)F
move-result v0
.line 27038
iget v1, p2, Lcom/google/zxing/f;->x:F
.line 246
float-to-int v1, v1
.line 27042
iget v2, p2, Lcom/google/zxing/f;->y:F
.line 247
float-to-int v2, v2
.line 28038
iget v3, p1, Lcom/google/zxing/f;->x:F
.line 248
float-to-int v3, v3
.line 28042
iget v4, p1, Lcom/google/zxing/f;->y:F
.line 249
float-to-int v4, v4
.line 246
invoke-direct {p0, v1, v2, v3, v4}, Lcom/google/zxing/qrcode/a/c;->k(IIII)F
move-result v1
.line 250
invoke-static {v0}, Ljava/lang/Float;->isNaN(F)Z
move-result v2
if-eqz v2, :cond_2b
.line 251
div-float v0, v1, v5
.line 258
:goto_2a
return v0
.line 253
:cond_2b
invoke-static {v1}, Ljava/lang/Float;->isNaN(F)Z
move-result v2
if-eqz v2, :cond_33
.line 254
div-float/2addr v0, v5
goto :goto_2a
.line 258
:cond_33
add-float/2addr v0, v1
const/high16 v1, 0x41600000 # 14.0f
div-float/2addr v0, v1
goto :goto_2a
.end method
.method private k(IIII)F
.registers 12
.prologue
const/4 v2, 0x0
const/high16 v1, 0x3f800000 # 1.0f
.line 268
invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/zxing/qrcode/a/c;->l(IIII)F
move-result v4
.line 272
sub-int v0, p3, p1
sub-int v0, p1, v0
.line 273
if-gez v0, :cond_31
.line 274
int-to-float v3, p1
sub-int v0, p1, v0
int-to-float v0, v0
div-float v0, v3, v0
move v3, v2
.line 280
:goto_14
int-to-float v5, p2
sub-int v6, p4, p2
int-to-float v6, v6
mul-float/2addr v0, v6
sub-float v0, v5, v0
float-to-int v0, v0
.line 283
if-gez v0, :cond_4a
.line 284
int-to-float v5, p2
sub-int v0, p2, v0
int-to-float v0, v0
div-float v0, v5, v0
.line 290
:goto_24
int-to-float v5, p1
sub-int/2addr v3, p1
int-to-float v3, v3
mul-float/2addr v0, v3
add-float/2addr v0, v5
float-to-int v0, v0
.line 292
invoke-direct {p0, p1, p2, v0, v2}, Lcom/google/zxing/qrcode/a/c;->l(IIII)F
move-result v0
add-float/2addr v0, v4
.line 295
sub-float/2addr v0, v1
return v0
.line 276
:cond_31
iget-object v3, p0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 28399
iget v3, v3, Lcom/google/zxing/common/b;->width:I
.line 276
if-lt v0, v3, :cond_66
.line 277
iget-object v3, p0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 29399
iget v3, v3, Lcom/google/zxing/common/b;->width:I
.line 277
add-int/lit8 v3, v3, -0x1
sub-int/2addr v3, p1
int-to-float v3, v3
sub-int/2addr v0, p1
int-to-float v0, v0
div-float v0, v3, v0
.line 278
iget-object v3, p0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 30399
iget v3, v3, Lcom/google/zxing/common/b;->width:I
.line 278
add-int/lit8 v3, v3, -0x1
goto :goto_14
.line 286
:cond_4a
iget-object v2, p0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 30406
iget v2, v2, Lcom/google/zxing/common/b;->height:I
.line 286
if-lt v0, v2, :cond_63
.line 287
iget-object v2, p0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 31406
iget v2, v2, Lcom/google/zxing/common/b;->height:I
.line 287
add-int/lit8 v2, v2, -0x1
sub-int/2addr v2, p2
int-to-float v2, v2
sub-int/2addr v0, p2
int-to-float v0, v0
div-float v0, v2, v0
.line 288
iget-object v2, p0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 32406
iget v2, v2, Lcom/google/zxing/common/b;->height:I
.line 288
add-int/lit8 v2, v2, -0x1
goto :goto_24
:cond_63
move v2, v0
move v0, v1
goto :goto_24
:cond_66
move v3, v0
move v0, v1
goto :goto_14
.end method
.method private l(IIII)F
.registers 24
.prologue
.line 309
sub-int v3, p4, p2
invoke-static {v3}, Ljava/lang/Math;->abs(I)I
move-result v3
sub-int v4, p3, p1
invoke-static {v4}, Ljava/lang/Math;->abs(I)I
move-result v4
if-le v3, v4, :cond_5e
const/4 v3, 0x1
move v12, v3
.line 310
:goto_10
if-eqz v12, :cond_9a
.line 319
:goto_12
sub-int v3, p4, p2
invoke-static {v3}, Ljava/lang/Math;->abs(I)I
move-result v13
.line 320
sub-int v3, p3, p1
invoke-static {v3}, Ljava/lang/Math;->abs(I)I
move-result v14
.line 321
neg-int v3, v13
div-int/lit8 v5, v3, 0x2
.line 322
move/from16 v0, p2
move/from16 v1, p4
if-ge v0, v1, :cond_61
const/4 v3, 0x1
move v11, v3
.line 323
:goto_29
move/from16 v0, p1
move/from16 v1, p3
if-ge v0, v1, :cond_64
const/4 v3, 0x1
.line 326
:goto_30
const/4 v6, 0x0
.line 328
add-int v15, p4, v11
move/from16 v8, p2
move v10, v5
move/from16 v5, p1
.line 329
:goto_38
if-eq v8, v15, :cond_98
.line 330
if-eqz v12, :cond_66
move v9, v5
.line 331
:goto_3d
if-eqz v12, :cond_68
move v7, v8
.line 336
:goto_40
const/4 v4, 0x1
if-ne v6, v4, :cond_6a
const/4 v4, 0x1
:goto_44
move-object/from16 v0, p0
iget-object v0, v0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
move-object/from16 v16, v0
move-object/from16 v0, v16
invoke-virtual {v0, v9, v7}, Lcom/google/zxing/common/b;->av(II)Z
move-result v7
if-ne v4, v7, :cond_96
.line 337
const/4 v4, 0x2
if-ne v6, v4, :cond_6c
.line 338
move/from16 v0, p2
move/from16 v1, p1
invoke-static {v8, v5, v0, v1}, Lcom/google/zxing/common/a/a;->j(IIII)F
move-result v3
.line 359
:goto_5d
return v3
.line 309
:cond_5e
const/4 v3, 0x0
move v12, v3
goto :goto_10
.line 322
:cond_61
const/4 v3, -0x1
move v11, v3
goto :goto_29
.line 323
:cond_64
const/4 v3, -0x1
goto :goto_30
:cond_66
move v9, v8
.line 330
goto :goto_3d
:cond_68
move v7, v5
.line 331
goto :goto_40
.line 336
:cond_6a
const/4 v4, 0x0
goto :goto_44
.line 340
:cond_6c
add-int/lit8 v7, v6, 0x1
.line 343
:goto_6e
add-int v6, v10, v14
.line 344
if-lez v6, :cond_93
.line 345
move/from16 v0, p3
if-eq v5, v0, :cond_7f
.line 348
add-int v4, v5, v3
.line 349
sub-int v5, v6, v13
.line 329
:goto_7a
add-int/2addr v8, v11
move v6, v7
move v10, v5
move v5, v4
goto :goto_38
:cond_7f
move v3, v7
.line 355
:goto_80
const/4 v4, 0x2
if-ne v3, v4, :cond_90
.line 356
add-int v3, p4, v11
move/from16 v0, p3
move/from16 v1, p2
move/from16 v2, p1
invoke-static {v3, v0, v1, v2}, Lcom/google/zxing/common/a/a;->j(IIII)F
move-result v3
goto :goto_5d
.line 359
:cond_90
const/high16 v3, 0x7fc00000 # Float.NaN
goto :goto_5d
:cond_93
move v4, v5
move v5, v6
goto :goto_7a
:cond_96
move v7, v6
goto :goto_6e
:cond_98
move v3, v6
goto :goto_80
:cond_9a
move/from16 v17, p4
move/from16 p4, p3
move/from16 p3, v17
move/from16 v18, p2
move/from16 p2, p1
move/from16 p1, v18
goto/16 :goto_12
.end method
# virtual methods
.method protected final a(Lcom/google/zxing/qrcode/a/f;)Lcom/google/zxing/common/f;
.registers 30
.prologue
.line 89
.line 1042
move-object/from16 v0, p1
iget-object v0, v0, Lcom/google/zxing/qrcode/a/f;->bpV:Lcom/google/zxing/qrcode/a/d;
move-object/from16 v17, v0
.line 1046
move-object/from16 v0, p1
iget-object v0, v0, Lcom/google/zxing/qrcode/a/f;->bpW:Lcom/google/zxing/qrcode/a/d;
move-object/from16 v18, v0
.line 2038
move-object/from16 v0, p1
iget-object v0, v0, Lcom/google/zxing/qrcode/a/f;->bpU:Lcom/google/zxing/qrcode/a/d;
move-object/from16 v19, v0
.line 2232
move-object/from16 v0, p0
move-object/from16 v1, v17
move-object/from16 v2, v18
invoke-direct {v0, v1, v2}, Lcom/google/zxing/qrcode/a/c;->b(Lcom/google/zxing/f;Lcom/google/zxing/f;)F
move-result v3
.line 2233
move-object/from16 v0, p0
move-object/from16 v1, v17
move-object/from16 v2, v19
invoke-direct {v0, v1, v2}, Lcom/google/zxing/qrcode/a/c;->b(Lcom/google/zxing/f;Lcom/google/zxing/f;)F
move-result v4
add-float/2addr v3, v4
const/high16 v4, 0x40000000 # 2.0f
div-float v9, v3, v4
.line 94
const/high16 v3, 0x3f800000 # 1.0f
cmpg-float v3, v9, v3
if-gez v3, :cond_36
.line 95
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v3
throw v3
.line 3202
:cond_36
invoke-static/range {v17 .. v18}, Lcom/google/zxing/f;->a(Lcom/google/zxing/f;Lcom/google/zxing/f;)F
move-result v3
div-float/2addr v3, v9
invoke-static {v3}, Lcom/google/zxing/common/a/a;->round(F)I
move-result v3
.line 3203
move-object/from16 v0, v17
move-object/from16 v1, v19
invoke-static {v0, v1}, Lcom/google/zxing/f;->a(Lcom/google/zxing/f;Lcom/google/zxing/f;)F
move-result v4
div-float/2addr v4, v9
invoke-static {v4}, Lcom/google/zxing/common/a/a;->round(F)I
move-result v4
.line 3204
add-int/2addr v3, v4
div-int/lit8 v3, v3, 0x2
add-int/lit8 v3, v3, 0x7
.line 3205
and-int/lit8 v4, v3, 0x3
packed-switch v4, :pswitch_data_3d0
:pswitch_56
move v13, v3
.line 98
:goto_57
invoke-static {v13}, Lcom/google/zxing/qrcode/decoder/g;->ei(I)Lcom/google/zxing/qrcode/decoder/g;
move-result-object v3
.line 99
invoke-virtual {v3}, Lcom/google/zxing/qrcode/decoder/g;->FH()I
move-result v4
add-int/lit8 v4, v4, -0x7
.line 101
const/4 v10, 0x0
.line 4070
iget-object v3, v3, Lcom/google/zxing/qrcode/decoder/g;->bpH:[I
.line 103
array-length v3, v3
if-lez v3, :cond_3cb
.line 5038
move-object/from16 v0, v18
iget v3, v0, Lcom/google/zxing/f;->x:F
.line 6038
move-object/from16 v0, v17
iget v5, v0, Lcom/google/zxing/f;->x:F
.line 106
sub-float/2addr v3, v5
.line 7038
move-object/from16 v0, v19
iget v5, v0, Lcom/google/zxing/f;->x:F
.line 106
add-float/2addr v3, v5
.line 7042
move-object/from16 v0, v18
iget v5, v0, Lcom/google/zxing/f;->y:F
.line 8042
move-object/from16 v0, v17
iget v6, v0, Lcom/google/zxing/f;->y:F
.line 107
sub-float/2addr v5, v6
.line 9042
move-object/from16 v0, v19
iget v6, v0, Lcom/google/zxing/f;->y:F
.line 107
add-float/2addr v5, v6
.line 111
const/high16 v6, 0x3f800000 # 1.0f
const/high16 v7, 0x40400000 # 3.0f
int-to-float v4, v4
div-float v4, v7, v4
sub-float v4, v6, v4
.line 10038
move-object/from16 v0, v17
iget v6, v0, Lcom/google/zxing/f;->x:F
.line 11038
move-object/from16 v0, v17
iget v7, v0, Lcom/google/zxing/f;->x:F
.line 112
sub-float/2addr v3, v7
mul-float/2addr v3, v4
add-float/2addr v3, v6
float-to-int v12, v3
.line 11042
move-object/from16 v0, v17
iget v3, v0, Lcom/google/zxing/f;->y:F
.line 12042
move-object/from16 v0, v17
iget v6, v0, Lcom/google/zxing/f;->y:F
.line 113
sub-float/2addr v5, v6
mul-float/2addr v4, v5
add-float/2addr v3, v4
float-to-int v14, v3
.line 116
const/4 v3, 0x4
move v11, v3
:goto_a6
const/16 v3, 0x10
if-gt v11, v3, :cond_3cb
.line 118
int-to-float v3, v11
.line 12380
mul-float/2addr v3, v9
float-to-int v3, v3
.line 12381
const/4 v4, 0x0
sub-int v5, v12, v3
:try_start_b0
invoke-static {v4, v5}, Ljava/lang/Math;->max(II)I
move-result v5
.line 12382
move-object/from16 v0, p0
iget-object v4, v0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 13399
iget v4, v4, Lcom/google/zxing/common/b;->width:I
.line 12382
add-int/lit8 v4, v4, -0x1
add-int v6, v12, v3
invoke-static {v4, v6}, Ljava/lang/Math;->min(II)I
move-result v7
.line 12383
sub-int v4, v7, v5
int-to-float v4, v4
const/high16 v6, 0x40400000 # 3.0f
mul-float/2addr v6, v9
cmpg-float v4, v4, v6
if-gez v4, :cond_e5
.line 12384
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v3
throw v3
:try_end_d1
.catch Lcom/google/zxing/NotFoundException; {:try_start_b0 .. :try_end_d1} :catch_d1
.line 116
:catch_d1
move-exception v3
shl-int/lit8 v3, v11, 0x1
move v11, v3
goto :goto_a6
.line 3207
:pswitch_d6
add-int/lit8 v3, v3, 0x1
move v13, v3
.line 3208
goto/16 :goto_57
.line 3211
:pswitch_db
add-int/lit8 v3, v3, -0x1
move v13, v3
.line 3212
goto/16 :goto_57
.line 3214
:pswitch_e0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v3
throw v3
.line 12387
:cond_e5
const/4 v4, 0x0
sub-int v6, v14, v3
:try_start_e8
invoke-static {v4, v6}, Ljava/lang/Math;->max(II)I
move-result v6
.line 12388
move-object/from16 v0, p0
iget-object v4, v0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 13406
iget v4, v4, Lcom/google/zxing/common/b;->height:I
.line 12388
add-int/lit8 v4, v4, -0x1
add-int/2addr v3, v14
invoke-static {v4, v3}, Ljava/lang/Math;->min(II)I
move-result v8
.line 12389
sub-int v3, v8, v6
int-to-float v3, v3
const/high16 v4, 0x40400000 # 3.0f
mul-float/2addr v4, v9
cmpg-float v3, v3, v4
if-gez v3, :cond_108
.line 12390
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v3
throw v3
.line 12393
:cond_108
new-instance v3, Lcom/google/zxing/qrcode/a/b;
move-object/from16 v0, p0
iget-object v4, v0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
sub-int/2addr v7, v5
sub-int/2addr v8, v6
invoke-direct/range {v3 .. v9}, Lcom/google/zxing/qrcode/a/b;-><init>(Lcom/google/zxing/common/b;IIIIF)V
.line 14088
iget v6, v3, Lcom/google/zxing/qrcode/a/b;->bpQ:I
.line 14089
iget v8, v3, Lcom/google/zxing/qrcode/a/b;->height:I
.line 14090
iget v4, v3, Lcom/google/zxing/qrcode/a/b;->width:I
add-int v15, v6, v4
.line 14091
iget v4, v3, Lcom/google/zxing/qrcode/a/b;->bpR:I
div-int/lit8 v5, v8, 0x2
add-int v16, v4, v5
.line 14094
const/4 v4, 0x3
new-array v0, v4, [I
move-object/from16 v20, v0
.line 14095
const/4 v4, 0x0
move v7, v4
:goto_128
if-ge v7, v8, :cond_380
.line 14097
and-int/lit8 v4, v7, 0x1
if-nez v4, :cond_150
add-int/lit8 v4, v7, 0x1
div-int/lit8 v4, v4, 0x2
:goto_132
add-int v21, v16, v4
.line 14098
const/4 v4, 0x0
const/4 v5, 0x0
aput v5, v20, v4
.line 14099
const/4 v4, 0x1
const/4 v5, 0x0
aput v5, v20, v4
.line 14100
const/4 v4, 0x2
const/4 v5, 0x0
aput v5, v20, v4
move v5, v6
.line 14105
:goto_141
if-ge v5, v15, :cond_156
iget-object v4, v3, Lcom/google/zxing/qrcode/a/b;->bpO:Lcom/google/zxing/common/b;
move/from16 v0, v21
invoke-virtual {v4, v5, v0}, Lcom/google/zxing/common/b;->av(II)Z
move-result v4
if-nez v4, :cond_156
.line 14106
add-int/lit8 v5, v5, 0x1
goto :goto_141
.line 14097
:cond_150
add-int/lit8 v4, v7, 0x1
div-int/lit8 v4, v4, 0x2
neg-int v4, v4
goto :goto_132
.line 14108
:cond_156
const/4 v4, 0x0
.line 14109
:goto_157
if-ge v5, v15, :cond_366
.line 14110
iget-object v0, v3, Lcom/google/zxing/qrcode/a/b;->bpO:Lcom/google/zxing/common/b;
move-object/from16 v22, v0
move-object/from16 v0, v22
move/from16 v1, v21
invoke-virtual {v0, v5, v1}, Lcom/google/zxing/common/b;->av(II)Z
move-result v22
if-eqz v22, :cond_356
.line 14112
const/16 v22, 0x1
move/from16 v0, v22
if-ne v4, v0, :cond_178
.line 14113
const/16 v22, 0x1
aget v23, v20, v22
add-int/lit8 v23, v23, 0x1
aput v23, v20, v22
.line 14136
:goto_175
add-int/lit8 v5, v5, 0x1
goto :goto_157
.line 14115
:cond_178
const/16 v22, 0x2
move/from16 v0, v22
if-ne v4, v0, :cond_34c
.line 14116
move-object/from16 v0, v20
invoke-virtual {v3, v0}, Lcom/google/zxing/qrcode/a/b;->d([I)Z
move-result v4
if-eqz v4, :cond_338
.line 14117
move-object/from16 v0, v20
move/from16 v1, v21
invoke-virtual {v3, v0, v1, v5}, Lcom/google/zxing/qrcode/a/b;->b([III)Lcom/google/zxing/qrcode/a/a;
:try_end_18d
.catch Lcom/google/zxing/NotFoundException; {:try_start_e8 .. :try_end_18d} :catch_d1
move-result-object v4
.line 14118
if-eqz v4, :cond_338
move-object v3, v4
:goto_191
move-object/from16 v16, v3
.line 15149
:goto_193
int-to-float v3, v13
const/high16 v4, 0x40600000 # 3.5f
sub-float v5, v3, v4
.line 15154
if-eqz v16, :cond_398
.line 16038
move-object/from16 v0, v16
iget v4, v0, Lcom/google/zxing/f;->x:F
.line 16042
move-object/from16 v0, v16
iget v3, v0, Lcom/google/zxing/f;->y:F
.line 15157
const/high16 v6, 0x40400000 # 3.0f
sub-float v7, v5, v6
move v14, v3
move v15, v4
move v8, v7
.line 22038
:goto_1a9
move-object/from16 v0, v17
iget v0, v0, Lcom/google/zxing/f;->x:F
move/from16 v20, v0
.line 22042
move-object/from16 v0, v17
iget v0, v0, Lcom/google/zxing/f;->y:F
move/from16 v21, v0
.line 23038
move-object/from16 v0, v18
iget v0, v0, Lcom/google/zxing/f;->x:F
move/from16 v22, v0
.line 23042
move-object/from16 v0, v18
iget v0, v0, Lcom/google/zxing/f;->y:F
move/from16 v23, v0
.line 24038
move-object/from16 v0, v19
iget v0, v0, Lcom/google/zxing/f;->x:F
move/from16 v24, v0
.line 24042
move-object/from16 v0, v19
iget v0, v0, Lcom/google/zxing/f;->y:F
move/from16 v25, v0
.line 24061
const/high16 v3, 0x40600000 # 3.5f
.line 24127
const/high16 v4, 0x40600000 # 3.5f
const/high16 v6, 0x40600000 # 3.5f
const/high16 v9, 0x40600000 # 3.5f
move v10, v5
invoke-static/range {v3 .. v10}, Lcom/google/zxing/common/i;->a(FFFFFFFF)Lcom/google/zxing/common/i;
move-result-object v12
.line 24132
new-instance v3, Lcom/google/zxing/common/i;
iget v4, v12, Lcom/google/zxing/common/i;->boV:F
iget v5, v12, Lcom/google/zxing/common/i;->boZ:F
mul-float/2addr v4, v5
iget v5, v12, Lcom/google/zxing/common/i;->boW:F
iget v6, v12, Lcom/google/zxing/common/i;->boY:F
mul-float/2addr v5, v6
sub-float/2addr v4, v5
iget v5, v12, Lcom/google/zxing/common/i;->boW:F
iget v6, v12, Lcom/google/zxing/common/i;->boX:F
mul-float/2addr v5, v6
iget v6, v12, Lcom/google/zxing/common/i;->boU:F
iget v7, v12, Lcom/google/zxing/common/i;->boZ:F
mul-float/2addr v6, v7
sub-float/2addr v5, v6
iget v6, v12, Lcom/google/zxing/common/i;->boU:F
iget v7, v12, Lcom/google/zxing/common/i;->boY:F
mul-float/2addr v6, v7
iget v7, v12, Lcom/google/zxing/common/i;->boV:F
iget v8, v12, Lcom/google/zxing/common/i;->boX:F
mul-float/2addr v7, v8
sub-float/2addr v6, v7
iget v7, v12, Lcom/google/zxing/common/i;->boT:F
iget v8, v12, Lcom/google/zxing/common/i;->boY:F
mul-float/2addr v7, v8
iget v8, v12, Lcom/google/zxing/common/i;->boS:F
iget v9, v12, Lcom/google/zxing/common/i;->boZ:F
mul-float/2addr v8, v9
sub-float/2addr v7, v8
iget v8, v12, Lcom/google/zxing/common/i;->boR:F
iget v9, v12, Lcom/google/zxing/common/i;->boZ:F
mul-float/2addr v8, v9
iget v9, v12, Lcom/google/zxing/common/i;->boT:F
iget v10, v12, Lcom/google/zxing/common/i;->boX:F
mul-float/2addr v9, v10
sub-float/2addr v8, v9
iget v9, v12, Lcom/google/zxing/common/i;->boS:F
iget v10, v12, Lcom/google/zxing/common/i;->boX:F
mul-float/2addr v9, v10
iget v10, v12, Lcom/google/zxing/common/i;->boR:F
iget v11, v12, Lcom/google/zxing/common/i;->boY:F
mul-float/2addr v10, v11
sub-float/2addr v9, v10
iget v10, v12, Lcom/google/zxing/common/i;->boS:F
iget v11, v12, Lcom/google/zxing/common/i;->boW:F
mul-float/2addr v10, v11
iget v11, v12, Lcom/google/zxing/common/i;->boT:F
iget v0, v12, Lcom/google/zxing/common/i;->boV:F
move/from16 v26, v0
mul-float v11, v11, v26
sub-float/2addr v10, v11
iget v11, v12, Lcom/google/zxing/common/i;->boT:F
iget v0, v12, Lcom/google/zxing/common/i;->boU:F
move/from16 v26, v0
mul-float v11, v11, v26
iget v0, v12, Lcom/google/zxing/common/i;->boR:F
move/from16 v26, v0
iget v0, v12, Lcom/google/zxing/common/i;->boW:F
move/from16 v27, v0
mul-float v26, v26, v27
sub-float v11, v11, v26
iget v0, v12, Lcom/google/zxing/common/i;->boR:F
move/from16 v26, v0
iget v0, v12, Lcom/google/zxing/common/i;->boV:F
move/from16 v27, v0
mul-float v26, v26, v27
iget v0, v12, Lcom/google/zxing/common/i;->boS:F
move/from16 v27, v0
iget v12, v12, Lcom/google/zxing/common/i;->boU:F
mul-float v12, v12, v27
sub-float v12, v26, v12
invoke-direct/range {v3 .. v12}, Lcom/google/zxing/common/i;-><init>(FFFFFFFFF)V
move/from16 v4, v20
move/from16 v5, v21
move/from16 v6, v22
move/from16 v7, v23
move v8, v15
move v9, v14
move/from16 v10, v24
move/from16 v11, v25
.line 24062
invoke-static/range {v4 .. v11}, Lcom/google/zxing/common/i;->a(FFFFFFFF)Lcom/google/zxing/common/i;
move-result-object v12
.line 24144
new-instance v14, Lcom/google/zxing/common/i;
iget v4, v12, Lcom/google/zxing/common/i;->boR:F
iget v5, v3, Lcom/google/zxing/common/i;->boR:F
mul-float/2addr v4, v5
iget v5, v12, Lcom/google/zxing/common/i;->boU:F
iget v6, v3, Lcom/google/zxing/common/i;->boS:F
mul-float/2addr v5, v6
add-float/2addr v4, v5
iget v5, v12, Lcom/google/zxing/common/i;->boX:F
iget v6, v3, Lcom/google/zxing/common/i;->boT:F
mul-float/2addr v5, v6
add-float/2addr v4, v5
iget v5, v12, Lcom/google/zxing/common/i;->boR:F
iget v6, v3, Lcom/google/zxing/common/i;->boU:F
mul-float/2addr v5, v6
iget v6, v12, Lcom/google/zxing/common/i;->boU:F
iget v7, v3, Lcom/google/zxing/common/i;->boV:F
mul-float/2addr v6, v7
add-float/2addr v5, v6
iget v6, v12, Lcom/google/zxing/common/i;->boX:F
iget v7, v3, Lcom/google/zxing/common/i;->boW:F
mul-float/2addr v6, v7
add-float/2addr v5, v6
iget v6, v12, Lcom/google/zxing/common/i;->boR:F
iget v7, v3, Lcom/google/zxing/common/i;->boX:F
mul-float/2addr v6, v7
iget v7, v12, Lcom/google/zxing/common/i;->boU:F
iget v8, v3, Lcom/google/zxing/common/i;->boY:F
mul-float/2addr v7, v8
add-float/2addr v6, v7
iget v7, v12, Lcom/google/zxing/common/i;->boX:F
iget v8, v3, Lcom/google/zxing/common/i;->boZ:F
mul-float/2addr v7, v8
add-float/2addr v6, v7
iget v7, v12, Lcom/google/zxing/common/i;->boS:F
iget v8, v3, Lcom/google/zxing/common/i;->boR:F
mul-float/2addr v7, v8
iget v8, v12, Lcom/google/zxing/common/i;->boV:F
iget v9, v3, Lcom/google/zxing/common/i;->boS:F
mul-float/2addr v8, v9
add-float/2addr v7, v8
iget v8, v12, Lcom/google/zxing/common/i;->boY:F
iget v9, v3, Lcom/google/zxing/common/i;->boT:F
mul-float/2addr v8, v9
add-float/2addr v7, v8
iget v8, v12, Lcom/google/zxing/common/i;->boS:F
iget v9, v3, Lcom/google/zxing/common/i;->boU:F
mul-float/2addr v8, v9
iget v9, v12, Lcom/google/zxing/common/i;->boV:F
iget v10, v3, Lcom/google/zxing/common/i;->boV:F
mul-float/2addr v9, v10
add-float/2addr v8, v9
iget v9, v12, Lcom/google/zxing/common/i;->boY:F
iget v10, v3, Lcom/google/zxing/common/i;->boW:F
mul-float/2addr v9, v10
add-float/2addr v8, v9
iget v9, v12, Lcom/google/zxing/common/i;->boS:F
iget v10, v3, Lcom/google/zxing/common/i;->boX:F
mul-float/2addr v9, v10
iget v10, v12, Lcom/google/zxing/common/i;->boV:F
iget v11, v3, Lcom/google/zxing/common/i;->boY:F
mul-float/2addr v10, v11
add-float/2addr v9, v10
iget v10, v12, Lcom/google/zxing/common/i;->boY:F
iget v11, v3, Lcom/google/zxing/common/i;->boZ:F
mul-float/2addr v10, v11
add-float/2addr v9, v10
iget v10, v12, Lcom/google/zxing/common/i;->boT:F
iget v11, v3, Lcom/google/zxing/common/i;->boR:F
mul-float/2addr v10, v11
iget v11, v12, Lcom/google/zxing/common/i;->boW:F
iget v15, v3, Lcom/google/zxing/common/i;->boS:F
mul-float/2addr v11, v15
add-float/2addr v10, v11
iget v11, v12, Lcom/google/zxing/common/i;->boZ:F
iget v15, v3, Lcom/google/zxing/common/i;->boT:F
mul-float/2addr v11, v15
add-float/2addr v10, v11
iget v11, v12, Lcom/google/zxing/common/i;->boT:F
iget v15, v3, Lcom/google/zxing/common/i;->boU:F
mul-float/2addr v11, v15
iget v15, v12, Lcom/google/zxing/common/i;->boW:F
iget v0, v3, Lcom/google/zxing/common/i;->boV:F
move/from16 v20, v0
mul-float v15, v15, v20
add-float/2addr v11, v15
iget v15, v12, Lcom/google/zxing/common/i;->boZ:F
iget v0, v3, Lcom/google/zxing/common/i;->boW:F
move/from16 v20, v0
mul-float v15, v15, v20
add-float/2addr v11, v15
iget v15, v12, Lcom/google/zxing/common/i;->boT:F
iget v0, v3, Lcom/google/zxing/common/i;->boX:F
move/from16 v20, v0
mul-float v15, v15, v20
iget v0, v12, Lcom/google/zxing/common/i;->boW:F
move/from16 v20, v0
iget v0, v3, Lcom/google/zxing/common/i;->boY:F
move/from16 v21, v0
mul-float v20, v20, v21
add-float v15, v15, v20
iget v12, v12, Lcom/google/zxing/common/i;->boZ:F
iget v3, v3, Lcom/google/zxing/common/i;->boZ:F
mul-float/2addr v3, v12
add-float v12, v15, v3
move-object v3, v14
invoke-direct/range {v3 .. v12}, Lcom/google/zxing/common/i;-><init>(FFFFFFFFF)V
.line 133
move-object/from16 v0, p0
iget-object v3, v0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;
.line 24190
invoke-static {}, Lcom/google/zxing/common/h;->FE()Lcom/google/zxing/common/h;
move-result-object v4
.line 24191
invoke-virtual {v4, v3, v13, v13, v14}, Lcom/google/zxing/common/h;->a(Lcom/google/zxing/common/b;IILcom/google/zxing/common/i;)Lcom/google/zxing/common/b;
move-result-object v4
.line 136
if-nez v16, :cond_3ba
.line 137
const/4 v3, 0x3
new-array v3, v3, [Lcom/google/zxing/f;
const/4 v5, 0x0
aput-object v19, v3, v5
const/4 v5, 0x1
aput-object v17, v3, v5
const/4 v5, 0x2
aput-object v18, v3, v5
.line 141
:goto_332
new-instance v5, Lcom/google/zxing/common/f;
invoke-direct {v5, v4, v3}, Lcom/google/zxing/common/f;-><init>(Lcom/google/zxing/common/b;[Lcom/google/zxing/f;)V
return-object v5
.line 14122
:cond_338
const/4 v4, 0x0
const/16 v22, 0x2
:try_start_33b
aget v22, v20, v22
aput v22, v20, v4
.line 14123
const/4 v4, 0x1
const/16 v22, 0x1
aput v22, v20, v4
.line 14124
const/4 v4, 0x2
const/16 v22, 0x0
aput v22, v20, v4
.line 14125
const/4 v4, 0x1
goto/16 :goto_175
.line 14127
:cond_34c
add-int/lit8 v4, v4, 0x1
aget v22, v20, v4
add-int/lit8 v22, v22, 0x1
aput v22, v20, v4
goto/16 :goto_175
.line 14131
:cond_356
const/16 v22, 0x1
move/from16 v0, v22
if-ne v4, v0, :cond_35e
.line 14132
add-int/lit8 v4, v4, 0x1
.line 14134
:cond_35e
aget v22, v20, v4
add-int/lit8 v22, v22, 0x1
aput v22, v20, v4
goto/16 :goto_175
.line 14138
:cond_366
move-object/from16 v0, v20
invoke-virtual {v3, v0}, Lcom/google/zxing/qrcode/a/b;->d([I)Z
move-result v4
if-eqz v4, :cond_37b
.line 14139
move-object/from16 v0, v20
move/from16 v1, v21
invoke-virtual {v3, v0, v1, v15}, Lcom/google/zxing/qrcode/a/b;->b([III)Lcom/google/zxing/qrcode/a/a;
move-result-object v4
.line 14140
if-eqz v4, :cond_37b
move-object v3, v4
.line 14141
goto/16 :goto_191
.line 14095
:cond_37b
add-int/lit8 v4, v7, 0x1
move v7, v4
goto/16 :goto_128
.line 14149
:cond_380
iget-object v4, v3, Lcom/google/zxing/qrcode/a/b;->bpP:Ljava/util/List;
invoke-interface {v4}, Ljava/util/List;->isEmpty()Z
move-result v4
if-nez v4, :cond_393
.line 14150
iget-object v3, v3, Lcom/google/zxing/qrcode/a/b;->bpP:Ljava/util/List;
const/4 v4, 0x0
invoke-interface {v3, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/zxing/qrcode/a/a;
goto/16 :goto_191
.line 14153
:cond_393
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v3
throw v3
:try_end_398
.catch Lcom/google/zxing/NotFoundException; {:try_start_33b .. :try_end_398} :catch_d1
.line 17038
:cond_398
move-object/from16 v0, v18
iget v3, v0, Lcom/google/zxing/f;->x:F
.line 18038
move-object/from16 v0, v17
iget v4, v0, Lcom/google/zxing/f;->x:F
.line 15161
sub-float/2addr v3, v4
.line 19038
move-object/from16 v0, v19
iget v4, v0, Lcom/google/zxing/f;->x:F
.line 15161
add-float/2addr v4, v3
.line 19042
move-object/from16 v0, v18
iget v3, v0, Lcom/google/zxing/f;->y:F
.line 20042
move-object/from16 v0, v17
iget v6, v0, Lcom/google/zxing/f;->y:F
.line 15162
sub-float/2addr v3, v6
.line 21042
move-object/from16 v0, v19
iget v6, v0, Lcom/google/zxing/f;->y:F
.line 15162
add-float/2addr v3, v6
move v7, v5
move v14, v3
move v15, v4
move v8, v5
.line 15164
goto/16 :goto_1a9
.line 139
:cond_3ba
const/4 v3, 0x4
new-array v3, v3, [Lcom/google/zxing/f;
const/4 v5, 0x0
aput-object v19, v3, v5
const/4 v5, 0x1
aput-object v17, v3, v5
const/4 v5, 0x2
aput-object v18, v3, v5
const/4 v5, 0x3
aput-object v16, v3, v5
goto/16 :goto_332
:cond_3cb
move-object/from16 v16, v10
goto/16 :goto_193
.line 3205
nop
:pswitch_data_3d0
.packed-switch 0x0
:pswitch_d6
:pswitch_56
:pswitch_db
:pswitch_e0
.end packed-switch
.end method