class sun.security.jgss.krb5.CipherHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.jgss.krb5.CipherHelper
  super_class: java.lang.Object
{
  private static final int KG_USAGE_SEAL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 22

  private static final int KG_USAGE_SIGN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 23

  private static final int KG_USAGE_SEQ;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 24

  private static final int DES_CHECKSUM_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int DES_IV_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int AES_IV_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int HMAC_CHECKSUM_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int KG_USAGE_SIGN_MS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 68
            getstatic sun.security.jgss.krb5.Krb5Util.DEBUG:Z
            putstatic sun.security.jgss.krb5.CipherHelper.DEBUG:Z
         1: .line 74
            bipush 8
            newarray 8
            putstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         2: .line 75
            bipush 16
            newarray 8
            putstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(sun.security.krb5.EncryptionKey);
    descriptor: (Lsun/security/krb5/EncryptionKey;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.krb5.EncryptionKey key
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
            putfield sun.security.jgss.krb5.CipherHelper.etype:I
         2: .line 83
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.krb5.EncryptionKey.getBytes:()[B
            putfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
         3: .line 85
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            lookupswitch { // 6
                    1: 4
                    3: 4
                   16: 7
                   17: 13
                   18: 13
                   23: 10
              default: 16
          }
         4: .line 88
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.krb5.EncryptionKey
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
         5: .line 89
            aload 0 /* this */
            iconst_0
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
         6: .line 90
            goto 19
         7: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 1024
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
         8: .line 94
            aload 0 /* this */
            sipush 512
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
         9: .line 95
            goto 19
        10: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 4352
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
        11: .line 99
            aload 0 /* this */
            sipush 4096
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
        12: .line 100
            goto 19
        13: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
        14: .line 105
            aload 0 /* this */
            iconst_m1
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
        15: .line 106
            goto 19
        16: .line 109
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        17: .line 110
            new java.lang.StringBuilder
            dup
            ldc "Unsupported encryption type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 109
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        19: .line 112
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.krb5.EncryptionKey key
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lsun/security/jgss/krb5/CipherHelper;
            0   20     1   key  Lsun/security/krb5/EncryptionKey;
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
      Name  Flags
      key   

  int getSgnAlg();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.jgss.krb5.CipherHelper this
         0: .line 115
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
            ireturn
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/jgss/krb5/CipherHelper;

  int getSealAlg();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.jgss.krb5.CipherHelper this
         0: .line 119
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            ireturn
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/jgss/krb5/CipherHelper;

  int getProto();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.jgss.krb5.CipherHelper this
         0: .line 125
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokestatic sun.security.krb5.internal.crypto.EType.isNewer:(I)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/jgss/krb5/CipherHelper;

  int getEType();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.jgss.krb5.CipherHelper this
         0: .line 129
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            ireturn
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/jgss/krb5/CipherHelper;

  boolean isArcFour();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.jgss.krb5.CipherHelper this
         0: .line 133
            iconst_0
            istore 1 /* flag */
        start local 1 // boolean flag
         1: .line 134
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            bipush 23
            if_icmpne 3
         2: .line 135
            iconst_1
            istore 1 /* flag */
         3: .line 137
      StackMap locals: int
      StackMap stack:
            iload 1 /* flag */
            ireturn
        end local 1 // boolean flag
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/jgss/krb5/CipherHelper;
            1    4     1  flag  Z

  byte[] calculateChecksum(int, byte[], byte[], byte[], int, int, int);
    descriptor: (I[B[B[BIII)[B
    flags: (0x0000) 
    Code:
      stack=7, locals=17, args_size=8
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // int alg
        start local 2 // byte[] header
        start local 3 // byte[] trailer
        start local 4 // byte[] data
        start local 5 // int start
        start local 6 // int len
        start local 7 // int tokenId
         0: .line 144
            iload 1 /* alg */
            lookupswitch { // 4
                    0: 1
                  512: 18
                 1024: 19
                 4352: 53
              default: 92
          }
         1: .line 151
      StackMap locals:
      StackMap stack:
            ldc "MD5"
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 8 /* md5 */
        start local 8 // java.security.MessageDigest md5
         2: .line 157
            aload 8 /* md5 */
            aload 2 /* header */
            invokevirtual java.security.MessageDigest.update:([B)V
         3: .line 160
            aload 8 /* md5 */
            aload 4 /* data */
            iload 5 /* start */
            iload 6 /* len */
            invokevirtual java.security.MessageDigest.update:([BII)V
         4: .line 162
            aload 3 /* trailer */
            ifnull 6
         5: .line 166
            aload 8 /* md5 */
            aload 3 /* trailer */
            invokevirtual java.security.MessageDigest.update:([B)V
         6: .line 170
      StackMap locals: java.security.MessageDigest
      StackMap stack:
            aload 8 /* md5 */
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 4 /* data */
         7: .line 171
            iconst_0
            istore 5 /* start */
         8: .line 172
            aload 4 /* data */
            arraylength
            istore 6 /* len */
         9: .line 175
            aconst_null
            astore 2 /* header */
        10: .line 176
            aconst_null
            astore 3 /* trailer */
        end local 8 // java.security.MessageDigest md5
        11: .line 177
            goto 18
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int
      StackMap stack: java.security.NoSuchAlgorithmException
        12: astore 8 /* e */
        start local 8 // java.security.NoSuchAlgorithmException e
        13: .line 178
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        14: .line 179
            new java.lang.StringBuilder
            dup
            ldc "Could not get MD5 Message Digest - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* e */
            invokevirtual java.security.NoSuchAlgorithmException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 178
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        16: .line 180
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        17: .line 181
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.NoSuchAlgorithmException e
        18: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            aload 2 /* header */
            aload 4 /* data */
            iload 5 /* start */
            iload 6 /* len */
            invokevirtual sun.security.jgss.krb5.CipherHelper.getDesCbcChecksum:([B[B[BII)[B
            areturn
        19: .line 191
      StackMap locals:
      StackMap stack:
            aload 2 /* header */
            ifnonnull 24
            aload 3 /* trailer */
            ifnonnull 24
        20: .line 192
            aload 4 /* data */
            astore 8 /* buf */
        start local 8 // byte[] buf
        21: .line 193
            iload 6 /* len */
            istore 10 /* total */
        start local 10 // int total
        22: .line 194
            iload 5 /* start */
            istore 9 /* offset */
        start local 9 // int offset
        23: .line 195
            goto 40
        end local 10 // int total
        end local 9 // int offset
        end local 8 // byte[] buf
        24: .line 196
      StackMap locals:
      StackMap stack:
            aload 2 /* header */
            ifnull 25
            aload 2 /* header */
            arraylength
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: iload 6 /* len */
            iadd
        27: .line 197
            aload 3 /* trailer */
            ifnull 28
            aload 3 /* trailer */
            arraylength
            goto 29
      StackMap locals:
      StackMap stack: int
        28: iconst_0
        29: .line 196
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int
      StackMap stack: int int
            iadd
            istore 10 /* total */
        start local 10 // int total
        30: .line 199
            iload 10 /* total */
            newarray 8
            astore 8 /* buf */
        start local 8 // byte[] buf
        31: .line 200
            iconst_0
            istore 11 /* pos */
        start local 11 // int pos
        32: .line 201
            aload 2 /* header */
            ifnull 35
        33: .line 202
            aload 2 /* header */
            iconst_0
            aload 8 /* buf */
            iconst_0
            aload 2 /* header */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 203
            aload 2 /* header */
            arraylength
            istore 11 /* pos */
        35: .line 205
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int byte[] top int int
      StackMap stack:
            aload 4 /* data */
            iload 5 /* start */
            aload 8 /* buf */
            iload 11 /* pos */
            iload 6 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        36: .line 206
            iload 11 /* pos */
            iload 6 /* len */
            iadd
            istore 11 /* pos */
        37: .line 207
            aload 3 /* trailer */
            ifnull 39
        38: .line 208
            aload 3 /* trailer */
            iconst_0
            aload 8 /* buf */
            iload 11 /* pos */
            aload 3 /* trailer */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        39: .line 211
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* offset */
        end local 11 // int pos
        start local 9 // int offset
        40: .line 229
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int byte[] int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
        41: .line 230
            bipush 23
            aload 8 /* buf */
            iload 9 /* offset */
            iload 10 /* total */
        42: .line 229
            invokestatic sun.security.krb5.internal.crypto.Des3.calculateChecksum:([BI[BII)[B
            astore 11 /* answer */
        start local 11 // byte[] answer
        43: .line 233
            aload 11 /* answer */
        44: areturn
        end local 11 // byte[] answer
        45: .line 234
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 11 /* e */
        start local 11 // java.security.GeneralSecurityException e
        46: .line 235
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        47: .line 236
            new java.lang.StringBuilder
            dup
            ldc "Could not use HMAC-SHA1-DES3-KD signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        48: .line 237
            aload 11 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        49: .line 236
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 235
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 12 /* ge */
        start local 12 // org.ietf.jgss.GSSException ge
        51: .line 238
            aload 12 /* ge */
            aload 11 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        52: .line 239
            aload 12 /* ge */
            athrow
        end local 12 // org.ietf.jgss.GSSException ge
        end local 11 // java.security.GeneralSecurityException e
        end local 10 // int total
        end local 9 // int offset
        end local 8 // byte[] buf
        53: .line 245
      StackMap locals:
      StackMap stack:
            aload 2 /* header */
            ifnonnull 58
            aload 3 /* trailer */
            ifnonnull 58
        54: .line 246
            aload 4 /* data */
            astore 11 /* buffer */
        start local 11 // byte[] buffer
        55: .line 247
            iload 6 /* len */
            istore 13 /* tot */
        start local 13 // int tot
        56: .line 248
            iload 5 /* start */
            istore 12 /* off */
        start local 12 // int off
        57: .line 249
            goto 74
        end local 13 // int tot
        end local 12 // int off
        end local 11 // byte[] buffer
        58: .line 250
      StackMap locals:
      StackMap stack:
            aload 2 /* header */
            ifnull 59
            aload 2 /* header */
            arraylength
            goto 60
      StackMap locals:
      StackMap stack:
        59: iconst_0
      StackMap locals:
      StackMap stack: int
        60: iload 6 /* len */
            iadd
        61: .line 251
            aload 3 /* trailer */
            ifnull 62
            aload 3 /* trailer */
            arraylength
            goto 63
      StackMap locals:
      StackMap stack: int
        62: iconst_0
        63: .line 250
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int
      StackMap stack: int int
            iadd
            istore 13 /* tot */
        start local 13 // int tot
        64: .line 253
            iload 13 /* tot */
            newarray 8
            astore 11 /* buffer */
        start local 11 // byte[] buffer
        65: .line 254
            iconst_0
            istore 14 /* pos */
        start local 14 // int pos
        66: .line 256
            aload 2 /* header */
            ifnull 69
        67: .line 257
            aload 2 /* header */
            iconst_0
            aload 11 /* buffer */
            iconst_0
            aload 2 /* header */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        68: .line 258
            aload 2 /* header */
            arraylength
            istore 14 /* pos */
        69: .line 260
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int top top top byte[] top int int
      StackMap stack:
            aload 4 /* data */
            iload 5 /* start */
            aload 11 /* buffer */
            iload 14 /* pos */
            iload 6 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        70: .line 261
            iload 14 /* pos */
            iload 6 /* len */
            iadd
            istore 14 /* pos */
        71: .line 262
            aload 3 /* trailer */
            ifnull 73
        72: .line 263
            aload 3 /* trailer */
            iconst_0
            aload 11 /* buffer */
            iload 14 /* pos */
            aload 3 /* trailer */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        73: .line 266
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* off */
        end local 14 // int pos
        start local 12 // int off
        74: .line 288
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int top top top byte[] int int
      StackMap stack:
            bipush 23
            istore 14 /* key_usage */
        start local 14 // int key_usage
        75: .line 289
            iload 7 /* tokenId */
            sipush 257
            if_icmpne 77
        76: .line 290
            bipush 15
            istore 14 /* key_usage */
        77: .line 292
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
        78: .line 293
            iload 14 /* key_usage */
            aload 11 /* buffer */
            iload 12 /* off */
            iload 13 /* tot */
        79: .line 292
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.calculateChecksum:([BI[BII)[B
            astore 15 /* answer */
        start local 15 // byte[] answer
        80: .line 298
            aload 0 /* this */
            invokevirtual sun.security.jgss.krb5.CipherHelper.getChecksumLength:()I
            newarray 8
            astore 16 /* output */
        start local 16 // byte[] output
        81: .line 299
            aload 15 /* answer */
            iconst_0
            aload 16 /* output */
            iconst_0
            aload 16 /* output */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        82: .line 302
            aload 16 /* output */
        83: areturn
        end local 16 // byte[] output
        end local 15 // byte[] answer
        end local 14 // int key_usage
        84: .line 303
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int top top top byte[] int int
      StackMap stack: java.security.GeneralSecurityException
            astore 14 /* e */
        start local 14 // java.security.GeneralSecurityException e
        85: .line 304
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        86: .line 305
            new java.lang.StringBuilder
            dup
            ldc "Could not use HMAC_MD5_ARCFOUR signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        87: .line 306
            aload 14 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        88: .line 305
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        89: .line 304
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 15 /* ge */
        start local 15 // org.ietf.jgss.GSSException ge
        90: .line 307
            aload 15 /* ge */
            aload 14 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        91: .line 308
            aload 15 /* ge */
            athrow
        end local 15 // org.ietf.jgss.GSSException ge
        end local 14 // java.security.GeneralSecurityException e
        end local 13 // int tot
        end local 12 // int off
        end local 11 // byte[] buffer
        92: .line 312
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] byte[] int int int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        93: .line 313
            new java.lang.StringBuilder
            dup
            ldc "Unsupported signing algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        94: .line 312
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        end local 7 // int tokenId
        end local 6 // int len
        end local 5 // int start
        end local 4 // byte[] data
        end local 3 // byte[] trailer
        end local 2 // byte[] header
        end local 1 // int alg
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   95     0       this  Lsun/security/jgss/krb5/CipherHelper;
            0   95     1        alg  I
            0   95     2     header  [B
            0   95     3    trailer  [B
            0   95     4       data  [B
            0   95     5      start  I
            0   95     6        len  I
            0   95     7    tokenId  I
            2   11     8        md5  Ljava/security/MessageDigest;
           13   18     8          e  Ljava/security/NoSuchAlgorithmException;
           16   18     9         ge  Lorg/ietf/jgss/GSSException;
           21   24     8        buf  [B
           31   53     8        buf  [B
           23   24     9     offset  I
           40   53     9     offset  I
           22   24    10      total  I
           30   53    10      total  I
           32   40    11        pos  I
           43   45    11     answer  [B
           46   53    11          e  Ljava/security/GeneralSecurityException;
           51   53    12         ge  Lorg/ietf/jgss/GSSException;
           55   58    11     buffer  [B
           65   92    11     buffer  [B
           57   58    12        off  I
           74   92    12        off  I
           56   58    13        tot  I
           64   92    13        tot  I
           66   74    14        pos  I
           75   84    14  key_usage  I
           80   84    15     answer  [B
           81   84    16     output  [B
           85   92    14          e  Ljava/security/GeneralSecurityException;
           90   92    15         ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           1    11      12  Class java.security.NoSuchAlgorithmException
          40    44      45  Class java.security.GeneralSecurityException
          74    83      84  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
         Name  Flags
      alg      
      header   
      trailer  
      data     
      start    
      len      
      tokenId  

  byte[] calculateChecksum(byte[], byte[], int, int, int);
    descriptor: ([B[BIII)[B
    flags: (0x0000) 
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // byte[] header
        start local 2 // byte[] data
        start local 3 // int start
        start local 4 // int len
        start local 5 // int key_usage
         0: .line 322
            aload 1 /* header */
            ifnull 1
            aload 1 /* header */
            arraylength
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: iload 4 /* len */
            iadd
            istore 6 /* total */
        start local 6 // int total
         3: .line 325
            iload 6 /* total */
            newarray 8
            astore 7 /* buf */
        start local 7 // byte[] buf
         4: .line 328
            aload 2 /* data */
            iload 3 /* start */
            aload 7 /* buf */
            iconst_0
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 331
            aload 1 /* header */
            ifnull 7
         6: .line 332
            aload 1 /* header */
            iconst_0
            aload 7 /* buf */
            iload 4 /* len */
            aload 1 /* header */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 337
      StackMap locals: int byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 8
                   18: 21
              default: 34
          }
         8: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 5 /* key_usage */
         9: .line 341
            aload 7 /* buf */
            iconst_0
            iload 6 /* total */
        10: .line 340
            invokestatic sun.security.krb5.internal.crypto.Aes128.calculateChecksum:([BI[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        11: .line 344
            aload 8 /* answer */
        12: areturn
        end local 8 // byte[] answer
        13: .line 345
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        14: .line 346
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        15: .line 347
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES128 signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 348
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 347
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 346
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        19: .line 349
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        20: .line 350
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        21: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 5 /* key_usage */
        22: .line 356
            aload 7 /* buf */
            iconst_0
            iload 6 /* total */
        23: .line 355
            invokestatic sun.security.krb5.internal.crypto.Aes256.calculateChecksum:([BI[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        24: .line 359
            aload 8 /* answer */
        25: areturn
        end local 8 // byte[] answer
        26: .line 360
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        27: .line 361
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        28: .line 362
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES256 signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 363
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 362
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 361
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        32: .line 364
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        33: .line 365
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        34: .line 369
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        35: .line 370
            new java.lang.StringBuilder
            dup
            ldc "Unsupported encryption type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 369
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        end local 7 // byte[] buf
        end local 6 // int total
        end local 5 // int key_usage
        end local 4 // int len
        end local 3 // int start
        end local 2 // byte[] data
        end local 1 // byte[] header
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   37     0       this  Lsun/security/jgss/krb5/CipherHelper;
            0   37     1     header  [B
            0   37     2       data  [B
            0   37     3      start  I
            0   37     4        len  I
            0   37     5  key_usage  I
            3   37     6      total  I
            4   37     7        buf  [B
           11   13     8     answer  [B
           14   21     8          e  Ljava/security/GeneralSecurityException;
           19   21     9         ge  Lorg/ietf/jgss/GSSException;
           24   26     8     answer  [B
           27   34     8          e  Ljava/security/GeneralSecurityException;
           32   34     9         ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           8    12      13  Class java.security.GeneralSecurityException
          21    25      26  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
           Name  Flags
      header     
      data       
      start      
      len        
      key_usage  

  byte[] encryptSeq(byte[], byte[], int, int);
    descriptor: ([B[BII)[B
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // byte[] ivec
        start local 2 // byte[] plaintext
        start local 3 // int start
        start local 4 // int len
         0: .line 377
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
            lookupswitch { // 4
                    0: 1
                  512: 1
                 1024: 12
                 4352: 29
              default: 46
          }
         1: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            aload 1 /* ivec */
            invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
            astore 5 /* des */
        start local 5 // javax.crypto.Cipher des
         2: .line 382
            aload 5 /* des */
            aload 2 /* plaintext */
            iload 3 /* start */
            iload 4 /* len */
            invokevirtual javax.crypto.Cipher.doFinal:([BII)[B
         3: areturn
        end local 5 // javax.crypto.Cipher des
         4: .line 384
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 5 /* e */
        start local 5 // java.security.GeneralSecurityException e
         5: .line 385
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 386
            new java.lang.StringBuilder
            dup
            ldc "Could not encrypt sequence number using DES - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 387
            aload 5 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 386
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 385
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 6 /* ge */
        start local 6 // org.ietf.jgss.GSSException ge
        10: .line 388
            aload 6 /* ge */
            aload 5 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        11: .line 389
            aload 6 /* ge */
            athrow
        end local 6 // org.ietf.jgss.GSSException ge
        end local 5 // java.security.GeneralSecurityException e
        12: .line 394
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 15
        13: .line 395
            aload 1 /* ivec */
            astore 5 /* iv */
        start local 5 // byte[] iv
        14: .line 396
            goto 17
        end local 5 // byte[] iv
        15: .line 397
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 5 /* iv */
        start local 5 // byte[] iv
        16: .line 398
            aload 1 /* ivec */
            iconst_0
            aload 5 /* iv */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 401
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 24
            aload 5 /* iv */
        18: .line 402
            aload 2 /* plaintext */
            iload 3 /* start */
            iload 4 /* len */
        19: .line 401
            invokestatic sun.security.krb5.internal.crypto.Des3.encryptRaw:([BI[B[BII)[B
        20: areturn
        21: .line 403
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        22: .line 405
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        23: .line 406
            new java.lang.StringBuilder
            dup
            ldc "Could not encrypt sequence number using DES3-KD - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 407
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 406
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 405
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 7 /* ge */
        start local 7 // org.ietf.jgss.GSSException ge
        27: .line 408
            aload 7 /* ge */
            aload 6 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        28: .line 409
            aload 7 /* ge */
            athrow
        end local 7 // org.ietf.jgss.GSSException ge
        end local 6 // java.lang.Exception e
        end local 5 // byte[] iv
        29: .line 415
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 32
        30: .line 416
            aload 1 /* ivec */
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        31: .line 417
            goto 34
        end local 6 // byte[] checksum
        32: .line 418
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        33: .line 419
            aload 1 /* ivec */
            iconst_0
            aload 6 /* checksum */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 423
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int top byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 24
            aload 6 /* checksum */
        35: .line 424
            aload 2 /* plaintext */
            iload 3 /* start */
            iload 4 /* len */
        36: .line 423
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.encryptSeq:([BI[B[BII)[B
        37: areturn
        38: .line 425
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        39: .line 427
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        40: .line 428
            new java.lang.StringBuilder
            dup
            ldc "Could not encrypt sequence number using RC4-HMAC - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        41: .line 429
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 428
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 427
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        44: .line 430
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        45: .line 431
            aload 8 /* ge */
            athrow
        end local 8 // org.ietf.jgss.GSSException ge
        end local 7 // java.lang.Exception e
        end local 6 // byte[] checksum
        46: .line 435
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        47: .line 436
            new java.lang.StringBuilder
            dup
            ldc "Unsupported signing algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 435
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        end local 4 // int len
        end local 3 // int start
        end local 2 // byte[] plaintext
        end local 1 // byte[] ivec
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   49     0       this  Lsun/security/jgss/krb5/CipherHelper;
            0   49     1       ivec  [B
            0   49     2  plaintext  [B
            0   49     3      start  I
            0   49     4        len  I
            2    4     5        des  Ljavax/crypto/Cipher;
            5   12     5          e  Ljava/security/GeneralSecurityException;
           10   12     6         ge  Lorg/ietf/jgss/GSSException;
           14   15     5         iv  [B
           16   29     5         iv  [B
           22   29     6          e  Ljava/lang/Exception;
           27   29     7         ge  Lorg/ietf/jgss/GSSException;
           31   32     6   checksum  [B
           33   46     6   checksum  [B
           39   46     7          e  Ljava/lang/Exception;
           44   46     8         ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.security.GeneralSecurityException
          17    20      21  Class java.lang.Exception
          34    37      38  Class java.lang.Exception
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
           Name  Flags
      ivec       
      plaintext  
      start      
      len        

  byte[] decryptSeq(byte[], byte[], int, int);
    descriptor: ([B[BII)[B
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // byte[] ivec
        start local 2 // byte[] ciphertext
        start local 3 // int start
        start local 4 // int len
         0: .line 443
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
            lookupswitch { // 4
                    0: 1
                  512: 1
                 1024: 12
                 4352: 29
              default: 46
          }
         1: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            aload 1 /* ivec */
            invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
            astore 5 /* des */
        start local 5 // javax.crypto.Cipher des
         2: .line 448
            aload 5 /* des */
            aload 2 /* ciphertext */
            iload 3 /* start */
            iload 4 /* len */
            invokevirtual javax.crypto.Cipher.doFinal:([BII)[B
         3: areturn
        end local 5 // javax.crypto.Cipher des
         4: .line 449
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 5 /* e */
        start local 5 // java.security.GeneralSecurityException e
         5: .line 450
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 451
            new java.lang.StringBuilder
            dup
            ldc "Could not decrypt sequence number using DES - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 452
            aload 5 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 451
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 450
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 6 /* ge */
        start local 6 // org.ietf.jgss.GSSException ge
        10: .line 453
            aload 6 /* ge */
            aload 5 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        11: .line 454
            aload 6 /* ge */
            athrow
        end local 6 // org.ietf.jgss.GSSException ge
        end local 5 // java.security.GeneralSecurityException e
        12: .line 459
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 15
        13: .line 460
            aload 1 /* ivec */
            astore 5 /* iv */
        start local 5 // byte[] iv
        14: .line 461
            goto 17
        end local 5 // byte[] iv
        15: .line 462
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 5 /* iv */
        start local 5 // byte[] iv
        16: .line 463
            aload 1 /* ivec */
            iconst_0
            aload 5 /* iv */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 467
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 24
            aload 5 /* iv */
        18: .line 468
            aload 2 /* ciphertext */
            iload 3 /* start */
            iload 4 /* len */
        19: .line 467
            invokestatic sun.security.krb5.internal.crypto.Des3.decryptRaw:([BI[B[BII)[B
        20: areturn
        21: .line 469
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        22: .line 471
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        23: .line 472
            new java.lang.StringBuilder
            dup
            ldc "Could not decrypt sequence number using DES3-KD - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 473
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 472
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 471
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 7 /* ge */
        start local 7 // org.ietf.jgss.GSSException ge
        27: .line 474
            aload 7 /* ge */
            aload 6 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        28: .line 475
            aload 7 /* ge */
            athrow
        end local 7 // org.ietf.jgss.GSSException ge
        end local 6 // java.lang.Exception e
        end local 5 // byte[] iv
        29: .line 481
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 32
        30: .line 482
            aload 1 /* ivec */
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        31: .line 483
            goto 34
        end local 6 // byte[] checksum
        32: .line 484
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        33: .line 485
            aload 1 /* ivec */
            iconst_0
            aload 6 /* checksum */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 489
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int top byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 24
            aload 6 /* checksum */
        35: .line 490
            aload 2 /* ciphertext */
            iload 3 /* start */
            iload 4 /* len */
        36: .line 489
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.decryptSeq:([BI[B[BII)[B
        37: areturn
        38: .line 491
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        39: .line 493
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        40: .line 494
            new java.lang.StringBuilder
            dup
            ldc "Could not decrypt sequence number using RC4-HMAC - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        41: .line 495
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 494
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 493
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        44: .line 496
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        45: .line 497
            aload 8 /* ge */
            athrow
        end local 8 // org.ietf.jgss.GSSException ge
        end local 7 // java.lang.Exception e
        end local 6 // byte[] checksum
        46: .line 501
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        47: .line 502
            new java.lang.StringBuilder
            dup
            ldc "Unsupported signing algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 501
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        end local 4 // int len
        end local 3 // int start
        end local 2 // byte[] ciphertext
        end local 1 // byte[] ivec
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   49     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   49     1        ivec  [B
            0   49     2  ciphertext  [B
            0   49     3       start  I
            0   49     4         len  I
            2    4     5         des  Ljavax/crypto/Cipher;
            5   12     5           e  Ljava/security/GeneralSecurityException;
           10   12     6          ge  Lorg/ietf/jgss/GSSException;
           14   15     5          iv  [B
           16   29     5          iv  [B
           22   29     6           e  Ljava/lang/Exception;
           27   29     7          ge  Lorg/ietf/jgss/GSSException;
           31   32     6    checksum  [B
           33   46     6    checksum  [B
           39   46     7           e  Ljava/lang/Exception;
           44   46     8          ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.security.GeneralSecurityException
          17    20      21  Class java.lang.Exception
          34    37      38  Class java.lang.Exception
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      ivec        
      ciphertext  
      start       
      len         

  int getChecksumLength();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // sun.security.jgss.krb5.CipherHelper this
         0: .line 507
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            lookupswitch { // 6
                    1: 1
                    3: 1
                   16: 2
                   17: 3
                   18: 4
                   23: 5
              default: 6
          }
         1: .line 510
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         2: .line 513
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Des3.getChecksumLength:()I
            ireturn
         3: .line 516
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Aes128.getChecksumLength:()I
            ireturn
         4: .line 518
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Aes256.getChecksumLength:()I
            ireturn
         5: .line 522
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         6: .line 525
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         7: .line 526
            new java.lang.StringBuilder
            dup
            ldc "Unsupported encryption type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 525
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/jgss/krb5/CipherHelper;
    Exceptions:
      throws org.ietf.jgss.GSSException

  void decryptData(sun.security.jgss.krb5.WrapToken, byte[], int, int, byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
    flags: (0x0000) 
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] ciphertext
        start local 3 // int cStart
        start local 4 // int cLen
        start local 5 // byte[] plaintext
        start local 6 // int pStart
         0: .line 538
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 5
                 4096: 7
              default: 9
          }
         1: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            invokestatic sun.security.jgss.krb5.CipherHelper.getDesEncryptionKey:([B)[B
         2: .line 541
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
            aload 5 /* plaintext */
            iload 6 /* pStart */
         3: .line 540
            invokevirtual sun.security.jgss.krb5.CipherHelper.desCbcDecrypt:(Lsun/security/jgss/krb5/WrapToken;[B[BII[BI)V
         4: .line 542
            goto 12
         5: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
            aload 5 /* plaintext */
            iload 6 /* pStart */
            invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
         6: .line 546
            goto 12
         7: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
            aload 5 /* plaintext */
            iload 6 /* pStart */
            invokevirtual sun.security.jgss.krb5.CipherHelper.arcFourDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
         8: .line 550
            goto 12
         9: .line 553
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        10: .line 554
            new java.lang.StringBuilder
            dup
            ldc "Unsupported seal algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 553
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        12: .line 556
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int pStart
        end local 5 // byte[] plaintext
        end local 4 // int cLen
        end local 3 // int cStart
        end local 2 // byte[] ciphertext
        end local 1 // sun.security.jgss.krb5.WrapToken token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   13     1       token  Lsun/security/jgss/krb5/WrapToken;
            0   13     2  ciphertext  [B
            0   13     3      cStart  I
            0   13     4        cLen  I
            0   13     5   plaintext  [B
            0   13     6      pStart  I
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      ciphertext  
      cStart      
      cLen        
      plaintext   
      pStart      

  void decryptData(sun.security.jgss.krb5.WrapToken_v2, byte[], int, int, byte[], int, int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
    flags: (0x0000) 
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        start local 2 // byte[] ciphertext
        start local 3 // int cStart
        start local 4 // int cLen
        start local 5 // byte[] plaintext
        start local 6 // int pStart
        start local 7 // int key_usage
         0: .line 568
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 1
                   18: 5
              default: 9
          }
         1: .line 570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 571
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 7 /* key_usage */
         3: .line 570
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
         4: .line 572
            goto 12
         5: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         6: .line 575
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 7 /* key_usage */
         7: .line 574
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
         8: .line 576
            goto 12
         9: .line 578
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        10: .line 579
            new java.lang.StringBuilder
            dup
            ldc "Unsupported etype: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 578
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        12: .line 581
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int key_usage
        end local 6 // int pStart
        end local 5 // byte[] plaintext
        end local 4 // int cLen
        end local 3 // int cStart
        end local 2 // byte[] ciphertext
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   13     1       token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   13     2  ciphertext  [B
            0   13     3      cStart  I
            0   13     4        cLen  I
            0   13     5   plaintext  [B
            0   13     6      pStart  I
            0   13     7   key_usage  I
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      ciphertext  
      cStart      
      cLen        
      plaintext   
      pStart      
      key_usage   

  void decryptData(sun.security.jgss.krb5.WrapToken, java.io.InputStream, int, byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;Ljava/io/InputStream;I[BI)V
    flags: (0x0000) 
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // java.io.InputStream cipherStream
        start local 3 // int cLen
        start local 4 // byte[] plaintext
        start local 5 // int pStart
         0: .line 587
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 5
                 4096: 17
              default: 29
          }
         1: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            invokestatic sun.security.jgss.krb5.CipherHelper.getDesEncryptionKey:([B)[B
         2: .line 590
            aload 2 /* cipherStream */
            iload 3 /* cLen */
            aload 4 /* plaintext */
            iload 5 /* pStart */
         3: .line 589
            invokevirtual sun.security.jgss.krb5.CipherHelper.desCbcDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BLjava/io/InputStream;I[BI)V
         4: .line 591
            goto 32
         5: .line 596
      StackMap locals:
      StackMap stack:
            iload 3 /* cLen */
            newarray 8
            astore 6 /* ciphertext */
        start local 6 // byte[] ciphertext
         6: .line 598
            aload 2 /* cipherStream */
            aload 6 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
            invokestatic sun.security.jgss.krb5.Krb5Token.readFully:(Ljava/io/InputStream;[BII)V
         7: .line 599
            goto 15
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken java.io.InputStream int byte[] int byte[]
      StackMap stack: java.io.IOException
         8: astore 7 /* e */
        start local 7 // java.io.IOException e
         9: .line 600
            new org.ietf.jgss.GSSException
            dup
        10: .line 601
            bipush 10
            iconst_m1
        11: .line 602
            ldc "Cannot read complete token"
        12: .line 600
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        13: .line 603
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        14: .line 604
            aload 8 /* ge */
            athrow
        end local 8 // org.ietf.jgss.GSSException ge
        end local 7 // java.io.IOException e
        15: .line 607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 6 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
            aload 4 /* plaintext */
            iload 5 /* pStart */
            invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
        16: .line 608
            goto 32
        end local 6 // byte[] ciphertext
        17: .line 613
      StackMap locals:
      StackMap stack:
            iload 3 /* cLen */
            newarray 8
            astore 7 /* ctext */
        start local 7 // byte[] ctext
        18: .line 615
            aload 2 /* cipherStream */
            aload 7 /* ctext */
            iconst_0
            iload 3 /* cLen */
            invokestatic sun.security.jgss.krb5.Krb5Token.readFully:(Ljava/io/InputStream;[BII)V
        19: .line 616
            goto 27
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken java.io.InputStream int byte[] int top byte[]
      StackMap stack: java.io.IOException
        20: astore 8 /* e */
        start local 8 // java.io.IOException e
        21: .line 617
            new org.ietf.jgss.GSSException
            dup
        22: .line 618
            bipush 10
            iconst_m1
        23: .line 619
            ldc "Cannot read complete token"
        24: .line 617
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        25: .line 620
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        26: .line 621
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.io.IOException e
        27: .line 624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 7 /* ctext */
            iconst_0
            iload 3 /* cLen */
            aload 4 /* plaintext */
            iload 5 /* pStart */
            invokevirtual sun.security.jgss.krb5.CipherHelper.arcFourDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
        28: .line 625
            goto 32
        end local 7 // byte[] ctext
        29: .line 628
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken java.io.InputStream int byte[] int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        30: .line 629
            new java.lang.StringBuilder
            dup
            ldc "Unsupported seal algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 628
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        32: .line 631
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int pStart
        end local 4 // byte[] plaintext
        end local 3 // int cLen
        end local 2 // java.io.InputStream cipherStream
        end local 1 // sun.security.jgss.krb5.WrapToken token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Lsun/security/jgss/krb5/CipherHelper;
            0   33     1         token  Lsun/security/jgss/krb5/WrapToken;
            0   33     2  cipherStream  Ljava/io/InputStream;
            0   33     3          cLen  I
            0   33     4     plaintext  [B
            0   33     5        pStart  I
            6   17     6    ciphertext  [B
            9   15     7             e  Ljava/io/IOException;
           13   15     8            ge  Lorg/ietf/jgss/GSSException;
           18   29     7         ctext  [B
           21   27     8             e  Ljava/io/IOException;
           25   27     9            ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           6     7       8  Class java.io.IOException
          18    19      20  Class java.io.IOException
    Exceptions:
      throws org.ietf.jgss.GSSException, java.io.IOException
    MethodParameters:
              Name  Flags
      token         
      cipherStream  
      cLen          
      plaintext     
      pStart        

  void decryptData(sun.security.jgss.krb5.WrapToken_v2, java.io.InputStream, int, byte[], int, int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;Ljava/io/InputStream;I[BII)V
    flags: (0x0000) 
    Code:
      stack=8, locals=10, args_size=7
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        start local 2 // java.io.InputStream cipherStream
        start local 3 // int cLen
        start local 4 // byte[] plaintext
        start local 5 // int pStart
        start local 6 // int key_usage
         0: .line 638
            iload 3 /* cLen */
            newarray 8
            astore 7 /* ciphertext */
        start local 7 // byte[] ciphertext
         1: .line 640
            aload 2 /* cipherStream */
            aload 7 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
            invokestatic sun.security.jgss.krb5.Krb5Token.readFully:(Ljava/io/InputStream;[BII)V
         2: .line 641
            goto 10
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken_v2 java.io.InputStream int byte[] int int byte[]
      StackMap stack: java.io.IOException
         3: astore 8 /* e */
        start local 8 // java.io.IOException e
         4: .line 642
            new org.ietf.jgss.GSSException
            dup
         5: .line 643
            bipush 10
            iconst_m1
         6: .line 644
            ldc "Cannot read complete token"
         7: .line 642
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
         8: .line 645
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 646
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.io.IOException e
        10: .line 648
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 11
                   18: 15
              default: 19
          }
        11: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 7 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
        12: .line 651
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* key_usage */
        13: .line 650
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        14: .line 652
            goto 22
        15: .line 654
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 7 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
        16: .line 655
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* key_usage */
        17: .line 654
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        18: .line 656
            goto 22
        19: .line 658
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        20: .line 659
            new java.lang.StringBuilder
            dup
            ldc "Unsupported etype: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 658
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        22: .line 661
      StackMap locals:
      StackMap stack:
            return
        end local 7 // byte[] ciphertext
        end local 6 // int key_usage
        end local 5 // int pStart
        end local 4 // byte[] plaintext
        end local 3 // int cLen
        end local 2 // java.io.InputStream cipherStream
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lsun/security/jgss/krb5/CipherHelper;
            0   23     1         token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   23     2  cipherStream  Ljava/io/InputStream;
            0   23     3          cLen  I
            0   23     4     plaintext  [B
            0   23     5        pStart  I
            0   23     6     key_usage  I
            1   23     7    ciphertext  [B
            4   10     8             e  Ljava/io/IOException;
            8   10     9            ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    Exceptions:
      throws org.ietf.jgss.GSSException, java.io.IOException
    MethodParameters:
              Name  Flags
      token         
      cipherStream  
      cLen          
      plaintext     
      pStart        
      key_usage     

  void encryptData(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[], java.io.OutputStream);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[BLjava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=12, args_size=8
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] confounder
        start local 3 // byte[] plaintext
        start local 4 // int start
        start local 5 // int len
        start local 6 // byte[] padding
        start local 7 // java.io.OutputStream os
         0: .line 667
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 9
                 4096: 14
              default: 19
          }
         1: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            invokestatic sun.security.jgss.krb5.CipherHelper.getDesEncryptionKey:([B)[B
         2: .line 671
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         3: .line 670
            invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
            astore 8 /* des */
        start local 8 // javax.crypto.Cipher des
         4: .line 672
            new javax.crypto.CipherOutputStream
            dup
            aload 7 /* os */
            aload 8 /* des */
            invokespecial javax.crypto.CipherOutputStream.<init>:(Ljava/io/OutputStream;Ljavax/crypto/Cipher;)V
            astore 9 /* cos */
        start local 9 // javax.crypto.CipherOutputStream cos
         5: .line 674
            aload 9 /* cos */
            aload 2 /* confounder */
            invokevirtual javax.crypto.CipherOutputStream.write:([B)V
         6: .line 676
            aload 9 /* cos */
            aload 3 /* plaintext */
            iload 4 /* start */
            iload 5 /* len */
            invokevirtual javax.crypto.CipherOutputStream.write:([BII)V
         7: .line 678
            aload 9 /* cos */
            aload 6 /* padding */
            invokevirtual javax.crypto.CipherOutputStream.write:([B)V
         8: .line 679
            goto 22
        end local 9 // javax.crypto.CipherOutputStream cos
        end local 8 // javax.crypto.Cipher des
         9: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* plaintext */
            iload 4 /* start */
            iload 5 /* len */
        10: .line 683
            aload 6 /* padding */
        11: .line 682
            invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdEncrypt:([B[BII[B)[B
            astore 10 /* ctext */
        start local 10 // byte[] ctext
        12: .line 686
            aload 7 /* os */
            aload 10 /* ctext */
            invokevirtual java.io.OutputStream.write:([B)V
        13: .line 687
            goto 22
        end local 10 // byte[] ctext
        14: .line 690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* confounder */
            aload 3 /* plaintext */
        15: .line 691
            iload 4 /* start */
            iload 5 /* len */
            aload 6 /* padding */
        16: .line 690
            invokevirtual sun.security.jgss.krb5.CipherHelper.arcFourEncrypt:(Lsun/security/jgss/krb5/WrapToken;[B[BII[B)[B
            astore 11 /* ciphertext */
        start local 11 // byte[] ciphertext
        17: .line 694
            aload 7 /* os */
            aload 11 /* ciphertext */
            invokevirtual java.io.OutputStream.write:([B)V
        18: .line 695
            goto 22
        end local 11 // byte[] ciphertext
        19: .line 698
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        20: .line 699
            new java.lang.StringBuilder
            dup
            ldc "Unsupported seal algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 698
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        22: .line 701
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.io.OutputStream os
        end local 6 // byte[] padding
        end local 5 // int len
        end local 4 // int start
        end local 3 // byte[] plaintext
        end local 2 // byte[] confounder
        end local 1 // sun.security.jgss.krb5.WrapToken token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   23     1       token  Lsun/security/jgss/krb5/WrapToken;
            0   23     2  confounder  [B
            0   23     3   plaintext  [B
            0   23     4       start  I
            0   23     5         len  I
            0   23     6     padding  [B
            0   23     7          os  Ljava/io/OutputStream;
            4    9     8         des  Ljavax/crypto/Cipher;
            5    9     9         cos  Ljavax/crypto/CipherOutputStream;
           12   14    10       ctext  [B
           17   19    11  ciphertext  [B
    Exceptions:
      throws org.ietf.jgss.GSSException, java.io.IOException
    MethodParameters:
            Name  Flags
      token       
      confounder  
      plaintext   
      start       
      len         
      padding     
      os          

  byte[] encryptData(sun.security.jgss.krb5.WrapToken_v2, byte[], byte[], byte[], int, int, int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[B[B[BIII)[B
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        start local 2 // byte[] confounder
        start local 3 // byte[] tokenHeader
        start local 4 // byte[] plaintext
        start local 5 // int start
        start local 6 // int len
        start local 7 // int key_usage
         0: .line 716
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 1
                   18: 4
              default: 7
          }
         1: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         2: .line 719
            aload 4 /* plaintext */
            iload 5 /* start */
            iload 6 /* len */
            iload 7 /* key_usage */
         3: .line 718
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Encrypt:([B[B[BIII)[B
            areturn
         4: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         5: .line 722
            aload 4 /* plaintext */
            iload 5 /* start */
            iload 6 /* len */
            iload 7 /* key_usage */
         6: .line 721
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Encrypt:([B[B[BIII)[B
            areturn
         7: .line 724
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         8: .line 725
            new java.lang.StringBuilder
            dup
            ldc "Unsupported etype: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 724
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        end local 7 // int key_usage
        end local 6 // int len
        end local 5 // int start
        end local 4 // byte[] plaintext
        end local 3 // byte[] tokenHeader
        end local 2 // byte[] confounder
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lsun/security/jgss/krb5/CipherHelper;
            0   10     1        token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   10     2   confounder  [B
            0   10     3  tokenHeader  [B
            0   10     4    plaintext  [B
            0   10     5        start  I
            0   10     6          len  I
            0   10     7    key_usage  I
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
             Name  Flags
      token        
      confounder   
      tokenHeader  
      plaintext    
      start        
      len          
      key_usage    

  void encryptData(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[], byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[B[BI)V
    flags: (0x0000) 
    Code:
      stack=7, locals=13, args_size=9
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] confounder
        start local 3 // byte[] plaintext
        start local 4 // int pStart
        start local 5 // int pLen
        start local 6 // byte[] padding
        start local 7 // byte[] ciphertext
        start local 8 // int cStart
         0: .line 733
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 22
                 4096: 27
              default: 32
          }
         1: .line 735
      StackMap locals:
      StackMap stack:
            iload 8 /* cStart */
            istore 9 /* pos */
        start local 9 // int pos
         2: .line 737
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            invokestatic sun.security.jgss.krb5.CipherHelper.getDesEncryptionKey:([B)[B
         3: .line 738
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         4: .line 737
            invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
            astore 10 /* des */
        start local 10 // javax.crypto.Cipher des
         5: .line 741
            iload 9 /* pos */
            aload 10 /* des */
            aload 2 /* confounder */
            iconst_0
            aload 2 /* confounder */
            arraylength
         6: .line 742
            aload 7 /* ciphertext */
            iload 9 /* pos */
         7: .line 741
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            iadd
            istore 9 /* pos */
         8: .line 744
            iload 9 /* pos */
            aload 10 /* des */
            aload 3 /* plaintext */
            iload 4 /* pStart */
            iload 5 /* pLen */
         9: .line 745
            aload 7 /* ciphertext */
            iload 9 /* pos */
        10: .line 744
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            iadd
            istore 9 /* pos */
        11: .line 747
            aload 10 /* des */
            aload 6 /* padding */
            iconst_0
            aload 6 /* padding */
            arraylength
        12: .line 748
            aload 7 /* ciphertext */
            iload 9 /* pos */
        13: .line 747
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        14: .line 749
            aload 10 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        15: .line 750
            goto 35
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] byte[] int int javax.crypto.Cipher
      StackMap stack: java.security.GeneralSecurityException
        16: astore 11 /* e */
        start local 11 // java.security.GeneralSecurityException e
        17: .line 751
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        18: .line 752
            new java.lang.StringBuilder
            dup
            ldc "Could not use DES Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 751
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 12 /* ge */
        start local 12 // org.ietf.jgss.GSSException ge
        20: .line 753
            aload 12 /* ge */
            aload 11 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        21: .line 754
            aload 12 /* ge */
            athrow
        end local 12 // org.ietf.jgss.GSSException ge
        end local 11 // java.security.GeneralSecurityException e
        end local 10 // javax.crypto.Cipher des
        end local 9 // int pos
        22: .line 759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* plaintext */
            iload 4 /* pStart */
            iload 5 /* pLen */
        23: .line 760
            aload 6 /* padding */
        24: .line 759
            invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdEncrypt:([B[BII[B)[B
            astore 11 /* ctext */
        start local 11 // byte[] ctext
        25: .line 761
            aload 11 /* ctext */
            iconst_0
            aload 7 /* ciphertext */
            iload 8 /* cStart */
            aload 11 /* ctext */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 762
            goto 35
        end local 11 // byte[] ctext
        27: .line 765
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* confounder */
            aload 3 /* plaintext */
            iload 4 /* pStart */
        28: .line 766
            iload 5 /* pLen */
            aload 6 /* padding */
        29: .line 765
            invokevirtual sun.security.jgss.krb5.CipherHelper.arcFourEncrypt:(Lsun/security/jgss/krb5/WrapToken;[B[BII[B)[B
            astore 12 /* ctext2 */
        start local 12 // byte[] ctext2
        30: .line 767
            aload 12 /* ctext2 */
            iconst_0
            aload 7 /* ciphertext */
            iload 8 /* cStart */
            aload 12 /* ctext2 */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        31: .line 768
            goto 35
        end local 12 // byte[] ctext2
        32: .line 771
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        33: .line 772
            new java.lang.StringBuilder
            dup
            ldc "Unsupported seal algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 771
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        35: .line 774
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int cStart
        end local 7 // byte[] ciphertext
        end local 6 // byte[] padding
        end local 5 // int pLen
        end local 4 // int pStart
        end local 3 // byte[] plaintext
        end local 2 // byte[] confounder
        end local 1 // sun.security.jgss.krb5.WrapToken token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   36     1       token  Lsun/security/jgss/krb5/WrapToken;
            0   36     2  confounder  [B
            0   36     3   plaintext  [B
            0   36     4      pStart  I
            0   36     5        pLen  I
            0   36     6     padding  [B
            0   36     7  ciphertext  [B
            0   36     8      cStart  I
            2   22     9         pos  I
            5   22    10         des  Ljavax/crypto/Cipher;
           17   22    11           e  Ljava/security/GeneralSecurityException;
           20   22    12          ge  Lorg/ietf/jgss/GSSException;
           25   27    11       ctext  [B
           30   32    12      ctext2  [B
      Exception table:
        from    to  target  type
           5    15      16  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      confounder  
      plaintext   
      pStart      
      pLen        
      padding     
      ciphertext  
      cStart      

  int encryptData(sun.security.jgss.krb5.WrapToken_v2, byte[], byte[], byte[], int, int, byte[], int, int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[B[B[BII[BII)I
    flags: (0x0000) 
    Code:
      stack=7, locals=11, args_size=10
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        start local 2 // byte[] confounder
        start local 3 // byte[] tokenHeader
        start local 4 // byte[] plaintext
        start local 5 // int pStart
        start local 6 // int pLen
        start local 7 // byte[] ciphertext
        start local 8 // int cStart
        start local 9 // int key_usage
         0: .line 789
            aconst_null
            astore 10 /* ctext */
        start local 10 // byte[] ctext
         1: .line 790
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 2
                   18: 6
              default: 10
          }
         2: .line 792
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         3: .line 793
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* pLen */
            iload 9 /* key_usage */
         4: .line 792
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Encrypt:([B[B[BIII)[B
            astore 10 /* ctext */
         5: .line 794
            goto 13
         6: .line 796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         7: .line 797
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* pLen */
            iload 9 /* key_usage */
         8: .line 796
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Encrypt:([B[B[BIII)[B
            astore 10 /* ctext */
         9: .line 798
            goto 13
        10: .line 800
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        11: .line 801
            new java.lang.StringBuilder
            dup
            ldc "Unsupported etype: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 800
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        13: .line 803
      StackMap locals:
      StackMap stack:
            aload 10 /* ctext */
            iconst_0
            aload 7 /* ciphertext */
            iload 8 /* cStart */
            aload 10 /* ctext */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 804
            aload 10 /* ctext */
            arraylength
            ireturn
        end local 10 // byte[] ctext
        end local 9 // int key_usage
        end local 8 // int cStart
        end local 7 // byte[] ciphertext
        end local 6 // int pLen
        end local 5 // int pStart
        end local 4 // byte[] plaintext
        end local 3 // byte[] tokenHeader
        end local 2 // byte[] confounder
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lsun/security/jgss/krb5/CipherHelper;
            0   15     1        token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   15     2   confounder  [B
            0   15     3  tokenHeader  [B
            0   15     4    plaintext  [B
            0   15     5       pStart  I
            0   15     6         pLen  I
            0   15     7   ciphertext  [B
            0   15     8       cStart  I
            0   15     9    key_usage  I
            1   15    10        ctext  [B
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
             Name  Flags
      token        
      confounder   
      tokenHeader  
      plaintext    
      pStart       
      pLen         
      ciphertext   
      cStart       
      key_usage    

  private byte[] getDesCbcChecksum(byte[], byte[], byte[], int, int);
    descriptor: ([B[B[BII)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=6
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // byte[] key
        start local 2 // byte[] header
        start local 3 // byte[] data
        start local 4 // int offset
        start local 5 // int len
         0: .line 828
            aload 0 /* this */
            iconst_1
            aload 1 /* key */
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
            invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
            astore 6 /* des */
        start local 6 // javax.crypto.Cipher des
         1: .line 830
            aload 6 /* des */
            invokevirtual javax.crypto.Cipher.getBlockSize:()I
            istore 7 /* blockSize */
        start local 7 // int blockSize
         2: .line 838
            iload 7 /* blockSize */
            newarray 8
            astore 8 /* finalBlock */
        start local 8 // byte[] finalBlock
         3: .line 840
            iload 5 /* len */
            iload 7 /* blockSize */
            idiv
            istore 9 /* numBlocks */
        start local 9 // int numBlocks
         4: .line 841
            iload 5 /* len */
            iload 7 /* blockSize */
            irem
            istore 10 /* lastBytes */
        start local 10 // int lastBytes
         5: .line 842
            iload 10 /* lastBytes */
            ifne 11
         6: .line 844
            iinc 9 /* numBlocks */ -1
         7: .line 845
            aload 3 /* data */
            iload 4 /* offset */
            iload 9 /* numBlocks */
            iload 7 /* blockSize */
            imul
            iadd
         8: .line 846
            aload 8 /* finalBlock */
            iconst_0
            iload 7 /* blockSize */
         9: .line 845
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 847
            goto 14
        11: .line 848
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int javax.crypto.Cipher int byte[] int int
      StackMap stack:
            aload 3 /* data */
            iload 4 /* offset */
            iload 9 /* numBlocks */
            iload 7 /* blockSize */
            imul
            iadd
        12: .line 849
            aload 8 /* finalBlock */
            iconst_0
            iload 10 /* lastBytes */
        13: .line 848
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 854
      StackMap locals:
      StackMap stack:
            iload 7 /* blockSize */
        15: .line 855
            aload 2 /* header */
            ifnonnull 16
            iload 7 /* blockSize */
            goto 17
      StackMap locals:
      StackMap stack: int
        16: aload 2 /* header */
            arraylength
        17: .line 854
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int javax.crypto.Cipher int byte[] int int
      StackMap stack: int int
            invokestatic java.lang.Math.max:(II)I
            newarray 8
            astore 11 /* temp */
        start local 11 // byte[] temp
        18: .line 857
            aload 2 /* header */
            ifnull 20
        19: .line 859
            aload 6 /* des */
            aload 2 /* header */
            iconst_0
            aload 2 /* header */
            arraylength
            aload 11 /* temp */
            iconst_0
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        20: .line 863
      StackMap locals: byte[]
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        21: goto 27
        22: .line 864
      StackMap locals: int
      StackMap stack:
            aload 6 /* des */
            aload 3 /* data */
            iload 4 /* offset */
            iload 7 /* blockSize */
        23: .line 865
            aload 11 /* temp */
            iconst_0
        24: .line 864
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        25: .line 866
            iload 4 /* offset */
            iload 7 /* blockSize */
            iadd
            istore 4 /* offset */
        26: .line 863
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 12 /* i */
            iload 9 /* numBlocks */
            if_icmplt 22
        end local 12 // int i
        28: .line 870
            iload 7 /* blockSize */
            newarray 8
            astore 12 /* retVal */
        start local 12 // byte[] retVal
        29: .line 871
            aload 6 /* des */
            aload 8 /* finalBlock */
            iconst_0
            iload 7 /* blockSize */
            aload 12 /* retVal */
            iconst_0
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        30: .line 872
            aload 6 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        31: .line 874
            aload 12 /* retVal */
        32: areturn
        end local 12 // byte[] retVal
        end local 11 // byte[] temp
        33: .line 875
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int javax.crypto.Cipher int byte[] int int
      StackMap stack: java.security.GeneralSecurityException
            astore 11 /* e */
        start local 11 // java.security.GeneralSecurityException e
        34: .line 876
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        35: .line 877
            new java.lang.StringBuilder
            dup
            ldc "Could not use DES Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 876
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 12 /* ge */
        start local 12 // org.ietf.jgss.GSSException ge
        37: .line 878
            aload 12 /* ge */
            aload 11 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        38: .line 879
            aload 12 /* ge */
            athrow
        end local 12 // org.ietf.jgss.GSSException ge
        end local 11 // java.security.GeneralSecurityException e
        end local 10 // int lastBytes
        end local 9 // int numBlocks
        end local 8 // byte[] finalBlock
        end local 7 // int blockSize
        end local 6 // javax.crypto.Cipher des
        end local 5 // int len
        end local 4 // int offset
        end local 3 // byte[] data
        end local 2 // byte[] header
        end local 1 // byte[] key
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   39     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   39     1         key  [B
            0   39     2      header  [B
            0   39     3        data  [B
            0   39     4      offset  I
            0   39     5         len  I
            1   39     6         des  Ljavax/crypto/Cipher;
            2   39     7   blockSize  I
            3   39     8  finalBlock  [B
            4   39     9   numBlocks  I
            5   39    10   lastBytes  I
           18   33    11        temp  [B
           21   28    12           i  I
           29   33    12      retVal  [B
           34   39    11           e  Ljava/security/GeneralSecurityException;
           37   39    12          ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
          14    32      33  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
        Name  Flags
      key     
      header  
      data    
      offset  
      len     

  private final javax.crypto.Cipher getInitializedDes(boolean, byte[], byte[]);
    descriptor: (Z[B[B)Ljavax/crypto/Cipher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // boolean encryptMode
        start local 2 // byte[] key
        start local 3 // byte[] ivBytes
         0: .line 897
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 3 /* ivBytes */
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
            astore 4 /* iv */
        start local 4 // javax.crypto.spec.IvParameterSpec iv
         1: .line 898
            new javax.crypto.spec.SecretKeySpec
            dup
            aload 2 /* key */
            ldc "DES"
            invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
            astore 5 /* jceKey */
        start local 5 // javax.crypto.SecretKey jceKey
         2: .line 900
            ldc "DES/CBC/NoPadding"
            invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            astore 6 /* desCipher */
        start local 6 // javax.crypto.Cipher desCipher
         3: .line 901
            aload 6 /* desCipher */
         4: .line 902
            iload 1 /* encryptMode */
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] javax.crypto.spec.IvParameterSpec javax.crypto.SecretKey javax.crypto.Cipher
      StackMap stack: javax.crypto.Cipher
         5: iconst_2
         6: .line 903
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[] javax.crypto.spec.IvParameterSpec javax.crypto.SecretKey javax.crypto.Cipher
      StackMap stack: javax.crypto.Cipher int
            aload 5 /* jceKey */
            aload 4 /* iv */
         7: .line 901
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
         8: .line 904
            aload 6 /* desCipher */
         9: areturn
        end local 6 // javax.crypto.Cipher desCipher
        end local 5 // javax.crypto.SecretKey jceKey
        end local 4 // javax.crypto.spec.IvParameterSpec iv
        10: .line 905
      StackMap locals: sun.security.jgss.krb5.CipherHelper int byte[] byte[]
      StackMap stack: java.security.GeneralSecurityException
            astore 4 /* e */
        start local 4 // java.security.GeneralSecurityException e
        11: .line 906
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        12: .line 907
            aload 4 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
        13: .line 906
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 5 /* ge */
        start local 5 // org.ietf.jgss.GSSException ge
        14: .line 908
            aload 5 /* ge */
            aload 4 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        15: .line 909
            aload 5 /* ge */
            athrow
        end local 5 // org.ietf.jgss.GSSException ge
        end local 4 // java.security.GeneralSecurityException e
        end local 3 // byte[] ivBytes
        end local 2 // byte[] key
        end local 1 // boolean encryptMode
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lsun/security/jgss/krb5/CipherHelper;
            0   16     1  encryptMode  Z
            0   16     2          key  [B
            0   16     3      ivBytes  [B
            1   10     4           iv  Ljavax/crypto/spec/IvParameterSpec;
            2   10     5       jceKey  Ljavax/crypto/SecretKey;
            3   10     6    desCipher  Ljavax/crypto/Cipher;
           11   16     4            e  Ljava/security/GeneralSecurityException;
           14   16     5           ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           0     9      10  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
             Name  Flags
      encryptMode  
      key          
      ivBytes      

  private void desCbcDecrypt(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=8
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] key
        start local 3 // byte[] cipherText
        start local 4 // int offset
        start local 5 // int len
        start local 6 // byte[] dataOutBuf
        start local 7 // int dataOffset
         0: .line 937
            aload 0 /* this */
            iconst_0
            aload 2 /* key */
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
            invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
            astore 8 /* des */
        start local 8 // javax.crypto.Cipher des
         1: .line 943
            aload 8 /* des */
            aload 3 /* cipherText */
            iload 4 /* offset */
            bipush 8
         2: .line 944
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
         3: .line 943
            invokevirtual javax.crypto.Cipher.update:([BII[B)I
            pop
         4: .line 949
            iinc 4 /* offset */ 8
         5: .line 950
            iinc 5 /* len */ -8
         6: .line 959
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.getBlockSize:()I
            istore 9 /* blockSize */
        start local 9 // int blockSize
         7: .line 960
            iload 5 /* len */
            iload 9 /* blockSize */
            idiv
            iconst_1
            isub
            istore 10 /* numBlocks */
        start local 10 // int numBlocks
         8: .line 963
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         9: goto 16
        10: .line 964
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] int javax.crypto.Cipher int int int
      StackMap stack:
            aload 8 /* des */
            aload 3 /* cipherText */
            iload 4 /* offset */
            iload 9 /* blockSize */
        11: .line 965
            aload 6 /* dataOutBuf */
            iload 7 /* dataOffset */
        12: .line 964
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        13: .line 970
            iload 4 /* offset */
            iload 9 /* blockSize */
            iadd
            istore 4 /* offset */
        14: .line 971
            iload 7 /* dataOffset */
            iload 9 /* blockSize */
            iadd
            istore 7 /* dataOffset */
        15: .line 963
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 11 /* i */
            iload 10 /* numBlocks */
            if_icmplt 10
        end local 11 // int i
        17: .line 975
            iload 9 /* blockSize */
            newarray 8
            astore 11 /* finalBlock */
        start local 11 // byte[] finalBlock
        18: .line 976
            aload 8 /* des */
            aload 3 /* cipherText */
            iload 4 /* offset */
            iload 9 /* blockSize */
            aload 11 /* finalBlock */
            invokevirtual javax.crypto.Cipher.update:([BII[B)I
            pop
        19: .line 978
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        20: .line 985
            aload 11 /* finalBlock */
            iload 9 /* blockSize */
            iconst_1
            isub
            baload
            istore 12 /* padSize */
        start local 12 // int padSize
        21: .line 986
            iload 12 /* padSize */
            iconst_1
            if_icmplt 22
            iload 12 /* padSize */
            bipush 8
            if_icmple 25
        22: .line 987
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] int javax.crypto.Cipher int int byte[] int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        23: .line 988
            ldc "Invalid padding on Wrap Token"
        24: .line 987
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        25: .line 989
      StackMap locals:
      StackMap stack:
            aload 1 /* token */
            getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
            iload 12 /* padSize */
            aaload
            putfield sun.security.jgss.krb5.WrapToken.padding:[B
        26: .line 990
            iload 9 /* blockSize */
            iload 12 /* padSize */
            isub
            istore 9 /* blockSize */
        27: .line 993
            aload 11 /* finalBlock */
            iconst_0
            aload 6 /* dataOutBuf */
            iload 7 /* dataOffset */
        28: .line 994
            iload 9 /* blockSize */
        29: .line 993
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 12 // int padSize
        end local 11 // byte[] finalBlock
        end local 10 // int numBlocks
        end local 9 // int blockSize
        end local 8 // javax.crypto.Cipher des
        30: .line 996
            goto 37
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] int
      StackMap stack: java.security.GeneralSecurityException
        31: astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        32: .line 997
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        33: .line 998
            new java.lang.StringBuilder
            dup
            ldc "Could not use DES cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 997
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        35: .line 999
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        36: .line 1000
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        37: .line 1002
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int dataOffset
        end local 6 // byte[] dataOutBuf
        end local 5 // int len
        end local 4 // int offset
        end local 3 // byte[] cipherText
        end local 2 // byte[] key
        end local 1 // sun.security.jgss.krb5.WrapToken token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   38     1       token  Lsun/security/jgss/krb5/WrapToken;
            0   38     2         key  [B
            0   38     3  cipherText  [B
            0   38     4      offset  I
            0   38     5         len  I
            0   38     6  dataOutBuf  [B
            0   38     7  dataOffset  I
            1   30     8         des  Ljavax/crypto/Cipher;
            7   30     9   blockSize  I
            8   30    10   numBlocks  I
            9   17    11           i  I
           18   30    11  finalBlock  [B
           21   30    12     padSize  I
           32   37     8           e  Ljava/security/GeneralSecurityException;
           35   37     9          ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           0    30      31  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      key         
      cipherText  
      offset      
      len         
      dataOutBuf  
      dataOffset  

  private void desCbcDecrypt(sun.security.jgss.krb5.WrapToken, byte[], java.io.InputStream, int, byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[BLjava/io/InputStream;I[BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=16, args_size=7
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] key
        start local 3 // java.io.InputStream is
        start local 4 // int len
        start local 5 // byte[] dataOutBuf
        start local 6 // int dataOffset
         0: .line 1024
            iconst_0
            istore 7 /* temp */
        start local 7 // int temp
         1: .line 1026
            aload 0 /* this */
            iconst_0
            aload 2 /* key */
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
            invokevirtual sun.security.jgss.krb5.CipherHelper.getInitializedDes:(Z[B[B)Ljavax/crypto/Cipher;
            astore 8 /* des */
        start local 8 // javax.crypto.Cipher des
         2: .line 1029
            new sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream
            dup
            aload 0 /* this */
            aload 3 /* is */
            iload 4 /* len */
            invokespecial sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream.<init>:(Lsun/security/jgss/krb5/CipherHelper;Ljava/io/InputStream;I)V
         3: .line 1028
            astore 9 /* truncatedInputStream */
        start local 9 // sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream truncatedInputStream
         4: .line 1030
            new javax.crypto.CipherInputStream
            dup
            aload 9 /* truncatedInputStream */
         5: .line 1031
            aload 8 /* des */
         6: .line 1030
            invokespecial javax.crypto.CipherInputStream.<init>:(Ljava/io/InputStream;Ljavax/crypto/Cipher;)V
            astore 10 /* cis */
        start local 10 // javax.crypto.CipherInputStream cis
         7: .line 1036
            aload 10 /* cis */
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
            invokevirtual javax.crypto.CipherInputStream.read:([B)I
            istore 7 /* temp */
         8: .line 1038
            iload 4 /* len */
            iload 7 /* temp */
            isub
            istore 4 /* len */
         9: .line 1052
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.getBlockSize:()I
            istore 11 /* blockSize */
        start local 11 // int blockSize
        10: .line 1053
            iload 4 /* len */
            iload 11 /* blockSize */
            idiv
            iconst_1
            isub
            istore 12 /* numBlocks */
        start local 12 // int numBlocks
        11: .line 1056
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        12: goto 16
        13: .line 1058
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] java.io.InputStream int byte[] int int javax.crypto.Cipher sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream javax.crypto.CipherInputStream int int int
      StackMap stack:
            aload 10 /* cis */
            aload 5 /* dataOutBuf */
            iload 6 /* dataOffset */
            iload 11 /* blockSize */
            invokevirtual javax.crypto.CipherInputStream.read:([BII)I
            istore 7 /* temp */
        14: .line 1065
            iload 6 /* dataOffset */
            iload 11 /* blockSize */
            iadd
            istore 6 /* dataOffset */
        15: .line 1056
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 13 /* i */
            iload 12 /* numBlocks */
            if_icmplt 13
        end local 13 // int i
        17: .line 1069
            iload 11 /* blockSize */
            newarray 8
            astore 13 /* finalBlock */
        start local 13 // byte[] finalBlock
        18: .line 1071
            aload 10 /* cis */
            aload 13 /* finalBlock */
            invokevirtual javax.crypto.CipherInputStream.read:([B)I
            istore 7 /* temp */
        19: .line 1081
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        20: .line 1082
            goto 27
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] java.io.InputStream int byte[] int int javax.crypto.Cipher sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream javax.crypto.CipherInputStream int int byte[]
      StackMap stack: java.security.GeneralSecurityException
        21: astore 14 /* e */
        start local 14 // java.security.GeneralSecurityException e
        22: .line 1083
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        23: .line 1084
            new java.lang.StringBuilder
            dup
            ldc "Could not use DES cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 1083
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 15 /* ge */
        start local 15 // org.ietf.jgss.GSSException ge
        25: .line 1085
            aload 15 /* ge */
            aload 14 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        26: .line 1086
            aload 15 /* ge */
            athrow
        end local 15 // org.ietf.jgss.GSSException ge
        end local 14 // java.security.GeneralSecurityException e
        27: .line 1094
      StackMap locals:
      StackMap stack:
            aload 13 /* finalBlock */
            iload 11 /* blockSize */
            iconst_1
            isub
            baload
            istore 14 /* padSize */
        start local 14 // int padSize
        28: .line 1095
            iload 14 /* padSize */
            iconst_1
            if_icmplt 29
            iload 14 /* padSize */
            bipush 8
            if_icmple 32
        29: .line 1096
      StackMap locals: int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        30: .line 1097
            ldc "Invalid padding on Wrap Token"
        31: .line 1096
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        32: .line 1098
      StackMap locals:
      StackMap stack:
            aload 1 /* token */
            getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
            iload 14 /* padSize */
            aaload
            putfield sun.security.jgss.krb5.WrapToken.padding:[B
        33: .line 1099
            iload 11 /* blockSize */
            iload 14 /* padSize */
            isub
            istore 11 /* blockSize */
        34: .line 1102
            aload 13 /* finalBlock */
            iconst_0
            aload 5 /* dataOutBuf */
            iload 6 /* dataOffset */
        35: .line 1103
            iload 11 /* blockSize */
        36: .line 1102
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        37: .line 1104
            return
        end local 14 // int padSize
        end local 13 // byte[] finalBlock
        end local 12 // int numBlocks
        end local 11 // int blockSize
        end local 10 // javax.crypto.CipherInputStream cis
        end local 9 // sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream truncatedInputStream
        end local 8 // javax.crypto.Cipher des
        end local 7 // int temp
        end local 6 // int dataOffset
        end local 5 // byte[] dataOutBuf
        end local 4 // int len
        end local 3 // java.io.InputStream is
        end local 2 // byte[] key
        end local 1 // sun.security.jgss.krb5.WrapToken token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   38     0                  this  Lsun/security/jgss/krb5/CipherHelper;
            0   38     1                 token  Lsun/security/jgss/krb5/WrapToken;
            0   38     2                   key  [B
            0   38     3                    is  Ljava/io/InputStream;
            0   38     4                   len  I
            0   38     5            dataOutBuf  [B
            0   38     6            dataOffset  I
            1   38     7                  temp  I
            2   38     8                   des  Ljavax/crypto/Cipher;
            4   38     9  truncatedInputStream  Lsun/security/jgss/krb5/CipherHelper$WrapTokenInputStream;
            7   38    10                   cis  Ljavax/crypto/CipherInputStream;
           10   38    11             blockSize  I
           11   38    12             numBlocks  I
           12   17    13                     i  I
           18   38    13            finalBlock  [B
           22   27    14                     e  Ljava/security/GeneralSecurityException;
           25   27    15                    ge  Lorg/ietf/jgss/GSSException;
           28   38    14               padSize  I
      Exception table:
        from    to  target  type
          19    20      21  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException, java.io.IOException
    MethodParameters:
            Name  Flags
      token       
      key         
      is          
      len         
      dataOutBuf  
      dataOffset  

  private static byte[] getDesEncryptionKey(byte[]);
    descriptor: ([B)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // byte[] key
         0: .line 1118
            aload 0 /* key */
            arraylength
            bipush 8
            if_icmple 4
         1: .line 1119
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            bipush -100
         2: .line 1120
            ldc "Invalid DES Key!"
         3: .line 1119
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
         4: .line 1122
      StackMap locals:
      StackMap stack:
            aload 0 /* key */
            arraylength
            newarray 8
            astore 1 /* retVal */
        start local 1 // byte[] retVal
         5: .line 1123
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 9
         7: .line 1124
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* retVal */
            iload 2 /* i */
            aload 0 /* key */
            iload 2 /* i */
            baload
            sipush 240
            ixor
            i2b
            bastore
         8: .line 1123
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* key */
            arraylength
            if_icmplt 7
        end local 2 // int i
        10: .line 1125
            aload 1 /* retVal */
            areturn
        end local 1 // byte[] retVal
        end local 0 // byte[] key
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0     key  [B
            5   11     1  retVal  [B
            6   10     2       i  I
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
      Name  Flags
      key   

  private void des3KdDecrypt(sun.security.jgss.krb5.WrapToken, byte[], int, int, byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=7
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] ciphertext
        start local 3 // int cStart
        start local 4 // int cLen
        start local 5 // byte[] plaintext
        start local 6 // int pStart
         0: .line 1134
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         1: .line 1135
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 1134
            invokestatic sun.security.krb5.internal.crypto.Des3.decryptRaw:([BI[B[BII)[B
            astore 7 /* ptext */
        start local 7 // byte[] ptext
         3: .line 1136
            goto 10
        end local 7 // byte[] ptext
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
         4: astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
         5: .line 1137
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 1138
            new java.lang.StringBuilder
            dup
            ldc "Could not use DES3-KD Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1137
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
         8: .line 1139
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 1140
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        start local 7 // byte[] ptext
        10: .line 1155
      StackMap locals: byte[]
      StackMap stack:
            aload 7 /* ptext */
            aload 7 /* ptext */
            arraylength
            iconst_1
            isub
            baload
            istore 8 /* padSize */
        start local 8 // int padSize
        11: .line 1156
            iload 8 /* padSize */
            iconst_1
            if_icmplt 12
            iload 8 /* padSize */
            bipush 8
            if_icmple 15
        12: .line 1157
      StackMap locals: int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        13: .line 1158
            ldc "Invalid padding on Wrap Token"
        14: .line 1157
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        15: .line 1160
      StackMap locals:
      StackMap stack:
            aload 1 /* token */
            getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
            iload 8 /* padSize */
            aaload
            putfield sun.security.jgss.krb5.WrapToken.padding:[B
        16: .line 1161
            aload 7 /* ptext */
            arraylength
            bipush 8
            isub
            iload 8 /* padSize */
            isub
            istore 9 /* len */
        start local 9 // int len
        17: .line 1163
            aload 7 /* ptext */
            bipush 8
        18: .line 1164
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        19: .line 1163
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 1167
            aload 7 /* ptext */
            iconst_0
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
        21: .line 1168
            iconst_0
            bipush 8
        22: .line 1167
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 1169
            return
        end local 9 // int len
        end local 8 // int padSize
        end local 7 // byte[] ptext
        end local 6 // int pStart
        end local 5 // byte[] plaintext
        end local 4 // int cLen
        end local 3 // int cStart
        end local 2 // byte[] ciphertext
        end local 1 // sun.security.jgss.krb5.WrapToken token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   24     1       token  Lsun/security/jgss/krb5/WrapToken;
            0   24     2  ciphertext  [B
            0   24     3      cStart  I
            0   24     4        cLen  I
            0   24     5   plaintext  [B
            0   24     6      pStart  I
            3    4     7       ptext  [B
           10   24     7       ptext  [B
            5   10     8           e  Ljava/security/GeneralSecurityException;
            8   10     9          ge  Lorg/ietf/jgss/GSSException;
           11   24     8     padSize  I
           17   24     9         len  I
      Exception table:
        from    to  target  type
           0     3       4  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      ciphertext  
      cStart      
      cLen        
      plaintext   
      pStart      

  private byte[] des3KdEncrypt(byte[], byte[], int, int, byte[]);
    descriptor: ([B[BII[B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // byte[] confounder
        start local 2 // byte[] plaintext
        start local 3 // int start
        start local 4 // int len
        start local 5 // byte[] padding
         0: .line 1176
            aload 1 /* confounder */
            arraylength
            iload 4 /* len */
            iadd
            aload 5 /* padding */
            arraylength
            iadd
            newarray 8
            astore 6 /* all */
        start local 6 // byte[] all
         1: .line 1177
            aload 1 /* confounder */
            iconst_0
            aload 6 /* all */
            iconst_0
            aload 1 /* confounder */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1178
            aload 2 /* plaintext */
            iload 3 /* start */
            aload 6 /* all */
            aload 1 /* confounder */
            arraylength
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 1179
            aload 5 /* padding */
            iconst_0
            aload 6 /* all */
            aload 1 /* confounder */
            arraylength
            iload 4 /* len */
            iadd
         4: .line 1180
            aload 5 /* padding */
            arraylength
         5: .line 1179
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1186
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         7: .line 1187
            aload 6 /* all */
            iconst_0
            aload 6 /* all */
            arraylength
         8: .line 1186
            invokestatic sun.security.krb5.internal.crypto.Des3.encryptRaw:([BI[B[BII)[B
            astore 7 /* answer */
        start local 7 // byte[] answer
         9: .line 1190
            aload 7 /* answer */
        10: areturn
        end local 7 // byte[] answer
        11: .line 1191
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] int int byte[] byte[]
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        12: .line 1193
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        13: .line 1194
            new java.lang.StringBuilder
            dup
            ldc "Could not use DES3-KD Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 1193
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        15: .line 1195
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 1196
            aload 8 /* ge */
            athrow
        end local 8 // org.ietf.jgss.GSSException ge
        end local 7 // java.lang.Exception e
        end local 6 // byte[] all
        end local 5 // byte[] padding
        end local 4 // int len
        end local 3 // int start
        end local 2 // byte[] plaintext
        end local 1 // byte[] confounder
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   17     1  confounder  [B
            0   17     2   plaintext  [B
            0   17     3       start  I
            0   17     4         len  I
            0   17     5     padding  [B
            1   17     6         all  [B
            9   11     7      answer  [B
           12   17     7           e  Ljava/lang/Exception;
           15   17     8          ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           6    10      11  Class java.lang.Exception
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      confounder  
      plaintext   
      start       
      len         
      padding     

  private void arcFourDecrypt(sun.security.jgss.krb5.WrapToken, byte[], int, int, byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=7
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] ciphertext
        start local 3 // int cStart
        start local 4 // int cLen
        start local 5 // byte[] plaintext
        start local 6 // int pStart
         0: .line 1207
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual sun.security.jgss.krb5.WrapToken.getChecksum:()[B
         1: .line 1208
            aload 1 /* token */
            invokevirtual sun.security.jgss.krb5.WrapToken.getEncSeqNumber:()[B
            iconst_0
            bipush 8
         2: .line 1207
            invokevirtual sun.security.jgss.krb5.CipherHelper.decryptSeq:([B[BII)[B
            astore 7 /* seqNum */
        start local 7 // byte[] seqNum
         3: .line 1212
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         4: .line 1213
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
            aload 7 /* seqNum */
         5: .line 1212
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.decryptRaw:([BI[B[BII[B)[B
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         6: .line 1214
            goto 13
        end local 8 // byte[] ptext
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] int int byte[] int byte[]
      StackMap stack: java.security.GeneralSecurityException
         7: astore 9 /* e */
        start local 9 // java.security.GeneralSecurityException e
         8: .line 1215
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         9: .line 1216
            new java.lang.StringBuilder
            dup
            ldc "Could not use ArcFour Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 1215
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
        11: .line 1217
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        12: .line 1218
            aload 10 /* ge */
            athrow
        end local 10 // org.ietf.jgss.GSSException ge
        end local 9 // java.security.GeneralSecurityException e
        start local 8 // byte[] ptext
        13: .line 1233
      StackMap locals: byte[]
      StackMap stack:
            aload 8 /* ptext */
            aload 8 /* ptext */
            arraylength
            iconst_1
            isub
            baload
            istore 9 /* padSize */
        start local 9 // int padSize
        14: .line 1234
            iload 9 /* padSize */
            iconst_1
            if_icmpge 18
        15: .line 1235
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        16: .line 1236
            ldc "Invalid padding on Wrap Token"
        17: .line 1235
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        18: .line 1238
      StackMap locals: int
      StackMap stack:
            aload 1 /* token */
            getstatic sun.security.jgss.krb5.WrapToken.pads:[[B
            iload 9 /* padSize */
            aaload
            putfield sun.security.jgss.krb5.WrapToken.padding:[B
        19: .line 1239
            aload 8 /* ptext */
            arraylength
            bipush 8
            isub
            iload 9 /* padSize */
            isub
            istore 10 /* len */
        start local 10 // int len
        20: .line 1241
            aload 8 /* ptext */
            bipush 8
        21: .line 1242
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 10 /* len */
        22: .line 1241
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 1248
            aload 8 /* ptext */
            iconst_0
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
        24: .line 1249
            iconst_0
            bipush 8
        25: .line 1248
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 1250
            return
        end local 10 // int len
        end local 9 // int padSize
        end local 8 // byte[] ptext
        end local 7 // byte[] seqNum
        end local 6 // int pStart
        end local 5 // byte[] plaintext
        end local 4 // int cLen
        end local 3 // int cStart
        end local 2 // byte[] ciphertext
        end local 1 // sun.security.jgss.krb5.WrapToken token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   27     1       token  Lsun/security/jgss/krb5/WrapToken;
            0   27     2  ciphertext  [B
            0   27     3      cStart  I
            0   27     4        cLen  I
            0   27     5   plaintext  [B
            0   27     6      pStart  I
            3   27     7      seqNum  [B
            6    7     8       ptext  [B
           13   27     8       ptext  [B
            8   13     9           e  Ljava/security/GeneralSecurityException;
           11   13    10          ge  Lorg/ietf/jgss/GSSException;
           14   27     9     padSize  I
           20   27    10         len  I
      Exception table:
        from    to  target  type
           3     6       7  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      ciphertext  
      cStart      
      cLen        
      plaintext   
      pStart      

  private byte[] arcFourEncrypt(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[]);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=7
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] confounder
        start local 3 // byte[] plaintext
        start local 4 // int start
        start local 5 // int len
        start local 6 // byte[] padding
         0: .line 1257
            aload 2 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
            aload 6 /* padding */
            arraylength
            iadd
            newarray 8
            astore 7 /* all */
        start local 7 // byte[] all
         1: .line 1258
            aload 2 /* confounder */
            iconst_0
            aload 7 /* all */
            iconst_0
            aload 2 /* confounder */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1259
            aload 3 /* plaintext */
            iload 4 /* start */
            aload 7 /* all */
            aload 2 /* confounder */
            arraylength
            iload 5 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 1260
            aload 6 /* padding */
            iconst_0
            aload 7 /* all */
            aload 2 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1261
            aload 6 /* padding */
            arraylength
         5: .line 1260
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1266
            iconst_4
            newarray 8
            astore 8 /* seqNum */
        start local 8 // byte[] seqNum
         7: .line 1267
            aload 1 /* token */
            invokevirtual sun.security.jgss.krb5.WrapToken.getSequenceNumber:()I
            aload 8 /* seqNum */
            invokestatic sun.security.jgss.krb5.WrapToken.writeBigEndian:(I[B)V
         8: .line 1273
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
         9: .line 1274
            aload 8 /* seqNum */
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
        10: .line 1273
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.encryptRaw:([BI[B[BII)[B
            astore 9 /* answer */
        start local 9 // byte[] answer
        11: .line 1277
            aload 9 /* answer */
        12: areturn
        end local 9 // byte[] answer
        13: .line 1278
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken byte[] byte[] int int byte[] byte[] byte[]
      StackMap stack: java.lang.Exception
            astore 9 /* e */
        start local 9 // java.lang.Exception e
        14: .line 1280
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        15: .line 1281
            new java.lang.StringBuilder
            dup
            ldc "Could not use ArcFour Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 1280
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
        17: .line 1282
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        18: .line 1283
            aload 10 /* ge */
            athrow
        end local 10 // org.ietf.jgss.GSSException ge
        end local 9 // java.lang.Exception e
        end local 8 // byte[] seqNum
        end local 7 // byte[] all
        end local 6 // byte[] padding
        end local 5 // int len
        end local 4 // int start
        end local 3 // byte[] plaintext
        end local 2 // byte[] confounder
        end local 1 // sun.security.jgss.krb5.WrapToken token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   19     1       token  Lsun/security/jgss/krb5/WrapToken;
            0   19     2  confounder  [B
            0   19     3   plaintext  [B
            0   19     4       start  I
            0   19     5         len  I
            0   19     6     padding  [B
            1   19     7         all  [B
            7   19     8      seqNum  [B
           11   13     9      answer  [B
           14   19     9           e  Ljava/lang/Exception;
           17   19    10          ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           8    12      13  Class java.lang.Exception
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      confounder  
      plaintext   
      start       
      len         
      padding     

  private byte[] aes128Encrypt(byte[], byte[], byte[], int, int, int);
    descriptor: ([B[B[BIII)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=7
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // byte[] confounder
        start local 2 // byte[] tokenHeader
        start local 3 // byte[] plaintext
        start local 4 // int start
        start local 5 // int len
        start local 6 // int key_usage
         0: .line 1297
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
            aload 2 /* tokenHeader */
            arraylength
            iadd
            newarray 8
            astore 7 /* all */
        start local 7 // byte[] all
         1: .line 1298
            aload 1 /* confounder */
            iconst_0
            aload 7 /* all */
            iconst_0
            aload 1 /* confounder */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1299
            aload 3 /* plaintext */
            iload 4 /* start */
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 1300
            aload 2 /* tokenHeader */
            iconst_0
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1301
            aload 2 /* tokenHeader */
            arraylength
         5: .line 1300
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1305
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 6 /* key_usage */
         7: .line 1306
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
         8: .line 1307
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
         9: .line 1305
            invokestatic sun.security.krb5.internal.crypto.Aes128.encryptRaw:([BI[B[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        10: .line 1310
            aload 8 /* answer */
        11: areturn
        end local 8 // byte[] answer
        12: .line 1311
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int int byte[]
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        13: .line 1313
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        14: .line 1314
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES128 Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 1313
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        16: .line 1315
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        17: .line 1316
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.lang.Exception e
        end local 7 // byte[] all
        end local 6 // int key_usage
        end local 5 // int len
        end local 4 // int start
        end local 3 // byte[] plaintext
        end local 2 // byte[] tokenHeader
        end local 1 // byte[] confounder
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lsun/security/jgss/krb5/CipherHelper;
            0   18     1   confounder  [B
            0   18     2  tokenHeader  [B
            0   18     3    plaintext  [B
            0   18     4        start  I
            0   18     5          len  I
            0   18     6    key_usage  I
            1   18     7          all  [B
           10   12     8       answer  [B
           13   18     8            e  Ljava/lang/Exception;
           16   18     9           ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           6    11      12  Class java.lang.Exception
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
             Name  Flags
      confounder   
      tokenHeader  
      plaintext    
      start        
      len          
      key_usage    

  private void aes128Decrypt(sun.security.jgss.krb5.WrapToken_v2, byte[], int, int, byte[], int, int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=8
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        start local 2 // byte[] ciphertext
        start local 3 // int cStart
        start local 4 // int cLen
        start local 5 // byte[] plaintext
        start local 6 // int pStart
        start local 7 // int key_usage
         0: .line 1324
            aconst_null
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         1: .line 1327
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 7 /* key_usage */
         2: .line 1328
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         3: .line 1327
            invokestatic sun.security.krb5.internal.crypto.Aes128.decryptRaw:([BI[B[BII)[B
            astore 8 /* ptext */
         4: .line 1329
            goto 11
      StackMap locals: sun.security.jgss.krb5.CipherHelper sun.security.jgss.krb5.WrapToken_v2 byte[] int int byte[] int int byte[]
      StackMap stack: java.security.GeneralSecurityException
         5: astore 9 /* e */
        start local 9 // java.security.GeneralSecurityException e
         6: .line 1330
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         7: .line 1331
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES128 Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1330
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
         9: .line 1332
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        10: .line 1333
            aload 10 /* ge */
            athrow
        end local 10 // org.ietf.jgss.GSSException ge
        end local 9 // java.security.GeneralSecurityException e
        11: .line 1346
      StackMap locals:
      StackMap stack:
            aload 8 /* ptext */
            arraylength
            bipush 16
            isub
        12: .line 1347
            bipush 16
        13: .line 1346
            isub
            istore 9 /* len */
        start local 9 // int len
        14: .line 1348
            aload 8 /* ptext */
            bipush 16
        15: .line 1349
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        16: .line 1348
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 1355
            return
        end local 9 // int len
        end local 8 // byte[] ptext
        end local 7 // int key_usage
        end local 6 // int pStart
        end local 5 // byte[] plaintext
        end local 4 // int cLen
        end local 3 // int cStart
        end local 2 // byte[] ciphertext
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   18     1       token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   18     2  ciphertext  [B
            0   18     3      cStart  I
            0   18     4        cLen  I
            0   18     5   plaintext  [B
            0   18     6      pStart  I
            0   18     7   key_usage  I
            1   18     8       ptext  [B
            6   11     9           e  Ljava/security/GeneralSecurityException;
            9   11    10          ge  Lorg/ietf/jgss/GSSException;
           14   18     9         len  I
      Exception table:
        from    to  target  type
           1     4       5  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      ciphertext  
      cStart      
      cLen        
      plaintext   
      pStart      
      key_usage   

  private byte[] aes256Encrypt(byte[], byte[], byte[], int, int, int);
    descriptor: ([B[B[BIII)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=7
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // byte[] confounder
        start local 2 // byte[] tokenHeader
        start local 3 // byte[] plaintext
        start local 4 // int start
        start local 5 // int len
        start local 6 // int key_usage
         0: .line 1366
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
            aload 2 /* tokenHeader */
            arraylength
            iadd
            newarray 8
            astore 7 /* all */
        start local 7 // byte[] all
         1: .line 1367
            aload 1 /* confounder */
            iconst_0
            aload 7 /* all */
            iconst_0
            aload 1 /* confounder */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1368
            aload 3 /* plaintext */
            iload 4 /* start */
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 1369
            aload 2 /* tokenHeader */
            iconst_0
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1370
            aload 2 /* tokenHeader */
            arraylength
         5: .line 1369
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1375
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 6 /* key_usage */
         7: .line 1376
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
         8: .line 1375
            invokestatic sun.security.krb5.internal.crypto.Aes256.encryptRaw:([BI[B[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
         9: .line 1379
            aload 8 /* answer */
        10: areturn
        end local 8 // byte[] answer
        11: .line 1380
      StackMap locals: sun.security.jgss.krb5.CipherHelper byte[] byte[] byte[] int int int byte[]
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        12: .line 1382
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        13: .line 1383
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES256 Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 1382
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        15: .line 1384
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 1385
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.lang.Exception e
        end local 7 // byte[] all
        end local 6 // int key_usage
        end local 5 // int len
        end local 4 // int start
        end local 3 // byte[] plaintext
        end local 2 // byte[] tokenHeader
        end local 1 // byte[] confounder
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lsun/security/jgss/krb5/CipherHelper;
            0   17     1   confounder  [B
            0   17     2  tokenHeader  [B
            0   17     3    plaintext  [B
            0   17     4        start  I
            0   17     5          len  I
            0   17     6    key_usage  I
            1   17     7          all  [B
            9   11     8       answer  [B
           12   17     8            e  Ljava/lang/Exception;
           15   17     9           ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           6    10      11  Class java.lang.Exception
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
             Name  Flags
      confounder   
      tokenHeader  
      plaintext    
      start        
      len          
      key_usage    

  private void aes256Decrypt(sun.security.jgss.krb5.WrapToken_v2, byte[], int, int, byte[], int, int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=8
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        start local 2 // byte[] ciphertext
        start local 3 // int cStart
        start local 4 // int cLen
        start local 5 // byte[] plaintext
        start local 6 // int pStart
        start local 7 // int key_usage
         0: .line 1395
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 7 /* key_usage */
         1: .line 1396
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 1395
            invokestatic sun.security.krb5.internal.crypto.Aes256.decryptRaw:([BI[B[BII)[B
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         3: .line 1397
            goto 10
        end local 8 // byte[] ptext
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
         4: astore 9 /* e */
        start local 9 // java.security.GeneralSecurityException e
         5: .line 1398
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 1399
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES128 Cipher - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1398
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
         8: .line 1400
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 1401
            aload 10 /* ge */
            athrow
        end local 10 // org.ietf.jgss.GSSException ge
        end local 9 // java.security.GeneralSecurityException e
        start local 8 // byte[] ptext
        10: .line 1414
      StackMap locals: byte[]
      StackMap stack:
            aload 8 /* ptext */
            arraylength
            bipush 16
            isub
        11: .line 1415
            bipush 16
        12: .line 1414
            isub
            istore 9 /* len */
        start local 9 // int len
        13: .line 1416
            aload 8 /* ptext */
            bipush 16
        14: .line 1417
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        15: .line 1416
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 1424
            return
        end local 9 // int len
        end local 8 // byte[] ptext
        end local 7 // int key_usage
        end local 6 // int pStart
        end local 5 // byte[] plaintext
        end local 4 // int cLen
        end local 3 // int cStart
        end local 2 // byte[] ciphertext
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   17     1       token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   17     2  ciphertext  [B
            0   17     3      cStart  I
            0   17     4        cLen  I
            0   17     5   plaintext  [B
            0   17     6      pStart  I
            0   17     7   key_usage  I
            3    4     8       ptext  [B
           10   17     8       ptext  [B
            5   10     9           e  Ljava/security/GeneralSecurityException;
            8   10    10          ge  Lorg/ietf/jgss/GSSException;
           13   17     9         len  I
      Exception table:
        from    to  target  type
           0     3       4  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      ciphertext  
      cStart      
      cLen        
      plaintext   
      pStart      
      key_usage   
}
SourceFile: "CipherHelper.java"
NestMembers:
  sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream
InnerClasses:
  WrapTokenInputStream = sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream of sun.security.jgss.krb5.CipherHelper