| # Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file |
| # for details. All rights reserved. Use of this source code is governed by a |
| # BSD-style license that can be found in the LICENSE file. |
| |
| .class public final LTestObject; |
| .super Ljava/lang/Object; |
| |
| .field private i:I |
| .field private o:LTest; |
| |
| .method public constructor <init>()V |
| .registers 1 |
| invoke-direct {p0}, Ljava/lang/Object;-><init>()V |
| return-void |
| .end method |
| |
| .method public final a(LTest;LTest;)I |
| .registers 28 |
| .prologue |
| :cond_0 |
| :goto_0 |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| packed-switch v4, :pswitch_data_60a |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| const/4 v5, 0x3 |
| if-ne v4, v5, :cond_4ac |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| if-nez v4, :cond_431 |
| move-object/from16 v0, p0 |
| iget-object v11, v0, LTestObject;->o:LTest; |
| const/4 v5, 0x0 |
| const-wide v8, 0x7fffffffffffffffL |
| invoke-virtual {v11}, LTest;->size()I |
| move-result v12 |
| const/4 v4, 0x0 |
| move v10, v4 |
| :goto_24 |
| if-ge v10, v12, :cond_3e8 |
| invoke-virtual {v11, v10}, LTest;->valueAt(I)Ljava/lang/Object; |
| move-result-object v4 |
| check-cast v4, LTest; |
| iget v6, v4, LTest;->e:I |
| iget-object v7, v4, LTest;->a:LTest; |
| iget v7, v7, LTest;->d:I |
| if-eq v6, v7, :cond_5fe |
| iget-object v6, v4, LTest;->a:LTest; |
| iget-wide v6, v6, LTest;->b:J |
| cmp-long v13, v6, v8 |
| if-gez v13, :cond_5fe |
| move-wide/from16 v23, v6 |
| move-object v6, v4 |
| move-wide/from16 v4, v23 |
| :goto_41 |
| add-int/lit8 v7, v10, 0x1 |
| move v10, v7 |
| move-wide v8, v4 |
| move-object v5, v6 |
| goto :goto_24 |
| :pswitch_47 |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| if-nez v4, :cond_8a |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v4, v4, LTest;->a:[B |
| const/4 v5, 0x0 |
| const/16 v6, 0x8 |
| const/4 v7, 0x1 |
| move-object/from16 v0, p1 |
| invoke-virtual {v0, v4, v5, v6, v7}, LTest;->a([BIIZ)Z |
| move-result v4 |
| if-nez v4, :cond_64 |
| const/4 v4, 0x0 |
| :goto_60 |
| if-nez v4, :cond_0 |
| const/4 v4, -0x1 |
| :goto_63 |
| return v4 |
| :cond_64 |
| const/16 v4, 0x8 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| const/4 v5, 0x0 |
| invoke-virtual {v4, v5}, LTest;->c(I)V |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| invoke-virtual {v4}, LTest;->h()J |
| move-result-wide v4 |
| move-object/from16 v0, p0 |
| iput-wide v4, v0, LTestObject;->n:J |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| invoke-virtual {v4}, LTest;->j()I |
| move-result v4 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| :cond_8a |
| move-object/from16 v0, p0 |
| iget-wide v4, v0, LTestObject;->n:J |
| const-wide/16 v6, 0x1 |
| cmp-long v4, v4, v6 |
| if-nez v4, :cond_b9 |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v4, v4, LTest;->a:[B |
| const/16 v5, 0x8 |
| const/16 v6, 0x8 |
| move-object/from16 v0, p1 |
| invoke-virtual {v0, v4, v5, v6}, LTest;->b([BII)V |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| add-int/lit8 v4, v4, 0x8 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| invoke-virtual {v4}, LTest;->p()J |
| move-result-wide v4 |
| move-object/from16 v0, p0 |
| iput-wide v4, v0, LTestObject;->n:J |
| :cond_b9 |
| invoke-virtual/range {p1 .. p1}, LTest;->c()J |
| move-result-wide v4 |
| move-object/from16 v0, p0 |
| iget v6, v0, LTestObject;->i:I |
| int-to-long v6, v6 |
| sub-long v6, v4, v6 |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| sget v5, LTest;->J:I |
| if-ne v4, v5, :cond_ec |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| invoke-virtual {v4}, LTest;->size()I |
| move-result v8 |
| const/4 v4, 0x0 |
| move v5, v4 |
| :goto_d6 |
| if-ge v5, v8, :cond_ec |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| invoke-virtual {v4, v5}, LTest;->valueAt(I)Ljava/lang/Object; |
| move-result-object v4 |
| check-cast v4, LTest; |
| iget-object v4, v4, LTest;->a:LTest; |
| iput-wide v6, v4, LTest;->c:J |
| iput-wide v6, v4, LTest;->b:J |
| add-int/lit8 v4, v5, 0x1 |
| move v5, v4 |
| goto :goto_d6 |
| :cond_ec |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| sget v5, LTest;->h:I |
| if-ne v4, v5, :cond_11e |
| const/4 v4, 0x0 |
| move-object/from16 v0, p0 |
| iput-object v4, v0, LTestObject;->o:LTest; |
| move-object/from16 v0, p0 |
| iget-wide v4, v0, LTestObject;->n:J |
| add-long/2addr v4, v6 |
| move-object/from16 v0, p0 |
| iput-wide v4, v0, LTestObject;->q:J |
| move-object/from16 v0, p0 |
| iget-boolean v4, v0, LTestObject;->w:Z |
| if-nez v4, :cond_116 |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| sget-object v5, LTest;->f:LTest; |
| invoke-virtual {v4, v5}, LTest;->a(LTest;)V |
| const/4 v4, 0x1 |
| move-object/from16 v0, p0 |
| iput-boolean v4, v0, LTestObject;->w:Z |
| :cond_116 |
| const/4 v4, 0x2 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| :goto_11b |
| const/4 v4, 0x1 |
| goto/16 :goto_60 |
| :cond_11e |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| sget v5, LTest;->A:I |
| if-eq v4, v5, :cond_146 |
| sget v5, LTest;->C:I |
| if-eq v4, v5, :cond_146 |
| sget v5, LTest;->D:I |
| if-eq v4, v5, :cond_146 |
| sget v5, LTest;->E:I |
| if-eq v4, v5, :cond_146 |
| sget v5, LTest;->F:I |
| if-eq v4, v5, :cond_146 |
| sget v5, LTest;->J:I |
| if-eq v4, v5, :cond_146 |
| sget v5, LTest;->K:I |
| if-eq v4, v5, :cond_146 |
| sget v5, LTest;->L:I |
| if-eq v4, v5, :cond_146 |
| sget v5, LTest;->O:I |
| if-ne v4, v5, :cond_178 |
| :cond_146 |
| const/4 v4, 0x1 |
| :goto_147 |
| if-eqz v4, :cond_17e |
| invoke-virtual/range {p1 .. p1}, LTest;->c()J |
| move-result-wide v4 |
| move-object/from16 v0, p0 |
| iget-wide v6, v0, LTestObject;->n:J |
| add-long/2addr v4, v6 |
| const-wide/16 v6, 0x8 |
| sub-long/2addr v4, v6 |
| move-object/from16 v0, p0 |
| iget-object v6, v0, LTestObject;->k:Ljava/util/Stack; |
| new-instance v7, LTest; |
| move-object/from16 v0, p0 |
| iget v8, v0, LTestObject;->i:I |
| invoke-direct {v7, v8, v4, v5}, LTest;-><init>(IJ)V |
| invoke-virtual {v6, v7}, Ljava/util/Stack;->add(Ljava/lang/Object;)Z |
| move-object/from16 v0, p0 |
| iget-wide v6, v0, LTestObject;->n:J |
| move-object/from16 v0, p0 |
| iget v8, v0, LTestObject;->i:I |
| int-to-long v8, v8 |
| cmp-long v6, v6, v8 |
| if-nez v6, :cond_17a |
| move-object/from16 v0, p0 |
| invoke-direct {v0, v4, v5}, LTestObject;->a(J)V |
| goto :goto_11b |
| :cond_178 |
| const/4 v4, 0x0 |
| goto :goto_147 |
| :cond_17a |
| invoke-direct/range {p0 .. p0}, LTestObject;->a()V |
| goto :goto_11b |
| :cond_17e |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| sget v5, LTest;->R:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->Q:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->B:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->z:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->S:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->v:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->w:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->N:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->x:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->y:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->T:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->ab:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->ac:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->ag:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->ad:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->ae:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->af:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->P:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->M:I |
| if-eq v4, v5, :cond_1d2 |
| sget v5, LTest;->aD:I |
| if-ne v4, v5, :cond_1e5 |
| :cond_1d2 |
| const/4 v4, 0x1 |
| :goto_1d3 |
| if-eqz v4, :cond_222 |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| const/16 v5, 0x8 |
| if-eq v4, v5, :cond_1e7 |
| new-instance v4, LTest; |
| const-string v5, "a" |
| invoke-direct {v4, v5}, LTest;-><init>(Ljava/lang/String;)V |
| throw v4 |
| :cond_1e5 |
| const/4 v4, 0x0 |
| goto :goto_1d3 |
| :cond_1e7 |
| move-object/from16 v0, p0 |
| iget-wide v4, v0, LTestObject;->n:J |
| const-wide/32 v6, 0x7fffffff |
| cmp-long v4, v4, v6 |
| if-lez v4, :cond_1fa |
| new-instance v4, LTest; |
| const-string v5, "a" |
| invoke-direct {v4, v5}, LTest;-><init>(Ljava/lang/String;)V |
| throw v4 |
| :cond_1fa |
| new-instance v4, LTest; |
| move-object/from16 v0, p0 |
| iget-wide v6, v0, LTestObject;->n:J |
| long-to-int v5, v6 |
| invoke-direct {v4, v5}, LTest;-><init>(I)V |
| move-object/from16 v0, p0 |
| iput-object v4, v0, LTestObject;->o:LTest; |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v4, v4, LTest;->a:[B |
| const/4 v5, 0x0 |
| move-object/from16 v0, p0 |
| iget-object v6, v0, LTestObject;->o:LTest; |
| iget-object v6, v6, LTest;->a:[B |
| const/4 v7, 0x0 |
| const/16 v8, 0x8 |
| invoke-static {v4, v5, v6, v7, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V |
| const/4 v4, 0x1 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| goto/16 :goto_11b |
| :cond_222 |
| move-object/from16 v0, p0 |
| iget-wide v4, v0, LTestObject;->n:J |
| const-wide/32 v6, 0x7fffffff |
| cmp-long v4, v4, v6 |
| if-lez v4, :cond_235 |
| new-instance v4, LTest; |
| const-string v5, "a" |
| invoke-direct {v4, v5}, LTest;-><init>(Ljava/lang/String;)V |
| throw v4 |
| :cond_235 |
| const/4 v4, 0x0 |
| move-object/from16 v0, p0 |
| iput-object v4, v0, LTestObject;->o:LTest; |
| const/4 v4, 0x1 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| goto/16 :goto_11b |
| :pswitch_241 |
| move-object/from16 v0, p0 |
| iget-wide v4, v0, LTestObject;->n:J |
| long-to-int v4, v4 |
| move-object/from16 v0, p0 |
| iget v5, v0, LTestObject;->i:I |
| sub-int/2addr v4, v5 |
| move-object/from16 v0, p0 |
| iget-object v5, v0, LTestObject;->o:LTest; |
| if-eqz v5, :cond_368 |
| move-object/from16 v0, p0 |
| iget-object v5, v0, LTestObject;->o:LTest; |
| iget-object v5, v5, LTest;->a:[B |
| const/16 v6, 0x8 |
| move-object/from16 v0, p1 |
| invoke-virtual {v0, v5, v6, v4}, LTest;->b([BII)V |
| new-instance v5, LTest; |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget-object v6, v0, LTestObject;->o:LTest; |
| invoke-direct {v5, v4, v6}, LTest;-><init>(ILTest;)V |
| invoke-virtual/range {p1 .. p1}, LTest;->c()J |
| move-result-wide v10 |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->k:Ljava/util/Stack; |
| invoke-virtual {v4}, Ljava/util/Stack;->isEmpty()Z |
| move-result v4 |
| if-nez v4, :cond_291 |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->k:Ljava/util/Stack; |
| invoke-virtual {v4}, Ljava/util/Stack;->peek()Ljava/lang/Object; |
| move-result-object v4 |
| check-cast v4, LTest; |
| invoke-virtual {v4, v5}, LTest;->a(LTest;)V |
| :cond_286 |
| :goto_286 |
| invoke-virtual/range {p1 .. p1}, LTest;->c()J |
| move-result-wide v4 |
| move-object/from16 v0, p0 |
| invoke-direct {v0, v4, v5}, LTestObject;->a(J)V |
| goto/16 :goto_0 |
| :cond_291 |
| iget v4, v5, LTest;->aL:I |
| sget v6, LTest;->z:I |
| if-ne v4, v6, :cond_359 |
| iget-object v0, v5, LTest;->aM:LTest; |
| move-object/from16 v16, v0 |
| const/16 v4, 0x8 |
| move-object/from16 v0, v16 |
| invoke-virtual {v0, v4}, LTest;->c(I)V |
| invoke-virtual/range {v16 .. v16}, LTest;->j()I |
| move-result v4 |
| invoke-static {v4}, LTest;->a(I)I |
| move-result v4 |
| const/4 v5, 0x4 |
| move-object/from16 v0, v16 |
| invoke-virtual {v0, v5}, LTest;->d(I)V |
| invoke-virtual/range {v16 .. v16}, LTest;->h()J |
| move-result-wide v8 |
| if-nez v4, :cond_304 |
| invoke-virtual/range {v16 .. v16}, LTest;->h()J |
| move-result-wide v6 |
| invoke-virtual/range {v16 .. v16}, LTest;->h()J |
| move-result-wide v4 |
| add-long/2addr v4, v10 |
| move-wide v10, v4 |
| move-wide v4, v6 |
| :goto_2c1 |
| const/4 v6, 0x2 |
| move-object/from16 v0, v16 |
| invoke-virtual {v0, v6}, LTest;->d(I)V |
| invoke-virtual/range {v16 .. v16}, LTest;->e()I |
| move-result v17 |
| move/from16 v0, v17 |
| new-array v0, v0, [I |
| move-object/from16 v18, v0 |
| move/from16 v0, v17 |
| new-array v0, v0, [J |
| move-object/from16 v19, v0 |
| move/from16 v0, v17 |
| new-array v0, v0, [J |
| move-object/from16 v20, v0 |
| move/from16 v0, v17 |
| new-array v0, v0, [J |
| move-object/from16 v21, v0 |
| const-wide/32 v6, 0xf4240 |
| invoke-static/range {v4 .. v9}, LTest;->a(JJJ)J |
| move-result-wide v12 |
| const/4 v6, 0x0 |
| move-wide v14, v10 |
| move v10, v6 |
| move-wide v6, v4 |
| move-wide v4, v12 |
| :goto_2ef |
| move/from16 v0, v17 |
| if-ge v10, v0, :cond_33e |
| invoke-virtual/range {v16 .. v16}, LTest;->j()I |
| move-result v11 |
| const/high16 v12, -0x80000000 |
| and-int/2addr v12, v11 |
| if-eqz v12, :cond_310 |
| new-instance v4, LTest; |
| const-string v5, "a" |
| invoke-direct {v4, v5}, LTest;-><init>(Ljava/lang/String;)V |
| throw v4 |
| :cond_304 |
| invoke-virtual/range {v16 .. v16}, LTest;->p()J |
| move-result-wide v6 |
| invoke-virtual/range {v16 .. v16}, LTest;->p()J |
| move-result-wide v4 |
| add-long/2addr v4, v10 |
| move-wide v10, v4 |
| move-wide v4, v6 |
| goto :goto_2c1 |
| :cond_310 |
| invoke-virtual/range {v16 .. v16}, LTest;->h()J |
| move-result-wide v12 |
| const v22, 0x7fffffff |
| and-int v11, v11, v22 |
| aput v11, v18, v10 |
| aput-wide v14, v19, v10 |
| aput-wide v4, v21, v10 |
| add-long v4, v6, v12 |
| const-wide/32 v6, 0xf4240 |
| invoke-static/range {v4 .. v9}, LTest;->a(JJJ)J |
| move-result-wide v12 |
| aget-wide v6, v21, v10 |
| sub-long v6, v12, v6 |
| aput-wide v6, v20, v10 |
| const/4 v6, 0x4 |
| move-object/from16 v0, v16 |
| invoke-virtual {v0, v6}, LTest;->d(I)V |
| aget v6, v18, v10 |
| int-to-long v6, v6 |
| add-long/2addr v14, v6 |
| add-int/lit8 v6, v10, 0x1 |
| move v10, v6 |
| move-wide v6, v4 |
| move-wide v4, v12 |
| goto :goto_2ef |
| :cond_33e |
| new-instance v4, LTest; |
| move-object/from16 v0, v18 |
| move-object/from16 v1, v19 |
| move-object/from16 v2, v20 |
| move-object/from16 v3, v21 |
| invoke-direct {v4, v0, v1, v2, v3}, LTest;-><init>([I[J[J[J)V |
| move-object/from16 v0, p0 |
| iget-object v5, v0, LTestObject;->o:LTest; |
| invoke-virtual {v5, v4}, LTest;->a(LTest;)V |
| const/4 v4, 0x1 |
| move-object/from16 v0, p0 |
| iput-boolean v4, v0, LTestObject;->w:Z |
| goto/16 :goto_286 |
| :cond_359 |
| iget v4, v5, LTest;->aL:I |
| sget v6, LTest;->aD:I |
| if-ne v4, v6, :cond_286 |
| iget-object v4, v5, LTest;->aM:LTest; |
| move-object/from16 v0, p0 |
| invoke-virtual {v0, v4}, LTestObject;->a(LTest;)V |
| goto/16 :goto_286 |
| :cond_368 |
| move-object/from16 v0, p1 |
| invoke-virtual {v0, v4}, LTest;->b(I)V |
| goto/16 :goto_286 |
| :pswitch_36f |
| const/4 v5, 0x0 |
| const-wide v6, 0x7fffffffffffffffL |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| invoke-virtual {v4}, LTest;->size()I |
| move-result v9 |
| const/4 v4, 0x0 |
| move v8, v4 |
| :goto_37f |
| if-ge v8, v9, :cond_3b1 |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| invoke-virtual {v4, v8}, LTest;->valueAt(I)Ljava/lang/Object; |
| move-result-object v4 |
| check-cast v4, LTest; |
| iget-object v4, v4, LTest;->a:LTest; |
| iget-boolean v10, v4, LTest;->m:Z |
| if-eqz v10, :cond_602 |
| iget-wide v10, v4, LTest;->c:J |
| cmp-long v10, v10, v6 |
| if-gez v10, :cond_602 |
| iget-wide v6, v4, LTest;->c:J |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| invoke-virtual {v4, v8}, LTest;->valueAt(I)Ljava/lang/Object; |
| move-result-object v4 |
| check-cast v4, LTest; |
| move-wide/from16 v23, v6 |
| move-object v6, v4 |
| move-wide/from16 v4, v23 |
| :goto_3a8 |
| add-int/lit8 v7, v8, 0x1 |
| move v8, v7 |
| move-wide/from16 v23, v4 |
| move-object v5, v6 |
| move-wide/from16 v6, v23 |
| goto :goto_37f |
| :cond_3b1 |
| if-nez v5, :cond_3ba |
| const/4 v4, 0x3 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| goto/16 :goto_0 |
| :cond_3ba |
| invoke-virtual/range {p1 .. p1}, LTest;->c()J |
| move-result-wide v8 |
| sub-long/2addr v6, v8 |
| long-to-int v4, v6 |
| if-gez v4, :cond_3ca |
| new-instance v4, LTest; |
| const-string v5, "a" |
| invoke-direct {v4, v5}, LTest;-><init>(Ljava/lang/String;)V |
| throw v4 |
| :cond_3ca |
| move-object/from16 v0, p1 |
| invoke-virtual {v0, v4}, LTest;->b(I)V |
| iget-object v4, v5, LTest;->a:LTest; |
| iget-object v5, v4, LTest;->l:LTest; |
| iget-object v5, v5, LTest;->a:[B |
| const/4 v6, 0x0 |
| iget v7, v4, LTest;->k:I |
| move-object/from16 v0, p1 |
| invoke-virtual {v0, v5, v6, v7}, LTest;->b([BII)V |
| iget-object v5, v4, LTest;->l:LTest; |
| const/4 v6, 0x0 |
| invoke-virtual {v5, v6}, LTest;->c(I)V |
| const/4 v5, 0x0 |
| iput-boolean v5, v4, LTest;->m:Z |
| goto/16 :goto_0 |
| :cond_3e8 |
| move-object/from16 v0, p0 |
| iput-object v5, v0, LTestObject;->o:LTest; |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| if-nez v4, :cond_414 |
| move-object/from16 v0, p0 |
| iget-wide v4, v0, LTestObject;->q:J |
| invoke-virtual/range {p1 .. p1}, LTest;->c()J |
| move-result-wide v6 |
| sub-long/2addr v4, v6 |
| long-to-int v4, v4 |
| if-gez v4, :cond_406 |
| new-instance v4, LTest; |
| const-string v5, "" |
| invoke-direct {v4, v5}, LTest;-><init>(Ljava/lang/String;)V |
| throw v4 |
| :cond_406 |
| move-object/from16 v0, p1 |
| invoke-virtual {v0, v4}, LTest;->b(I)V |
| invoke-direct/range {p0 .. p0}, LTestObject;->a()V |
| const/4 v4, 0x0 |
| :goto_40f |
| if-eqz v4, :cond_0 |
| const/4 v4, 0x0 |
| goto/16 :goto_63 |
| :cond_414 |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v4, v4, LTest;->a:LTest; |
| iget-wide v4, v4, LTest;->b:J |
| invoke-virtual/range {p1 .. p1}, LTest;->c()J |
| move-result-wide v6 |
| sub-long/2addr v4, v6 |
| long-to-int v4, v4 |
| if-gez v4, :cond_42c |
| new-instance v4, LTest; |
| const-string v5, "" |
| invoke-direct {v4, v5}, LTest;-><init>(Ljava/lang/String;)V |
| throw v4 |
| :cond_42c |
| move-object/from16 v0, p1 |
| invoke-virtual {v0, v4}, LTest;->b(I)V |
| :cond_431 |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v4, v4, LTest;->a:LTest; |
| iget-object v4, v4, LTest;->e:[I |
| move-object/from16 v0, p0 |
| iget-object v5, v0, LTestObject;->o:LTest; |
| iget v5, v5, LTest;->e:I |
| aget v4, v4, v5 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v4, v4, LTest;->a:LTest; |
| iget-boolean v4, v4, LTest;->i:Z |
| if-eqz v4, :cond_553 |
| move-object/from16 v0, p0 |
| iget-object v5, v0, LTestObject;->o:LTest; |
| iget-object v6, v5, LTest;->a:LTest; |
| iget-object v7, v6, LTest;->l:LTest; |
| iget-object v4, v6, LTest;->a:LTest; |
| iget v4, v4, LTest;->a:I |
| iget-object v8, v6, LTest;->n:LTest; |
| if-eqz v8, :cond_534 |
| iget-object v4, v6, LTest;->n:LTest; |
| :goto_461 |
| iget v8, v4, LTest;->a:I |
| iget-object v4, v6, LTest;->j:[Z |
| iget v6, v5, LTest;->e:I |
| aget-boolean v6, v4, v6 |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v9, v4, LTest;->a:[B |
| const/4 v10, 0x0 |
| if-eqz v6, :cond_53c |
| const/16 v4, 0x80 |
| :goto_474 |
| or-int/2addr v4, v8 |
| int-to-byte v4, v4 |
| aput-byte v4, v9, v10 |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| const/4 v9, 0x0 |
| invoke-virtual {v4, v9}, LTest;->c(I)V |
| iget-object v4, v5, LTest;->b:LTest; |
| move-object/from16 v0, p0 |
| iget-object v5, v0, LTestObject;->o:LTest; |
| const/4 v9, 0x1 |
| invoke-virtual {v4, v5, v9}, LTest;->a(LTest;I)V |
| invoke-virtual {v4, v7, v8}, LTest;->a(LTest;I)V |
| if-nez v6, :cond_53f |
| add-int/lit8 v4, v8, 0x1 |
| :goto_491 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget v5, v0, LTestObject;->i:I |
| add-int/2addr v4, v5 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| :goto_4a2 |
| const/4 v4, 0x4 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| const/4 v4, 0x0 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| :cond_4ac |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v12, v4, LTest;->a:LTest; |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v9, v4, LTest;->c:LTest; |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v5, v4, LTest;->b:LTest; |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget v8, v4, LTest;->e:I |
| iget v4, v9, LTest;->n:I |
| const/4 v6, -0x1 |
| if-eq v4, v6, :cond_57a |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget-object v4, v4, LTest;->a:[B |
| const/4 v6, 0x0 |
| const/4 v7, 0x0 |
| aput-byte v7, v4, v6 |
| const/4 v6, 0x1 |
| const/4 v7, 0x0 |
| aput-byte v7, v4, v6 |
| const/4 v6, 0x2 |
| const/4 v7, 0x0 |
| aput-byte v7, v4, v6 |
| iget v4, v9, LTest;->n:I |
| iget v6, v9, LTest;->n:I |
| rsub-int/lit8 v6, v6, 0x4 |
| :goto_4e1 |
| move-object/from16 v0, p0 |
| iget v7, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget v10, v0, LTestObject;->i:I |
| if-ge v7, v10, :cond_59e |
| move-object/from16 v0, p0 |
| iget v7, v0, LTestObject;->i:I |
| if-nez v7, :cond_55a |
| move-object/from16 v0, p0 |
| iget-object v7, v0, LTestObject;->o:LTest; |
| iget-object v7, v7, LTest;->a:[B |
| move-object/from16 v0, p1 |
| invoke-virtual {v0, v7, v6, v4}, LTest;->b([BII)V |
| move-object/from16 v0, p0 |
| iget-object v7, v0, LTestObject;->o:LTest; |
| const/4 v10, 0x0 |
| invoke-virtual {v7, v10}, LTest;->c(I)V |
| move-object/from16 v0, p0 |
| iget-object v7, v0, LTestObject;->o:LTest; |
| invoke-virtual {v7}, LTest;->n()I |
| move-result v7 |
| move-object/from16 v0, p0 |
| iput v7, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget-object v7, v0, LTestObject;->o:LTest; |
| const/4 v10, 0x0 |
| invoke-virtual {v7, v10}, LTest;->c(I)V |
| move-object/from16 v0, p0 |
| iget-object v7, v0, LTestObject;->o:LTest; |
| const/4 v10, 0x4 |
| invoke-virtual {v5, v7, v10}, LTest;->a(LTest;I)V |
| move-object/from16 v0, p0 |
| iget v7, v0, LTestObject;->i:I |
| add-int/lit8 v7, v7, 0x4 |
| move-object/from16 v0, p0 |
| iput v7, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget v7, v0, LTestObject;->i:I |
| add-int/2addr v7, v6 |
| move-object/from16 v0, p0 |
| iput v7, v0, LTestObject;->i:I |
| goto :goto_4e1 |
| :cond_534 |
| iget-object v8, v5, LTest;->c:LTest; |
| iget-object v8, v8, LTest;->k:[LTest; |
| aget-object v4, v8, v4 |
| goto/16 :goto_461 |
| :cond_53c |
| const/4 v4, 0x0 |
| goto/16 :goto_474 |
| :cond_53f |
| invoke-virtual {v7}, LTest;->e()I |
| move-result v5 |
| const/4 v6, -0x2 |
| invoke-virtual {v7, v6}, LTest;->d(I)V |
| mul-int/lit8 v5, v5, 0x6 |
| add-int/lit8 v5, v5, 0x2 |
| invoke-virtual {v4, v7, v5}, LTest;->a(LTest;I)V |
| add-int/lit8 v4, v8, 0x1 |
| add-int/2addr v4, v5 |
| goto/16 :goto_491 |
| :cond_553 |
| const/4 v4, 0x0 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| goto/16 :goto_4a2 |
| :cond_55a |
| move-object/from16 v0, p0 |
| iget v7, v0, LTestObject;->i:I |
| const/4 v10, 0x0 |
| move-object/from16 v0, p1 |
| invoke-virtual {v5, v0, v7, v10}, LTest;->a(LTest;IZ)I |
| move-result v7 |
| move-object/from16 v0, p0 |
| iget v10, v0, LTestObject;->i:I |
| add-int/2addr v10, v7 |
| move-object/from16 v0, p0 |
| iput v10, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget v10, v0, LTestObject;->i:I |
| sub-int v7, v10, v7 |
| move-object/from16 v0, p0 |
| iput v7, v0, LTestObject;->i:I |
| goto/16 :goto_4e1 |
| :cond_57a |
| :goto_57a |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget v6, v0, LTestObject;->i:I |
| if-ge v4, v6, :cond_59e |
| move-object/from16 v0, p0 |
| iget v4, v0, LTestObject;->i:I |
| move-object/from16 v0, p0 |
| iget v6, v0, LTestObject;->i:I |
| sub-int/2addr v4, v6 |
| const/4 v6, 0x0 |
| move-object/from16 v0, p1 |
| invoke-virtual {v5, v0, v4, v6}, LTest;->a(LTest;IZ)I |
| move-result v4 |
| move-object/from16 v0, p0 |
| iget v6, v0, LTestObject;->i:I |
| add-int/2addr v4, v6 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| goto :goto_57a |
| :cond_59e |
| iget-object v4, v12, LTest;->g:[J |
| aget-wide v6, v4, v8 |
| iget-object v4, v12, LTest;->f:[I |
| aget v4, v4, v8 |
| int-to-long v10, v4 |
| add-long/2addr v6, v10 |
| const-wide/16 v10, 0x3e8 |
| mul-long/2addr v6, v10 |
| iget-boolean v4, v12, LTest;->i:Z |
| if-eqz v4, :cond_5f3 |
| const/4 v4, 0x2 |
| :goto_5b0 |
| iget-object v10, v12, LTest;->h:[Z |
| aget-boolean v8, v10, v8 |
| if-eqz v8, :cond_5f5 |
| const/4 v8, 0x1 |
| :goto_5b7 |
| or-int/2addr v8, v4 |
| iget-object v4, v12, LTest;->a:LTest; |
| iget v4, v4, LTest;->a:I |
| const/4 v11, 0x0 |
| iget-boolean v10, v12, LTest;->i:Z |
| if-eqz v10, :cond_5ca |
| iget-object v10, v12, LTest;->n:LTest; |
| if-eqz v10, :cond_5f7 |
| iget-object v4, v12, LTest;->n:LTest; |
| iget-object v4, v4, LTest;->b:[B |
| :goto_5c9 |
| move-object v11, v4 |
| :cond_5ca |
| move-object/from16 v0, p0 |
| iget v9, v0, LTestObject;->i:I |
| const/4 v10, 0x0 |
| invoke-virtual/range {v5 .. v11}, LTest;->a(JIII[B)V |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget v5, v4, LTest;->e:I |
| add-int/lit8 v5, v5, 0x1 |
| iput v5, v4, LTest;->e:I |
| move-object/from16 v0, p0 |
| iget-object v4, v0, LTestObject;->o:LTest; |
| iget v4, v4, LTest;->e:I |
| iget v5, v12, LTest;->d:I |
| if-ne v4, v5, :cond_5eb |
| const/4 v4, 0x0 |
| move-object/from16 v0, p0 |
| iput-object v4, v0, LTestObject;->o:LTest; |
| :cond_5eb |
| const/4 v4, 0x3 |
| move-object/from16 v0, p0 |
| iput v4, v0, LTestObject;->i:I |
| const/4 v4, 0x1 |
| goto/16 :goto_40f |
| :cond_5f3 |
| const/4 v4, 0x0 |
| goto :goto_5b0 |
| :cond_5f5 |
| const/4 v8, 0x0 |
| goto :goto_5b7 |
| :cond_5f7 |
| iget-object v9, v9, LTest;->k:[LTest; |
| aget-object v4, v9, v4 |
| iget-object v4, v4, LTest;->b:[B |
| goto :goto_5c9 |
| :cond_5fe |
| move-object v6, v5 |
| move-wide v4, v8 |
| goto/16 :goto_41 |
| :cond_602 |
| move-wide/from16 v23, v6 |
| move-object v6, v5 |
| move-wide/from16 v4, v23 |
| goto/16 :goto_3a8 |
| nop |
| :pswitch_data_60a |
| .packed-switch 0x0 |
| :pswitch_47 |
| :pswitch_241 |
| :pswitch_36f |
| .end packed-switch |
| .end method |
| |
| .method private final a(J)V |
| .registers 3 |
| .prologue |
| return-void |
| .end method |
| |