public class com.jcraft.jsch.KeyPairRSA extends com.jcraft.jsch.KeyPair
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.KeyPairRSA
  super_class: com.jcraft.jsch.KeyPair
{
  private byte[] n_array;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

  private int key_size;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 90
            ldc "-----BEGIN RSA PRIVATE KEY-----"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putstatic com.jcraft.jsch.KeyPairRSA.begin:[B
         1: .line 91
            ldc "-----END RSA PRIVATE KEY-----"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putstatic com.jcraft.jsch.KeyPairRSA.end:[B
         2: .line 311
            ldc "ssh-rsa"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.jcraft.jsch.JSch);
    descriptor: (Lcom/jcraft/jsch/JSch;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPairRSA this
        start local 1 // com.jcraft.jsch.JSch jsch
         0: .line 48
            aload 0 /* this */
            aload 1 /* jsch */
            aconst_null
            aconst_null
            aconst_null
            invokespecial com.jcraft.jsch.KeyPairRSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B)V
         1: .line 49
            return
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPairRSA;
            0    2     1  jsch  Lcom/jcraft/jsch/JSch;
    MethodParameters:
      Name  Flags
      jsch  

  public void <init>(com.jcraft.jsch.JSch, byte[], byte[], byte[]);
    descriptor: (Lcom/jcraft/jsch/JSch;[B[B[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.jcraft.jsch.KeyPairRSA this
        start local 1 // com.jcraft.jsch.JSch jsch
        start local 2 // byte[] n_array
        start local 3 // byte[] pub_array
        start local 4 // byte[] prv_array
         0: .line 55
            aload 0 /* this */
            aload 1 /* jsch */
            invokespecial com.jcraft.jsch.KeyPair.<init>:(Lcom/jcraft/jsch/JSch;)V
         1: .line 45
            aload 0 /* this */
            sipush 1024
            putfield com.jcraft.jsch.KeyPairRSA.key_size:I
         2: .line 56
            aload 0 /* this */
            aload 2 /* n_array */
            putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
         3: .line 57
            aload 0 /* this */
            aload 3 /* pub_array */
            putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
         4: .line 58
            aload 0 /* this */
            aload 4 /* prv_array */
            putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
         5: .line 59
            aload 2 /* n_array */
            ifnull 7
         6: .line 60
            aload 0 /* this */
            new java.math.BigInteger
            dup
            aload 2 /* n_array */
            invokespecial java.math.BigInteger.<init>:([B)V
            invokevirtual java.math.BigInteger.bitLength:()I
            putfield com.jcraft.jsch.KeyPairRSA.key_size:I
         7: .line 62
      StackMap locals: com.jcraft.jsch.KeyPairRSA com.jcraft.jsch.JSch byte[] byte[] byte[]
      StackMap stack:
            return
        end local 4 // byte[] prv_array
        end local 3 // byte[] pub_array
        end local 2 // byte[] n_array
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/jcraft/jsch/KeyPairRSA;
            0    8     1       jsch  Lcom/jcraft/jsch/JSch;
            0    8     2    n_array  [B
            0    8     3  pub_array  [B
            0    8     4  prv_array  [B
    MethodParameters:
           Name  Flags
      jsch       
      n_array    
      pub_array  
      prv_array  

  void generate(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.KeyPairRSA this
        start local 1 // int key_size
         0: .line 65
            aload 0 /* this */
            iload 1 /* key_size */
            putfield com.jcraft.jsch.KeyPairRSA.key_size:I
         1: .line 67
            ldc "keypairgen.rsa"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         2: .line 68
            aload 2 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.KeyPairGenRSA
            astore 3 /* keypairgen */
        start local 3 // com.jcraft.jsch.KeyPairGenRSA keypairgen
         3: .line 69
            aload 3 /* keypairgen */
            iload 1 /* key_size */
            invokeinterface com.jcraft.jsch.KeyPairGenRSA.init:(I)V
         4: .line 70
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenRSA.getE:()[B
            putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
         5: .line 71
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenRSA.getD:()[B
            putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
         6: .line 72
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenRSA.getN:()[B
            putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
         7: .line 74
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenRSA.getP:()[B
            putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
         8: .line 75
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenRSA.getQ:()[B
            putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
         9: .line 76
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenRSA.getEP:()[B
            putfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
        10: .line 77
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenRSA.getEQ:()[B
            putfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
        11: .line 78
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenRSA.getC:()[B
            putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
        12: .line 80
            aconst_null
            astore 3
        end local 3 // com.jcraft.jsch.KeyPairGenRSA keypairgen
        end local 2 // java.lang.Class c
        13: .line 81
            goto 18
        14: .line 82
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        15: .line 84
            aload 2 /* e */
            instanceof java.lang.Throwable
            ifeq 17
        16: .line 85
            new com.jcraft.jsch.JSchException
            dup
            aload 2 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        17: .line 86
      StackMap locals: java.lang.Exception
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            aload 2 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Exception e
        18: .line 88
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int key_size
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lcom/jcraft/jsch/KeyPairRSA;
            0   19     1    key_size  I
            2   13     2           c  Ljava/lang/Class;
            3   13     3  keypairgen  Lcom/jcraft/jsch/KeyPairGenRSA;
           15   18     2           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    13      14  Class java.lang.Exception
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
          Name  Flags
      key_size  

  byte[] getBegin();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 93
            getstatic com.jcraft.jsch.KeyPairRSA.begin:[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairRSA;

  byte[] getEnd();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 94
            getstatic com.jcraft.jsch.KeyPairRSA.end:[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairRSA;

  byte[] getPrivateKey();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 98
            iconst_1
            aload 0 /* this */
            iconst_1
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
            iadd
            iconst_1
            iadd
         1: .line 99
            iconst_1
         2: .line 98
            iadd
         3: .line 99
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
         4: .line 98
            iadd
         5: .line 99
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            arraylength
         6: .line 98
            iadd
         7: .line 100
            iconst_1
         8: .line 98
            iadd
         9: .line 100
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
        10: .line 98
            iadd
        11: .line 100
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
            arraylength
        12: .line 98
            iadd
        13: .line 101
            iconst_1
        14: .line 98
            iadd
        15: .line 101
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
        16: .line 98
            iadd
        17: .line 101
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
            arraylength
        18: .line 98
            iadd
        19: .line 102
            iconst_1
        20: .line 98
            iadd
        21: .line 102
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
        22: .line 98
            iadd
        23: .line 102
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
            arraylength
        24: .line 98
            iadd
        25: .line 103
            iconst_1
        26: .line 98
            iadd
        27: .line 103
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
        28: .line 98
            iadd
        29: .line 103
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
            arraylength
        30: .line 98
            iadd
        31: .line 104
            iconst_1
        32: .line 98
            iadd
        33: .line 104
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
        34: .line 98
            iadd
        35: .line 104
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
            arraylength
        36: .line 98
            iadd
        37: .line 105
            iconst_1
        38: .line 98
            iadd
        39: .line 105
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
        40: .line 98
            iadd
        41: .line 105
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
            arraylength
        42: .line 98
            iadd
        43: .line 106
            iconst_1
        44: .line 98
            iadd
        45: .line 106
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
        46: .line 98
            iadd
        47: .line 106
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
            arraylength
        48: .line 98
            iadd
        49: .line 97
            istore 1 /* content */
        start local 1 // int content
        50: .line 109
            iconst_1
            aload 0 /* this */
            iload 1 /* content */
            invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
            iadd
            iload 1 /* content */
            iadd
        51: .line 108
            istore 2 /* total */
        start local 2 // int total
        52: .line 111
            iload 2 /* total */
            newarray 8
            astore 3 /* plain */
        start local 3 // byte[] plain
        53: .line 112
            iconst_0
            istore 4 /* index */
        start local 4 // int index
        54: .line 113
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            iload 1 /* content */
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeSEQUENCE:([BII)I
            istore 4 /* index */
        55: .line 114
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            iconst_1
            newarray 8
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
            istore 4 /* index */
        56: .line 115
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
            istore 4 /* index */
        57: .line 116
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
            istore 4 /* index */
        58: .line 117
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
            istore 4 /* index */
        59: .line 118
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
            istore 4 /* index */
        60: .line 119
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
            istore 4 /* index */
        61: .line 120
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
            istore 4 /* index */
        62: .line 121
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
            istore 4 /* index */
        63: .line 122
            aload 0 /* this */
            aload 3 /* plain */
            iload 4 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
            invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
            istore 4 /* index */
        64: .line 123
            aload 3 /* plain */
            areturn
        end local 4 // int index
        end local 3 // byte[] plain
        end local 2 // int total
        end local 1 // int content
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   65     0     this  Lcom/jcraft/jsch/KeyPairRSA;
           50   65     1  content  I
           52   65     2    total  I
           53   65     3    plain  [B
           54   65     4    index  I

  boolean parse(byte[]);
    descriptor: ([B)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.jcraft.jsch.KeyPairRSA this
        start local 1 // byte[] plain
         0: .line 129
            iconst_0
            istore 2 /* index */
        start local 2 // int index
         1: .line 130
            iconst_0
            istore 3 /* length */
        start local 3 // int length
         2: .line 132
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.vendor:I
            iconst_2
            if_icmpne 16
         3: .line 133
            new com.jcraft.jsch.Buffer
            dup
            aload 1 /* plain */
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 4 /* buf */
        start local 4 // com.jcraft.jsch.Buffer buf
         4: .line 134
            aload 4 /* buf */
            aload 1 /* plain */
            arraylength
            invokevirtual com.jcraft.jsch.Buffer.skip:(I)V
         5: .line 137
            aload 4 /* buf */
            iconst_4
            ldc ""
            invokevirtual com.jcraft.jsch.Buffer.getBytes:(ILjava/lang/String;)[[B
            astore 5 /* tmp */
        start local 5 // byte[][] tmp
         6: .line 138
            aload 0 /* this */
            aload 5 /* tmp */
            iconst_0
            aaload
            putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
         7: .line 139
            aload 0 /* this */
            aload 5 /* tmp */
            iconst_1
            aaload
            putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
         8: .line 140
            aload 0 /* this */
            aload 5 /* tmp */
            iconst_2
            aaload
            putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
         9: .line 141
            aload 0 /* this */
            aload 5 /* tmp */
            iconst_3
            aaload
            putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
        end local 5 // byte[][] tmp
        10: .line 142
            goto 13
        11: .line 143
      StackMap locals: com.jcraft.jsch.KeyPairRSA byte[] int int com.jcraft.jsch.Buffer
      StackMap stack: com.jcraft.jsch.JSchException
            pop
        12: .line 144
            iconst_0
            ireturn
        13: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairRSA.getEPArray:()[B
            pop
        14: .line 148
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairRSA.getEQArray:()[B
            pop
        15: .line 150
            iconst_1
            ireturn
        end local 4 // com.jcraft.jsch.Buffer buf
        16: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.vendor:I
            iconst_1
            if_icmpne 32
        17: .line 154
            aload 1 /* plain */
            iload 2 /* index */
            baload
            bipush 48
            if_icmpeq 31
        18: .line 155
            new com.jcraft.jsch.Buffer
            dup
            aload 1 /* plain */
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 4 /* buf */
        start local 4 // com.jcraft.jsch.Buffer buf
        19: .line 156
            aload 0 /* this */
            aload 4 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
            putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
        20: .line 157
            aload 0 /* this */
            aload 4 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
            putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
        21: .line 158
            aload 0 /* this */
            aload 4 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
            putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
        22: .line 159
            aload 4 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
            pop
        23: .line 160
            aload 0 /* this */
            aload 4 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
            putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
        24: .line 161
            aload 0 /* this */
            aload 4 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
            putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
        25: .line 162
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            ifnull 27
        26: .line 163
            aload 0 /* this */
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            invokespecial java.math.BigInteger.<init>:([B)V
            invokevirtual java.math.BigInteger.bitLength:()I
            putfield com.jcraft.jsch.KeyPairRSA.key_size:I
        27: .line 166
      StackMap locals: com.jcraft.jsch.Buffer
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairRSA.getEPArray:()[B
            pop
        28: .line 167
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairRSA.getEQArray:()[B
            pop
        29: .line 168
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairRSA.getCArray:()[B
            pop
        30: .line 170
            iconst_1
            ireturn
        end local 4 // com.jcraft.jsch.Buffer buf
        31: .line 172
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        32: .line 191
      StackMap locals:
      StackMap stack:
            iinc 2 /* index */ 1
        33: .line 192
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        34: .line 193
            iload 3 /* length */
            sipush 128
            iand
            ifeq 40
        35: .line 194
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        36: iconst_0
            istore 3 /* length */
        37: .line 195
            goto 39
      StackMap locals: int
      StackMap stack:
        38: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        39: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 38
        end local 4 // int foo
        40: .line 198
      StackMap locals:
      StackMap stack:
            aload 1 /* plain */
            iload 2 /* index */
            baload
            iconst_2
            if_icmpeq 42
        41: iconst_0
            ireturn
        42: .line 199
      StackMap locals:
      StackMap stack:
            iinc 2 /* index */ 1
        43: .line 200
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        44: .line 201
            iload 3 /* length */
            sipush 128
            iand
            ifeq 50
        45: .line 202
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        46: iconst_0
            istore 3 /* length */
        47: .line 203
            goto 49
      StackMap locals: int
      StackMap stack:
        48: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        49: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 48
        end local 4 // int foo
        50: .line 205
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
        51: .line 207
            iinc 2 /* index */ 1
        52: .line 208
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        53: .line 209
            iload 3 /* length */
            sipush 128
            iand
            ifeq 59
        54: .line 210
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        55: iconst_0
            istore 3 /* length */
        56: .line 211
            goto 58
      StackMap locals: int
      StackMap stack:
        57: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        58: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 57
        end local 4 // int foo
        59: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            newarray 8
            putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
        60: .line 214
            aload 1 /* plain */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        61: .line 215
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
        62: .line 217
            iinc 2 /* index */ 1
        63: .line 218
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        64: .line 219
            iload 3 /* length */
            sipush 128
            iand
            ifeq 70
        65: .line 220
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        66: iconst_0
            istore 3 /* length */
        67: .line 221
            goto 69
      StackMap locals: int
      StackMap stack:
        68: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        69: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 68
        end local 4 // int foo
        70: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            newarray 8
            putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
        71: .line 224
            aload 1 /* plain */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        72: .line 225
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
        73: .line 227
            iinc 2 /* index */ 1
        74: .line 228
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        75: .line 229
            iload 3 /* length */
            sipush 128
            iand
            ifeq 81
        76: .line 230
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        77: iconst_0
            istore 3 /* length */
        78: .line 231
            goto 80
      StackMap locals: int
      StackMap stack:
        79: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        80: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 79
        end local 4 // int foo
        81: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            newarray 8
            putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
        82: .line 234
            aload 1 /* plain */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        83: .line 235
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
        84: .line 237
            iinc 2 /* index */ 1
        85: .line 238
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        86: .line 239
            iload 3 /* length */
            sipush 128
            iand
            ifeq 92
        87: .line 240
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        88: iconst_0
            istore 3 /* length */
        89: .line 241
            goto 91
      StackMap locals: int
      StackMap stack:
        90: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        91: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 90
        end local 4 // int foo
        92: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            newarray 8
            putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
        93: .line 244
            aload 1 /* plain */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        94: .line 245
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
        95: .line 247
            iinc 2 /* index */ 1
        96: .line 248
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        97: .line 249
            iload 3 /* length */
            sipush 128
            iand
            ifeq 103
        98: .line 250
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        99: iconst_0
            istore 3 /* length */
       100: .line 251
            goto 102
      StackMap locals: int
      StackMap stack:
       101: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
       102: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 101
        end local 4 // int foo
       103: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            newarray 8
            putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
       104: .line 254
            aload 1 /* plain */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       105: .line 255
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
       106: .line 257
            iinc 2 /* index */ 1
       107: .line 258
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
       108: .line 259
            iload 3 /* length */
            sipush 128
            iand
            ifeq 114
       109: .line 260
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
       110: iconst_0
            istore 3 /* length */
       111: .line 261
            goto 113
      StackMap locals: int
      StackMap stack:
       112: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
       113: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 112
        end local 4 // int foo
       114: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            newarray 8
            putfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
       115: .line 264
            aload 1 /* plain */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       116: .line 265
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
       117: .line 267
            iinc 2 /* index */ 1
       118: .line 268
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
       119: .line 269
            iload 3 /* length */
            sipush 128
            iand
            ifeq 125
       120: .line 270
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
       121: iconst_0
            istore 3 /* length */
       122: .line 271
            goto 124
      StackMap locals: int
      StackMap stack:
       123: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
       124: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 123
        end local 4 // int foo
       125: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            newarray 8
            putfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
       126: .line 274
            aload 1 /* plain */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       127: .line 275
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
       128: .line 277
            iinc 2 /* index */ 1
       129: .line 278
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
       130: .line 279
            iload 3 /* length */
            sipush 128
            iand
            ifeq 136
       131: .line 280
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
       132: iconst_0
            istore 3 /* length */
       133: .line 281
            goto 135
      StackMap locals: int
      StackMap stack:
       134: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
       135: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 134
        end local 4 // int foo
       136: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            newarray 8
            putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
       137: .line 284
            aload 1 /* plain */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       138: .line 285
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
       139: .line 287
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            ifnull 144
       140: .line 288
            aload 0 /* this */
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            invokespecial java.math.BigInteger.<init>:([B)V
            invokevirtual java.math.BigInteger.bitLength:()I
            putfield com.jcraft.jsch.KeyPairRSA.key_size:I
        end local 3 // int length
        end local 2 // int index
       141: .line 291
            goto 144
       142: .line 292
      StackMap locals: com.jcraft.jsch.KeyPairRSA byte[]
      StackMap stack: java.lang.Exception
            pop
       143: .line 294
            iconst_0
            ireturn
       144: .line 296
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // byte[] plain
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0  145     0    this  Lcom/jcraft/jsch/KeyPairRSA;
            0  145     1   plain  [B
            1  141     2   index  I
            2  141     3  length  I
            4   16     4     buf  Lcom/jcraft/jsch/Buffer;
            6   10     5     tmp  [[B
           19   31     4     buf  Lcom/jcraft/jsch/Buffer;
           36   40     4     foo  I
           46   50     4     foo  I
           55   59     4     foo  I
           66   70     4     foo  I
           77   81     4     foo  I
           88   92     4     foo  I
           99  103     4     foo  I
          110  114     4     foo  I
          121  125     4     foo  I
          132  136     4     foo  I
      Exception table:
        from    to  target  type
           5    10      11  Class com.jcraft.jsch.JSchException
           0    12     142  Class java.lang.Exception
          13    15     142  Class java.lang.Exception
          16    30     142  Class java.lang.Exception
          32    41     142  Class java.lang.Exception
          42   141     142  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      plain  

  public byte[] getPublicKeyBlob();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 300
            aload 0 /* this */
            invokespecial com.jcraft.jsch.KeyPair.getPublicKeyBlob:()[B
            astore 1 /* foo */
        start local 1 // byte[] foo
         1: .line 301
            aload 1 /* foo */
            ifnull 2
            aload 1 /* foo */
            areturn
         2: .line 303
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
            ifnonnull 3
            aconst_null
            areturn
         3: .line 304
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray byte[]
            astore 2 /* tmp */
        start local 2 // byte[][] tmp
         4: .line 305
            aload 2 /* tmp */
            iconst_0
            getstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
            aastore
         5: .line 306
            aload 2 /* tmp */
            iconst_1
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
            aastore
         6: .line 307
            aload 2 /* tmp */
            iconst_2
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            aastore
         7: .line 308
            aload 2 /* tmp */
            invokestatic com.jcraft.jsch.Buffer.fromBytes:([[B)Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            areturn
        end local 2 // byte[][] tmp
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/jcraft/jsch/KeyPairRSA;
            1    8     1   foo  [B
            4    8     2   tmp  [[B

  byte[] getKeyTypeName();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 312
            getstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairRSA;

  public int getKeyType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 313
            iconst_2
            ireturn
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairRSA;

  public int getKeySize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 316
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.key_size:I
            ireturn
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairRSA;

  public byte[] getSignature(byte[]);
    descriptor: ([B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.jcraft.jsch.KeyPairRSA this
        start local 1 // byte[] data
         0: .line 321
            ldc "signature.rsa"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         1: .line 322
            aload 2 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.SignatureRSA
            astore 3 /* rsa */
        start local 3 // com.jcraft.jsch.SignatureRSA rsa
         2: .line 323
            aload 3 /* rsa */
            invokeinterface com.jcraft.jsch.SignatureRSA.init:()V
         3: .line 324
            aload 3 /* rsa */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            invokeinterface com.jcraft.jsch.SignatureRSA.setPrvKey:([B[B)V
         4: .line 326
            aload 3 /* rsa */
            aload 1 /* data */
            invokeinterface com.jcraft.jsch.SignatureRSA.update:([B)V
         5: .line 327
            aload 3 /* rsa */
            invokeinterface com.jcraft.jsch.SignatureRSA.sign:()[B
            astore 4 /* sig */
        start local 4 // byte[] sig
         6: .line 328
            iconst_2
            anewarray byte[]
            astore 5 /* tmp */
        start local 5 // byte[][] tmp
         7: .line 329
            aload 5 /* tmp */
            iconst_0
            getstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
            aastore
         8: .line 330
            aload 5 /* tmp */
            iconst_1
            aload 4 /* sig */
            aastore
         9: .line 331
            aload 5 /* tmp */
            invokestatic com.jcraft.jsch.Buffer.fromBytes:([[B)Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
        10: areturn
        end local 5 // byte[][] tmp
        end local 4 // byte[] sig
        end local 3 // com.jcraft.jsch.SignatureRSA rsa
        end local 2 // java.lang.Class c
        11: .line 333
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        12: .line 335
            aconst_null
            areturn
        end local 1 // byte[] data
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/jcraft/jsch/KeyPairRSA;
            0   13     1  data  [B
            1   11     2     c  Ljava/lang/Class;
            2   11     3   rsa  Lcom/jcraft/jsch/SignatureRSA;
            6   11     4   sig  [B
            7   11     5   tmp  [[B
      Exception table:
        from    to  target  type
           0    10      11  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      data  

  public com.jcraft.jsch.Signature getVerifier();
    descriptor: ()Lcom/jcraft/jsch/Signature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 340
            ldc "signature.rsa"
            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 341
            aload 1 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.SignatureRSA
            astore 2 /* rsa */
        start local 2 // com.jcraft.jsch.SignatureRSA rsa
         2: .line 342
            aload 2 /* rsa */
            invokeinterface com.jcraft.jsch.SignatureRSA.init:()V
         3: .line 344
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
            ifnonnull 8
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            ifnonnull 8
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairRSA.getPublicKeyBlob:()[B
            ifnull 8
         4: .line 345
            new com.jcraft.jsch.Buffer
            dup
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairRSA.getPublicKeyBlob:()[B
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 3 /* buf */
        start local 3 // com.jcraft.jsch.Buffer buf
         5: .line 346
            aload 3 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            pop
         6: .line 347
            aload 0 /* this */
            aload 3 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
         7: .line 348
            aload 0 /* this */
            aload 3 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
        end local 3 // com.jcraft.jsch.Buffer buf
         8: .line 351
      StackMap locals: java.lang.Class com.jcraft.jsch.SignatureRSA
      StackMap stack:
            aload 2 /* rsa */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            invokeinterface com.jcraft.jsch.SignatureRSA.setPubKey:([B[B)V
         9: .line 352
            aload 2 /* rsa */
        10: areturn
        end local 2 // com.jcraft.jsch.SignatureRSA rsa
        end local 1 // java.lang.Class c
        11: .line 354
      StackMap locals: com.jcraft.jsch.KeyPairRSA
      StackMap stack: java.lang.Exception
            pop
        12: .line 356
            aconst_null
            areturn
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/jcraft/jsch/KeyPairRSA;
            1   11     1     c  Ljava/lang/Class;
            2   11     2   rsa  Lcom/jcraft/jsch/SignatureRSA;
            5    8     3   buf  Lcom/jcraft/jsch/Buffer;
      Exception table:
        from    to  target  type
           0    10      11  Class java.lang.Exception

  static com.jcraft.jsch.KeyPair fromSSHAgent(com.jcraft.jsch.JSch, com.jcraft.jsch.Buffer);
    descriptor: (Lcom/jcraft/jsch/JSch;Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/KeyPair;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // com.jcraft.jsch.Buffer buf
         0: .line 361
            aload 1 /* buf */
            bipush 8
            ldc "invalid key format"
            invokevirtual com.jcraft.jsch.Buffer.getBytes:(ILjava/lang/String;)[[B
            astore 2 /* tmp */
        start local 2 // byte[][] tmp
         1: .line 363
            aload 2 /* tmp */
            iconst_1
            aaload
            astore 3 /* n_array */
        start local 3 // byte[] n_array
         2: .line 364
            aload 2 /* tmp */
            iconst_2
            aaload
            astore 4 /* pub_array */
        start local 4 // byte[] pub_array
         3: .line 365
            aload 2 /* tmp */
            iconst_3
            aaload
            astore 5 /* prv_array */
        start local 5 // byte[] prv_array
         4: .line 366
            new com.jcraft.jsch.KeyPairRSA
            dup
            aload 0 /* jsch */
            aload 3 /* n_array */
            aload 4 /* pub_array */
            aload 5 /* prv_array */
            invokespecial com.jcraft.jsch.KeyPairRSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B)V
            astore 6 /* kpair */
        start local 6 // com.jcraft.jsch.KeyPairRSA kpair
         5: .line 367
            aload 6 /* kpair */
            aload 2 /* tmp */
            iconst_4
            aaload
            putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
         6: .line 368
            aload 6 /* kpair */
            aload 2 /* tmp */
            iconst_5
            aaload
            putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
         7: .line 369
            aload 6 /* kpair */
            aload 2 /* tmp */
            bipush 6
            aaload
            putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
         8: .line 370
            aload 6 /* kpair */
            new java.lang.String
            dup
            aload 2 /* tmp */
            bipush 7
            aaload
            invokespecial java.lang.String.<init>:([B)V
            putfield com.jcraft.jsch.KeyPairRSA.publicKeyComment:Ljava/lang/String;
         9: .line 371
            aload 6 /* kpair */
            iconst_0
            putfield com.jcraft.jsch.KeyPairRSA.vendor:I
        10: .line 372
            aload 6 /* kpair */
            areturn
        end local 6 // com.jcraft.jsch.KeyPairRSA kpair
        end local 5 // byte[] prv_array
        end local 4 // byte[] pub_array
        end local 3 // byte[] n_array
        end local 2 // byte[][] tmp
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       jsch  Lcom/jcraft/jsch/JSch;
            0   11     1        buf  Lcom/jcraft/jsch/Buffer;
            1   11     2        tmp  [[B
            2   11     3    n_array  [B
            3   11     4  pub_array  [B
            4   11     5  prv_array  [B
            5   11     6      kpair  Lcom/jcraft/jsch/KeyPairRSA;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      jsch  
      buf   

  public byte[] forSSHAgent();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 376
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairRSA.isEncrypted:()Z
            ifeq 2
         1: .line 377
            new com.jcraft.jsch.JSchException
            dup
            ldc "key is encrypted."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 379
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.Buffer
            dup
            invokespecial com.jcraft.jsch.Buffer.<init>:()V
            astore 1 /* buf */
        start local 1 // com.jcraft.jsch.Buffer buf
         3: .line 380
            aload 1 /* buf */
            getstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         4: .line 381
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         5: .line 382
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         6: .line 383
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         7: .line 384
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairRSA.getCArray:()[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         8: .line 385
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         9: .line 386
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        10: .line 387
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.publicKeyComment:Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        11: .line 388
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getLength:()I
            newarray 8
            astore 2 /* result */
        start local 2 // byte[] result
        12: .line 389
            aload 1 /* buf */
            aload 2 /* result */
            iconst_0
            aload 2 /* result */
            arraylength
            invokevirtual com.jcraft.jsch.Buffer.getByte:([BII)V
        13: .line 390
            aload 2 /* result */
            areturn
        end local 2 // byte[] result
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lcom/jcraft/jsch/KeyPairRSA;
            3   14     1     buf  Lcom/jcraft/jsch/Buffer;
           12   14     2  result  [B
    Exceptions:
      throws com.jcraft.jsch.JSchException

  private byte[] getEPArray();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 394
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
            ifnonnull 2
         1: .line 395
            aload 0 /* this */
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
            invokespecial java.math.BigInteger.<init>:([B)V
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
            invokespecial java.math.BigInteger.<init>:([B)V
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toByteArray:()[B
            putfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
         2: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/KeyPairRSA;

  private byte[] getEQArray();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 401
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
            ifnonnull 2
         1: .line 402
            aload 0 /* this */
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
            invokespecial java.math.BigInteger.<init>:([B)V
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
            invokespecial java.math.BigInteger.<init>:([B)V
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toByteArray:()[B
            putfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
         2: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/KeyPairRSA;

  private byte[] getCArray();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 408
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
            ifnonnull 2
         1: .line 409
            aload 0 /* this */
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
            invokespecial java.math.BigInteger.<init>:([B)V
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
            invokespecial java.math.BigInteger.<init>:([B)V
            invokevirtual java.math.BigInteger.modInverse:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toByteArray:()[B
            putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
         2: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/KeyPairRSA;

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairRSA this
         0: .line 415
            aload 0 /* this */
            invokespecial com.jcraft.jsch.KeyPair.dispose:()V
         1: .line 416
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
         2: .line 417
            return
        end local 0 // com.jcraft.jsch.KeyPairRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/KeyPairRSA;
}
SourceFile: "KeyPairRSA.java"