Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;.b()Z java.lang.IndexOutOfBoundsException: fromIndex < 0: -1 at java.util.BitSet.nextSetBit(BitSet.java:712) at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.makeSureAllElementAreAssigned(FillArrayTransformer.java:505) at com.googlecode.dex2jar.ir.ts.array.FillArrayTransformer.transformReportChanged(FillArrayTransformer.java:123) at com.googlecode.dex2jar.ir.ts.StatedTransformer.transform(StatedTransformer.java:10) at com.googlecode.d2j.dex.Dex2jar$2.optimize(Dex2jar.java:149) at com.googlecode.d2j.dex.Dex2Asm.convertCode(Dex2Asm.java:414) at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:42) at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:128) at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:509) at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:406) at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:422) at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:172) at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:272) at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:108) at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288) at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32) .method private b()Z .catch Ljava/io/IOException; { :L0 .. :L3 } :L10 .catch Ljava/lang/Exception; { :L3 .. :L4 } :L11 .catch Ljava/io/IOException; { :L5 .. :L9 } :L10 .registers 9 const/4 v6, 4 const/4 v0, 0 const/4 v1, -1 const/4 v2, 4 :L0 invoke-static { v2 }, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer; move-result-object v2 sget-object v3, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder; invoke-virtual { v2, v3 }, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; const/4 v3, 0 invoke-virtual { v2, v3 }, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; iget-object v3, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->c:Ljava/nio/channels/FileChannel; const-wide/16 v4, 16 invoke-virtual { v3, v2, v4, v5 }, Ljava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;J)I move-result v3 if-eq v3, v6, :L5 :L1 return v0 :L2 const/4 v5, 4 invoke-virtual { v4, v5 }, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; invoke-virtual { v4 }, Ljava/nio/ByteBuffer;->getInt()I move-result v5 add-int/lit8 v5, v5, 8 sub-int/2addr v5, v3 iput v5, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->r:I iput v3, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->s:I const/16 v3, 20 invoke-virtual { v4, v3 }, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; new-array v3, v2, [B iput-object v3, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->p:[B invoke-virtual { v4 }, Ljava/nio/ByteBuffer;->duplicate()Ljava/nio/ByteBuffer; move-result-object v3 iget-object v5, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->p:[B const/4 v6, 0 invoke-virtual { v3, v5, v6, v2 }, Ljava/nio/ByteBuffer;->get([BII)Ljava/nio/ByteBuffer; iget-object v3, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->o:Lcom/immersion/content/HeaderUtils; invoke-virtual { v3, v4, v2 }, Lcom/immersion/content/HeaderUtils;->setEncryptedHSI(Ljava/nio/ByteBuffer;I)V iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->o:Lcom/immersion/content/HeaderUtils; invoke-virtual { v2 }, Lcom/immersion/content/HeaderUtils;->calculateBlockSize()I move-result v2 if-lez v2, :L1 mul-int/lit8 v2, v2, 2 sput v2, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->i:I iget-object v2, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->o:Lcom/immersion/content/HeaderUtils; invoke-virtual { v2 }, Lcom/immersion/content/HeaderUtils;->calculateBlockRate()I move-result v2 if-lez v2, :L1 sput v2, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->h:I :L3 new-array v0, v1, [I :L4 goto :L3 :L5 invoke-virtual { v2 }, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer; invoke-virtual { v2 }, Ljava/nio/ByteBuffer;->getInt()I move-result v2 :L6 packed-switch v0, :L12 :L7 packed-switch v0, :L13 goto :L7 :L8 add-int/lit8 v3, v2, 28 invoke-static { v3 }, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer; move-result-object v4 sget-object v5, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder; invoke-virtual { v4, v5 }, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; iget-object v5, p0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->c:Ljava/nio/channels/FileChannel; const-wide/16 v6, 0 invoke-virtual { v5, v4, v6, v7 }, Ljava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;J)I :L9 move-result v5 if-eq v5, v3, :L2 goto :L1 :L10 move-exception v1 invoke-virtual { v1 }, Ljava/io/IOException;->printStackTrace()V goto :L1 :L11 move-exception v0 invoke-static { }, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->b0415\u041504150415\u0415\u0415()I move-result v0 sput v0, Lcom/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader;->b0415\u0415\u04150415\u0415\u0415:I const/4 v0, 1 goto :L1 :L12 .packed-switch 0 :L8 :L6 .end packed-switch :L13 .packed-switch 0 :L8 :L6 .end packed-switch .end method