public abstract class com.jcraft.jsch.KeyPair
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.jcraft.jsch.KeyPair
  super_class: java.lang.Object
{
  public static final int ERROR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int DSA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int RSA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int ECDSA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int UNKNOWN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int VENDOR_OPENSSH;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int VENDOR_FSECURE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int VENDOR_PUTTY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int VENDOR_PKCS8;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

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

  private static final byte[] cr;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected java.lang.String publicKeyComment;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  com.jcraft.jsch.JSch jsch;
    descriptor: Lcom/jcraft/jsch/JSch;
    flags: (0x0000) 

  private com.jcraft.jsch.Cipher cipher;
    descriptor: Lcom/jcraft/jsch/Cipher;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.HASH hash;
    descriptor: Lcom/jcraft/jsch/HASH;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.Random random;
    descriptor: Lcom/jcraft/jsch/Random;
    flags: (0x0002) ACC_PRIVATE

  private byte[] passphrase;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  static byte[][] header;
    descriptor: [[B
    flags: (0x0008) ACC_STATIC

  private static byte[] space;
    descriptor: [B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  protected boolean encrypted;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected byte[] data;
    descriptor: [B
    flags: (0x0004) ACC_PROTECTED

  private byte[] iv;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private byte[] publickeyblob;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String[] header1;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] header2;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] header3;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 51
            ldc "\n"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putstatic com.jcraft.jsch.KeyPair.cr:[B
         1: .line 99
            iconst_2
            anewarray byte[]
            dup
            iconst_0
            ldc "Proc-Type: 4,ENCRYPTED"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
            dup
            iconst_1
         2: .line 100
            ldc "DEK-Info: DES-EDE3-CBC,"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
         3: .line 99
            putstatic com.jcraft.jsch.KeyPair.header:[[B
         4: .line 161
            ldc " "
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putstatic com.jcraft.jsch.KeyPair.space:[B
         5: .line 973
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
         6: .line 974
            ldc "PuTTY-User-Key-File-2: "
            aastore
            dup
            iconst_1
         7: .line 975
            ldc "Encryption: "
            aastore
            dup
            iconst_2
         8: .line 976
            ldc "Comment: "
            aastore
            dup
            iconst_3
         9: .line 977
            ldc "Public-Lines: "
            aastore
        10: .line 973
            putstatic com.jcraft.jsch.KeyPair.header1:[Ljava/lang/String;
        11: .line 980
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
        12: .line 981
            ldc "Private-Lines: "
            aastore
        13: .line 980
            putstatic com.jcraft.jsch.KeyPair.header2:[Ljava/lang/String;
        14: .line 984
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
        15: .line 985
            ldc "Private-MAC: "
            aastore
        16: .line 984
            putstatic com.jcraft.jsch.KeyPair.header3:[Ljava/lang/String;
        17: .line 986
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.jcraft.jsch.KeyPair genKeyPair(com.jcraft.jsch.JSch, int);
    descriptor: (Lcom/jcraft/jsch/JSch;I)Lcom/jcraft/jsch/KeyPair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // int type
         0: .line 54
            aload 0 /* jsch */
            iload 1 /* type */
            sipush 1024
            invokestatic com.jcraft.jsch.KeyPair.genKeyPair:(Lcom/jcraft/jsch/JSch;II)Lcom/jcraft/jsch/KeyPair;
            areturn
        end local 1 // int type
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  jsch  Lcom/jcraft/jsch/JSch;
            0    1     1  type  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      jsch  
      type  

  public static com.jcraft.jsch.KeyPair genKeyPair(com.jcraft.jsch.JSch, int, int);
    descriptor: (Lcom/jcraft/jsch/JSch;II)Lcom/jcraft/jsch/KeyPair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // int type
        start local 2 // int key_size
         0: .line 57
            aconst_null
            astore 3 /* kpair */
        start local 3 // com.jcraft.jsch.KeyPair kpair
         1: .line 58
            iload 1 /* type */
            iconst_1
            if_icmpne 2
            new com.jcraft.jsch.KeyPairDSA
            dup
            aload 0 /* jsch */
            invokespecial com.jcraft.jsch.KeyPairDSA.<init>:(Lcom/jcraft/jsch/JSch;)V
            astore 3 /* kpair */
            goto 4
         2: .line 59
      StackMap locals: com.jcraft.jsch.KeyPair
      StackMap stack:
            iload 1 /* type */
            iconst_2
            if_icmpne 3
            new com.jcraft.jsch.KeyPairRSA
            dup
            aload 0 /* jsch */
            invokespecial com.jcraft.jsch.KeyPairRSA.<init>:(Lcom/jcraft/jsch/JSch;)V
            astore 3 /* kpair */
            goto 4
         3: .line 60
      StackMap locals:
      StackMap stack:
            iload 1 /* type */
            iconst_3
            if_icmpne 4
            new com.jcraft.jsch.KeyPairECDSA
            dup
            aload 0 /* jsch */
            invokespecial com.jcraft.jsch.KeyPairECDSA.<init>:(Lcom/jcraft/jsch/JSch;)V
            astore 3 /* kpair */
         4: .line 61
      StackMap locals:
      StackMap stack:
            aload 3 /* kpair */
            ifnull 6
         5: .line 62
            aload 3 /* kpair */
            iload 2 /* key_size */
            invokevirtual com.jcraft.jsch.KeyPair.generate:(I)V
         6: .line 64
      StackMap locals:
      StackMap stack:
            aload 3 /* kpair */
            areturn
        end local 3 // com.jcraft.jsch.KeyPair kpair
        end local 2 // int key_size
        end local 1 // int type
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      jsch  Lcom/jcraft/jsch/JSch;
            0    7     1      type  I
            0    7     2  key_size  I
            1    7     3     kpair  Lcom/jcraft/jsch/KeyPair;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
          Name  Flags
      jsch      
      type      
      key_size  

  abstract void generate(int);
    descriptor: (I)V
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
          Name  Flags
      key_size  

  abstract byte[] getBegin();
    descriptor: ()[B
    flags: (0x0400) ACC_ABSTRACT

  abstract byte[] getEnd();
    descriptor: ()[B
    flags: (0x0400) ACC_ABSTRACT

  abstract int getKeySize();
    descriptor: ()I
    flags: (0x0400) ACC_ABSTRACT

  public abstract byte[] getSignature(byte[]);
    descriptor: ([B)[B
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      data  

  public abstract com.jcraft.jsch.Signature getVerifier();
    descriptor: ()Lcom/jcraft/jsch/Signature;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract byte[] forSSHAgent();
    descriptor: ()[B
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws com.jcraft.jsch.JSchException

  public java.lang.String getPublicKeyComment();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair this
         0: .line 79
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.publicKeyComment:Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPair;

  public void setPublicKeyComment(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.lang.String publicKeyComment
         0: .line 83
            aload 0 /* this */
            aload 1 /* publicKeyComment */
            putfield com.jcraft.jsch.KeyPair.publicKeyComment:Ljava/lang/String;
         1: .line 84
            return
        end local 1 // java.lang.String publicKeyComment
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lcom/jcraft/jsch/KeyPair;
            0    2     1  publicKeyComment  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      publicKeyComment  

  public void <init>(com.jcraft.jsch.JSch);
    descriptor: (Lcom/jcraft/jsch/JSch;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // com.jcraft.jsch.JSch jsch
         0: .line 95
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.KeyPair.vendor:I
         2: .line 86
            aload 0 /* this */
            ldc "no comment"
            putfield com.jcraft.jsch.KeyPair.publicKeyComment:Ljava/lang/String;
         3: .line 88
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.KeyPair.jsch:Lcom/jcraft/jsch/JSch;
         4: .line 496
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.KeyPair.encrypted:Z
         5: .line 497
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.KeyPair.data:[B
         6: .line 498
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.KeyPair.iv:[B
         7: .line 499
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.KeyPair.publickeyblob:[B
         8: .line 96
            aload 0 /* this */
            aload 1 /* jsch */
            putfield com.jcraft.jsch.KeyPair.jsch:Lcom/jcraft/jsch/JSch;
         9: .line 97
            return
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/jcraft/jsch/KeyPair;
            0   10     1  jsch  Lcom/jcraft/jsch/JSch;
    MethodParameters:
      Name  Flags
      jsch  

  abstract byte[] getPrivateKey();
    descriptor: ()[B
    flags: (0x0400) ACC_ABSTRACT

  public void writePrivateKey(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.io.OutputStream out
         0: .line 110
            aload 0 /* this */
            aload 1 /* out */
            aconst_null
            invokevirtual com.jcraft.jsch.KeyPair.writePrivateKey:(Ljava/io/OutputStream;[B)V
         1: .line 111
            return
        end local 1 // java.io.OutputStream out
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPair;
            0    2     1   out  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      out   

  public void writePrivateKey(java.io.OutputStream, byte[]);
    descriptor: (Ljava/io/OutputStream;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.io.OutputStream out
        start local 2 // byte[] passphrase
         0: .line 119
            aload 2 /* passphrase */
            ifnonnull 2
         1: .line 120
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.passphrase:[B
            astore 2 /* passphrase */
         2: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.getPrivateKey:()[B
            astore 3 /* plain */
        start local 3 // byte[] plain
         3: .line 123
            iconst_1
            anewarray byte[]
            astore 4 /* _iv */
        start local 4 // byte[][] _iv
         4: .line 124
            aload 0 /* this */
            aload 3 /* plain */
            aload 4 /* _iv */
            aload 2 /* passphrase */
            invokevirtual com.jcraft.jsch.KeyPair.encrypt:([B[[B[B)[B
            astore 5 /* encoded */
        start local 5 // byte[] encoded
         5: .line 125
            aload 5 /* encoded */
            aload 3 /* plain */
            if_acmpeq 7
         6: .line 126
            aload 3 /* plain */
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
         7: .line 127
      StackMap locals: byte[] byte[][] byte[]
      StackMap stack:
            aload 4 /* _iv */
            iconst_0
            aaload
            astore 6 /* iv */
        start local 6 // byte[] iv
         8: .line 128
            aload 5 /* encoded */
            iconst_0
            aload 5 /* encoded */
            arraylength
            invokestatic com.jcraft.jsch.Util.toBase64:([BII)[B
            astore 7 /* prv */
        start local 7 // byte[] prv
         9: .line 131
            aload 1 /* out */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.getBegin:()[B
            invokevirtual java.io.OutputStream.write:([B)V
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        10: .line 132
            aload 2 /* passphrase */
            ifnull 21
        11: .line 133
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.header:[[B
            iconst_0
            aaload
            invokevirtual java.io.OutputStream.write:([B)V
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        12: .line 134
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.header:[[B
            iconst_1
            aaload
            invokevirtual java.io.OutputStream.write:([B)V
        13: .line 135
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        14: goto 18
        15: .line 136
      StackMap locals: byte[] byte[] int
      StackMap stack:
            aload 1 /* out */
            aload 6 /* iv */
            iload 8 /* i */
            baload
            iconst_4
            iushr
            bipush 15
            iand
            i2b
            invokestatic com.jcraft.jsch.KeyPair.b2a:(B)B
            invokevirtual java.io.OutputStream.write:(I)V
        16: .line 137
            aload 1 /* out */
            aload 6 /* iv */
            iload 8 /* i */
            baload
            bipush 15
            iand
            i2b
            invokestatic com.jcraft.jsch.KeyPair.b2a:(B)B
            invokevirtual java.io.OutputStream.write:(I)V
        17: .line 135
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 8 /* i */
            aload 6 /* iv */
            arraylength
            if_icmplt 15
        end local 8 // int i
        19: .line 139
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        20: .line 140
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        21: .line 142
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        22: .line 143
            goto 31
        23: .line 144
      StackMap locals: int
      StackMap stack:
            iload 8 /* i */
            bipush 64
            iadd
            aload 7 /* prv */
            arraylength
            if_icmpge 28
        24: .line 145
            aload 1 /* out */
            aload 7 /* prv */
            iload 8 /* i */
            bipush 64
            invokevirtual java.io.OutputStream.write:([BII)V
        25: .line 146
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        26: .line 147
            iinc 8 /* i */ 64
        27: .line 148
            goto 31
        28: .line 150
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 7 /* prv */
            iload 8 /* i */
            aload 7 /* prv */
            arraylength
            iload 8 /* i */
            isub
            invokevirtual java.io.OutputStream.write:([BII)V
        29: .line 151
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        30: .line 152
            goto 32
        31: .line 143
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            aload 7 /* prv */
            arraylength
            if_icmplt 23
        32: .line 154
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.getEnd:()[B
            invokevirtual java.io.OutputStream.write:([B)V
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        end local 8 // int i
        33: .line 156
            goto 35
        34: .line 157
      StackMap locals: com.jcraft.jsch.KeyPair java.io.OutputStream byte[] byte[] byte[][] byte[] byte[] byte[]
      StackMap stack: java.lang.Exception
            pop
        35: .line 159
      StackMap locals:
      StackMap stack:
            return
        end local 7 // byte[] prv
        end local 6 // byte[] iv
        end local 5 // byte[] encoded
        end local 4 // byte[][] _iv
        end local 3 // byte[] plain
        end local 2 // byte[] passphrase
        end local 1 // java.io.OutputStream out
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0        this  Lcom/jcraft/jsch/KeyPair;
            0   36     1         out  Ljava/io/OutputStream;
            0   36     2  passphrase  [B
            3   36     3       plain  [B
            4   36     4         _iv  [[B
            5   36     5     encoded  [B
            8   36     6          iv  [B
            9   36     7         prv  [B
           14   19     8           i  I
           22   33     8           i  I
      Exception table:
        from    to  target  type
           9    33      34  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      out         
      passphrase  

  abstract byte[] getKeyTypeName();
    descriptor: ()[B
    flags: (0x0400) ACC_ABSTRACT

  public abstract int getKeyType();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public byte[] getPublicKeyBlob();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair this
         0: .line 174
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.publickeyblob:[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPair;

  public void writePublicKey(java.io.OutputStream, java.lang.String);
    descriptor: (Ljava/io/OutputStream;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.io.OutputStream out
        start local 2 // java.lang.String comment
         0: .line 183
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.getPublicKeyBlob:()[B
            astore 3 /* pubblob */
        start local 3 // byte[] pubblob
         1: .line 184
            aload 3 /* pubblob */
            iconst_0
            aload 3 /* pubblob */
            arraylength
            invokestatic com.jcraft.jsch.Util.toBase64:([BII)[B
            astore 4 /* pub */
        start local 4 // byte[] pub
         2: .line 186
            aload 1 /* out */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.getKeyTypeName:()[B
            invokevirtual java.io.OutputStream.write:([B)V
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.space:[B
            invokevirtual java.io.OutputStream.write:([B)V
         3: .line 187
            aload 1 /* out */
            aload 4 /* pub */
            iconst_0
            aload 4 /* pub */
            arraylength
            invokevirtual java.io.OutputStream.write:([BII)V
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.space:[B
            invokevirtual java.io.OutputStream.write:([B)V
         4: .line 188
            aload 1 /* out */
            aload 2 /* comment */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
         5: .line 189
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
         6: .line 190
            goto 8
         7: .line 191
      StackMap locals: com.jcraft.jsch.KeyPair java.io.OutputStream java.lang.String byte[] byte[]
      StackMap stack: java.lang.Exception
            pop
         8: .line 193
      StackMap locals:
      StackMap stack:
            return
        end local 4 // byte[] pub
        end local 3 // byte[] pubblob
        end local 2 // java.lang.String comment
        end local 1 // java.io.OutputStream out
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/jcraft/jsch/KeyPair;
            0    9     1      out  Ljava/io/OutputStream;
            0    9     2  comment  Ljava/lang/String;
            1    9     3  pubblob  [B
            2    9     4      pub  [B
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      out      
      comment  

  public void writePublicKey(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String comment
         0: .line 202
            new java.io.FileOutputStream
            dup
            aload 1 /* name */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* fos */
        start local 3 // java.io.FileOutputStream fos
         1: .line 203
            aload 0 /* this */
            aload 3 /* fos */
            aload 2 /* comment */
            invokevirtual com.jcraft.jsch.KeyPair.writePublicKey:(Ljava/io/OutputStream;Ljava/lang/String;)V
         2: .line 204
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
         3: .line 205
            return
        end local 3 // java.io.FileOutputStream fos
        end local 2 // java.lang.String comment
        end local 1 // java.lang.String name
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/jcraft/jsch/KeyPair;
            0    4     1     name  Ljava/lang/String;
            0    4     2  comment  Ljava/lang/String;
            1    4     3      fos  Ljava/io/FileOutputStream;
    Exceptions:
      throws java.io.FileNotFoundException, java.io.IOException
    MethodParameters:
         Name  Flags
      name     
      comment  

  public void writeSECSHPublicKey(java.io.OutputStream, java.lang.String);
    descriptor: (Ljava/io/OutputStream;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.io.OutputStream out
        start local 2 // java.lang.String comment
         0: .line 214
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.getPublicKeyBlob:()[B
            astore 3 /* pubblob */
        start local 3 // byte[] pubblob
         1: .line 215
            aload 3 /* pubblob */
            iconst_0
            aload 3 /* pubblob */
            arraylength
            invokestatic com.jcraft.jsch.Util.toBase64:([BII)[B
            astore 4 /* pub */
        start local 4 // byte[] pub
         2: .line 217
            aload 1 /* out */
            ldc "---- BEGIN SSH2 PUBLIC KEY ----"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
         3: .line 218
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc "Comment: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* comment */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
         4: .line 219
            iconst_0
            istore 5 /* index */
        start local 5 // int index
         5: .line 220
            goto 10
         6: .line 221
      StackMap locals: byte[] byte[] int
      StackMap stack:
            bipush 70
            istore 6 /* len */
        start local 6 // int len
         7: .line 222
            aload 4 /* pub */
            arraylength
            iload 5 /* index */
            isub
            iload 6 /* len */
            if_icmpge 8
            aload 4 /* pub */
            arraylength
            iload 5 /* index */
            isub
            istore 6 /* len */
         8: .line 223
      StackMap locals: int
      StackMap stack:
            aload 1 /* out */
            aload 4 /* pub */
            iload 5 /* index */
            iload 6 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
         9: .line 224
            iload 5 /* index */
            iload 6 /* len */
            iadd
            istore 5 /* index */
        end local 6 // int len
        10: .line 220
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            aload 4 /* pub */
            arraylength
            if_icmplt 6
        11: .line 226
            aload 1 /* out */
            ldc "---- END SSH2 PUBLIC KEY ----"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual java.io.OutputStream.write:([B)V
            aload 1 /* out */
            getstatic com.jcraft.jsch.KeyPair.cr:[B
            invokevirtual java.io.OutputStream.write:([B)V
        end local 5 // int index
        12: .line 227
            goto 14
        13: .line 228
      StackMap locals: com.jcraft.jsch.KeyPair java.io.OutputStream java.lang.String byte[] byte[]
      StackMap stack: java.lang.Exception
            pop
        14: .line 230
      StackMap locals:
      StackMap stack:
            return
        end local 4 // byte[] pub
        end local 3 // byte[] pubblob
        end local 2 // java.lang.String comment
        end local 1 // java.io.OutputStream out
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lcom/jcraft/jsch/KeyPair;
            0   15     1      out  Ljava/io/OutputStream;
            0   15     2  comment  Ljava/lang/String;
            1   15     3  pubblob  [B
            2   15     4      pub  [B
            5   12     5    index  I
            7   10     6      len  I
      Exception table:
        from    to  target  type
           2    12      13  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      out      
      comment  

  public void writeSECSHPublicKey(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String comment
         0: .line 240
            new java.io.FileOutputStream
            dup
            aload 1 /* name */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* fos */
        start local 3 // java.io.FileOutputStream fos
         1: .line 241
            aload 0 /* this */
            aload 3 /* fos */
            aload 2 /* comment */
            invokevirtual com.jcraft.jsch.KeyPair.writeSECSHPublicKey:(Ljava/io/OutputStream;Ljava/lang/String;)V
         2: .line 242
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
         3: .line 243
            return
        end local 3 // java.io.FileOutputStream fos
        end local 2 // java.lang.String comment
        end local 1 // java.lang.String name
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/jcraft/jsch/KeyPair;
            0    4     1     name  Ljava/lang/String;
            0    4     2  comment  Ljava/lang/String;
            1    4     3      fos  Ljava/io/FileOutputStream;
    Exceptions:
      throws java.io.FileNotFoundException, java.io.IOException
    MethodParameters:
         Name  Flags
      name     
      comment  

  public void writePrivateKey(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.lang.String name
         0: .line 251
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            invokevirtual com.jcraft.jsch.KeyPair.writePrivateKey:(Ljava/lang/String;[B)V
         1: .line 252
            return
        end local 1 // java.lang.String name
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPair;
            0    2     1  name  Ljava/lang/String;
    Exceptions:
      throws java.io.FileNotFoundException, java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public void writePrivateKey(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.lang.String name
        start local 2 // byte[] passphrase
         0: .line 261
            new java.io.FileOutputStream
            dup
            aload 1 /* name */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* fos */
        start local 3 // java.io.FileOutputStream fos
         1: .line 262
            aload 0 /* this */
            aload 3 /* fos */
            aload 2 /* passphrase */
            invokevirtual com.jcraft.jsch.KeyPair.writePrivateKey:(Ljava/io/OutputStream;[B)V
         2: .line 263
            aload 3 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
         3: .line 264
            return
        end local 3 // java.io.FileOutputStream fos
        end local 2 // byte[] passphrase
        end local 1 // java.lang.String name
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/jcraft/jsch/KeyPair;
            0    4     1        name  Ljava/lang/String;
            0    4     2  passphrase  [B
            1    4     3         fos  Ljava/io/FileOutputStream;
    Exceptions:
      throws java.io.FileNotFoundException, java.io.IOException
    MethodParameters:
            Name  Flags
      name        
      passphrase  

  public java.lang.String getFingerPrint();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair this
         0: .line 271
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            ifnonnull 1
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.genHash:()Lcom/jcraft/jsch/HASH;
            putfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
         1: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.getPublicKeyBlob:()[B
            astore 1 /* kblob */
        start local 1 // byte[] kblob
         2: .line 273
            aload 1 /* kblob */
            ifnonnull 3
            aconst_null
            areturn
         3: .line 274
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            aload 1 /* kblob */
            invokestatic com.jcraft.jsch.Util.getFingerPrint:(Lcom/jcraft/jsch/HASH;[B)Ljava/lang/String;
            areturn
        end local 1 // byte[] kblob
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/jcraft/jsch/KeyPair;
            2    4     1  kblob  [B

  private byte[] encrypt(byte[], byte[][], byte[]);
    descriptor: ([B[[B[B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] plain
        start local 2 // byte[][] _iv
        start local 3 // byte[] passphrase
         0: .line 278
            aload 3 /* passphrase */
            ifnonnull 1
            aload 1 /* plain */
            areturn
         1: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            ifnonnull 2
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.genCipher:()Lcom/jcraft/jsch/Cipher;
            putfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
         2: .line 281
      StackMap locals:
      StackMap stack:
            aload 2 /* _iv */
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            invokeinterface com.jcraft.jsch.Cipher.getIVSize:()I
            newarray 8
            dup_x2
            aastore
            astore 4 /* iv */
        start local 4 // byte[] iv
         3: .line 283
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.random:Lcom/jcraft/jsch/Random;
            ifnonnull 4
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.genRandom:()Lcom/jcraft/jsch/Random;
            putfield com.jcraft.jsch.KeyPair.random:Lcom/jcraft/jsch/Random;
         4: .line 284
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.random:Lcom/jcraft/jsch/Random;
            aload 4 /* iv */
            iconst_0
            aload 4 /* iv */
            arraylength
            invokeinterface com.jcraft.jsch.Random.fill:([BII)V
         5: .line 286
            aload 0 /* this */
            aload 3 /* passphrase */
            aload 4 /* iv */
            invokevirtual com.jcraft.jsch.KeyPair.genKey:([B[B)[B
            astore 5 /* key */
        start local 5 // byte[] key
         6: .line 287
            aload 1 /* plain */
            astore 6 /* encoded */
        start local 6 // byte[] encoded
         7: .line 292
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            invokeinterface com.jcraft.jsch.Cipher.getIVSize:()I
            istore 7 /* bsize */
        start local 7 // int bsize
         8: .line 293
            aload 6 /* encoded */
            arraylength
            iload 7 /* bsize */
            idiv
            iconst_1
            iadd
            iload 7 /* bsize */
            imul
            newarray 8
            astore 8 /* foo */
        start local 8 // byte[] foo
         9: .line 294
            aload 6 /* encoded */
            iconst_0
            aload 8 /* foo */
            iconst_0
            aload 6 /* encoded */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 295
            iload 7 /* bsize */
            aload 6 /* encoded */
            arraylength
            iload 7 /* bsize */
            irem
            isub
            istore 9 /* padding */
        start local 9 // int padding
        11: .line 296
            aload 8 /* foo */
            arraylength
            iconst_1
            isub
            istore 10 /* i */
        start local 10 // int i
        12: goto 15
        13: .line 297
      StackMap locals: com.jcraft.jsch.KeyPair byte[] byte[][] byte[] byte[] byte[] byte[] int byte[] int int
      StackMap stack:
            aload 8 /* foo */
            iload 10 /* i */
            iload 9 /* padding */
            i2b
            bastore
        14: .line 296
            iinc 10 /* i */ -1
      StackMap locals:
      StackMap stack:
        15: aload 8 /* foo */
            arraylength
            iload 9 /* padding */
            isub
            iload 10 /* i */
            if_icmple 13
        end local 10 // int i
        16: .line 299
            aload 8 /* foo */
            astore 6 /* encoded */
        end local 9 // int padding
        end local 8 // byte[] foo
        end local 7 // int bsize
        17: .line 303
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            iconst_0
            aload 5 /* key */
            aload 4 /* iv */
            invokeinterface com.jcraft.jsch.Cipher.init:(I[B[B)V
        18: .line 304
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            aload 6 /* encoded */
            iconst_0
            aload 6 /* encoded */
            arraylength
            aload 6 /* encoded */
            iconst_0
            invokeinterface com.jcraft.jsch.Cipher.update:([BII[BI)V
        19: .line 305
            goto 21
        20: .line 306
      StackMap locals: com.jcraft.jsch.KeyPair byte[] byte[][] byte[] byte[] byte[] byte[]
      StackMap stack: java.lang.Exception
            pop
        21: .line 309
      StackMap locals:
      StackMap stack:
            aload 5 /* key */
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
        22: .line 310
            aload 6 /* encoded */
            areturn
        end local 6 // byte[] encoded
        end local 5 // byte[] key
        end local 4 // byte[] iv
        end local 3 // byte[] passphrase
        end local 2 // byte[][] _iv
        end local 1 // byte[] plain
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lcom/jcraft/jsch/KeyPair;
            0   23     1       plain  [B
            0   23     2         _iv  [[B
            0   23     3  passphrase  [B
            3   23     4          iv  [B
            6   23     5         key  [B
            7   23     6     encoded  [B
            8   17     7       bsize  I
            9   17     8         foo  [B
           11   17     9     padding  I
           12   16    10           i  I
      Exception table:
        from    to  target  type
          17    19      20  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      plain       
      _iv         
      passphrase  

  abstract boolean parse(byte[]);
    descriptor: ([B)Z
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      data  

  private byte[] decrypt(byte[], byte[], byte[]);
    descriptor: ([B[B[B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] data
        start local 2 // byte[] passphrase
        start local 3 // byte[] iv
         0: .line 318
            aload 0 /* this */
            aload 2 /* passphrase */
            aload 3 /* iv */
            invokevirtual com.jcraft.jsch.KeyPair.genKey:([B[B)[B
            astore 4 /* key */
        start local 4 // byte[] key
         1: .line 319
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            iconst_1
            aload 4 /* key */
            aload 3 /* iv */
            invokeinterface com.jcraft.jsch.Cipher.init:(I[B[B)V
         2: .line 320
            aload 4 /* key */
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
         3: .line 321
            aload 1 /* data */
            arraylength
            newarray 8
            astore 5 /* plain */
        start local 5 // byte[] plain
         4: .line 322
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            aload 1 /* data */
            iconst_0
            aload 1 /* data */
            arraylength
            aload 5 /* plain */
            iconst_0
            invokeinterface com.jcraft.jsch.Cipher.update:([BII[BI)V
         5: .line 323
            aload 5 /* plain */
         6: areturn
        end local 5 // byte[] plain
        end local 4 // byte[] key
         7: .line 325
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 328
            aconst_null
            areturn
        end local 3 // byte[] iv
        end local 2 // byte[] passphrase
        end local 1 // byte[] data
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/jcraft/jsch/KeyPair;
            0    9     1        data  [B
            0    9     2  passphrase  [B
            0    9     3          iv  [B
            1    7     4         key  [B
            4    7     5       plain  [B
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      data        
      passphrase  
      iv          

  int writeSEQUENCE(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] buf
        start local 2 // int index
        start local 3 // int len
         0: .line 332
            aload 1 /* buf */
            iload 2 /* index */
            iinc 2 /* index */ 1
            bipush 48
            bastore
         1: .line 333
            aload 0 /* this */
            aload 1 /* buf */
            iload 2 /* index */
            iload 3 /* len */
            invokevirtual com.jcraft.jsch.KeyPair.writeLength:([BII)I
            istore 2 /* index */
         2: .line 334
            iload 2 /* index */
            ireturn
        end local 3 // int len
        end local 2 // int index
        end local 1 // byte[] buf
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/jcraft/jsch/KeyPair;
            0    3     1    buf  [B
            0    3     2  index  I
            0    3     3    len  I
    MethodParameters:
       Name  Flags
      buf    
      index  
      len    

  int writeINTEGER(byte[], int, byte[]);
    descriptor: ([BI[B)I
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] buf
        start local 2 // int index
        start local 3 // byte[] data
         0: .line 337
            aload 1 /* buf */
            iload 2 /* index */
            iinc 2 /* index */ 1
            iconst_2
            bastore
         1: .line 338
            aload 0 /* this */
            aload 1 /* buf */
            iload 2 /* index */
            aload 3 /* data */
            arraylength
            invokevirtual com.jcraft.jsch.KeyPair.writeLength:([BII)I
            istore 2 /* index */
         2: .line 339
            aload 3 /* data */
            iconst_0
            aload 1 /* buf */
            iload 2 /* index */
            aload 3 /* data */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 340
            iload 2 /* index */
            aload 3 /* data */
            arraylength
            iadd
            istore 2 /* index */
         4: .line 341
            iload 2 /* index */
            ireturn
        end local 3 // byte[] data
        end local 2 // int index
        end local 1 // byte[] buf
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/jcraft/jsch/KeyPair;
            0    5     1    buf  [B
            0    5     2  index  I
            0    5     3   data  [B
    MethodParameters:
       Name  Flags
      buf    
      index  
      data   

  int writeOCTETSTRING(byte[], int, byte[]);
    descriptor: ([BI[B)I
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] buf
        start local 2 // int index
        start local 3 // byte[] data
         0: .line 345
            aload 1 /* buf */
            iload 2 /* index */
            iinc 2 /* index */ 1
            iconst_4
            bastore
         1: .line 346
            aload 0 /* this */
            aload 1 /* buf */
            iload 2 /* index */
            aload 3 /* data */
            arraylength
            invokevirtual com.jcraft.jsch.KeyPair.writeLength:([BII)I
            istore 2 /* index */
         2: .line 347
            aload 3 /* data */
            iconst_0
            aload 1 /* buf */
            iload 2 /* index */
            aload 3 /* data */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 348
            iload 2 /* index */
            aload 3 /* data */
            arraylength
            iadd
            istore 2 /* index */
         4: .line 349
            iload 2 /* index */
            ireturn
        end local 3 // byte[] data
        end local 2 // int index
        end local 1 // byte[] buf
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/jcraft/jsch/KeyPair;
            0    5     1    buf  [B
            0    5     2  index  I
            0    5     3   data  [B
    MethodParameters:
       Name  Flags
      buf    
      index  
      data   

  int writeDATA(byte[], byte, int, byte[]);
    descriptor: ([BBI[B)I
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] buf
        start local 2 // byte n
        start local 3 // int index
        start local 4 // byte[] data
         0: .line 353
            aload 1 /* buf */
            iload 3 /* index */
            iinc 3 /* index */ 1
            iload 2 /* n */
            bastore
         1: .line 354
            aload 0 /* this */
            aload 1 /* buf */
            iload 3 /* index */
            aload 4 /* data */
            arraylength
            invokevirtual com.jcraft.jsch.KeyPair.writeLength:([BII)I
            istore 3 /* index */
         2: .line 355
            aload 4 /* data */
            iconst_0
            aload 1 /* buf */
            iload 3 /* index */
            aload 4 /* data */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 356
            iload 3 /* index */
            aload 4 /* data */
            arraylength
            iadd
            istore 3 /* index */
         4: .line 357
            iload 3 /* index */
            ireturn
        end local 4 // byte[] data
        end local 3 // int index
        end local 2 // byte n
        end local 1 // byte[] buf
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/jcraft/jsch/KeyPair;
            0    5     1    buf  [B
            0    5     2      n  B
            0    5     3  index  I
            0    5     4   data  [B
    MethodParameters:
       Name  Flags
      buf    
      n      
      index  
      data   

  int countLength(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // int len
         0: .line 361
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         1: .line 362
            iload 1 /* len */
            bipush 127
            if_icmpgt 4
            iload 2 /* i */
            ireturn
         2: .line 364
      StackMap locals: int
      StackMap stack:
            iload 1 /* len */
            bipush 8
            iushr
            istore 1 /* len */
         3: .line 365
            iinc 2 /* i */ 1
         4: .line 363
      StackMap locals:
      StackMap stack:
            iload 1 /* len */
            ifgt 2
         5: .line 367
            iload 2 /* i */
            ireturn
        end local 2 // int i
        end local 1 // int len
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/jcraft/jsch/KeyPair;
            0    6     1   len  I
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      len   

  int writeLength(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] data
        start local 2 // int index
        start local 3 // int len
         0: .line 371
            aload 0 /* this */
            iload 3 /* len */
            invokevirtual com.jcraft.jsch.KeyPair.countLength:(I)I
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         1: .line 372
            iload 4 /* i */
            ifne 4
         2: .line 373
            aload 1 /* data */
            iload 2 /* index */
            iinc 2 /* index */ 1
            iload 3 /* len */
            i2b
            bastore
         3: .line 374
            iload 2 /* index */
            ireturn
         4: .line 376
      StackMap locals: int
      StackMap stack:
            aload 1 /* data */
            iload 2 /* index */
            iinc 2 /* index */ 1
            sipush 128
            iload 4 /* i */
            ior
            i2b
            bastore
         5: .line 377
            iload 2 /* index */
            iload 4 /* i */
            iadd
            istore 5 /* j */
        start local 5 // int j
         6: .line 378
            goto 10
         7: .line 379
      StackMap locals: int
      StackMap stack:
            aload 1 /* data */
            iload 2 /* index */
            iload 4 /* i */
            iadd
            iconst_1
            isub
            iload 3 /* len */
            sipush 255
            iand
            i2b
            bastore
         8: .line 380
            iload 3 /* len */
            bipush 8
            iushr
            istore 3 /* len */
         9: .line 381
            iinc 4 /* i */ -1
        10: .line 378
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifgt 7
        11: .line 383
            iload 5 /* j */
            ireturn
        end local 5 // int j
        end local 4 // int i
        end local 3 // int len
        end local 2 // int index
        end local 1 // byte[] data
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lcom/jcraft/jsch/KeyPair;
            0   12     1   data  [B
            0   12     2  index  I
            0   12     3    len  I
            1   12     4      i  I
            6   12     5      j  I
    MethodParameters:
       Name  Flags
      data   
      index  
      len    

  private com.jcraft.jsch.Random genRandom();
    descriptor: ()Lcom/jcraft/jsch/Random;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair this
         0: .line 387
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.random:Lcom/jcraft/jsch/Random;
            ifnonnull 6
         1: .line 389
            ldc "random"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* c */
        start local 1 // java.lang.Class c
         2: .line 390
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Random
            putfield com.jcraft.jsch.KeyPair.random:Lcom/jcraft/jsch/Random;
        end local 1 // java.lang.Class c
         3: .line 391
            goto 6
         4: .line 392
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "connect: random "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 1 // java.lang.Exception e
         6: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.random:Lcom/jcraft/jsch/Random;
            areturn
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/jcraft/jsch/KeyPair;
            2    3     1     c  Ljava/lang/Class;
            5    6     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.Exception

  private com.jcraft.jsch.HASH genHash();
    descriptor: ()Lcom/jcraft/jsch/HASH;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair this
         0: .line 399
            ldc "md5"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* c */
        start local 1 // java.lang.Class c
         1: .line 400
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.HASH
            putfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
         2: .line 401
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            invokeinterface com.jcraft.jsch.HASH.init:()V
        end local 1 // java.lang.Class c
         3: .line 402
            goto 5
         4: .line 403
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         5: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            areturn
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/jcraft/jsch/KeyPair;
            1    3     1     c  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception

  private com.jcraft.jsch.Cipher genCipher();
    descriptor: ()Lcom/jcraft/jsch/Cipher;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair this
         0: .line 410
            ldc "3des-cbc"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* c */
        start local 1 // java.lang.Class c
         1: .line 411
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Cipher
            putfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
        end local 1 // java.lang.Class c
         2: .line 412
            goto 4
         3: .line 413
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            areturn
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/jcraft/jsch/KeyPair;
            1    2     1     c  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception

  synchronized byte[] genKey(byte[], byte[]);
    descriptor: ([B[B)[B
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] passphrase
        start local 2 // byte[] iv
         0: .line 425
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            ifnonnull 1
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.genCipher:()Lcom/jcraft/jsch/Cipher;
            putfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
         1: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            ifnonnull 2
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.genHash:()Lcom/jcraft/jsch/HASH;
            putfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
         2: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            invokeinterface com.jcraft.jsch.Cipher.getBlockSize:()I
            newarray 8
            astore 3 /* key */
        start local 3 // byte[] key
         3: .line 429
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            invokeinterface com.jcraft.jsch.HASH.getBlockSize:()I
            istore 4 /* hsize */
        start local 4 // int hsize
         4: .line 430
            aload 3 /* key */
            arraylength
            iload 4 /* hsize */
            idiv
            iload 4 /* hsize */
            imul
         5: .line 431
            aload 3 /* key */
            arraylength
            iload 4 /* hsize */
            irem
            ifne 6
            iconst_0
            goto 7
      StackMap locals: com.jcraft.jsch.KeyPair byte[] byte[] byte[] int
      StackMap stack: int
         6: iload 4 /* hsize */
         7: .line 430
      StackMap locals: com.jcraft.jsch.KeyPair byte[] byte[] byte[] int
      StackMap stack: int int
            iadd
            newarray 8
            astore 5 /* hn */
        start local 5 // byte[] hn
         8: .line 433
            aconst_null
            astore 6 /* tmp */
        start local 6 // byte[] tmp
         9: .line 434
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.vendor:I
            ifne 23
        10: .line 435
            iconst_0
            istore 7 /* index */
        start local 7 // int index
        11: goto 20
        12: .line 436
      StackMap locals: byte[] byte[] int
      StackMap stack:
            aload 6 /* tmp */
            ifnull 13
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            aload 6 /* tmp */
            iconst_0
            aload 6 /* tmp */
            arraylength
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        13: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            aload 1 /* passphrase */
            iconst_0
            aload 1 /* passphrase */
            arraylength
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        14: .line 438
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            aload 2 /* iv */
            iconst_0
            aload 2 /* iv */
            arraylength
            bipush 8
            if_icmple 15
            bipush 8
            goto 16
      StackMap locals: com.jcraft.jsch.KeyPair byte[] byte[] byte[] int byte[] byte[] int
      StackMap stack: com.jcraft.jsch.HASH byte[] int
        15: aload 2 /* iv */
            arraylength
      StackMap locals: com.jcraft.jsch.KeyPair byte[] byte[] byte[] int byte[] byte[] int
      StackMap stack: com.jcraft.jsch.HASH byte[] int int
        16: invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        17: .line 439
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            astore 6 /* tmp */
        18: .line 440
            aload 6 /* tmp */
            iconst_0
            aload 5 /* hn */
            iload 7 /* index */
            aload 6 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        19: .line 441
            iload 7 /* index */
            aload 6 /* tmp */
            arraylength
            iadd
            istore 7 /* index */
        20: .line 435
      StackMap locals:
      StackMap stack:
            iload 7 /* index */
            iload 4 /* hsize */
            iadd
            aload 5 /* hn */
            arraylength
            if_icmple 12
        end local 7 // int index
        21: .line 443
            aload 5 /* hn */
            iconst_0
            aload 3 /* key */
            iconst_0
            aload 3 /* key */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        22: .line 444
            goto 51
        23: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.vendor:I
            iconst_1
            if_icmpne 34
        24: .line 446
            iconst_0
            istore 7 /* index */
        start local 7 // int index
        25: goto 31
        26: .line 447
      StackMap locals: int
      StackMap stack:
            aload 6 /* tmp */
            ifnull 27
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            aload 6 /* tmp */
            iconst_0
            aload 6 /* tmp */
            arraylength
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        27: .line 448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            aload 1 /* passphrase */
            iconst_0
            aload 1 /* passphrase */
            arraylength
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        28: .line 449
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.hash:Lcom/jcraft/jsch/HASH;
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            astore 6 /* tmp */
        29: .line 450
            aload 6 /* tmp */
            iconst_0
            aload 5 /* hn */
            iload 7 /* index */
            aload 6 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        30: .line 451
            iload 7 /* index */
            aload 6 /* tmp */
            arraylength
            iadd
            istore 7 /* index */
        31: .line 446
      StackMap locals:
      StackMap stack:
            iload 7 /* index */
            iload 4 /* hsize */
            iadd
            aload 5 /* hn */
            arraylength
            if_icmple 26
        end local 7 // int index
        32: .line 453
            aload 5 /* hn */
            iconst_0
            aload 3 /* key */
            iconst_0
            aload 3 /* key */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        33: .line 454
            goto 51
        34: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.vendor:I
            iconst_2
            if_icmpne 51
        35: .line 456
            ldc "sha-1"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 7 /* c */
        start local 7 // java.lang.Class c
        36: .line 457
            aload 7 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.HASH
            astore 8 /* sha1 */
        start local 8 // com.jcraft.jsch.HASH sha1
        37: .line 458
            iconst_4
            newarray 8
            astore 6 /* tmp */
        38: .line 459
            bipush 40
            newarray 8
            astore 3 /* key */
        39: .line 460
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        40: goto 47
        41: .line 461
      StackMap locals: java.lang.Class com.jcraft.jsch.HASH int
      StackMap stack:
            aload 8 /* sha1 */
            invokeinterface com.jcraft.jsch.HASH.init:()V
        42: .line 462
            aload 6 /* tmp */
            iconst_3
            iload 9 /* i */
            i2b
            bastore
        43: .line 463
            aload 8 /* sha1 */
            aload 6 /* tmp */
            iconst_0
            aload 6 /* tmp */
            arraylength
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        44: .line 464
            aload 8 /* sha1 */
            aload 1 /* passphrase */
            iconst_0
            aload 1 /* passphrase */
            arraylength
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        45: .line 465
            aload 8 /* sha1 */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            iconst_0
            aload 3 /* key */
            iload 9 /* i */
            bipush 20
            imul
            bipush 20
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        46: .line 460
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 9 /* i */
            iconst_2
            if_icmplt 41
        end local 9 // int i
        end local 8 // com.jcraft.jsch.HASH sha1
        end local 7 // java.lang.Class c
        end local 6 // byte[] tmp
        48: .line 468
            goto 51
        49: .line 469
      StackMap locals: com.jcraft.jsch.KeyPair byte[] byte[] byte[] int byte[]
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        50: .line 470
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 6 /* e */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 6 // java.lang.Exception e
        51: .line 472
      StackMap locals:
      StackMap stack:
            aload 3 /* key */
            areturn
        end local 5 // byte[] hn
        end local 4 // int hsize
        end local 3 // byte[] key
        end local 2 // byte[] iv
        end local 1 // byte[] passphrase
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   52     0        this  Lcom/jcraft/jsch/KeyPair;
            0   52     1  passphrase  [B
            0   52     2          iv  [B
            3   52     3         key  [B
            4   52     4       hsize  I
            8   52     5          hn  [B
            9   48     6         tmp  [B
           11   21     7       index  I
           25   32     7       index  I
           36   48     7           c  Ljava/lang/Class;
           37   48     8        sha1  Lcom/jcraft/jsch/HASH;
           40   48     9           i  I
           50   51     6           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    48      49  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      passphrase  
      iv          

  public void setPassphrase(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.lang.String passphrase
         0: .line 479
            aload 1 /* passphrase */
            ifnull 1
            aload 1 /* passphrase */
            invokevirtual java.lang.String.length:()I
            ifne 3
         1: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual com.jcraft.jsch.KeyPair.setPassphrase:([B)V
         2: .line 481
            goto 4
         3: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* passphrase */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.KeyPair.setPassphrase:([B)V
         4: .line 485
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String passphrase
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/jcraft/jsch/KeyPair;
            0    5     1  passphrase  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      passphrase  

  public void setPassphrase(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] passphrase
         0: .line 491
            aload 1 /* passphrase */
            ifnull 2
            aload 1 /* passphrase */
            arraylength
            ifne 2
         1: .line 492
            aconst_null
            astore 1 /* passphrase */
         2: .line 493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* passphrase */
            putfield com.jcraft.jsch.KeyPair.passphrase:[B
         3: .line 494
            return
        end local 1 // byte[] passphrase
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/jcraft/jsch/KeyPair;
            0    4     1  passphrase  [B
    MethodParameters:
            Name  Flags
      passphrase  

  public boolean isEncrypted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair this
         0: .line 501
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.encrypted:Z
            ireturn
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPair;

  public boolean decrypt(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // java.lang.String _passphrase
         0: .line 503
            aload 1 /* _passphrase */
            ifnull 1
            aload 1 /* _passphrase */
            invokevirtual java.lang.String.length:()I
            ifne 4
         1: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.encrypted:Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
         4: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* _passphrase */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.KeyPair.decrypt:([B)Z
            ireturn
        end local 1 // java.lang.String _passphrase
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/jcraft/jsch/KeyPair;
            0    5     1  _passphrase  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      _passphrase  

  public boolean decrypt(byte[]);
    descriptor: ([B)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // byte[] _passphrase
         0: .line 510
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.encrypted:Z
            ifne 2
         1: .line 511
            iconst_1
            ireturn
         2: .line 513
      StackMap locals:
      StackMap stack:
            aload 1 /* _passphrase */
            ifnonnull 6
         3: .line 514
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.encrypted:Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: ireturn
         6: .line 516
      StackMap locals:
      StackMap stack:
            aload 1 /* _passphrase */
            arraylength
            newarray 8
            astore 2 /* bar */
        start local 2 // byte[] bar
         7: .line 517
            aload 1 /* _passphrase */
            iconst_0
            aload 2 /* bar */
            iconst_0
            aload 2 /* bar */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 518
            aload 2 /* bar */
            astore 1 /* _passphrase */
         9: .line 519
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.data:[B
            aload 1 /* _passphrase */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.iv:[B
            invokevirtual com.jcraft.jsch.KeyPair.decrypt:([B[B[B)[B
            astore 3 /* foo */
        start local 3 // byte[] foo
        10: .line 520
            aload 1 /* _passphrase */
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
        11: .line 521
            aload 0 /* this */
            aload 3 /* foo */
            invokevirtual com.jcraft.jsch.KeyPair.parse:([B)Z
            ifeq 13
        12: .line 522
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.KeyPair.encrypted:Z
        13: .line 524
      StackMap locals: byte[] byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.encrypted:Z
            ifeq 14
            iconst_0
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_1
      StackMap locals:
      StackMap stack: int
        15: ireturn
        end local 3 // byte[] foo
        end local 2 // byte[] bar
        end local 1 // byte[] _passphrase
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lcom/jcraft/jsch/KeyPair;
            0   16     1  _passphrase  [B
            7   16     2          bar  [B
           10   16     3          foo  [B
    MethodParameters:
             Name  Flags
      _passphrase  

  public static com.jcraft.jsch.KeyPair load(com.jcraft.jsch.JSch, java.lang.String);
    descriptor: (Lcom/jcraft/jsch/JSch;Ljava/lang/String;)Lcom/jcraft/jsch/KeyPair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // java.lang.String prvkey
         0: .line 528
            new java.lang.StringBuilder
            dup
            aload 1 /* prvkey */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".pub"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* pubkey */
        start local 2 // java.lang.String pubkey
         1: .line 529
            new java.io.File
            dup
            aload 2 /* pubkey */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifne 3
         2: .line 530
            aconst_null
            astore 2 /* pubkey */
         3: .line 532
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* jsch */
            aload 1 /* prvkey */
            aload 2 /* pubkey */
            invokestatic com.jcraft.jsch.KeyPair.load:(Lcom/jcraft/jsch/JSch;Ljava/lang/String;Ljava/lang/String;)Lcom/jcraft/jsch/KeyPair;
            areturn
        end local 2 // java.lang.String pubkey
        end local 1 // java.lang.String prvkey
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    jsch  Lcom/jcraft/jsch/JSch;
            0    4     1  prvkey  Ljava/lang/String;
            1    4     2  pubkey  Ljava/lang/String;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
        Name  Flags
      jsch    
      prvkey  

  public static com.jcraft.jsch.KeyPair load(com.jcraft.jsch.JSch, java.lang.String, java.lang.String);
    descriptor: (Lcom/jcraft/jsch/JSch;Ljava/lang/String;Ljava/lang/String;)Lcom/jcraft/jsch/KeyPair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // java.lang.String prvfile
        start local 2 // java.lang.String pubfile
         0: .line 536
            aconst_null
            astore 3 /* prvkey */
        start local 3 // byte[] prvkey
         1: .line 537
            aconst_null
            astore 4 /* pubkey */
        start local 4 // byte[] pubkey
         2: .line 540
            aload 1 /* prvfile */
            invokestatic com.jcraft.jsch.Util.fromFile:(Ljava/lang/String;)[B
            astore 3 /* prvkey */
         3: .line 541
            goto 6
         4: .line 542
      StackMap locals: com.jcraft.jsch.JSch java.lang.String java.lang.String byte[] byte[]
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
         5: .line 543
            new com.jcraft.jsch.JSchException
            dup
            aload 5 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
         6: .line 546
      StackMap locals:
      StackMap stack:
            aload 2 /* pubfile */
            astore 5 /* _pubfile */
        start local 5 // java.lang.String _pubfile
         7: .line 547
            aload 2 /* pubfile */
            ifnonnull 9
         8: .line 548
            new java.lang.StringBuilder
            dup
            aload 1 /* prvfile */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".pub"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* _pubfile */
         9: .line 552
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* _pubfile */
            invokestatic com.jcraft.jsch.Util.fromFile:(Ljava/lang/String;)[B
            astore 4 /* pubkey */
        10: .line 553
            goto 14
        11: .line 554
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 6 /* e */
        start local 6 // java.io.IOException e
        12: .line 555
            aload 2 /* pubfile */
            ifnull 14
        13: .line 556
            new com.jcraft.jsch.JSchException
            dup
            aload 6 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException e
        14: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* jsch */
            aload 3 /* prvkey */
            aload 4 /* pubkey */
            invokestatic com.jcraft.jsch.KeyPair.load:(Lcom/jcraft/jsch/JSch;[B[B)Lcom/jcraft/jsch/KeyPair;
            astore 7
        15: .line 564
            aload 3 /* prvkey */
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
        16: .line 561
            aload 7
            areturn
        17: .line 563
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        18: .line 564
            aload 3 /* prvkey */
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
        19: .line 565
            aload 6
            athrow
        end local 5 // java.lang.String _pubfile
        end local 4 // byte[] pubkey
        end local 3 // byte[] prvkey
        end local 2 // java.lang.String pubfile
        end local 1 // java.lang.String prvfile
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      jsch  Lcom/jcraft/jsch/JSch;
            0   20     1   prvfile  Ljava/lang/String;
            0   20     2   pubfile  Ljava/lang/String;
            1   20     3    prvkey  [B
            2   20     4    pubkey  [B
            5    6     5         e  Ljava/io/IOException;
            7   20     5  _pubfile  Ljava/lang/String;
           12   14     6         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
           9    10      11  Class java.io.IOException
          14    15      17  any
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
         Name  Flags
      jsch     
      prvfile  
      pubfile  

  public static com.jcraft.jsch.KeyPair load(com.jcraft.jsch.JSch, byte[], byte[]);
    descriptor: (Lcom/jcraft/jsch/JSch;[B[B)Lcom/jcraft/jsch/KeyPair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=19, args_size=3
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // byte[] prvkey
        start local 2 // byte[] pubkey
         0: .line 570
            bipush 8
            newarray 8
            astore 3 /* iv */
        start local 3 // byte[] iv
         1: .line 571
            iconst_1
            istore 4 /* encrypted */
        start local 4 // boolean encrypted
         2: .line 572
            aconst_null
            astore 5 /* data */
        start local 5 // byte[] data
         3: .line 574
            aconst_null
            astore 6 /* publickeyblob */
        start local 6 // byte[] publickeyblob
         4: .line 576
            iconst_0
            istore 7 /* type */
        start local 7 // int type
         5: .line 577
            iconst_0
            istore 8 /* vendor */
        start local 8 // int vendor
         6: .line 578
            ldc ""
            astore 9 /* publicKeyComment */
        start local 9 // java.lang.String publicKeyComment
         7: .line 579
            aconst_null
            astore 10 /* cipher */
        start local 10 // com.jcraft.jsch.Cipher cipher
         8: .line 582
            aload 2 /* pubkey */
            ifnonnull 31
         9: .line 583
            aload 1 /* prvkey */
            ifnull 31
        10: .line 584
            aload 1 /* prvkey */
            arraylength
            bipush 11
            if_icmple 31
        11: .line 585
            aload 1 /* prvkey */
            iconst_0
            baload
            ifne 31
            aload 1 /* prvkey */
            iconst_1
            baload
            ifne 31
            aload 1 /* prvkey */
            iconst_2
            baload
            ifne 31
        12: .line 586
            aload 1 /* prvkey */
            iconst_3
            baload
            bipush 7
            if_icmpeq 13
            aload 1 /* prvkey */
            iconst_3
            baload
            bipush 19
            if_icmpne 31
        13: .line 588
      StackMap locals: com.jcraft.jsch.JSch byte[] byte[] byte[] int byte[] byte[] int int java.lang.String com.jcraft.jsch.Cipher
      StackMap stack:
            new com.jcraft.jsch.Buffer
            dup
            aload 1 /* prvkey */
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 11 /* buf */
        start local 11 // com.jcraft.jsch.Buffer buf
        14: .line 589
            aload 11 /* buf */
            aload 1 /* prvkey */
            arraylength
            invokevirtual com.jcraft.jsch.Buffer.skip:(I)V
        15: .line 590
            new java.lang.String
            dup
            aload 11 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            invokespecial java.lang.String.<init>:([B)V
            astore 12 /* _type */
        start local 12 // java.lang.String _type
        16: .line 591
            aload 11 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.rewind:()V
        17: .line 593
            aconst_null
            astore 13 /* kpair */
        start local 13 // com.jcraft.jsch.KeyPair kpair
        18: .line 594
            aload 12 /* _type */
            ldc "ssh-rsa"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 595
            aload 0 /* jsch */
            aload 11 /* buf */
            invokestatic com.jcraft.jsch.KeyPairRSA.fromSSHAgent:(Lcom/jcraft/jsch/JSch;Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/KeyPair;
            astore 13 /* kpair */
        20: .line 596
            goto 30
        21: .line 597
      StackMap locals: com.jcraft.jsch.Buffer java.lang.String com.jcraft.jsch.KeyPair
      StackMap stack:
            aload 12 /* _type */
            ldc "ssh-dss"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 598
            aload 0 /* jsch */
            aload 11 /* buf */
            invokestatic com.jcraft.jsch.KeyPairDSA.fromSSHAgent:(Lcom/jcraft/jsch/JSch;Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/KeyPair;
            astore 13 /* kpair */
        23: .line 599
            goto 30
        24: .line 600
      StackMap locals:
      StackMap stack:
            aload 12 /* _type */
            ldc "ecdsa-sha2-nistp256"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
        25: .line 601
            aload 12 /* _type */
            ldc "ecdsa-sha2-nistp384"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
        26: .line 602
            aload 12 /* _type */
            ldc "ecdsa-sha2-nistp521"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        27: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* jsch */
            aload 11 /* buf */
            invokestatic com.jcraft.jsch.KeyPairECDSA.fromSSHAgent:(Lcom/jcraft/jsch/JSch;Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/KeyPair;
            astore 13 /* kpair */
        28: .line 604
            goto 30
        29: .line 606
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "privatekey: invalid key "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 1 /* prvkey */
            iconst_4
            bipush 7
            invokespecial java.lang.String.<init>:([BII)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 608
      StackMap locals:
      StackMap stack:
            aload 13 /* kpair */
            areturn
        end local 13 // com.jcraft.jsch.KeyPair kpair
        end local 12 // java.lang.String _type
        end local 11 // com.jcraft.jsch.Buffer buf
        31: .line 612
      StackMap locals:
      StackMap stack:
            aload 1 /* prvkey */
            astore 11 /* buf */
        start local 11 // byte[] buf
        32: .line 614
            aload 11 /* buf */
            ifnull 37
        33: .line 615
            aload 0 /* jsch */
            aload 11 /* buf */
            invokestatic com.jcraft.jsch.KeyPair.loadPPK:(Lcom/jcraft/jsch/JSch;[B)Lcom/jcraft/jsch/KeyPair;
            astore 12 /* ppk */
        start local 12 // com.jcraft.jsch.KeyPair ppk
        34: .line 616
            aload 12 /* ppk */
            ifnull 37
        35: .line 617
            aload 12 /* ppk */
        36: areturn
        end local 12 // com.jcraft.jsch.KeyPair ppk
        37: .line 620
      StackMap locals: byte[]
      StackMap stack:
            aload 11 /* buf */
            ifnull 38
            aload 11 /* buf */
            arraylength
            goto 39
      StackMap locals:
      StackMap stack:
        38: iconst_0
      StackMap locals:
      StackMap stack: int
        39: istore 12 /* len */
        start local 12 // int len
        40: .line 621
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        41: .line 624
            goto 47
        42: .line 625
      StackMap locals: int int
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 45
            if_icmpne 46
            iload 13 /* i */
            iconst_4
            iadd
            iload 12 /* len */
            if_icmpge 46
        43: .line 626
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 45
            if_icmpne 46
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 45
            if_icmpne 46
        44: .line 627
            aload 11 /* buf */
            iload 13 /* i */
            iconst_3
            iadd
            baload
            bipush 45
            if_icmpne 46
            aload 11 /* buf */
            iload 13 /* i */
            iconst_4
            iadd
            baload
            bipush 45
            if_icmpne 46
        45: .line 628
            goto 137
        46: .line 630
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
        47: .line 624
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            iload 12 /* len */
            if_icmplt 42
        48: .line 633
            goto 137
        49: .line 634
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 66
            if_icmpne 81
            iload 13 /* i */
            iconst_3
            iadd
            iload 12 /* len */
            if_icmpge 81
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 69
            if_icmpne 81
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 71
            if_icmpne 81
            aload 11 /* buf */
            iload 13 /* i */
            iconst_3
            iadd
            baload
            bipush 73
            if_icmpne 81
        50: .line 635
            iinc 13 /* i */ 6
        51: .line 636
            iload 13 /* i */
            iconst_2
            iadd
            iload 12 /* len */
            if_icmplt 53
        52: .line 637
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid privatekey: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prvkey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        53: .line 638
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 68
            if_icmpne 54
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 83
            if_icmpne 54
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 65
            if_icmpne 54
            iconst_1
            istore 7 /* type */
            goto 79
        54: .line 639
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 82
            if_icmpne 55
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 83
            if_icmpne 55
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 65
            if_icmpne 55
            iconst_2
            istore 7 /* type */
            goto 79
        55: .line 640
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 69
            if_icmpne 56
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 67
            if_icmpne 56
            iconst_3
            istore 7 /* type */
            goto 79
        56: .line 641
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 83
            if_icmpne 60
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 83
            if_icmpne 60
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 72
            if_icmpne 60
        57: .line 642
            iconst_4
            istore 7 /* type */
        58: .line 643
            iconst_1
            istore 8 /* vendor */
        59: .line 644
            goto 79
        60: .line 645
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            bipush 6
            iadd
            iload 12 /* len */
            if_icmpge 69
        61: .line 646
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 80
            if_icmpne 69
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 82
            if_icmpne 69
        62: .line 647
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 73
            if_icmpne 69
            aload 11 /* buf */
            iload 13 /* i */
            iconst_3
            iadd
            baload
            bipush 86
            if_icmpne 69
        63: .line 648
            aload 11 /* buf */
            iload 13 /* i */
            iconst_4
            iadd
            baload
            bipush 65
            if_icmpne 69
            aload 11 /* buf */
            iload 13 /* i */
            iconst_5
            iadd
            baload
            bipush 84
            if_icmpne 69
            aload 11 /* buf */
            iload 13 /* i */
            bipush 6
            iadd
            baload
            bipush 69
            if_icmpne 69
        64: .line 649
            iconst_4
            istore 7 /* type */
        65: .line 650
            iconst_3
            istore 8 /* vendor */
        66: .line 651
            iconst_0
            istore 4 /* encrypted */
        67: .line 652
            iinc 13 /* i */ 3
        68: .line 653
            goto 79
        69: .line 654
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            bipush 8
            iadd
            iload 12 /* len */
            if_icmpge 78
        70: .line 655
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 69
            if_icmpne 78
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 78
            if_icmpne 78
        71: .line 656
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 67
            if_icmpne 78
            aload 11 /* buf */
            iload 13 /* i */
            iconst_3
            iadd
            baload
            bipush 82
            if_icmpne 78
        72: .line 657
            aload 11 /* buf */
            iload 13 /* i */
            iconst_4
            iadd
            baload
            bipush 89
            if_icmpne 78
            aload 11 /* buf */
            iload 13 /* i */
            iconst_5
            iadd
            baload
            bipush 80
            if_icmpne 78
            aload 11 /* buf */
            iload 13 /* i */
            bipush 6
            iadd
            baload
            bipush 84
            if_icmpne 78
        73: .line 658
            aload 11 /* buf */
            iload 13 /* i */
            bipush 7
            iadd
            baload
            bipush 69
            if_icmpne 78
            aload 11 /* buf */
            iload 13 /* i */
            bipush 8
            iadd
            baload
            bipush 68
            if_icmpne 78
        74: .line 659
            iconst_4
            istore 7 /* type */
        75: .line 660
            iconst_3
            istore 8 /* vendor */
        76: .line 661
            iinc 13 /* i */ 5
        77: .line 662
            goto 79
        78: .line 664
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid privatekey: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prvkey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        79: .line 666
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 3
        80: .line 667
            goto 137
        81: .line 669
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 65
            if_icmpne 90
            iload 13 /* i */
            bipush 7
            iadd
            iload 12 /* len */
            if_icmpge 90
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 69
            if_icmpne 90
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 83
            if_icmpne 90
            aload 11 /* buf */
            iload 13 /* i */
            iconst_3
            iadd
            baload
            bipush 45
            if_icmpne 90
        82: .line 670
            aload 11 /* buf */
            iload 13 /* i */
            iconst_4
            iadd
            baload
            bipush 50
            if_icmpne 90
            aload 11 /* buf */
            iload 13 /* i */
            iconst_5
            iadd
            baload
            bipush 53
            if_icmpne 90
            aload 11 /* buf */
            iload 13 /* i */
            bipush 6
            iadd
            baload
            bipush 54
            if_icmpne 90
            aload 11 /* buf */
            iload 13 /* i */
            bipush 7
            iadd
            baload
            bipush 45
            if_icmpne 90
        83: .line 671
            iinc 13 /* i */ 8
        84: .line 672
            ldc "aes256-cbc"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Session.checkCipher:(Ljava/lang/String;)Z
            ifeq 89
        85: .line 673
            ldc "aes256-cbc"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 14 /* c */
        start local 14 // java.lang.Class c
        86: .line 674
            aload 14 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Cipher
            astore 10 /* cipher */
        87: .line 676
            aload 10 /* cipher */
            invokeinterface com.jcraft.jsch.Cipher.getIVSize:()I
            newarray 8
            astore 3 /* iv */
        end local 14 // java.lang.Class c
        88: .line 677
            goto 137
        89: .line 679
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "privatekey: aes256-cbc is not available "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prvkey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        90: .line 683
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 65
            if_icmpne 99
            iload 13 /* i */
            bipush 7
            iadd
            iload 12 /* len */
            if_icmpge 99
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 69
            if_icmpne 99
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 83
            if_icmpne 99
            aload 11 /* buf */
            iload 13 /* i */
            iconst_3
            iadd
            baload
            bipush 45
            if_icmpne 99
        91: .line 684
            aload 11 /* buf */
            iload 13 /* i */
            iconst_4
            iadd
            baload
            bipush 49
            if_icmpne 99
            aload 11 /* buf */
            iload 13 /* i */
            iconst_5
            iadd
            baload
            bipush 57
            if_icmpne 99
            aload 11 /* buf */
            iload 13 /* i */
            bipush 6
            iadd
            baload
            bipush 50
            if_icmpne 99
            aload 11 /* buf */
            iload 13 /* i */
            bipush 7
            iadd
            baload
            bipush 45
            if_icmpne 99
        92: .line 685
            iinc 13 /* i */ 8
        93: .line 686
            ldc "aes192-cbc"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Session.checkCipher:(Ljava/lang/String;)Z
            ifeq 98
        94: .line 687
            ldc "aes192-cbc"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 14 /* c */
        start local 14 // java.lang.Class c
        95: .line 688
            aload 14 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Cipher
            astore 10 /* cipher */
        96: .line 690
            aload 10 /* cipher */
            invokeinterface com.jcraft.jsch.Cipher.getIVSize:()I
            newarray 8
            astore 3 /* iv */
        end local 14 // java.lang.Class c
        97: .line 691
            goto 137
        98: .line 693
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "privatekey: aes192-cbc is not available "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prvkey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        99: .line 697
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 65
            if_icmpne 108
            iload 13 /* i */
            bipush 7
            iadd
            iload 12 /* len */
            if_icmpge 108
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 69
            if_icmpne 108
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 83
            if_icmpne 108
            aload 11 /* buf */
            iload 13 /* i */
            iconst_3
            iadd
            baload
            bipush 45
            if_icmpne 108
       100: .line 698
            aload 11 /* buf */
            iload 13 /* i */
            iconst_4
            iadd
            baload
            bipush 49
            if_icmpne 108
            aload 11 /* buf */
            iload 13 /* i */
            iconst_5
            iadd
            baload
            bipush 50
            if_icmpne 108
            aload 11 /* buf */
            iload 13 /* i */
            bipush 6
            iadd
            baload
            bipush 56
            if_icmpne 108
            aload 11 /* buf */
            iload 13 /* i */
            bipush 7
            iadd
            baload
            bipush 45
            if_icmpne 108
       101: .line 699
            iinc 13 /* i */ 8
       102: .line 700
            ldc "aes128-cbc"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Session.checkCipher:(Ljava/lang/String;)Z
            ifeq 107
       103: .line 701
            ldc "aes128-cbc"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 14 /* c */
        start local 14 // java.lang.Class c
       104: .line 702
            aload 14 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Cipher
            astore 10 /* cipher */
       105: .line 704
            aload 10 /* cipher */
            invokeinterface com.jcraft.jsch.Cipher.getIVSize:()I
            newarray 8
            astore 3 /* iv */
        end local 14 // java.lang.Class c
       106: .line 705
            goto 137
       107: .line 707
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "privatekey: aes128-cbc is not available "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prvkey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
       108: .line 711
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 67
            if_icmpne 116
            iload 13 /* i */
            iconst_3
            iadd
            iload 12 /* len */
            if_icmpge 116
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 66
            if_icmpne 116
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 67
            if_icmpne 116
            aload 11 /* buf */
            iload 13 /* i */
            iconst_3
            iadd
            baload
            bipush 44
            if_icmpne 116
       109: .line 712
            iinc 13 /* i */ 4
       110: .line 713
            iconst_0
            istore 14 /* ii */
        start local 14 // int ii
       111: goto 114
       112: .line 714
      StackMap locals: int
      StackMap stack:
            aload 3 /* iv */
            iload 14 /* ii */
            aload 11 /* buf */
            iload 13 /* i */
            iinc 13 /* i */ 1
            baload
            invokestatic com.jcraft.jsch.KeyPair.a2b:(B)B
            iconst_4
            ishl
            sipush 240
            iand
            aload 11 /* buf */
            iload 13 /* i */
            iinc 13 /* i */ 1
            baload
            invokestatic com.jcraft.jsch.KeyPair.a2b:(B)B
            bipush 15
            iand
            iadd
            i2b
            bastore
       113: .line 713
            iinc 14 /* ii */ 1
      StackMap locals:
      StackMap stack:
       114: iload 14 /* ii */
            aload 3 /* iv */
            arraylength
            if_icmplt 112
        end local 14 // int ii
       115: .line 716
            goto 137
       116: .line 718
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 13
            if_icmpne 119
            iload 13 /* i */
            iconst_1
            iadd
            aload 11 /* buf */
            arraylength
            if_icmpge 119
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 10
            if_icmpne 119
       117: .line 719
            iinc 13 /* i */ 1
       118: .line 720
            goto 137
       119: .line 722
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 10
            if_icmpne 136
            iload 13 /* i */
            iconst_1
            iadd
            aload 11 /* buf */
            arraylength
            if_icmpge 136
       120: .line 723
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 10
            if_icmpne 121
            iinc 13 /* i */ 2
            goto 138
       121: .line 724
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 13
            if_icmpne 124
       122: .line 725
            iload 13 /* i */
            iconst_2
            iadd
            aload 11 /* buf */
            arraylength
            if_icmpge 124
            aload 11 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            bipush 10
            if_icmpne 124
       123: .line 726
            iinc 13 /* i */ 3
            goto 138
       124: .line 728
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 14 /* inheader */
        start local 14 // boolean inheader
       125: .line 729
            iload 13 /* i */
            iconst_1
            iadd
            istore 15 /* j */
        start local 15 // int j
       126: goto 130
       127: .line 730
      StackMap locals: int int
      StackMap stack:
            aload 11 /* buf */
            iload 15 /* j */
            baload
            bipush 10
            if_icmpne 128
            goto 131
       128: .line 732
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 15 /* j */
            baload
            bipush 58
            if_icmpne 129
            iconst_1
            istore 14 /* inheader */
            goto 131
       129: .line 729
      StackMap locals:
      StackMap stack:
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
       130: iload 15 /* j */
            aload 11 /* buf */
            arraylength
            if_icmplt 127
        end local 15 // int j
       131: .line 734
      StackMap locals:
      StackMap stack:
            iload 14 /* inheader */
            ifne 136
       132: .line 735
            iinc 13 /* i */ 1
       133: .line 736
            iload 8 /* vendor */
            iconst_3
            if_icmpeq 138
       134: .line 737
            iconst_0
            istore 4 /* encrypted */
       135: .line 738
            goto 138
        end local 14 // boolean inheader
       136: .line 741
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
       137: .line 633
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            iload 12 /* len */
            if_icmplt 49
       138: .line 744
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            ifnull 171
       139: .line 746
            iload 7 /* type */
            ifne 141
       140: .line 747
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid privatekey: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prvkey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
       141: .line 750
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            istore 14 /* start */
        start local 14 // int start
       142: .line 751
            goto 145
       143: .line 752
      StackMap locals: int
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 45
            if_icmpne 144
            goto 146
       144: .line 753
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
       145: .line 751
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            iload 12 /* len */
            if_icmplt 143
       146: .line 756
      StackMap locals:
      StackMap stack:
            iload 12 /* len */
            iload 13 /* i */
            isub
            ifeq 147
            iload 13 /* i */
            iload 14 /* start */
            isub
            ifne 148
       147: .line 757
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid privatekey: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prvkey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
       148: .line 761
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            iload 14 /* start */
            isub
            newarray 8
            astore 15 /* tmp */
        start local 15 // byte[] tmp
       149: .line 762
            aload 11 /* buf */
            iload 14 /* start */
            aload 15 /* tmp */
            iconst_0
            aload 15 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       150: .line 763
            aload 15 /* tmp */
            astore 16 /* _buf */
        start local 16 // byte[] _buf
       151: .line 765
            iconst_0
            istore 14 /* start */
       152: .line 766
            iconst_0
            istore 13 /* i */
       153: .line 768
            aload 16 /* _buf */
            arraylength
            istore 17 /* _len */
        start local 17 // int _len
       154: .line 769
            goto 167
       155: .line 770
      StackMap locals: byte[] byte[] int
      StackMap stack:
            aload 16 /* _buf */
            iload 13 /* i */
            baload
            bipush 10
            if_icmpne 165
       156: .line 771
            aload 16 /* _buf */
            iload 13 /* i */
            iconst_1
            isub
            baload
            bipush 13
            if_icmpne 157
            iconst_1
            goto 158
      StackMap locals:
      StackMap stack:
       157: iconst_0
      StackMap locals:
      StackMap stack: int
       158: istore 18 /* xd */
        start local 18 // boolean xd
       159: .line 773
            aload 16 /* _buf */
            iload 13 /* i */
            iconst_1
            iadd
            aload 16 /* _buf */
            iload 13 /* i */
            iload 18 /* xd */
            ifeq 160
            iconst_1
            goto 161
      StackMap locals: com.jcraft.jsch.JSch byte[] byte[] byte[] int byte[] byte[] int int java.lang.String com.jcraft.jsch.Cipher byte[] int int int byte[] byte[] int int
      StackMap stack: byte[] int byte[] int
       160: iconst_0
      StackMap locals: com.jcraft.jsch.JSch byte[] byte[] byte[] int byte[] byte[] int int java.lang.String com.jcraft.jsch.Cipher byte[] int int int byte[] byte[] int int
      StackMap stack: byte[] int byte[] int int
       161: isub
            iload 17 /* _len */
            iload 13 /* i */
            iconst_1
            iadd
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       162: .line 774
            iload 18 /* xd */
            ifeq 163
            iinc 17 /* _len */ -1
       163: .line 775
      StackMap locals:
      StackMap stack:
            iinc 17 /* _len */ -1
       164: .line 776
            goto 167
        end local 18 // boolean xd
       165: .line 778
      StackMap locals:
      StackMap stack:
            aload 16 /* _buf */
            iload 13 /* i */
            baload
            bipush 45
            if_icmpne 166
            goto 168
       166: .line 779
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
       167: .line 769
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            iload 17 /* _len */
            if_icmplt 155
       168: .line 782
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            iload 14 /* start */
            isub
            ifle 170
       169: .line 783
            aload 16 /* _buf */
            iload 14 /* start */
            iload 13 /* i */
            iload 14 /* start */
            isub
            invokestatic com.jcraft.jsch.Util.fromBase64:([BII)[B
            astore 5 /* data */
       170: .line 785
      StackMap locals:
      StackMap stack:
            aload 16 /* _buf */
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
        end local 17 // int _len
        end local 16 // byte[] _buf
        end local 15 // byte[] tmp
        end local 14 // int start
       171: .line 788
      StackMap locals: com.jcraft.jsch.JSch byte[] byte[] byte[] int byte[] byte[] int int java.lang.String com.jcraft.jsch.Cipher byte[] int int
      StackMap stack:
            aload 5 /* data */
            ifnull 196
       172: .line 789
            aload 5 /* data */
            arraylength
            iconst_4
            if_icmple 196
       173: .line 790
            aload 5 /* data */
            iconst_0
            baload
            bipush 63
            if_icmpne 196
       174: .line 791
            aload 5 /* data */
            iconst_1
            baload
            bipush 111
            if_icmpne 196
       175: .line 792
            aload 5 /* data */
            iconst_2
            baload
            bipush -7
            if_icmpne 196
       176: .line 793
            aload 5 /* data */
            iconst_3
            baload
            bipush -21
            if_icmpne 196
       177: .line 795
            new com.jcraft.jsch.Buffer
            dup
            aload 5 /* data */
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 14 /* _buf */
        start local 14 // com.jcraft.jsch.Buffer _buf
       178: .line 796
            aload 14 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       179: .line 797
            aload 14 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       180: .line 798
            aload 14 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            pop
       181: .line 800
            aload 14 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            astore 15 /* _cipher */
        start local 15 // java.lang.String _cipher
       182: .line 802
            aload 15 /* _cipher */
            ldc "3des-cbc"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 189
       183: .line 803
            aload 14 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       184: .line 804
            aload 5 /* data */
            arraylength
            aload 14 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getOffSet:()I
            isub
            newarray 8
            astore 16 /* foo */
        start local 16 // byte[] foo
       185: .line 805
            aload 14 /* _buf */
            aload 16 /* foo */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
       186: .line 806
            aload 16 /* foo */
            astore 5 /* data */
       187: .line 807
            iconst_1
            istore 4 /* encrypted */
       188: .line 808
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown privatekey format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prvkey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 16 // byte[] foo
       189: .line 810
      StackMap locals: com.jcraft.jsch.Buffer java.lang.String
      StackMap stack:
            aload 15 /* _cipher */
            ldc "none"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 196
       190: .line 811
            aload 14 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       191: .line 812
            aload 14 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       192: .line 814
            iconst_0
            istore 4 /* encrypted */
       193: .line 816
            aload 5 /* data */
            arraylength
            aload 14 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getOffSet:()I
            isub
            newarray 8
            astore 16 /* foo */
        start local 16 // byte[] foo
       194: .line 817
            aload 14 /* _buf */
            aload 16 /* foo */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
       195: .line 818
            aload 16 /* foo */
            astore 5 /* data */
        end local 16 // byte[] foo
        end local 15 // java.lang.String _cipher
        end local 14 // com.jcraft.jsch.Buffer _buf
       196: .line 822
      StackMap locals:
      StackMap stack:
            aload 2 /* pubkey */
            ifnull 296
       197: .line 824
            aload 2 /* pubkey */
            astore 11 /* buf */
       198: .line 825
            aload 11 /* buf */
            arraylength
            istore 12 /* len */
       199: .line 826
            aload 11 /* buf */
            arraylength
            iconst_4
            if_icmple 235
       200: .line 827
            aload 11 /* buf */
            iconst_0
            baload
            bipush 45
            if_icmpne 235
            aload 11 /* buf */
            iconst_1
            baload
            bipush 45
            if_icmpne 235
            aload 11 /* buf */
            iconst_2
            baload
            bipush 45
            if_icmpne 235
            aload 11 /* buf */
            iconst_3
            baload
            bipush 45
            if_icmpne 235
       201: .line 829
            iconst_1
            istore 14 /* valid */
        start local 14 // boolean valid
       202: .line 830
            iconst_0
            istore 13 /* i */
       203: .line 831
      StackMap locals: int
      StackMap stack:
            iinc 13 /* i */ 1
            aload 11 /* buf */
            arraylength
            iload 13 /* i */
            if_icmple 204
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 10
            if_icmpne 203
       204: .line 832
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            arraylength
            iload 13 /* i */
            if_icmpgt 218
            iconst_0
            istore 14 /* valid */
       205: .line 834
            goto 218
       206: .line 835
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 10
            if_icmpne 217
       207: .line 836
            iconst_0
            istore 15 /* inheader */
        start local 15 // boolean inheader
       208: .line 837
            iload 13 /* i */
            iconst_1
            iadd
            istore 16 /* j */
        start local 16 // int j
       209: goto 213
       210: .line 838
      StackMap locals: int int
      StackMap stack:
            aload 11 /* buf */
            iload 16 /* j */
            baload
            bipush 10
            if_icmpne 211
            goto 214
       211: .line 839
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 16 /* j */
            baload
            bipush 58
            if_icmpne 212
            iconst_1
            istore 15 /* inheader */
            goto 214
       212: .line 837
      StackMap locals:
      StackMap stack:
            iinc 16 /* j */ 1
      StackMap locals:
      StackMap stack:
       213: iload 16 /* j */
            aload 11 /* buf */
            arraylength
            if_icmplt 210
        end local 16 // int j
       214: .line 841
      StackMap locals:
      StackMap stack:
            iload 15 /* inheader */
            ifne 217
       215: .line 842
            iinc 13 /* i */ 1
       216: .line 843
            goto 219
        end local 15 // boolean inheader
       217: .line 846
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
       218: .line 834
      StackMap locals:
      StackMap stack:
            iload 14 /* valid */
            ifne 206
       219: .line 848
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            arraylength
            iload 13 /* i */
            if_icmpgt 220
            iconst_0
            istore 14 /* valid */
       220: .line 850
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            istore 15 /* start */
        start local 15 // int start
       221: .line 851
            goto 228
       222: .line 852
      StackMap locals: int
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 10
            if_icmpne 226
       223: .line 853
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            aload 11 /* buf */
            iload 13 /* i */
            iload 12 /* len */
            iload 13 /* i */
            isub
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       224: .line 854
            iinc 12 /* len */ -1
       225: .line 855
            goto 228
       226: .line 857
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 45
            if_icmpne 227
            goto 229
       227: .line 858
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
       228: .line 851
      StackMap locals:
      StackMap stack:
            iload 14 /* valid */
            ifeq 229
            iload 13 /* i */
            iload 12 /* len */
            if_icmplt 222
       229: .line 860
      StackMap locals:
      StackMap stack:
            iload 14 /* valid */
            ifeq 296
       230: .line 861
            aload 11 /* buf */
            iload 15 /* start */
            iload 13 /* i */
            iload 15 /* start */
            isub
            invokestatic com.jcraft.jsch.Util.fromBase64:([BII)[B
            astore 6 /* publickeyblob */
       231: .line 862
            aload 1 /* prvkey */
            ifnull 232
            iload 7 /* type */
            iconst_4
            if_icmpne 296
       232: .line 863
      StackMap locals:
      StackMap stack:
            aload 6 /* publickeyblob */
            bipush 8
            baload
            bipush 100
            if_icmpne 233
            iconst_1
            istore 7 /* type */
            goto 296
       233: .line 864
      StackMap locals:
      StackMap stack:
            aload 6 /* publickeyblob */
            bipush 8
            baload
            bipush 114
            if_icmpne 296
            iconst_2
            istore 7 /* type */
        end local 15 // int start
        end local 14 // boolean valid
       234: .line 867
            goto 296
       235: .line 869
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iconst_0
            baload
            bipush 115
            if_icmpne 263
            aload 11 /* buf */
            iconst_1
            baload
            bipush 115
            if_icmpne 263
            aload 11 /* buf */
            iconst_2
            baload
            bipush 104
            if_icmpne 263
            aload 11 /* buf */
            iconst_3
            baload
            bipush 45
            if_icmpne 263
       236: .line 870
            aload 1 /* prvkey */
            ifnonnull 240
       237: .line 871
            aload 11 /* buf */
            arraylength
            bipush 7
            if_icmple 240
       238: .line 872
            aload 11 /* buf */
            iconst_4
            baload
            bipush 100
            if_icmpne 239
            iconst_1
            istore 7 /* type */
            goto 240
       239: .line 873
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iconst_4
            baload
            bipush 114
            if_icmpne 240
            iconst_2
            istore 7 /* type */
       240: .line 875
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* i */
       241: .line 876
            goto 244
      StackMap locals:
      StackMap stack:
       242: aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 32
            if_icmpne 243
            goto 245
      StackMap locals:
      StackMap stack:
       243: iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       244: iload 13 /* i */
            iload 12 /* len */
            if_icmplt 242
      StackMap locals:
      StackMap stack:
       245: iinc 13 /* i */ 1
       246: .line 877
            iload 13 /* i */
            iload 12 /* len */
            if_icmpge 253
       247: .line 878
            iload 13 /* i */
            istore 14 /* start */
        start local 14 // int start
       248: .line 879
            goto 251
      StackMap locals: int
      StackMap stack:
       249: aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 32
            if_icmpne 250
            goto 252
      StackMap locals:
      StackMap stack:
       250: iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       251: iload 13 /* i */
            iload 12 /* len */
            if_icmplt 249
       252: .line 880
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 14 /* start */
            iload 13 /* i */
            iload 14 /* start */
            isub
            invokestatic com.jcraft.jsch.Util.fromBase64:([BII)[B
            astore 6 /* publickeyblob */
        end local 14 // int start
       253: .line 882
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            iinc 13 /* i */ 1
            iload 12 /* len */
            if_icmpge 296
       254: .line 883
            iload 13 /* i */
            istore 14 /* start */
        start local 14 // int start
       255: .line 884
            goto 258
      StackMap locals: int
      StackMap stack:
       256: aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 10
            if_icmpne 257
            goto 259
      StackMap locals:
      StackMap stack:
       257: iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       258: iload 13 /* i */
            iload 12 /* len */
            if_icmplt 256
       259: .line 885
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            ifle 260
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            isub
            baload
            bipush 13
            if_icmpne 260
            iinc 13 /* i */ -1
       260: .line 886
      StackMap locals:
      StackMap stack:
            iload 14 /* start */
            iload 13 /* i */
            if_icmpge 296
       261: .line 887
            new java.lang.String
            dup
            aload 11 /* buf */
            iload 14 /* start */
            iload 13 /* i */
            iload 14 /* start */
            isub
            invokespecial java.lang.String.<init>:([BII)V
            astore 9 /* publicKeyComment */
        end local 14 // int start
       262: .line 890
            goto 296
       263: .line 891
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iconst_0
            baload
            bipush 101
            if_icmpne 296
            aload 11 /* buf */
            iconst_1
            baload
            bipush 99
            if_icmpne 296
            aload 11 /* buf */
            iconst_2
            baload
            bipush 100
            if_icmpne 296
            aload 11 /* buf */
            iconst_3
            baload
            bipush 115
            if_icmpne 296
       264: .line 892
            aload 1 /* prvkey */
            ifnonnull 266
            aload 11 /* buf */
            arraylength
            bipush 7
            if_icmple 266
       265: .line 893
            iconst_3
            istore 7 /* type */
       266: .line 895
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* i */
       267: .line 896
            goto 270
      StackMap locals:
      StackMap stack:
       268: aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 32
            if_icmpne 269
            goto 271
      StackMap locals:
      StackMap stack:
       269: iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       270: iload 13 /* i */
            iload 12 /* len */
            if_icmplt 268
      StackMap locals:
      StackMap stack:
       271: iinc 13 /* i */ 1
       272: .line 897
            iload 13 /* i */
            iload 12 /* len */
            if_icmpge 279
       273: .line 898
            iload 13 /* i */
            istore 14 /* start */
        start local 14 // int start
       274: .line 899
            goto 277
      StackMap locals: int
      StackMap stack:
       275: aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 32
            if_icmpne 276
            goto 278
      StackMap locals:
      StackMap stack:
       276: iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       277: iload 13 /* i */
            iload 12 /* len */
            if_icmplt 275
       278: .line 900
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            iload 14 /* start */
            iload 13 /* i */
            iload 14 /* start */
            isub
            invokestatic com.jcraft.jsch.Util.fromBase64:([BII)[B
            astore 6 /* publickeyblob */
        end local 14 // int start
       279: .line 902
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            iinc 13 /* i */ 1
            iload 12 /* len */
            if_icmpge 296
       280: .line 903
            iload 13 /* i */
            istore 14 /* start */
        start local 14 // int start
       281: .line 904
            goto 284
      StackMap locals: int
      StackMap stack:
       282: aload 11 /* buf */
            iload 13 /* i */
            baload
            bipush 10
            if_icmpne 283
            goto 285
      StackMap locals:
      StackMap stack:
       283: iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       284: iload 13 /* i */
            iload 12 /* len */
            if_icmplt 282
       285: .line 905
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            ifle 286
            aload 11 /* buf */
            iload 13 /* i */
            iconst_1
            isub
            baload
            bipush 13
            if_icmpne 286
            iinc 13 /* i */ -1
       286: .line 906
      StackMap locals:
      StackMap stack:
            iload 14 /* start */
            iload 13 /* i */
            if_icmpge 296
       287: .line 907
            new java.lang.String
            dup
            aload 11 /* buf */
            iload 14 /* start */
            iload 13 /* i */
            iload 14 /* start */
            isub
            invokespecial java.lang.String.<init>:([BII)V
            astore 9 /* publicKeyComment */
        end local 14 // int start
       288: .line 912
            goto 296
       289: .line 913
      StackMap locals: com.jcraft.jsch.JSch byte[] byte[] byte[] int byte[] byte[] int int java.lang.String com.jcraft.jsch.Cipher byte[] int int
      StackMap stack: java.lang.Exception
            pop
        end local 13 // int i
        end local 12 // int len
        end local 11 // byte[] buf
       290: .line 916
            goto 296
       291: .line 917
      StackMap locals: com.jcraft.jsch.JSch byte[] byte[] byte[] int byte[] byte[] int int java.lang.String com.jcraft.jsch.Cipher
      StackMap stack: java.lang.Exception
            astore 11 /* e */
        start local 11 // java.lang.Exception e
       292: .line 918
            aload 11 /* e */
            instanceof com.jcraft.jsch.JSchException
            ifeq 293
            aload 11 /* e */
            checkcast com.jcraft.jsch.JSchException
            athrow
       293: .line 919
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 11 /* e */
            instanceof java.lang.Throwable
            ifeq 295
       294: .line 920
            new com.jcraft.jsch.JSchException
            dup
            aload 11 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 11 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       295: .line 921
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            aload 11 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.Exception e
       296: .line 924
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* kpair */
        start local 11 // com.jcraft.jsch.KeyPair kpair
       297: .line 925
            iload 7 /* type */
            iconst_1
            if_icmpne 298
            new com.jcraft.jsch.KeyPairDSA
            dup
            aload 0 /* jsch */
            invokespecial com.jcraft.jsch.KeyPairDSA.<init>:(Lcom/jcraft/jsch/JSch;)V
            astore 11 /* kpair */
            goto 301
       298: .line 926
      StackMap locals: com.jcraft.jsch.KeyPair
      StackMap stack:
            iload 7 /* type */
            iconst_2
            if_icmpne 299
            new com.jcraft.jsch.KeyPairRSA
            dup
            aload 0 /* jsch */
            invokespecial com.jcraft.jsch.KeyPairRSA.<init>:(Lcom/jcraft/jsch/JSch;)V
            astore 11 /* kpair */
            goto 301
       299: .line 927
      StackMap locals:
      StackMap stack:
            iload 7 /* type */
            iconst_3
            if_icmpne 300
            new com.jcraft.jsch.KeyPairECDSA
            dup
            aload 0 /* jsch */
            aload 2 /* pubkey */
            invokespecial com.jcraft.jsch.KeyPairECDSA.<init>:(Lcom/jcraft/jsch/JSch;[B)V
            astore 11 /* kpair */
            goto 301
       300: .line 928
      StackMap locals:
      StackMap stack:
            iload 8 /* vendor */
            iconst_3
            if_icmpne 301
            new com.jcraft.jsch.KeyPairPKCS8
            dup
            aload 0 /* jsch */
            invokespecial com.jcraft.jsch.KeyPairPKCS8.<init>:(Lcom/jcraft/jsch/JSch;)V
            astore 11 /* kpair */
       301: .line 930
      StackMap locals:
      StackMap stack:
            aload 11 /* kpair */
            ifnull 316
       302: .line 931
            aload 11 /* kpair */
            iload 4 /* encrypted */
            putfield com.jcraft.jsch.KeyPair.encrypted:Z
       303: .line 932
            aload 11 /* kpair */
            aload 6 /* publickeyblob */
            putfield com.jcraft.jsch.KeyPair.publickeyblob:[B
       304: .line 933
            aload 11 /* kpair */
            iload 8 /* vendor */
            putfield com.jcraft.jsch.KeyPair.vendor:I
       305: .line 934
            aload 11 /* kpair */
            aload 9 /* publicKeyComment */
            putfield com.jcraft.jsch.KeyPair.publicKeyComment:Ljava/lang/String;
       306: .line 935
            aload 11 /* kpair */
            aload 10 /* cipher */
            putfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
       307: .line 937
            iload 4 /* encrypted */
            ifeq 312
       308: .line 938
            aload 11 /* kpair */
            iconst_1
            putfield com.jcraft.jsch.KeyPair.encrypted:Z
       309: .line 939
            aload 11 /* kpair */
            aload 3 /* iv */
            putfield com.jcraft.jsch.KeyPair.iv:[B
       310: .line 940
            aload 11 /* kpair */
            aload 5 /* data */
            putfield com.jcraft.jsch.KeyPair.data:[B
       311: .line 941
            goto 316
       312: .line 943
      StackMap locals:
      StackMap stack:
            aload 11 /* kpair */
            aload 5 /* data */
            invokevirtual com.jcraft.jsch.KeyPair.parse:([B)Z
            ifeq 315
       313: .line 944
            aload 11 /* kpair */
            iconst_0
            putfield com.jcraft.jsch.KeyPair.encrypted:Z
       314: .line 945
            aload 11 /* kpair */
            areturn
       315: .line 948
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid privatekey: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* prvkey */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
       316: .line 953
      StackMap locals:
      StackMap stack:
            aload 11 /* kpair */
            areturn
        end local 11 // com.jcraft.jsch.KeyPair kpair
        end local 10 // com.jcraft.jsch.Cipher cipher
        end local 9 // java.lang.String publicKeyComment
        end local 8 // int vendor
        end local 7 // int type
        end local 6 // byte[] publickeyblob
        end local 5 // byte[] data
        end local 4 // boolean encrypted
        end local 3 // byte[] iv
        end local 2 // byte[] pubkey
        end local 1 // byte[] prvkey
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  317     0              jsch  Lcom/jcraft/jsch/JSch;
            0  317     1            prvkey  [B
            0  317     2            pubkey  [B
            1  317     3                iv  [B
            2  317     4         encrypted  Z
            3  317     5              data  [B
            4  317     6     publickeyblob  [B
            5  317     7              type  I
            6  317     8            vendor  I
            7  317     9  publicKeyComment  Ljava/lang/String;
            8  317    10            cipher  Lcom/jcraft/jsch/Cipher;
           14   31    11               buf  Lcom/jcraft/jsch/Buffer;
           16   31    12             _type  Ljava/lang/String;
           18   31    13             kpair  Lcom/jcraft/jsch/KeyPair;
           32  290    11               buf  [B
           34   37    12               ppk  Lcom/jcraft/jsch/KeyPair;
           40  290    12               len  I
           41  290    13                 i  I
           86   88    14                 c  Ljava/lang/Class;
           95   97    14                 c  Ljava/lang/Class;
          104  106    14                 c  Ljava/lang/Class;
          111  115    14                ii  I
          125  136    14          inheader  Z
          126  131    15                 j  I
          142  171    14             start  I
          149  171    15               tmp  [B
          151  171    16              _buf  [B
          154  171    17              _len  I
          159  165    18                xd  Z
          178  196    14              _buf  Lcom/jcraft/jsch/Buffer;
          182  196    15           _cipher  Ljava/lang/String;
          185  189    16               foo  [B
          194  196    16               foo  [B
          202  234    14             valid  Z
          208  217    15          inheader  Z
          209  214    16                 j  I
          221  234    15             start  I
          248  253    14             start  I
          255  262    14             start  I
          274  279    14             start  I
          281  288    14             start  I
          292  296    11                 e  Ljava/lang/Exception;
          297  317    11             kpair  Lcom/jcraft/jsch/KeyPair;
      Exception table:
        from    to  target  type
         197   288     289  Class java.lang.Exception
          31    36     291  Class java.lang.Exception
          37   290     291  Class java.lang.Exception
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
        Name  Flags
      jsch    
      prvkey  
      pubkey  

  private static byte a2b(byte);
    descriptor: (B)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte c
         0: .line 957
            bipush 48
            iload 0 /* c */
            if_icmpgt 1
            iload 0 /* c */
            bipush 57
            if_icmpgt 1
            iload 0 /* c */
            bipush 48
            isub
            i2b
            ireturn
         1: .line 958
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 97
            isub
            bipush 10
            iadd
            i2b
            ireturn
        end local 0 // byte c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  B
    MethodParameters:
      Name  Flags
      c     

  private static byte b2a(byte);
    descriptor: (B)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte c
         0: .line 961
            iload 0 /* c */
            iflt 1
            iload 0 /* c */
            bipush 9
            if_icmpgt 1
            iload 0 /* c */
            bipush 48
            iadd
            i2b
            ireturn
         1: .line 962
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 10
            isub
            bipush 65
            iadd
            i2b
            ireturn
        end local 0 // byte c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  B
    MethodParameters:
      Name  Flags
      c     

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair this
         0: .line 966
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPair.passphrase:[B
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
         1: .line 967
            return
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPair;

  public void finalize();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPair this
         0: .line 970
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPair.dispose:()V
         1: .line 971
            return
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPair;

  static com.jcraft.jsch.KeyPair loadPPK(com.jcraft.jsch.JSch, byte[]);
    descriptor: (Lcom/jcraft/jsch/JSch;[B)Lcom/jcraft/jsch/KeyPair;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=15, args_size=2
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // byte[] buf
         0: .line 989
            aconst_null
            astore 2 /* pubkey */
        start local 2 // byte[] pubkey
         1: .line 990
            aconst_null
            astore 3 /* prvkey */
        start local 3 // byte[] prvkey
         2: .line 991
            iconst_0
            istore 4 /* lines */
        start local 4 // int lines
         3: .line 993
            new com.jcraft.jsch.Buffer
            dup
            aload 1 /* buf */
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 5 /* buffer */
        start local 5 // com.jcraft.jsch.Buffer buffer
         4: .line 994
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            astore 6 /* v */
        start local 6 // java.util.Hashtable v
         5: .line 997
      StackMap locals: com.jcraft.jsch.JSch byte[] byte[] byte[] int com.jcraft.jsch.Buffer java.util.Hashtable
      StackMap stack:
            aload 5 /* buffer */
            aload 6 /* v */
            invokestatic com.jcraft.jsch.KeyPair.parseHeader:(Lcom/jcraft/jsch/Buffer;Ljava/util/Hashtable;)Z
            ifne 5
         6: .line 1001
            aload 6 /* v */
            ldc "PuTTY-User-Key-File-2"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* typ */
        start local 7 // java.lang.String typ
         7: .line 1002
            aload 7 /* typ */
            ifnonnull 9
         8: .line 1003
            aconst_null
            areturn
         9: .line 1006
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* v */
            ldc "Public-Lines"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* lines */
        10: .line 1007
            aload 5 /* buffer */
            iload 4 /* lines */
            invokestatic com.jcraft.jsch.KeyPair.parseLines:(Lcom/jcraft/jsch/Buffer;I)[B
            astore 2 /* pubkey */
        11: .line 1010
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            aload 6 /* v */
            invokestatic com.jcraft.jsch.KeyPair.parseHeader:(Lcom/jcraft/jsch/Buffer;Ljava/util/Hashtable;)Z
            ifne 11
        12: .line 1014
            aload 6 /* v */
            ldc "Private-Lines"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* lines */
        13: .line 1015
            aload 5 /* buffer */
            iload 4 /* lines */
            invokestatic com.jcraft.jsch.KeyPair.parseLines:(Lcom/jcraft/jsch/Buffer;I)[B
            astore 3 /* prvkey */
        14: .line 1018
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            aload 6 /* v */
            invokestatic com.jcraft.jsch.KeyPair.parseHeader:(Lcom/jcraft/jsch/Buffer;Ljava/util/Hashtable;)Z
            ifne 14
        15: .line 1022
            aload 3 /* prvkey */
            iconst_0
            aload 3 /* prvkey */
            arraylength
            invokestatic com.jcraft.jsch.Util.fromBase64:([BII)[B
            astore 3 /* prvkey */
        16: .line 1023
            aload 2 /* pubkey */
            iconst_0
            aload 2 /* pubkey */
            arraylength
            invokestatic com.jcraft.jsch.Util.fromBase64:([BII)[B
            astore 2 /* pubkey */
        17: .line 1025
            aconst_null
            astore 8 /* kpair */
        start local 8 // com.jcraft.jsch.KeyPair kpair
        18: .line 1027
            aload 7 /* typ */
            ldc "ssh-rsa"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        19: .line 1029
            new com.jcraft.jsch.Buffer
            dup
            aload 2 /* pubkey */
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 9 /* _buf */
        start local 9 // com.jcraft.jsch.Buffer _buf
        20: .line 1030
            aload 9 /* _buf */
            aload 2 /* pubkey */
            arraylength
            invokevirtual com.jcraft.jsch.Buffer.skip:(I)V
        21: .line 1032
            aload 9 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 10 /* len */
        start local 10 // int len
        22: .line 1033
            aload 9 /* _buf */
            iload 10 /* len */
            newarray 8
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        23: .line 1034
            aload 9 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            newarray 8
            astore 11 /* pub_array */
        start local 11 // byte[] pub_array
        24: .line 1035
            aload 9 /* _buf */
            aload 11 /* pub_array */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        25: .line 1036
            aload 9 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            newarray 8
            astore 12 /* n_array */
        start local 12 // byte[] n_array
        26: .line 1037
            aload 9 /* _buf */
            aload 12 /* n_array */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        27: .line 1039
            new com.jcraft.jsch.KeyPairRSA
            dup
            aload 0 /* jsch */
            aload 12 /* n_array */
            aload 11 /* pub_array */
            aconst_null
            invokespecial com.jcraft.jsch.KeyPairRSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B)V
            astore 8 /* kpair */
        end local 12 // byte[] n_array
        end local 11 // byte[] pub_array
        end local 10 // int len
        end local 9 // com.jcraft.jsch.Buffer _buf
        28: .line 1040
            goto 45
        29: .line 1041
      StackMap locals: com.jcraft.jsch.KeyPair
      StackMap stack:
            aload 7 /* typ */
            ldc "ssh-dss"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 44
        30: .line 1042
            new com.jcraft.jsch.Buffer
            dup
            aload 2 /* pubkey */
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 9 /* _buf */
        start local 9 // com.jcraft.jsch.Buffer _buf
        31: .line 1043
            aload 9 /* _buf */
            aload 2 /* pubkey */
            arraylength
            invokevirtual com.jcraft.jsch.Buffer.skip:(I)V
        32: .line 1045
            aload 9 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 10 /* len */
        start local 10 // int len
        33: .line 1046
            aload 9 /* _buf */
            iload 10 /* len */
            newarray 8
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        34: .line 1048
            aload 9 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            newarray 8
            astore 11 /* p_array */
        start local 11 // byte[] p_array
        35: .line 1049
            aload 9 /* _buf */
            aload 11 /* p_array */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        36: .line 1050
            aload 9 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            newarray 8
            astore 12 /* q_array */
        start local 12 // byte[] q_array
        37: .line 1051
            aload 9 /* _buf */
            aload 12 /* q_array */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        38: .line 1052
            aload 9 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            newarray 8
            astore 13 /* g_array */
        start local 13 // byte[] g_array
        39: .line 1053
            aload 9 /* _buf */
            aload 13 /* g_array */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        40: .line 1054
            aload 9 /* _buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            newarray 8
            astore 14 /* y_array */
        start local 14 // byte[] y_array
        41: .line 1055
            aload 9 /* _buf */
            aload 14 /* y_array */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        42: .line 1057
            new com.jcraft.jsch.KeyPairDSA
            dup
            aload 0 /* jsch */
            aload 11 /* p_array */
            aload 12 /* q_array */
            aload 13 /* g_array */
            aload 14 /* y_array */
            aconst_null
            invokespecial com.jcraft.jsch.KeyPairDSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B[B[B)V
            astore 8 /* kpair */
        end local 14 // byte[] y_array
        end local 13 // byte[] g_array
        end local 12 // byte[] q_array
        end local 11 // byte[] p_array
        end local 10 // int len
        end local 9 // com.jcraft.jsch.Buffer _buf
        43: .line 1058
            goto 45
        44: .line 1060
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        45: .line 1063
      StackMap locals:
      StackMap stack:
            aload 8 /* kpair */
            ifnonnull 47
        46: .line 1064
            aconst_null
            areturn
        47: .line 1066
      StackMap locals:
      StackMap stack:
            aload 8 /* kpair */
            aload 6 /* v */
            ldc "Encryption"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ldc "none"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 48
            iconst_0
            goto 49
      StackMap locals:
      StackMap stack: com.jcraft.jsch.KeyPair
        48: iconst_1
      StackMap locals: com.jcraft.jsch.JSch byte[] byte[] byte[] int com.jcraft.jsch.Buffer java.util.Hashtable java.lang.String com.jcraft.jsch.KeyPair
      StackMap stack: com.jcraft.jsch.KeyPair int
        49: putfield com.jcraft.jsch.KeyPair.encrypted:Z
        50: .line 1067
            aload 8 /* kpair */
            iconst_2
            putfield com.jcraft.jsch.KeyPair.vendor:I
        51: .line 1068
            aload 8 /* kpair */
            aload 6 /* v */
            ldc "Comment"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield com.jcraft.jsch.KeyPair.publicKeyComment:Ljava/lang/String;
        52: .line 1069
            aload 8 /* kpair */
            getfield com.jcraft.jsch.KeyPair.encrypted:Z
            ifeq 63
        53: .line 1070
            ldc "aes256-cbc"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Session.checkCipher:(Ljava/lang/String;)Z
            ifeq 60
        54: .line 1072
            ldc "aes256-cbc"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 9 /* c */
        start local 9 // java.lang.Class c
        55: .line 1073
            aload 8 /* kpair */
            aload 9 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Cipher
            putfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
        56: .line 1074
            aload 8 /* kpair */
            aload 8 /* kpair */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            invokeinterface com.jcraft.jsch.Cipher.getIVSize:()I
            newarray 8
            putfield com.jcraft.jsch.KeyPair.iv:[B
        end local 9 // java.lang.Class c
        57: .line 1075
            goto 61
        58: .line 1076
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        59: .line 1077
            new com.jcraft.jsch.JSchException
            dup
            ldc "The cipher 'aes256-cbc' is required, but it is not available."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 1081
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            ldc "The cipher 'aes256-cbc' is required, but it is not available."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        61: .line 1083
      StackMap locals:
      StackMap stack:
            aload 8 /* kpair */
            aload 3 /* prvkey */
            putfield com.jcraft.jsch.KeyPair.data:[B
        62: .line 1084
            goto 65
        63: .line 1086
      StackMap locals:
      StackMap stack:
            aload 8 /* kpair */
            aload 3 /* prvkey */
            putfield com.jcraft.jsch.KeyPair.data:[B
        64: .line 1087
            aload 8 /* kpair */
            aload 3 /* prvkey */
            invokevirtual com.jcraft.jsch.KeyPair.parse:([B)Z
            pop
        65: .line 1089
      StackMap locals:
      StackMap stack:
            aload 8 /* kpair */
            areturn
        end local 8 // com.jcraft.jsch.KeyPair kpair
        end local 7 // java.lang.String typ
        end local 6 // java.util.Hashtable v
        end local 5 // com.jcraft.jsch.Buffer buffer
        end local 4 // int lines
        end local 3 // byte[] prvkey
        end local 2 // byte[] pubkey
        end local 1 // byte[] buf
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   66     0       jsch  Lcom/jcraft/jsch/JSch;
            0   66     1        buf  [B
            1   66     2     pubkey  [B
            2   66     3     prvkey  [B
            3   66     4      lines  I
            4   66     5     buffer  Lcom/jcraft/jsch/Buffer;
            5   66     6          v  Ljava/util/Hashtable;
            7   66     7        typ  Ljava/lang/String;
           18   66     8      kpair  Lcom/jcraft/jsch/KeyPair;
           20   28     9       _buf  Lcom/jcraft/jsch/Buffer;
           22   28    10        len  I
           24   28    11  pub_array  [B
           26   28    12    n_array  [B
           31   43     9       _buf  Lcom/jcraft/jsch/Buffer;
           33   43    10        len  I
           35   43    11    p_array  [B
           37   43    12    q_array  [B
           39   43    13    g_array  [B
           41   43    14    y_array  [B
           55   57     9          c  Ljava/lang/Class;
      Exception table:
        from    to  target  type
          54    57      58  Class java.lang.Exception
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      jsch  
      buf   

  private static byte[] parseLines(com.jcraft.jsch.Buffer, int);
    descriptor: (Lcom/jcraft/jsch/Buffer;I)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // com.jcraft.jsch.Buffer buffer
        start local 1 // int lines
         0: .line 1093
            aload 0 /* buffer */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            astore 2 /* buf */
        start local 2 // byte[] buf
         1: .line 1094
            aload 0 /* buffer */
            getfield com.jcraft.jsch.Buffer.index:I
            istore 3 /* index */
        start local 3 // int index
         2: .line 1095
            aconst_null
            astore 4 /* data */
        start local 4 // byte[] data
         3: .line 1097
            iload 3 /* index */
            istore 5 /* i */
        start local 5 // int i
         4: .line 1098
            goto 23
         5: .line 1100
      StackMap locals: com.jcraft.jsch.Buffer int byte[] int byte[] int
      StackMap stack:
            aload 2 /* buf */
            iload 5 /* i */
            iinc 5 /* i */ 1
            baload
            bipush 13
            if_icmpne 19
         6: .line 1101
            aload 4 /* data */
            ifnonnull 10
         7: .line 1102
            iload 5 /* i */
            iload 3 /* index */
            isub
            iconst_1
            isub
            newarray 8
            astore 4 /* data */
         8: .line 1103
            aload 2 /* buf */
            iload 3 /* index */
            aload 4 /* data */
            iconst_0
            iload 5 /* i */
            iload 3 /* index */
            isub
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 1104
            goto 20
        10: .line 1106
      StackMap locals:
      StackMap stack:
            aload 4 /* data */
            arraylength
            iload 5 /* i */
            iadd
            iload 3 /* index */
            isub
            iconst_1
            isub
            newarray 8
            astore 6 /* tmp */
        start local 6 // byte[] tmp
        11: .line 1107
            aload 4 /* data */
            iconst_0
            aload 6 /* tmp */
            iconst_0
            aload 4 /* data */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 1108
            aload 2 /* buf */
            iload 3 /* index */
            aload 6 /* tmp */
            aload 4 /* data */
            arraylength
            iload 5 /* i */
            iload 3 /* index */
            isub
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 1109
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        14: goto 16
      StackMap locals: byte[] int
      StackMap stack:
        15: aload 4 /* data */
            iload 7 /* j */
            iconst_0
            bastore
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* j */
            aload 4 /* data */
            arraylength
            if_icmplt 15
        end local 7 // int j
        17: .line 1110
            aload 6 /* tmp */
            astore 4 /* data */
        end local 6 // byte[] tmp
        18: .line 1112
            goto 20
        19: .line 1099
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            arraylength
            iload 5 /* i */
            if_icmpgt 5
        20: .line 1115
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            iload 5 /* i */
            baload
            bipush 10
            if_icmpne 22
        21: .line 1116
            iinc 5 /* i */ 1
        22: .line 1117
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            istore 3 /* index */
        23: .line 1098
      StackMap locals:
      StackMap stack:
            iload 1 /* lines */
            iinc 1 /* lines */ -1
            ifgt 19
        24: .line 1120
            aload 4 /* data */
            ifnull 26
        25: .line 1121
            aload 0 /* buffer */
            iload 3 /* index */
            putfield com.jcraft.jsch.Buffer.index:I
        26: .line 1123
      StackMap locals:
      StackMap stack:
            aload 4 /* data */
            areturn
        end local 5 // int i
        end local 4 // byte[] data
        end local 3 // int index
        end local 2 // byte[] buf
        end local 1 // int lines
        end local 0 // com.jcraft.jsch.Buffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0  buffer  Lcom/jcraft/jsch/Buffer;
            0   27     1   lines  I
            1   27     2     buf  [B
            2   27     3   index  I
            3   27     4    data  [B
            4   27     5       i  I
           11   18     6     tmp  [B
           14   17     7       j  I
    MethodParameters:
        Name  Flags
      buffer  
      lines   

  private static boolean parseHeader(com.jcraft.jsch.Buffer, java.util.Hashtable);
    descriptor: (Lcom/jcraft/jsch/Buffer;Ljava/util/Hashtable;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.jcraft.jsch.Buffer buffer
        start local 1 // java.util.Hashtable v
         0: .line 1127
            aload 0 /* buffer */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            astore 2 /* buf */
        start local 2 // byte[] buf
         1: .line 1128
            aload 0 /* buffer */
            getfield com.jcraft.jsch.Buffer.index:I
            istore 3 /* index */
        start local 3 // int index
         2: .line 1129
            aconst_null
            astore 4 /* key */
        start local 4 // java.lang.String key
         3: .line 1130
            aconst_null
            astore 5 /* value */
        start local 5 // java.lang.String value
         4: .line 1131
            iload 3 /* index */
            istore 6 /* i */
        start local 6 // int i
         5: goto 16
         6: .line 1132
      StackMap locals: com.jcraft.jsch.Buffer java.util.Hashtable byte[] int java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* buf */
            iload 6 /* i */
            baload
            bipush 13
            if_icmpne 8
         7: .line 1133
            goto 17
         8: .line 1135
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            iload 6 /* i */
            baload
            bipush 58
            if_icmpne 15
         9: .line 1136
            new java.lang.String
            dup
            aload 2 /* buf */
            iload 3 /* index */
            iload 6 /* i */
            iload 3 /* index */
            isub
            invokespecial java.lang.String.<init>:([BII)V
            astore 4 /* key */
        10: .line 1137
            iinc 6 /* i */ 1
        11: .line 1138
            iload 6 /* i */
            aload 2 /* buf */
            arraylength
            if_icmpge 13
            aload 2 /* buf */
            iload 6 /* i */
            baload
            bipush 32
            if_icmpne 13
        12: .line 1139
            iinc 6 /* i */ 1
        13: .line 1141
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            istore 3 /* index */
        14: .line 1142
            goto 17
        15: .line 1131
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            aload 2 /* buf */
            arraylength
            if_icmplt 6
        end local 6 // int i
        17: .line 1146
      StackMap locals:
      StackMap stack:
            aload 4 /* key */
            ifnonnull 19
        18: .line 1147
            iconst_0
            ireturn
        19: .line 1149
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            istore 6 /* i */
        start local 6 // int i
        20: goto 29
        21: .line 1150
      StackMap locals: int
      StackMap stack:
            aload 2 /* buf */
            iload 6 /* i */
            baload
            bipush 13
            if_icmpne 28
        22: .line 1151
            new java.lang.String
            dup
            aload 2 /* buf */
            iload 3 /* index */
            iload 6 /* i */
            iload 3 /* index */
            isub
            invokespecial java.lang.String.<init>:([BII)V
            astore 5 /* value */
        23: .line 1152
            iinc 6 /* i */ 1
        24: .line 1153
            iload 6 /* i */
            aload 2 /* buf */
            arraylength
            if_icmpge 26
            aload 2 /* buf */
            iload 6 /* i */
            baload
            bipush 10
            if_icmpne 26
        25: .line 1154
            iinc 6 /* i */ 1
        26: .line 1156
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            istore 3 /* index */
        27: .line 1157
            goto 30
        28: .line 1149
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 6 /* i */
            aload 2 /* buf */
            arraylength
            if_icmplt 21
        end local 6 // int i
        30: .line 1161
      StackMap locals:
      StackMap stack:
            aload 5 /* value */
            ifnull 33
        31: .line 1162
            aload 1 /* v */
            aload 4 /* key */
            aload 5 /* value */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 1163
            aload 0 /* buffer */
            iload 3 /* index */
            putfield com.jcraft.jsch.Buffer.index:I
        33: .line 1166
      StackMap locals:
      StackMap stack:
            aload 4 /* key */
            ifnull 34
            aload 5 /* value */
            ifnull 34
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        34: iconst_0
            ireturn
        end local 5 // java.lang.String value
        end local 4 // java.lang.String key
        end local 3 // int index
        end local 2 // byte[] buf
        end local 1 // java.util.Hashtable v
        end local 0 // com.jcraft.jsch.Buffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   35     0  buffer  Lcom/jcraft/jsch/Buffer;
            0   35     1       v  Ljava/util/Hashtable;
            1   35     2     buf  [B
            2   35     3   index  I
            3   35     4     key  Ljava/lang/String;
            4   35     5   value  Ljava/lang/String;
            5   17     6       i  I
           20   30     6       i  I
    MethodParameters:
        Name  Flags
      buffer  
      v       

  void copy(com.jcraft.jsch.KeyPair);
    descriptor: (Lcom/jcraft/jsch/KeyPair;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPair this
        start local 1 // com.jcraft.jsch.KeyPair kpair
         0: .line 1170
            aload 0 /* this */
            aload 1 /* kpair */
            getfield com.jcraft.jsch.KeyPair.publickeyblob:[B
            putfield com.jcraft.jsch.KeyPair.publickeyblob:[B
         1: .line 1171
            aload 0 /* this */
            aload 1 /* kpair */
            getfield com.jcraft.jsch.KeyPair.vendor:I
            putfield com.jcraft.jsch.KeyPair.vendor:I
         2: .line 1172
            aload 0 /* this */
            aload 1 /* kpair */
            getfield com.jcraft.jsch.KeyPair.publicKeyComment:Ljava/lang/String;
            putfield com.jcraft.jsch.KeyPair.publicKeyComment:Ljava/lang/String;
         3: .line 1173
            aload 0 /* this */
            aload 1 /* kpair */
            getfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
            putfield com.jcraft.jsch.KeyPair.cipher:Lcom/jcraft/jsch/Cipher;
         4: .line 1174
            return
        end local 1 // com.jcraft.jsch.KeyPair kpair
        end local 0 // com.jcraft.jsch.KeyPair this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/jcraft/jsch/KeyPair;
            0    5     1  kpair  Lcom/jcraft/jsch/KeyPair;
    MethodParameters:
       Name  Flags
      kpair  
}
SourceFile: "KeyPair.java"
NestMembers:
  com.jcraft.jsch.KeyPair$ASN1  com.jcraft.jsch.KeyPair$ASN1Exception
InnerClasses:
  ASN1 = com.jcraft.jsch.KeyPair$ASN1 of com.jcraft.jsch.KeyPair
  ASN1Exception = com.jcraft.jsch.KeyPair$ASN1Exception of com.jcraft.jsch.KeyPair