class com.jcraft.jsch.KeyPair$ASN1
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.jcraft.jsch.KeyPair$ASN1
  super_class: java.lang.Object
{
  byte[] buf;
    descriptor: [B
    flags: (0x0000) 

  int start;
    descriptor: I
    flags: (0x0000) 

  int length;
    descriptor: I
    flags: (0x0000) 

  final com.jcraft.jsch.KeyPair this$0;
    descriptor: Lcom/jcraft/jsch/KeyPair;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.jcraft.jsch.KeyPair, byte[]);
    descriptor: (Lcom/jcraft/jsch/KeyPair;[B)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
        start local 2 // byte[] buf
         0: .line 1184
            aload 0 /* this */
            aload 1
            aload 2 /* buf */
            iconst_0
            aload 2 /* buf */
            arraylength
            invokespecial com.jcraft.jsch.KeyPair$ASN1.<init>:(Lcom/jcraft/jsch/KeyPair;[BII)V
         1: .line 1185
            return
        end local 2 // byte[] buf
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPair$ASN1;
            0    2     2   buf  [B
    Exceptions:
      throws com.jcraft.jsch.KeyPair$ASN1Exception
    MethodParameters:
        Name  Flags
      this$0  final
      buf     

  void <init>(com.jcraft.jsch.KeyPair, byte[], int, int);
    descriptor: (Lcom/jcraft/jsch/KeyPair;[BII)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
        start local 2 // byte[] buf
        start local 3 // int start
        start local 4 // int length
         0: .line 1186
            aload 0 /* this */
            aload 1
            putfield com.jcraft.jsch.KeyPair$ASN1.this$0:Lcom/jcraft/jsch/KeyPair;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1187
            aload 0 /* this */
            aload 2 /* buf */
            putfield com.jcraft.jsch.KeyPair$ASN1.buf:[B
         2: .line 1188
            aload 0 /* this */
            iload 3 /* start */
            putfield com.jcraft.jsch.KeyPair$ASN1.start:I
         3: .line 1189
            aload 0 /* this */
            iload 4 /* length */
            putfield com.jcraft.jsch.KeyPair$ASN1.length:I
         4: .line 1190
            iload 3 /* start */
            iload 4 /* length */
            iadd
            aload 2 /* buf */
            arraylength
            if_icmple 6
         5: .line 1191
            new com.jcraft.jsch.KeyPair$ASN1Exception
            dup
            aload 1
            invokespecial com.jcraft.jsch.KeyPair$ASN1Exception.<init>:(Lcom/jcraft/jsch/KeyPair;)V
            athrow
         6: .line 1192
      StackMap locals: com.jcraft.jsch.KeyPair$ASN1 com.jcraft.jsch.KeyPair byte[] int int
      StackMap stack:
            return
        end local 4 // int length
        end local 3 // int start
        end local 2 // byte[] buf
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/jcraft/jsch/KeyPair$ASN1;
            0    7     2     buf  [B
            0    7     3   start  I
            0    7     4  length  I
    Exceptions:
      throws com.jcraft.jsch.KeyPair$ASN1Exception
    MethodParameters:
        Name  Flags
      this$0  final
      buf     
      start   
      length  

  int getType();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
         0: .line 1194
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.buf:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.start:I
            baload
            sipush 255
            iand
            ireturn
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPair$ASN1;

  boolean isSEQUENCE();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
         0: .line 1197
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair$ASN1.getType:()I
            bipush 48
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPair$ASN1;

  boolean isINTEGER();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
         0: .line 1200
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair$ASN1.getType:()I
            iconst_2
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPair$ASN1;

  boolean isOBJECT();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
         0: .line 1203
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair$ASN1.getType:()I
            bipush 6
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPair$ASN1;

  boolean isOCTETSTRING();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
         0: .line 1206
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair$ASN1.getType:()I
            iconst_4
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPair$ASN1;

  private int getLength(int[]);
    descriptor: ([I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
        start local 1 // int[] indexp
         0: .line 1209
            aload 1 /* indexp */
            iconst_0
            iaload
            istore 2 /* index */
        start local 2 // int index
         1: .line 1210
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.buf:[B
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        start local 3 // int length
         2: .line 1211
            iload 3 /* length */
            sipush 128
            iand
            ifeq 8
         3: .line 1212
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
         4: iconst_0
            istore 3 /* length */
         5: .line 1213
            goto 7
      StackMap locals: int int int
      StackMap stack:
         6: iload 3 /* length */
            bipush 8
            ishl
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.buf:[B
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
         7: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 6
        end local 4 // int foo
         8: .line 1215
      StackMap locals:
      StackMap stack:
            aload 1 /* indexp */
            iconst_0
            iload 2 /* index */
            iastore
         9: .line 1216
            iload 3 /* length */
            ireturn
        end local 3 // int length
        end local 2 // int index
        end local 1 // int[] indexp
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/jcraft/jsch/KeyPair$ASN1;
            0   10     1  indexp  [I
            1   10     2   index  I
            2   10     3  length  I
            4    8     4     foo  I
    MethodParameters:
        Name  Flags
      indexp  

  byte[] getContent();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
         0: .line 1219
            iconst_1
            newarray 10
            astore 1 /* indexp */
        start local 1 // int[] indexp
         1: .line 1220
            aload 1 /* indexp */
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.start:I
            iconst_1
            iadd
            iastore
         2: .line 1221
            aload 0 /* this */
            aload 1 /* indexp */
            invokevirtual com.jcraft.jsch.KeyPair$ASN1.getLength:([I)I
            istore 2 /* length */
        start local 2 // int length
         3: .line 1222
            aload 1 /* indexp */
            iconst_0
            iaload
            istore 3 /* index */
        start local 3 // int index
         4: .line 1223
            iload 2 /* length */
            newarray 8
            astore 4 /* tmp */
        start local 4 // byte[] tmp
         5: .line 1224
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.buf:[B
            iload 3 /* index */
            aload 4 /* tmp */
            iconst_0
            aload 4 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1225
            aload 4 /* tmp */
            areturn
        end local 4 // byte[] tmp
        end local 3 // int index
        end local 2 // int length
        end local 1 // int[] indexp
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/jcraft/jsch/KeyPair$ASN1;
            1    7     1  indexp  [I
            3    7     2  length  I
            4    7     3   index  I
            5    7     4     tmp  [B

  com.jcraft.jsch.KeyPair$ASN1[] getContents();
    descriptor: ()[Lcom/jcraft/jsch/KeyPair$ASN1;
    flags: (0x0000) 
    Code:
      stack=9, locals=8, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair$ASN1 this
         0: .line 1228
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.buf:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.start:I
            baload
            istore 1 /* typ */
        start local 1 // int typ
         1: .line 1229
            iconst_1
            newarray 10
            astore 2 /* indexp */
        start local 2 // int[] indexp
         2: .line 1230
            aload 2 /* indexp */
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.start:I
            iconst_1
            iadd
            iastore
         3: .line 1231
            aload 0 /* this */
            aload 2 /* indexp */
            invokevirtual com.jcraft.jsch.KeyPair$ASN1.getLength:([I)I
            istore 3 /* length */
        start local 3 // int length
         4: .line 1232
            iload 1 /* typ */
            iconst_5
            if_icmpne 6
         5: .line 1233
            iconst_0
            anewarray com.jcraft.jsch.KeyPair$ASN1
            areturn
         6: .line 1235
      StackMap locals: int int[] int
      StackMap stack:
            aload 2 /* indexp */
            iconst_0
            iaload
            istore 4 /* index */
        start local 4 // int index
         7: .line 1236
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 5 /* values */
        start local 5 // java.util.Vector values
         8: .line 1237
            goto 18
         9: .line 1238
      StackMap locals: int java.util.Vector
      StackMap stack:
            iinc 4 /* index */ 1
            iinc 3 /* length */ -1
        10: .line 1239
            iload 4 /* index */
            istore 6 /* tmp */
        start local 6 // int tmp
        11: .line 1240
            aload 2 /* indexp */
            iconst_0
            iload 4 /* index */
            iastore
        12: .line 1241
            aload 0 /* this */
            aload 2 /* indexp */
            invokevirtual com.jcraft.jsch.KeyPair$ASN1.getLength:([I)I
            istore 7 /* l */
        start local 7 // int l
        13: .line 1242
            aload 2 /* indexp */
            iconst_0
            iaload
            istore 4 /* index */
        14: .line 1243
            iload 3 /* length */
            iload 4 /* index */
            iload 6 /* tmp */
            isub
            isub
            istore 3 /* length */
        15: .line 1244
            aload 5 /* values */
            new com.jcraft.jsch.KeyPair$ASN1
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.this$0:Lcom/jcraft/jsch/KeyPair;
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair$ASN1.buf:[B
            iload 6 /* tmp */
            iconst_1
            isub
            iconst_1
            iload 4 /* index */
            iload 6 /* tmp */
            isub
            iadd
            iload 7 /* l */
            iadd
            invokespecial com.jcraft.jsch.KeyPair$ASN1.<init>:(Lcom/jcraft/jsch/KeyPair;[BII)V
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        16: .line 1245
            iload 4 /* index */
            iload 7 /* l */
            iadd
            istore 4 /* index */
        17: .line 1246
            iload 3 /* length */
            iload 7 /* l */
            isub
            istore 3 /* length */
        end local 7 // int l
        end local 6 // int tmp
        18: .line 1237
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            ifgt 9
        19: .line 1248
            aload 5 /* values */
            invokevirtual java.util.Vector.size:()I
            anewarray com.jcraft.jsch.KeyPair$ASN1
            astore 6 /* result */
        start local 6 // com.jcraft.jsch.KeyPair$ASN1[] result
        20: .line 1249
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        21: goto 24
        22: .line 1250
      StackMap locals: com.jcraft.jsch.KeyPair$ASN1[] int
      StackMap stack:
            aload 6 /* result */
            iload 7 /* i */
            aload 5 /* values */
            iload 7 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast com.jcraft.jsch.KeyPair$ASN1
            aastore
        23: .line 1249
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* i */
            aload 5 /* values */
            invokevirtual java.util.Vector.size:()I
            if_icmplt 22
        end local 7 // int i
        25: .line 1252
            aload 6 /* result */
            areturn
        end local 6 // com.jcraft.jsch.KeyPair$ASN1[] result
        end local 5 // java.util.Vector values
        end local 4 // int index
        end local 3 // int length
        end local 2 // int[] indexp
        end local 1 // int typ
        end local 0 // com.jcraft.jsch.KeyPair$ASN1 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  Lcom/jcraft/jsch/KeyPair$ASN1;
            1   26     1     typ  I
            2   26     2  indexp  [I
            4   26     3  length  I
            7   26     4   index  I
            8   26     5  values  Ljava/util/Vector;
           11   18     6     tmp  I
           13   18     7       l  I
           20   26     6  result  [Lcom/jcraft/jsch/KeyPair$ASN1;
           21   25     7       i  I
    Exceptions:
      throws com.jcraft.jsch.KeyPair$ASN1Exception
}
SourceFile: "KeyPair.java"
NestHost: com.jcraft.jsch.KeyPair
InnerClasses:
  ASN1 = com.jcraft.jsch.KeyPair$ASN1 of com.jcraft.jsch.KeyPair
  ASN1Exception = com.jcraft.jsch.KeyPair$ASN1Exception of com.jcraft.jsch.KeyPair