public class com.jcraft.jsch.Buffer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.Buffer
  super_class: java.lang.Object
{
  final byte[] tmp;
    descriptor: [B
    flags: (0x0010) ACC_FINAL

  byte[] buffer;
    descriptor: [B
    flags: (0x0000) 

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

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

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // int size
         0: .line 37
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 33
            aload 0 /* this */
            iconst_4
            newarray 8
            putfield com.jcraft.jsch.Buffer.tmp:[B
         2: .line 38
            aload 0 /* this */
            iload 1 /* size */
            newarray 8
            putfield com.jcraft.jsch.Buffer.buffer:[B
         3: .line 39
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Buffer.index:I
         4: .line 40
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Buffer.s:I
         5: .line 41
            return
        end local 1 // int size
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/jcraft/jsch/Buffer;
            0    6     1  size  I
    MethodParameters:
      Name  Flags
      size  

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // byte[] buffer
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 33
            aload 0 /* this */
            iconst_4
            newarray 8
            putfield com.jcraft.jsch.Buffer.tmp:[B
         2: .line 43
            aload 0 /* this */
            aload 1 /* buffer */
            putfield com.jcraft.jsch.Buffer.buffer:[B
         3: .line 44
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Buffer.index:I
         4: .line 45
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Buffer.s:I
         5: .line 46
            return
        end local 1 // byte[] buffer
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/jcraft/jsch/Buffer;
            0    6     1  buffer  [B
    MethodParameters:
        Name  Flags
      buffer  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 47
            aload 0 /* this */
            sipush 20480
            invokespecial com.jcraft.jsch.Buffer.<init>:(I)V
            return
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Buffer;

  public void putByte(byte);
    descriptor: (B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // byte foo
         0: .line 49
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.index:I
            dup_x1
            iconst_1
            iadd
            putfield com.jcraft.jsch.Buffer.index:I
            iload 1 /* foo */
            bastore
         1: .line 50
            return
        end local 1 // byte foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Buffer;
            0    2     1   foo  B
    MethodParameters:
      Name  Flags
      foo   

  public void putByte(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // byte[] foo
         0: .line 52
            aload 0 /* this */
            aload 1 /* foo */
            iconst_0
            aload 1 /* foo */
            arraylength
            invokevirtual com.jcraft.jsch.Buffer.putByte:([BII)V
         1: .line 53
            return
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Buffer;
            0    2     1   foo  [B
    MethodParameters:
      Name  Flags
      foo   

  public void putByte(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // byte[] foo
        start local 2 // int begin
        start local 3 // int length
         0: .line 55
            aload 1 /* foo */
            iload 2 /* begin */
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.index:I
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 56
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.index:I
            iload 3 /* length */
            iadd
            putfield com.jcraft.jsch.Buffer.index:I
         2: .line 57
            return
        end local 3 // int length
        end local 2 // int begin
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/jcraft/jsch/Buffer;
            0    3     1     foo  [B
            0    3     2   begin  I
            0    3     3  length  I
    MethodParameters:
        Name  Flags
      foo     
      begin   
      length  

  public void putString(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // byte[] foo
         0: .line 59
            aload 0 /* this */
            aload 1 /* foo */
            iconst_0
            aload 1 /* foo */
            arraylength
            invokevirtual com.jcraft.jsch.Buffer.putString:([BII)V
         1: .line 60
            return
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Buffer;
            0    2     1   foo  [B
    MethodParameters:
      Name  Flags
      foo   

  public void putString(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // byte[] foo
        start local 2 // int begin
        start local 3 // int length
         0: .line 62
            aload 0 /* this */
            iload 3 /* length */
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
         1: .line 63
            aload 0 /* this */
            aload 1 /* foo */
            iload 2 /* begin */
            iload 3 /* length */
            invokevirtual com.jcraft.jsch.Buffer.putByte:([BII)V
         2: .line 64
            return
        end local 3 // int length
        end local 2 // int begin
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/jcraft/jsch/Buffer;
            0    3     1     foo  [B
            0    3     2   begin  I
            0    3     3  length  I
    MethodParameters:
        Name  Flags
      foo     
      begin   
      length  

  public void putInt(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // int val
         0: .line 66
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_0
            iload 1 /* val */
            bipush 24
            iushr
            i2b
            bastore
         1: .line 67
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_1
            iload 1 /* val */
            bipush 16
            iushr
            i2b
            bastore
         2: .line 68
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_2
            iload 1 /* val */
            bipush 8
            iushr
            i2b
            bastore
         3: .line 69
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_3
            iload 1 /* val */
            i2b
            bastore
         4: .line 70
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.index:I
            iconst_4
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 71
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.index:I
            iconst_4
            iadd
            putfield com.jcraft.jsch.Buffer.index:I
         6: .line 72
            return
        end local 1 // int val
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/jcraft/jsch/Buffer;
            0    7     1   val  I
    MethodParameters:
      Name  Flags
      val   

  public void putLong(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // long val
         0: .line 74
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_0
            lload 1 /* val */
            bipush 56
            lushr
            l2i
            i2b
            bastore
         1: .line 75
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_1
            lload 1 /* val */
            bipush 48
            lushr
            l2i
            i2b
            bastore
         2: .line 76
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_2
            lload 1 /* val */
            bipush 40
            lushr
            l2i
            i2b
            bastore
         3: .line 77
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_3
            lload 1 /* val */
            bipush 32
            lushr
            l2i
            i2b
            bastore
         4: .line 78
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.index:I
            iconst_4
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 79
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_0
            lload 1 /* val */
            bipush 24
            lushr
            l2i
            i2b
            bastore
         6: .line 80
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_1
            lload 1 /* val */
            bipush 16
            lushr
            l2i
            i2b
            bastore
         7: .line 81
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_2
            lload 1 /* val */
            bipush 8
            lushr
            l2i
            i2b
            bastore
         8: .line 82
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_3
            lload 1 /* val */
            l2i
            i2b
            bastore
         9: .line 83
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.tmp:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.index:I
            iconst_4
            iadd
            iconst_4
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 84
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.index:I
            bipush 8
            iadd
            putfield com.jcraft.jsch.Buffer.index:I
        11: .line 85
            return
        end local 1 // long val
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/jcraft/jsch/Buffer;
            0   12     1   val  J
    MethodParameters:
      Name  Flags
      val   

  void skip(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // int n
         0: .line 87
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.index:I
            iload 1 /* n */
            iadd
            putfield com.jcraft.jsch.Buffer.index:I
         1: .line 88
            return
        end local 1 // int n
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Buffer;
            0    2     1     n  I
    MethodParameters:
      Name  Flags
      n     

  void putPad(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // int n
         0: .line 90
            goto 3
         1: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.index:I
            dup_x1
            iconst_1
            iadd
            putfield com.jcraft.jsch.Buffer.index:I
            iconst_0
            bastore
         2: .line 92
            iinc 1 /* n */ -1
         3: .line 90
      StackMap locals:
      StackMap stack:
            iload 1 /* n */
            ifgt 1
         4: .line 94
            return
        end local 1 // int n
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/jcraft/jsch/Buffer;
            0    5     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public void putMPInt(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // byte[] foo
         0: .line 96
            aload 1 /* foo */
            arraylength
            istore 2 /* i */
        start local 2 // int i
         1: .line 97
            aload 1 /* foo */
            iconst_0
            baload
            sipush 128
            iand
            ifeq 6
         2: .line 98
            iinc 2 /* i */ 1
         3: .line 99
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
         4: .line 100
            aload 0 /* this */
            iconst_0
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
         5: .line 101
            goto 7
         6: .line 103
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
         7: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* foo */
            invokevirtual com.jcraft.jsch.Buffer.putByte:([B)V
         8: .line 106
            return
        end local 2 // int i
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/jcraft/jsch/Buffer;
            0    9     1   foo  [B
            1    9     2     i  I
    MethodParameters:
      Name  Flags
      foo   

  public int getLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 108
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.index:I
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.s:I
            isub
            ireturn
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Buffer;

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

  public void setOffSet(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // int s
         0: .line 114
            aload 0 /* this */
            iload 1 /* s */
            putfield com.jcraft.jsch.Buffer.s:I
         1: .line 115
            return
        end local 1 // int s
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Buffer;
            0    2     1     s  I
    MethodParameters:
      Name  Flags
      s     

  public long getLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 117
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            i2l
            ldc 4294967295
            land
            lstore 1 /* foo */
        start local 1 // long foo
         1: .line 118
            lload 1 /* foo */
            bipush 32
            lshl
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            i2l
            ldc 4294967295
            land
            lor
            lstore 1 /* foo */
         2: .line 119
            lload 1 /* foo */
            lreturn
        end local 1 // long foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/Buffer;
            1    3     1   foo  J

  public int getInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 122
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            istore 1 /* foo */
        start local 1 // int foo
         1: .line 123
            iload 1 /* foo */
            bipush 16
            ishl
            ldc -65536
            iand
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            ldc 65535
            iand
            ior
            istore 1 /* foo */
         2: .line 124
            iload 1 /* foo */
            ireturn
        end local 1 // int foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/Buffer;
            1    3     1   foo  I

  public long getUInt();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 127
            lconst_0
            lstore 1 /* foo */
        start local 1 // long foo
         1: .line 128
            lconst_0
            lstore 3 /* bar */
        start local 3 // long bar
         2: .line 129
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            i2l
            lstore 1 /* foo */
         3: .line 130
            lload 1 /* foo */
            bipush 8
            lshl
            ldc 65280
            land
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            sipush 255
            iand
            i2l
            lor
            lstore 1 /* foo */
         4: .line 131
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            i2l
            lstore 3 /* bar */
         5: .line 132
            lload 3 /* bar */
            bipush 8
            lshl
            ldc 65280
            land
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            sipush 255
            iand
            i2l
            lor
            lstore 3 /* bar */
         6: .line 133
            lload 1 /* foo */
            bipush 16
            lshl
            ldc -65536
            land
            lload 3 /* bar */
            ldc 65535
            land
            lor
            lstore 1 /* foo */
         7: .line 134
            lload 1 /* foo */
            lreturn
        end local 3 // long bar
        end local 1 // long foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/jcraft/jsch/Buffer;
            1    8     1   foo  J
            2    8     3   bar  J

  int getShort();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 137
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            istore 1 /* foo */
        start local 1 // int foo
         1: .line 138
            iload 1 /* foo */
            bipush 8
            ishl
            ldc 65280
            iand
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            sipush 255
            iand
            ior
            istore 1 /* foo */
         2: .line 139
            iload 1 /* foo */
            ireturn
        end local 1 // int foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/Buffer;
            1    3     1   foo  I

  public int getByte();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 142
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.s:I
            dup_x1
            iconst_1
            iadd
            putfield com.jcraft.jsch.Buffer.s:I
            baload
            sipush 255
            iand
            ireturn
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Buffer;

  public void getByte(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // byte[] foo
         0: .line 145
            aload 0 /* this */
            aload 1 /* foo */
            iconst_0
            aload 1 /* foo */
            arraylength
            invokevirtual com.jcraft.jsch.Buffer.getByte:([BII)V
         1: .line 146
            return
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Buffer;
            0    2     1   foo  [B
    MethodParameters:
      Name  Flags
      foo   

  void getByte(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // byte[] foo
        start local 2 // int start
        start local 3 // int len
         0: .line 148
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.s:I
            aload 1 /* foo */
            iload 2 /* start */
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 149
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.s:I
            iload 3 /* len */
            iadd
            putfield com.jcraft.jsch.Buffer.s:I
         2: .line 150
            return
        end local 3 // int len
        end local 2 // int start
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/jcraft/jsch/Buffer;
            0    3     1    foo  [B
            0    3     2  start  I
            0    3     3    len  I
    MethodParameters:
       Name  Flags
      foo    
      start  
      len    

  public int getByte(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // int len
         0: .line 152
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.s:I
            istore 2 /* foo */
        start local 2 // int foo
         1: .line 153
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.s:I
            iload 1 /* len */
            iadd
            putfield com.jcraft.jsch.Buffer.s:I
         2: .line 154
            iload 2 /* foo */
            ireturn
        end local 2 // int foo
        end local 1 // int len
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/Buffer;
            0    3     1   len  I
            1    3     2   foo  I
    MethodParameters:
      Name  Flags
      len   

  public byte[] getMPInt();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 157
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 1 /* i */
        start local 1 // int i
         1: .line 158
            iload 1 /* i */
            iflt 3
         2: .line 159
            iload 1 /* i */
            sipush 8192
            if_icmple 4
         3: .line 161
      StackMap locals: int
      StackMap stack:
            sipush 8192
            istore 1 /* i */
         4: .line 163
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            newarray 8
            astore 2 /* foo */
        start local 2 // byte[] foo
         5: .line 164
            aload 0 /* this */
            aload 2 /* foo */
            iconst_0
            iload 1 /* i */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([BII)V
         6: .line 165
            aload 2 /* foo */
            areturn
        end local 2 // byte[] foo
        end local 1 // int i
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/jcraft/jsch/Buffer;
            1    7     1     i  I
            5    7     2   foo  [B

  public byte[] getMPIntBits();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 168
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 1 /* bits */
        start local 1 // int bits
         1: .line 169
            iload 1 /* bits */
            bipush 7
            iadd
            bipush 8
            idiv
            istore 2 /* bytes */
        start local 2 // int bytes
         2: .line 170
            iload 2 /* bytes */
            newarray 8
            astore 3 /* foo */
        start local 3 // byte[] foo
         3: .line 171
            aload 0 /* this */
            aload 3 /* foo */
            iconst_0
            iload 2 /* bytes */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([BII)V
         4: .line 172
            aload 3 /* foo */
            iconst_0
            baload
            sipush 128
            iand
            ifeq 9
         5: .line 173
            aload 3 /* foo */
            arraylength
            iconst_1
            iadd
            newarray 8
            astore 4 /* bar */
        start local 4 // byte[] bar
         6: .line 174
            aload 4 /* bar */
            iconst_0
            iconst_0
            bastore
         7: .line 175
            aload 3 /* foo */
            iconst_0
            aload 4 /* bar */
            iconst_1
            aload 3 /* foo */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 176
            aload 4 /* bar */
            astore 3 /* foo */
        end local 4 // byte[] bar
         9: .line 178
      StackMap locals: int int byte[]
      StackMap stack:
            aload 3 /* foo */
            areturn
        end local 3 // byte[] foo
        end local 2 // int bytes
        end local 1 // int bits
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/jcraft/jsch/Buffer;
            1   10     1   bits  I
            2   10     2  bytes  I
            3   10     3    foo  [B
            6    9     4    bar  [B

  public byte[] getString();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 181
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 1 /* i */
        start local 1 // int i
         1: .line 182
            iload 1 /* i */
            iflt 3
         2: .line 183
            iload 1 /* i */
            ldc 262144
            if_icmple 4
         3: .line 185
      StackMap locals: int
      StackMap stack:
            ldc 262144
            istore 1 /* i */
         4: .line 187
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            newarray 8
            astore 2 /* foo */
        start local 2 // byte[] foo
         5: .line 188
            aload 0 /* this */
            aload 2 /* foo */
            iconst_0
            iload 1 /* i */
            invokevirtual com.jcraft.jsch.Buffer.getByte:([BII)V
         6: .line 189
            aload 2 /* foo */
            areturn
        end local 2 // byte[] foo
        end local 1 // int i
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/jcraft/jsch/Buffer;
            1    7     1     i  I
            5    7     2   foo  [B

  byte[] getString(int[], int[]);
    descriptor: ([I[I)[B
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // int[] start
        start local 2 // int[] len
         0: .line 192
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 3 /* i */
        start local 3 // int i
         1: .line 193
            aload 1 /* start */
            iconst_0
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual com.jcraft.jsch.Buffer.getByte:(I)I
            iastore
         2: .line 194
            aload 2 /* len */
            iconst_0
            iload 3 /* i */
            iastore
         3: .line 195
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            areturn
        end local 3 // int i
        end local 2 // int[] len
        end local 1 // int[] start
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/jcraft/jsch/Buffer;
            0    4     1  start  [I
            0    4     2    len  [I
            1    4     3      i  I
    MethodParameters:
       Name  Flags
      start  
      len    

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 198
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Buffer.index:I
         1: .line 199
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Buffer.s:I
         2: .line 200
            return
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/Buffer;

  public void shift();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 202
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.s:I
            ifne 1
            return
         1: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.s:I
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.index:I
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.s:I
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 204
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Buffer.index:I
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.s:I
            isub
            putfield com.jcraft.jsch.Buffer.index:I
         3: .line 205
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Buffer.s:I
         4: .line 206
            return
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/jcraft/jsch/Buffer;

  void rewind();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 208
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Buffer.s:I
         1: .line 209
            return
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Buffer;

  byte getCommand();
    descriptor: ()B
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Buffer this
         0: .line 212
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_5
            baload
            ireturn
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Buffer;

  void checkFreeSize(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // int n
         0: .line 216
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.index:I
            iload 1 /* n */
            iadd
            sipush 128
            iadd
            istore 2 /* size */
        start local 2 // int size
         1: .line 217
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            arraylength
            iload 2 /* size */
            if_icmpge 7
         2: .line 218
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            arraylength
            iconst_2
            imul
            istore 3 /* i */
        start local 3 // int i
         3: .line 219
            iload 3 /* i */
            iload 2 /* size */
            if_icmpge 4
            iload 2 /* size */
            istore 3 /* i */
         4: .line 220
      StackMap locals: int int
      StackMap stack:
            iload 3 /* i */
            newarray 8
            astore 4 /* tmp */
        start local 4 // byte[] tmp
         5: .line 221
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 4 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Buffer.index:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 222
            aload 0 /* this */
            aload 4 /* tmp */
            putfield com.jcraft.jsch.Buffer.buffer:[B
        end local 4 // byte[] tmp
        end local 3 // int i
         7: .line 224
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int size
        end local 1 // int n
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/jcraft/jsch/Buffer;
            0    8     1     n  I
            1    8     2  size  I
            3    7     3     i  I
            5    7     4   tmp  [B
    MethodParameters:
      Name  Flags
      n     

  byte[][] getBytes(int, java.lang.String);
    descriptor: (ILjava/lang/String;)[[B
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.jcraft.jsch.Buffer this
        start local 1 // int n
        start local 2 // java.lang.String msg
         0: .line 227
            iload 1 /* n */
            anewarray byte[]
            astore 3 /* tmp */
        start local 3 // byte[][] tmp
         1: .line 228
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 9
         3: .line 229
      StackMap locals: byte[][] int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 5 /* j */
        start local 5 // int j
         4: .line 230
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Buffer.getLength:()I
            iload 5 /* j */
            if_icmpge 6
         5: .line 231
            new com.jcraft.jsch.JSchException
            dup
            aload 2 /* msg */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 233
      StackMap locals: int
      StackMap stack:
            aload 3 /* tmp */
            iload 4 /* i */
            iload 5 /* j */
            newarray 8
            aastore
         7: .line 234
            aload 0 /* this */
            aload 3 /* tmp */
            iload 4 /* i */
            aaload
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        end local 5 // int j
         8: .line 228
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 1 /* n */
            if_icmplt 3
        end local 4 // int i
        10: .line 236
            aload 3 /* tmp */
            areturn
        end local 3 // byte[][] tmp
        end local 2 // java.lang.String msg
        end local 1 // int n
        end local 0 // com.jcraft.jsch.Buffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/jcraft/jsch/Buffer;
            0   11     1     n  I
            0   11     2   msg  Ljava/lang/String;
            1   11     3   tmp  [[B
            2   10     4     i  I
            4    8     5     j  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      n     
      msg   

  static com.jcraft.jsch.Buffer fromBytes(byte[][]);
    descriptor: ([[B)Lcom/jcraft/jsch/Buffer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // byte[][] args
         0: .line 254
            aload 0 /* args */
            arraylength
            iconst_4
            imul
            istore 1 /* length */
        start local 1 // int length
         1: .line 255
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 256
      StackMap locals: int int
      StackMap stack:
            iload 1 /* length */
            aload 0 /* args */
            iload 2 /* i */
            aaload
            arraylength
            iadd
            istore 1 /* length */
         4: .line 255
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* args */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 258
            new com.jcraft.jsch.Buffer
            dup
            iload 1 /* length */
            invokespecial com.jcraft.jsch.Buffer.<init>:(I)V
            astore 2 /* buf */
        start local 2 // com.jcraft.jsch.Buffer buf
         7: .line 259
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 11
         9: .line 260
      StackMap locals: byte[][] int com.jcraft.jsch.Buffer int
      StackMap stack:
            aload 2 /* buf */
            aload 0 /* args */
            iload 3 /* i */
            aaload
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        10: .line 259
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* args */
            arraylength
            if_icmplt 9
        end local 3 // int i
        12: .line 262
            aload 2 /* buf */
            areturn
        end local 2 // com.jcraft.jsch.Buffer buf
        end local 1 // int length
        end local 0 // byte[][] args
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    args  [[B
            1   13     1  length  I
            2    6     2       i  I
            7   13     2     buf  Lcom/jcraft/jsch/Buffer;
            8   12     3       i  I
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "Buffer.java"