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 70
            getstatic sun.security.jgss.krb5.Krb5Util.DEBUG:Z
            putstatic sun.security.jgss.krb5.CipherHelper.DEBUG:Z
         1: .line 76
            bipush 8
            newarray 8
            putstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         2: .line 77
            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 83
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
            putfield sun.security.jgss.krb5.CipherHelper.etype:I
         2: .line 85
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.krb5.EncryptionKey.getBytes:()[B
            putfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
         3: .line 87
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            lookupswitch { // 8
                    1: 4
                    3: 4
                   16: 7
                   17: 13
                   18: 13
                   19: 13
                   20: 13
                   23: 10
              default: 16
          }
         4: .line 90
      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 91
            aload 0 /* this */
            iconst_0
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
         6: .line 92
            goto 19
         7: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 1024
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
         8: .line 96
            aload 0 /* this */
            sipush 512
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
         9: .line 97
            goto 19
        10: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 4352
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
        11: .line 101
            aload 0 /* this */
            sipush 4096
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
        12: .line 102
            goto 19
        13: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
        14: .line 109
            aload 0 /* this */
            iconst_m1
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
        15: .line 110
            goto 19
        16: .line 113
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        17: .line 114
            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 113
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        19: .line 116
      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 119
            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 123
            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 129
            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 133
            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 137
            iconst_0
            istore 1 /* flag */
        start local 1 // boolean flag
         1: .line 138
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            bipush 23
            if_icmpne 3
         2: .line 139
            iconst_1
            istore 1 /* flag */
         3: .line 141
      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 148
            iload 1 /* alg */
            lookupswitch { // 4
                    0: 1
                  512: 18
                 1024: 19
                 4352: 53
              default: 92
          }
         1: .line 155
      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 161
            aload 8 /* md5 */
            aload 2 /* header */
            invokevirtual java.security.MessageDigest.update:([B)V
         3: .line 164
            aload 8 /* md5 */
            aload 4 /* data */
            iload 5 /* start */
            iload 6 /* len */
            invokevirtual java.security.MessageDigest.update:([BII)V
         4: .line 166
            aload 3 /* trailer */
            ifnull 6
         5: .line 170
            aload 8 /* md5 */
            aload 3 /* trailer */
            invokevirtual java.security.MessageDigest.update:([B)V
         6: .line 174
      StackMap locals: java.security.MessageDigest
      StackMap stack:
            aload 8 /* md5 */
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 4 /* data */
         7: .line 175
            iconst_0
            istore 5 /* start */
         8: .line 176
            aload 4 /* data */
            arraylength
            istore 6 /* len */
         9: .line 179
            aconst_null
            astore 2 /* header */
        10: .line 180
            aconst_null
            astore 3 /* trailer */
        end local 8 // java.security.MessageDigest md5
        11: .line 181
            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 182
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        14: .line 183
            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 182
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        16: .line 184
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        17: .line 185
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.NoSuchAlgorithmException e
        18: .line 190
      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 195
      StackMap locals:
      StackMap stack:
            aload 2 /* header */
            ifnonnull 24
            aload 3 /* trailer */
            ifnonnull 24
        20: .line 196
            aload 4 /* data */
            astore 8 /* buf */
        start local 8 // byte[] buf
        21: .line 197
            iload 6 /* len */
            istore 10 /* total */
        start local 10 // int total
        22: .line 198
            iload 5 /* start */
            istore 9 /* offset */
        start local 9 // int offset
        23: .line 199
            goto 40
        end local 10 // int total
        end local 9 // int offset
        end local 8 // byte[] buf
        24: .line 200
      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 201
            aload 3 /* trailer */
            ifnull 28
            aload 3 /* trailer */
            arraylength
            goto 29
      StackMap locals:
      StackMap stack: int
        28: iconst_0
        29: .line 200
      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 203
            iload 10 /* total */
            newarray 8
            astore 8 /* buf */
        start local 8 // byte[] buf
        31: .line 204
            iconst_0
            istore 11 /* pos */
        start local 11 // int pos
        32: .line 205
            aload 2 /* header */
            ifnull 35
        33: .line 206
            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 207
            aload 2 /* header */
            arraylength
            istore 11 /* pos */
        35: .line 209
      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 210
            iload 11 /* pos */
            iload 6 /* len */
            iadd
            istore 11 /* pos */
        37: .line 211
            aload 3 /* trailer */
            ifnull 39
        38: .line 212
            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 215
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* offset */
        end local 11 // int pos
        start local 9 // int offset
        40: .line 233
      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 234
            bipush 23
            aload 8 /* buf */
            iload 9 /* offset */
            iload 10 /* total */
        42: .line 233
            invokestatic sun.security.krb5.internal.crypto.Des3.calculateChecksum:([BI[BII)[B
            astore 11 /* answer */
        start local 11 // byte[] answer
        43: .line 237
            aload 11 /* answer */
        44: areturn
        end local 11 // byte[] answer
        45: .line 238
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 11 /* e */
        start local 11 // java.security.GeneralSecurityException e
        46: .line 239
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        47: .line 240
            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 241
            aload 11 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        49: .line 240
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 239
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 12 /* ge */
        start local 12 // org.ietf.jgss.GSSException ge
        51: .line 242
            aload 12 /* ge */
            aload 11 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        52: .line 243
            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 249
      StackMap locals:
      StackMap stack:
            aload 2 /* header */
            ifnonnull 58
            aload 3 /* trailer */
            ifnonnull 58
        54: .line 250
            aload 4 /* data */
            astore 11 /* buffer */
        start local 11 // byte[] buffer
        55: .line 251
            iload 6 /* len */
            istore 13 /* tot */
        start local 13 // int tot
        56: .line 252
            iload 5 /* start */
            istore 12 /* off */
        start local 12 // int off
        57: .line 253
            goto 74
        end local 13 // int tot
        end local 12 // int off
        end local 11 // byte[] buffer
        58: .line 254
      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 255
            aload 3 /* trailer */
            ifnull 62
            aload 3 /* trailer */
            arraylength
            goto 63
      StackMap locals:
      StackMap stack: int
        62: iconst_0
        63: .line 254
      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 257
            iload 13 /* tot */
            newarray 8
            astore 11 /* buffer */
        start local 11 // byte[] buffer
        65: .line 258
            iconst_0
            istore 14 /* pos */
        start local 14 // int pos
        66: .line 260
            aload 2 /* header */
            ifnull 69
        67: .line 261
            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 262
            aload 2 /* header */
            arraylength
            istore 14 /* pos */
        69: .line 264
      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 265
            iload 14 /* pos */
            iload 6 /* len */
            iadd
            istore 14 /* pos */
        71: .line 266
            aload 3 /* trailer */
            ifnull 73
        72: .line 267
            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 270
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* off */
        end local 14 // int pos
        start local 12 // int off
        74: .line 292
      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 293
            iload 7 /* tokenId */
            sipush 257
            if_icmpne 77
        76: .line 294
            bipush 15
            istore 14 /* key_usage */
        77: .line 296
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
        78: .line 297
            iload 14 /* key_usage */
            aload 11 /* buffer */
            iload 12 /* off */
            iload 13 /* tot */
        79: .line 296
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.calculateChecksum:([BI[BII)[B
            astore 15 /* answer */
        start local 15 // byte[] answer
        80: .line 302
            aload 0 /* this */
            invokevirtual sun.security.jgss.krb5.CipherHelper.getChecksumLength:()I
            newarray 8
            astore 16 /* output */
        start local 16 // byte[] output
        81: .line 303
            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 306
            aload 16 /* output */
        83: areturn
        end local 16 // byte[] output
        end local 15 // byte[] answer
        end local 14 // int key_usage
        84: .line 307
      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 308
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        86: .line 309
            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 310
            aload 14 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        88: .line 309
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        89: .line 308
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 15 /* ge */
        start local 15 // org.ietf.jgss.GSSException ge
        90: .line 311
            aload 15 /* ge */
            aload 14 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        91: .line 312
            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 316
      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 317
            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 316
            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 326
            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 329
            iload 6 /* total */
            newarray 8
            astore 7 /* buf */
        start local 7 // byte[] buf
         4: .line 332
            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 335
            aload 1 /* header */
            ifnull 7
         6: .line 336
            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 341
      StackMap locals: int byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 20
                   17: 8
                   18: 21
                   19: 34
                   20: 47
              default: 60
          }
         8: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 5 /* key_usage */
         9: .line 345
            aload 7 /* buf */
            iconst_0
            iload 6 /* total */
        10: .line 344
            invokestatic sun.security.krb5.internal.crypto.Aes128.calculateChecksum:([BI[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        11: .line 348
            aload 8 /* answer */
        12: areturn
        end local 8 // byte[] answer
        13: .line 349
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        14: .line 350
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        15: .line 351
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES128 signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 352
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 351
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 350
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        19: .line 353
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        20: .line 354
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        21: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 5 /* key_usage */
        22: .line 360
            aload 7 /* buf */
            iconst_0
            iload 6 /* total */
        23: .line 359
            invokestatic sun.security.krb5.internal.crypto.Aes256.calculateChecksum:([BI[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        24: .line 363
            aload 8 /* answer */
        25: areturn
        end local 8 // byte[] answer
        26: .line 364
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        27: .line 365
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        28: .line 366
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES256 signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 367
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 366
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 365
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        32: .line 368
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        33: .line 369
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        34: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 5 /* key_usage */
        35: .line 375
            aload 7 /* buf */
            iconst_0
            iload 6 /* total */
        36: .line 374
            invokestatic sun.security.krb5.internal.crypto.Aes128Sha2.calculateChecksum:([BI[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        37: .line 376
            aload 8 /* answer */
        38: areturn
        end local 8 // byte[] answer
        39: .line 377
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        40: .line 378
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        41: .line 379
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES128 signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        42: .line 380
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        43: .line 379
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 378
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        45: .line 381
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        46: .line 382
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        47: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 5 /* key_usage */
        48: .line 388
            aload 7 /* buf */
            iconst_0
            iload 6 /* total */
        49: .line 387
            invokestatic sun.security.krb5.internal.crypto.Aes256Sha2.calculateChecksum:([BI[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        50: .line 389
            aload 8 /* answer */
        51: areturn
        end local 8 // byte[] answer
        52: .line 390
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        53: .line 391
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        54: .line 392
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES256 signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        55: .line 393
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        56: .line 392
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        57: .line 391
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        58: .line 394
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        59: .line 395
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        60: .line 400
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        61: .line 401
            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;
        62: .line 400
            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   63     0       this  Lsun/security/jgss/krb5/CipherHelper;
            0   63     1     header  [B
            0   63     2       data  [B
            0   63     3      start  I
            0   63     4        len  I
            0   63     5  key_usage  I
            3   63     6      total  I
            4   63     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;
           37   39     8     answer  [B
           40   47     8          e  Ljava/security/GeneralSecurityException;
           45   47     9         ge  Lorg/ietf/jgss/GSSException;
           50   52     8     answer  [B
           53   60     8          e  Ljava/security/GeneralSecurityException;
           58   60     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
          34    38      39  Class java.security.GeneralSecurityException
          47    51      52  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 408
            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 412
      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 413
            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 415
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 5 /* e */
        start local 5 // java.security.GeneralSecurityException e
         5: .line 416
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 417
            new java.lang.StringBuilder
            dup
            ldc "Could not encrypt sequence number using DES - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 418
            aload 5 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 417
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 416
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 6 /* ge */
        start local 6 // org.ietf.jgss.GSSException ge
        10: .line 419
            aload 6 /* ge */
            aload 5 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        11: .line 420
            aload 6 /* ge */
            athrow
        end local 6 // org.ietf.jgss.GSSException ge
        end local 5 // java.security.GeneralSecurityException e
        12: .line 425
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 15
        13: .line 426
            aload 1 /* ivec */
            astore 5 /* iv */
        start local 5 // byte[] iv
        14: .line 427
            goto 17
        end local 5 // byte[] iv
        15: .line 428
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 5 /* iv */
        start local 5 // byte[] iv
        16: .line 429
            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 432
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 24
            aload 5 /* iv */
        18: .line 433
            aload 2 /* plaintext */
            iload 3 /* start */
            iload 4 /* len */
        19: .line 432
            invokestatic sun.security.krb5.internal.crypto.Des3.encryptRaw:([BI[B[BII)[B
        20: areturn
        21: .line 434
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        22: .line 436
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        23: .line 437
            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 438
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 437
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 436
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 7 /* ge */
        start local 7 // org.ietf.jgss.GSSException ge
        27: .line 439
            aload 7 /* ge */
            aload 6 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        28: .line 440
            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 446
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 32
        30: .line 447
            aload 1 /* ivec */
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        31: .line 448
            goto 34
        end local 6 // byte[] checksum
        32: .line 449
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        33: .line 450
            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 454
      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 455
            aload 2 /* plaintext */
            iload 3 /* start */
            iload 4 /* len */
        36: .line 454
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.encryptSeq:([BI[B[BII)[B
        37: areturn
        38: .line 456
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        39: .line 458
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        40: .line 459
            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 460
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 459
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 458
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        44: .line 461
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        45: .line 462
            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 466
      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 467
            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 466
            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 474
            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 478
      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 479
            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 480
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 5 /* e */
        start local 5 // java.security.GeneralSecurityException e
         5: .line 481
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 482
            new java.lang.StringBuilder
            dup
            ldc "Could not decrypt sequence number using DES - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 483
            aload 5 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 482
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 481
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 6 /* ge */
        start local 6 // org.ietf.jgss.GSSException ge
        10: .line 484
            aload 6 /* ge */
            aload 5 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        11: .line 485
            aload 6 /* ge */
            athrow
        end local 6 // org.ietf.jgss.GSSException ge
        end local 5 // java.security.GeneralSecurityException e
        12: .line 490
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 15
        13: .line 491
            aload 1 /* ivec */
            astore 5 /* iv */
        start local 5 // byte[] iv
        14: .line 492
            goto 17
        end local 5 // byte[] iv
        15: .line 493
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 5 /* iv */
        start local 5 // byte[] iv
        16: .line 494
            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 498
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 24
            aload 5 /* iv */
        18: .line 499
            aload 2 /* ciphertext */
            iload 3 /* start */
            iload 4 /* len */
        19: .line 498
            invokestatic sun.security.krb5.internal.crypto.Des3.decryptRaw:([BI[B[BII)[B
        20: areturn
        21: .line 500
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        22: .line 502
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        23: .line 503
            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 504
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 503
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 502
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 7 /* ge */
        start local 7 // org.ietf.jgss.GSSException ge
        27: .line 505
            aload 7 /* ge */
            aload 6 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        28: .line 506
            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 512
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 32
        30: .line 513
            aload 1 /* ivec */
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        31: .line 514
            goto 34
        end local 6 // byte[] checksum
        32: .line 515
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        33: .line 516
            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 520
      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 521
            aload 2 /* ciphertext */
            iload 3 /* start */
            iload 4 /* len */
        36: .line 520
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.decryptSeq:([BI[B[BII)[B
        37: areturn
        38: .line 522
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        39: .line 524
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        40: .line 525
            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 526
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 525
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 524
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        44: .line 527
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        45: .line 528
            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 532
      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 533
            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 532
            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 538
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            lookupswitch { // 8
                    1: 1
                    3: 1
                   16: 2
                   17: 3
                   18: 4
                   19: 5
                   20: 6
                   23: 7
              default: 8
          }
         1: .line 541
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         2: .line 544
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Des3.getChecksumLength:()I
            ireturn
         3: .line 547
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Aes128.getChecksumLength:()I
            ireturn
         4: .line 549
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Aes256.getChecksumLength:()I
            ireturn
         5: .line 552
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Aes128Sha2.getChecksumLength:()I
            ireturn
         6: .line 554
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Aes256Sha2.getChecksumLength:()I
            ireturn
         7: .line 558
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         8: .line 561
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         9: .line 562
            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;
        10: .line 561
            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   11     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 574
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 5
                 4096: 7
              default: 9
          }
         1: .line 576
      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 577
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
            aload 5 /* plaintext */
            iload 6 /* pStart */
         3: .line 576
            invokevirtual sun.security.jgss.krb5.CipherHelper.desCbcDecrypt:(Lsun/security/jgss/krb5/WrapToken;[B[BII[BI)V
         4: .line 578
            goto 12
         5: .line 581
      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 582
            goto 12
         7: .line 585
      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 586
            goto 12
         9: .line 589
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        10: .line 590
            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 589
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        12: .line 592
      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 604
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 20
                   17: 1
                   18: 5
                   19: 9
                   20: 13
              default: 17
          }
         1: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 607
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 7 /* key_usage */
         3: .line 606
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
         4: .line 608
            goto 20
         5: .line 610
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         6: .line 611
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 7 /* key_usage */
         7: .line 610
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
         8: .line 612
            goto 20
         9: .line 614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
        10: .line 615
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 7 /* key_usage */
        11: .line 614
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Sha2Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        12: .line 616
            goto 20
        13: .line 618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
        14: .line 619
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 7 /* key_usage */
        15: .line 618
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Sha2Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        16: .line 620
            goto 20
        17: .line 622
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        18: .line 623
            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;
        19: .line 622
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        20: .line 625
      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   21     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   21     1       token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   21     2  ciphertext  [B
            0   21     3      cStart  I
            0   21     4        cLen  I
            0   21     5   plaintext  [B
            0   21     6      pStart  I
            0   21     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 631
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 5
                 4096: 17
              default: 29
          }
         1: .line 633
      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 634
            aload 2 /* cipherStream */
            iload 3 /* cLen */
            aload 4 /* plaintext */
            iload 5 /* pStart */
         3: .line 633
            invokevirtual sun.security.jgss.krb5.CipherHelper.desCbcDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BLjava/io/InputStream;I[BI)V
         4: .line 635
            goto 32
         5: .line 640
      StackMap locals:
      StackMap stack:
            iload 3 /* cLen */
            newarray 8
            astore 6 /* ciphertext */
        start local 6 // byte[] ciphertext
         6: .line 642
            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 643
            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 644
            new org.ietf.jgss.GSSException
            dup
        10: .line 645
            bipush 10
            iconst_m1
        11: .line 646
            ldc "Cannot read complete token"
        12: .line 644
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        13: .line 647
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        14: .line 648
            aload 8 /* ge */
            athrow
        end local 8 // org.ietf.jgss.GSSException ge
        end local 7 // java.io.IOException e
        15: .line 651
      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 652
            goto 32
        end local 6 // byte[] ciphertext
        17: .line 657
      StackMap locals:
      StackMap stack:
            iload 3 /* cLen */
            newarray 8
            astore 7 /* ctext */
        start local 7 // byte[] ctext
        18: .line 659
            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 660
            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 661
            new org.ietf.jgss.GSSException
            dup
        22: .line 662
            bipush 10
            iconst_m1
        23: .line 663
            ldc "Cannot read complete token"
        24: .line 661
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        25: .line 664
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        26: .line 665
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.io.IOException e
        27: .line 668
      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 669
            goto 32
        end local 7 // byte[] ctext
        29: .line 672
      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 673
            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 672
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        32: .line 675
      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 682
            iload 3 /* cLen */
            newarray 8
            astore 7 /* ciphertext */
        start local 7 // byte[] ciphertext
         1: .line 684
            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 685
            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 686
            new org.ietf.jgss.GSSException
            dup
         5: .line 687
            bipush 10
            iconst_m1
         6: .line 688
            ldc "Cannot read complete token"
         7: .line 686
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
         8: .line 689
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 690
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.io.IOException e
        10: .line 692
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 20
                   17: 11
                   18: 15
                   19: 19
                   20: 23
              default: 27
          }
        11: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 7 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
        12: .line 695
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* key_usage */
        13: .line 694
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        14: .line 696
            goto 30
        15: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 7 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
        16: .line 699
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* key_usage */
        17: .line 698
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        18: .line 700
            goto 30
        19: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 7 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
        20: .line 703
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* key_usage */
        21: .line 702
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Sha2Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        22: .line 704
            goto 30
        23: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 7 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
        24: .line 707
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* key_usage */
        25: .line 706
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Sha2Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        26: .line 708
            goto 30
        27: .line 710
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        28: .line 711
            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;
        29: .line 710
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        30: .line 713
      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   31     0          this  Lsun/security/jgss/krb5/CipherHelper;
            0   31     1         token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   31     2  cipherStream  Ljava/io/InputStream;
            0   31     3          cLen  I
            0   31     4     plaintext  [B
            0   31     5        pStart  I
            0   31     6     key_usage  I
            1   31     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 719
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 9
                 4096: 14
              default: 19
          }
         1: .line 722
      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 723
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         3: .line 722
            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 724
            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 726
            aload 9 /* cos */
            aload 2 /* confounder */
            invokevirtual javax.crypto.CipherOutputStream.write:([B)V
         6: .line 728
            aload 9 /* cos */
            aload 3 /* plaintext */
            iload 4 /* start */
            iload 5 /* len */
            invokevirtual javax.crypto.CipherOutputStream.write:([BII)V
         7: .line 730
            aload 9 /* cos */
            aload 6 /* padding */
            invokevirtual javax.crypto.CipherOutputStream.write:([B)V
         8: .line 731
            goto 22
        end local 9 // javax.crypto.CipherOutputStream cos
        end local 8 // javax.crypto.Cipher des
         9: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* plaintext */
            iload 4 /* start */
            iload 5 /* len */
        10: .line 735
            aload 6 /* padding */
        11: .line 734
            invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdEncrypt:([B[BII[B)[B
            astore 10 /* ctext */
        start local 10 // byte[] ctext
        12: .line 738
            aload 7 /* os */
            aload 10 /* ctext */
            invokevirtual java.io.OutputStream.write:([B)V
        13: .line 739
            goto 22
        end local 10 // byte[] ctext
        14: .line 742
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* confounder */
            aload 3 /* plaintext */
        15: .line 743
            iload 4 /* start */
            iload 5 /* len */
            aload 6 /* padding */
        16: .line 742
            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 746
            aload 7 /* os */
            aload 11 /* ciphertext */
            invokevirtual java.io.OutputStream.write:([B)V
        18: .line 747
            goto 22
        end local 11 // byte[] ciphertext
        19: .line 750
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        20: .line 751
            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 750
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        22: .line 753
      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 768
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 20
                   17: 1
                   18: 4
                   19: 7
                   20: 10
              default: 13
          }
         1: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         2: .line 771
            aload 4 /* plaintext */
            iload 5 /* start */
            iload 6 /* len */
            iload 7 /* key_usage */
         3: .line 770
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Encrypt:([B[B[BIII)[B
            areturn
         4: .line 773
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         5: .line 774
            aload 4 /* plaintext */
            iload 5 /* start */
            iload 6 /* len */
            iload 7 /* key_usage */
         6: .line 773
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Encrypt:([B[B[BIII)[B
            areturn
         7: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         8: .line 777
            aload 4 /* plaintext */
            iload 5 /* start */
            iload 6 /* len */
            iload 7 /* key_usage */
         9: .line 776
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Sha2Encrypt:([B[B[BIII)[B
            areturn
        10: .line 779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
        11: .line 780
            aload 4 /* plaintext */
            iload 5 /* start */
            iload 6 /* len */
            iload 7 /* key_usage */
        12: .line 779
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Sha2Encrypt:([B[B[BIII)[B
            areturn
        13: .line 782
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        14: .line 783
            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;
        15: .line 782
            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   16     0         this  Lsun/security/jgss/krb5/CipherHelper;
            0   16     1        token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   16     2   confounder  [B
            0   16     3  tokenHeader  [B
            0   16     4    plaintext  [B
            0   16     5        start  I
            0   16     6          len  I
            0   16     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 791
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 22
                 4096: 27
              default: 32
          }
         1: .line 793
      StackMap locals:
      StackMap stack:
            iload 8 /* cStart */
            istore 9 /* pos */
        start local 9 // int pos
         2: .line 795
            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 796
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         4: .line 795
            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 799
            iload 9 /* pos */
            aload 10 /* des */
            aload 2 /* confounder */
            iconst_0
            aload 2 /* confounder */
            arraylength
         6: .line 800
            aload 7 /* ciphertext */
            iload 9 /* pos */
         7: .line 799
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            iadd
            istore 9 /* pos */
         8: .line 802
            iload 9 /* pos */
            aload 10 /* des */
            aload 3 /* plaintext */
            iload 4 /* pStart */
            iload 5 /* pLen */
         9: .line 803
            aload 7 /* ciphertext */
            iload 9 /* pos */
        10: .line 802
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            iadd
            istore 9 /* pos */
        11: .line 805
            aload 10 /* des */
            aload 6 /* padding */
            iconst_0
            aload 6 /* padding */
            arraylength
        12: .line 806
            aload 7 /* ciphertext */
            iload 9 /* pos */
        13: .line 805
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        14: .line 807
            aload 10 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        15: .line 808
            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 809
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        18: .line 810
            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 809
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 12 /* ge */
        start local 12 // org.ietf.jgss.GSSException ge
        20: .line 811
            aload 12 /* ge */
            aload 11 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        21: .line 812
            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 817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* plaintext */
            iload 4 /* pStart */
            iload 5 /* pLen */
        23: .line 818
            aload 6 /* padding */
        24: .line 817
            invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdEncrypt:([B[BII[B)[B
            astore 11 /* ctext */
        start local 11 // byte[] ctext
        25: .line 819
            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 820
            goto 35
        end local 11 // byte[] ctext
        27: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* confounder */
            aload 3 /* plaintext */
            iload 4 /* pStart */
        28: .line 824
            iload 5 /* pLen */
            aload 6 /* padding */
        29: .line 823
            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 825
            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 826
            goto 35
        end local 12 // byte[] ctext2
        32: .line 829
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        33: .line 830
            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 829
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        35: .line 832
      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 847
            aconst_null
            astore 10 /* ctext */
        start local 10 // byte[] ctext
         1: .line 848
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 20
                   17: 2
                   18: 6
                   19: 10
                   20: 14
              default: 18
          }
         2: .line 850
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         3: .line 851
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* pLen */
            iload 9 /* key_usage */
         4: .line 850
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Encrypt:([B[B[BIII)[B
            astore 10 /* ctext */
         5: .line 852
            goto 21
         6: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         7: .line 855
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* pLen */
            iload 9 /* key_usage */
         8: .line 854
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Encrypt:([B[B[BIII)[B
            astore 10 /* ctext */
         9: .line 856
            goto 21
        10: .line 858
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
        11: .line 859
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* pLen */
            iload 9 /* key_usage */
        12: .line 858
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Sha2Encrypt:([B[B[BIII)[B
            astore 10 /* ctext */
        13: .line 860
            goto 21
        14: .line 862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
        15: .line 863
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* pLen */
            iload 9 /* key_usage */
        16: .line 862
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Sha2Encrypt:([B[B[BIII)[B
            astore 10 /* ctext */
        17: .line 864
            goto 21
        18: .line 866
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        19: .line 867
            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;
        20: .line 866
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        21: .line 869
      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
        22: .line 870
            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   23     0         this  Lsun/security/jgss/krb5/CipherHelper;
            0   23     1        token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   23     2   confounder  [B
            0   23     3  tokenHeader  [B
            0   23     4    plaintext  [B
            0   23     5       pStart  I
            0   23     6         pLen  I
            0   23     7   ciphertext  [B
            0   23     8       cStart  I
            0   23     9    key_usage  I
            1   23    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 894
            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 896
            aload 6 /* des */
            invokevirtual javax.crypto.Cipher.getBlockSize:()I
            istore 7 /* blockSize */
        start local 7 // int blockSize
         2: .line 904
            iload 7 /* blockSize */
            newarray 8
            astore 8 /* finalBlock */
        start local 8 // byte[] finalBlock
         3: .line 906
            iload 5 /* len */
            iload 7 /* blockSize */
            idiv
            istore 9 /* numBlocks */
        start local 9 // int numBlocks
         4: .line 907
            iload 5 /* len */
            iload 7 /* blockSize */
            irem
            istore 10 /* lastBytes */
        start local 10 // int lastBytes
         5: .line 908
            iload 10 /* lastBytes */
            ifne 11
         6: .line 910
            iinc 9 /* numBlocks */ -1
         7: .line 911
            aload 3 /* data */
            iload 4 /* offset */
            iload 9 /* numBlocks */
            iload 7 /* blockSize */
            imul
            iadd
         8: .line 912
            aload 8 /* finalBlock */
            iconst_0
            iload 7 /* blockSize */
         9: .line 911
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 913
            goto 14
        11: .line 914
      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 915
            aload 8 /* finalBlock */
            iconst_0
            iload 10 /* lastBytes */
        13: .line 914
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 920
      StackMap locals:
      StackMap stack:
            iload 7 /* blockSize */
        15: .line 921
            aload 2 /* header */
            ifnonnull 16
            iload 7 /* blockSize */
            goto 17
      StackMap locals:
      StackMap stack: int
        16: aload 2 /* header */
            arraylength
        17: .line 920
      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 923
            aload 2 /* header */
            ifnull 20
        19: .line 925
            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 929
      StackMap locals: byte[]
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        21: goto 27
        22: .line 930
      StackMap locals: int
      StackMap stack:
            aload 6 /* des */
            aload 3 /* data */
            iload 4 /* offset */
            iload 7 /* blockSize */
        23: .line 931
            aload 11 /* temp */
            iconst_0
        24: .line 930
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        25: .line 932
            iload 4 /* offset */
            iload 7 /* blockSize */
            iadd
            istore 4 /* offset */
        26: .line 929
            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 936
            iload 7 /* blockSize */
            newarray 8
            astore 12 /* retVal */
        start local 12 // byte[] retVal
        29: .line 937
            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 938
            aload 6 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        31: .line 940
            aload 12 /* retVal */
        32: areturn
        end local 12 // byte[] retVal
        end local 11 // byte[] temp
        33: .line 941
      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 942
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        35: .line 943
            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 942
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 12 /* ge */
        start local 12 // org.ietf.jgss.GSSException ge
        37: .line 944
            aload 12 /* ge */
            aload 11 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        38: .line 945
            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 963
            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 964
            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 966
            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 967
            aload 6 /* desCipher */
         4: .line 968
            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 969
      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 967
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
         8: .line 970
            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 971
      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 972
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        12: .line 973
            aload 4 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
        13: .line 972
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 5 /* ge */
        start local 5 // org.ietf.jgss.GSSException ge
        14: .line 974
            aload 5 /* ge */
            aload 4 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        15: .line 975
            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 1003
            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 1009
            aload 8 /* des */
            aload 3 /* cipherText */
            iload 4 /* offset */
            bipush 8
         2: .line 1010
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
         3: .line 1009
            invokevirtual javax.crypto.Cipher.update:([BII[B)I
            pop
         4: .line 1015
            iinc 4 /* offset */ 8
         5: .line 1016
            iinc 5 /* len */ -8
         6: .line 1025
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.getBlockSize:()I
            istore 9 /* blockSize */
        start local 9 // int blockSize
         7: .line 1026
            iload 5 /* len */
            iload 9 /* blockSize */
            idiv
            iconst_1
            isub
            istore 10 /* numBlocks */
        start local 10 // int numBlocks
         8: .line 1029
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         9: goto 16
        10: .line 1030
      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 1031
            aload 6 /* dataOutBuf */
            iload 7 /* dataOffset */
        12: .line 1030
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        13: .line 1036
            iload 4 /* offset */
            iload 9 /* blockSize */
            iadd
            istore 4 /* offset */
        14: .line 1037
            iload 7 /* dataOffset */
            iload 9 /* blockSize */
            iadd
            istore 7 /* dataOffset */
        15: .line 1029
            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 1041
            iload 9 /* blockSize */
            newarray 8
            astore 11 /* finalBlock */
        start local 11 // byte[] finalBlock
        18: .line 1042
            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 1044
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        20: .line 1051
            aload 11 /* finalBlock */
            iload 9 /* blockSize */
            iconst_1
            isub
            baload
            istore 12 /* padSize */
        start local 12 // int padSize
        21: .line 1052
            iload 12 /* padSize */
            iconst_1
            if_icmplt 22
            iload 12 /* padSize */
            bipush 8
            if_icmple 25
        22: .line 1053
      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 1054
            ldc "Invalid padding on Wrap Token"
        24: .line 1053
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        25: .line 1055
      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 1056
            iload 9 /* blockSize */
            iload 12 /* padSize */
            isub
            istore 9 /* blockSize */
        27: .line 1059
            aload 11 /* finalBlock */
            iconst_0
            aload 6 /* dataOutBuf */
            iload 7 /* dataOffset */
        28: .line 1060
            iload 9 /* blockSize */
        29: .line 1059
            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 1062
            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 1063
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        33: .line 1064
            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 1063
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        35: .line 1065
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        36: .line 1066
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        37: .line 1068
      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 1090
            iconst_0
            istore 7 /* temp */
        start local 7 // int temp
         1: .line 1092
            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 1095
            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 1094
            astore 9 /* truncatedInputStream */
        start local 9 // sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream truncatedInputStream
         4: .line 1096
            new javax.crypto.CipherInputStream
            dup
            aload 9 /* truncatedInputStream */
         5: .line 1097
            aload 8 /* des */
         6: .line 1096
            invokespecial javax.crypto.CipherInputStream.<init>:(Ljava/io/InputStream;Ljavax/crypto/Cipher;)V
            astore 10 /* cis */
        start local 10 // javax.crypto.CipherInputStream cis
         7: .line 1102
            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 1104
            iload 4 /* len */
            iload 7 /* temp */
            isub
            istore 4 /* len */
         9: .line 1118
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.getBlockSize:()I
            istore 11 /* blockSize */
        start local 11 // int blockSize
        10: .line 1119
            iload 4 /* len */
            iload 11 /* blockSize */
            idiv
            iconst_1
            isub
            istore 12 /* numBlocks */
        start local 12 // int numBlocks
        11: .line 1122
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        12: goto 16
        13: .line 1124
      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 1131
            iload 6 /* dataOffset */
            iload 11 /* blockSize */
            iadd
            istore 6 /* dataOffset */
        15: .line 1122
            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 1135
            iload 11 /* blockSize */
            newarray 8
            astore 13 /* finalBlock */
        start local 13 // byte[] finalBlock
        18: .line 1137
            aload 10 /* cis */
            aload 13 /* finalBlock */
            invokevirtual javax.crypto.CipherInputStream.read:([B)I
            istore 7 /* temp */
        19: .line 1147
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        20: .line 1148
            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 1149
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        23: .line 1150
            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 1149
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 15 /* ge */
        start local 15 // org.ietf.jgss.GSSException ge
        25: .line 1151
            aload 15 /* ge */
            aload 14 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        26: .line 1152
            aload 15 /* ge */
            athrow
        end local 15 // org.ietf.jgss.GSSException ge
        end local 14 // java.security.GeneralSecurityException e
        27: .line 1160
      StackMap locals:
      StackMap stack:
            aload 13 /* finalBlock */
            iload 11 /* blockSize */
            iconst_1
            isub
            baload
            istore 14 /* padSize */
        start local 14 // int padSize
        28: .line 1161
            iload 14 /* padSize */
            iconst_1
            if_icmplt 29
            iload 14 /* padSize */
            bipush 8
            if_icmple 32
        29: .line 1162
      StackMap locals: int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        30: .line 1163
            ldc "Invalid padding on Wrap Token"
        31: .line 1162
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        32: .line 1164
      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 1165
            iload 11 /* blockSize */
            iload 14 /* padSize */
            isub
            istore 11 /* blockSize */
        34: .line 1168
            aload 13 /* finalBlock */
            iconst_0
            aload 5 /* dataOutBuf */
            iload 6 /* dataOffset */
        35: .line 1169
            iload 11 /* blockSize */
        36: .line 1168
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        37: .line 1170
            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 1184
            aload 0 /* key */
            arraylength
            bipush 8
            if_icmple 4
         1: .line 1185
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            bipush -100
         2: .line 1186
            ldc "Invalid DES Key!"
         3: .line 1185
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
         4: .line 1188
      StackMap locals:
      StackMap stack:
            aload 0 /* key */
            arraylength
            newarray 8
            astore 1 /* retVal */
        start local 1 // byte[] retVal
         5: .line 1189
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 9
         7: .line 1190
      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 1189
            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 1191
            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 1200
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         1: .line 1201
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 1200
            invokestatic sun.security.krb5.internal.crypto.Des3.decryptRaw:([BI[B[BII)[B
            astore 7 /* ptext */
        start local 7 // byte[] ptext
         3: .line 1202
            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 1203
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 1204
            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 1203
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
         8: .line 1205
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 1206
            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 1221
      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 1222
            iload 8 /* padSize */
            iconst_1
            if_icmplt 12
            iload 8 /* padSize */
            bipush 8
            if_icmple 15
        12: .line 1223
      StackMap locals: int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        13: .line 1224
            ldc "Invalid padding on Wrap Token"
        14: .line 1223
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        15: .line 1226
      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 1227
            aload 7 /* ptext */
            arraylength
            bipush 8
            isub
            iload 8 /* padSize */
            isub
            istore 9 /* len */
        start local 9 // int len
        17: .line 1229
            aload 7 /* ptext */
            bipush 8
        18: .line 1230
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        19: .line 1229
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 1233
            aload 7 /* ptext */
            iconst_0
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
        21: .line 1234
            iconst_0
            bipush 8
        22: .line 1233
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 1235
            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 1242
            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 1243
            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 1244
            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 1245
            aload 5 /* padding */
            iconst_0
            aload 6 /* all */
            aload 1 /* confounder */
            arraylength
            iload 4 /* len */
            iadd
         4: .line 1246
            aload 5 /* padding */
            arraylength
         5: .line 1245
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1252
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         7: .line 1253
            aload 6 /* all */
            iconst_0
            aload 6 /* all */
            arraylength
         8: .line 1252
            invokestatic sun.security.krb5.internal.crypto.Des3.encryptRaw:([BI[B[BII)[B
            astore 7 /* answer */
        start local 7 // byte[] answer
         9: .line 1256
            aload 7 /* answer */
        10: areturn
        end local 7 // byte[] answer
        11: .line 1257
      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 1259
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        13: .line 1260
            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 1259
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        15: .line 1261
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 1262
            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 1273
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual sun.security.jgss.krb5.WrapToken.getChecksum:()[B
         1: .line 1274
            aload 1 /* token */
            invokevirtual sun.security.jgss.krb5.WrapToken.getEncSeqNumber:()[B
            iconst_0
            bipush 8
         2: .line 1273
            invokevirtual sun.security.jgss.krb5.CipherHelper.decryptSeq:([B[BII)[B
            astore 7 /* seqNum */
        start local 7 // byte[] seqNum
         3: .line 1278
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         4: .line 1279
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
            aload 7 /* seqNum */
         5: .line 1278
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.decryptRaw:([BI[B[BII[B)[B
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         6: .line 1280
            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 1281
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         9: .line 1282
            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 1281
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
        11: .line 1283
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        12: .line 1284
            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 1299
      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 1300
            iload 9 /* padSize */
            iconst_1
            if_icmpge 18
        15: .line 1301
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        16: .line 1302
            ldc "Invalid padding on Wrap Token"
        17: .line 1301
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        18: .line 1304
      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 1305
            aload 8 /* ptext */
            arraylength
            bipush 8
            isub
            iload 9 /* padSize */
            isub
            istore 10 /* len */
        start local 10 // int len
        20: .line 1307
            aload 8 /* ptext */
            bipush 8
        21: .line 1308
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 10 /* len */
        22: .line 1307
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 1314
            aload 8 /* ptext */
            iconst_0
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
        24: .line 1315
            iconst_0
            bipush 8
        25: .line 1314
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 1316
            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 1323
            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 1324
            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 1325
            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 1326
            aload 6 /* padding */
            iconst_0
            aload 7 /* all */
            aload 2 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1327
            aload 6 /* padding */
            arraylength
         5: .line 1326
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1332
            iconst_4
            newarray 8
            astore 8 /* seqNum */
        start local 8 // byte[] seqNum
         7: .line 1333
            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 1339
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
         9: .line 1340
            aload 8 /* seqNum */
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
        10: .line 1339
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.encryptRaw:([BI[B[BII)[B
            astore 9 /* answer */
        start local 9 // byte[] answer
        11: .line 1343
            aload 9 /* answer */
        12: areturn
        end local 9 // byte[] answer
        13: .line 1344
      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 1346
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        15: .line 1347
            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 1346
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
        17: .line 1348
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        18: .line 1349
            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 1363
            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 1364
            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 1365
            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 1366
            aload 2 /* tokenHeader */
            iconst_0
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1367
            aload 2 /* tokenHeader */
            arraylength
         5: .line 1366
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1371
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 6 /* key_usage */
         7: .line 1372
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
         8: .line 1373
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
         9: .line 1371
            invokestatic sun.security.krb5.internal.crypto.Aes128.encryptRaw:([BI[B[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        10: .line 1376
            aload 8 /* answer */
        11: areturn
        end local 8 // byte[] answer
        12: .line 1377
      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 1379
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        14: .line 1380
            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 1379
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        16: .line 1381
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        17: .line 1382
            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 byte[] aes128Sha2Encrypt(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 1395
            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 1396
            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 1397
            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 1398
            aload 2 /* tokenHeader */
            iconst_0
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1399
            aload 2 /* tokenHeader */
            arraylength
         5: .line 1398
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1403
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 6 /* key_usage */
         7: .line 1404
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
         8: .line 1405
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
         9: .line 1403
            invokestatic sun.security.krb5.internal.crypto.Aes128Sha2.encryptRaw:([BI[B[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        10: .line 1408
            aload 8 /* answer */
        11: areturn
        end local 8 // byte[] answer
        12: .line 1409
      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 1411
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        14: .line 1412
            new java.lang.StringBuilder
            dup
            ldc "Could not use Aes128Sha2 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 1411
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        16: .line 1413
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        17: .line 1414
            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 1422
            aconst_null
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         1: .line 1425
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 7 /* key_usage */
         2: .line 1426
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         3: .line 1425
            invokestatic sun.security.krb5.internal.crypto.Aes128.decryptRaw:([BI[B[BII)[B
            astore 8 /* ptext */
         4: .line 1427
            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 1428
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         7: .line 1429
            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 1428
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
         9: .line 1430
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        10: .line 1431
            aload 10 /* ge */
            athrow
        end local 10 // org.ietf.jgss.GSSException ge
        end local 9 // java.security.GeneralSecurityException e
        11: .line 1444
      StackMap locals:
      StackMap stack:
            aload 8 /* ptext */
            arraylength
            bipush 16
            isub
        12: .line 1445
            bipush 16
        13: .line 1444
            isub
            istore 9 /* len */
        start local 9 // int len
        14: .line 1446
            aload 8 /* ptext */
            bipush 16
        15: .line 1447
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        16: .line 1446
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 1453
            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 void aes128Sha2Decrypt(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 1459
            aconst_null
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         1: .line 1462
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 7 /* key_usage */
         2: .line 1463
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         3: .line 1462
            invokestatic sun.security.krb5.internal.crypto.Aes128Sha2.decryptRaw:([BI[B[BII)[B
            astore 8 /* ptext */
         4: .line 1464
            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 1465
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         7: .line 1466
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES128Sha2 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 1465
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
         9: .line 1467
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        10: .line 1468
            aload 10 /* ge */
            athrow
        end local 10 // org.ietf.jgss.GSSException ge
        end local 9 // java.security.GeneralSecurityException e
        11: .line 1481
      StackMap locals:
      StackMap stack:
            aload 8 /* ptext */
            arraylength
            bipush 16
            isub
        12: .line 1482
            bipush 16
        13: .line 1481
            isub
            istore 9 /* len */
        start local 9 // int len
        14: .line 1483
            aload 8 /* ptext */
            bipush 16
        15: .line 1484
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        16: .line 1483
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 1490
            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 1501
            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 1502
            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 1503
            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 1504
            aload 2 /* tokenHeader */
            iconst_0
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1505
            aload 2 /* tokenHeader */
            arraylength
         5: .line 1504
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1510
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 6 /* key_usage */
         7: .line 1511
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
         8: .line 1510
            invokestatic sun.security.krb5.internal.crypto.Aes256.encryptRaw:([BI[B[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
         9: .line 1514
            aload 8 /* answer */
        10: areturn
        end local 8 // byte[] answer
        11: .line 1515
      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 1517
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        13: .line 1518
            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 1517
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        15: .line 1519
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 1520
            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 byte[] aes256Sha2Encrypt(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 1533
            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 1534
            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 1535
            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 1536
            aload 2 /* tokenHeader */
            iconst_0
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1537
            aload 2 /* tokenHeader */
            arraylength
         5: .line 1536
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1542
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 6 /* key_usage */
         7: .line 1543
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
         8: .line 1542
            invokestatic sun.security.krb5.internal.crypto.Aes256Sha2.encryptRaw:([BI[B[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
         9: .line 1546
            aload 8 /* answer */
        10: areturn
        end local 8 // byte[] answer
        11: .line 1547
      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 1549
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        13: .line 1550
            new java.lang.StringBuilder
            dup
            ldc "Could not use Aes256Sha2 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 1549
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        15: .line 1551
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 1552
            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 1562
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 7 /* key_usage */
         1: .line 1563
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 1562
            invokestatic sun.security.krb5.internal.crypto.Aes256.decryptRaw:([BI[B[BII)[B
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         3: .line 1564
            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 1565
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 1566
            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 1565
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
         8: .line 1567
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 1568
            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 1581
      StackMap locals: byte[]
      StackMap stack:
            aload 8 /* ptext */
            arraylength
            bipush 16
            isub
        11: .line 1582
            bipush 16
        12: .line 1581
            isub
            istore 9 /* len */
        start local 9 // int len
        13: .line 1583
            aload 8 /* ptext */
            bipush 16
        14: .line 1584
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        15: .line 1583
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 1591
            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   

  private void aes256Sha2Decrypt(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 1599
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 7 /* key_usage */
         1: .line 1600
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 1599
            invokestatic sun.security.krb5.internal.crypto.Aes256Sha2.decryptRaw:([BI[B[BII)[B
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         3: .line 1601
            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 1602
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 1603
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES256Sha2 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 1602
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
         8: .line 1604
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 1605
            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 1618
      StackMap locals: byte[]
      StackMap stack:
            aload 8 /* ptext */
            arraylength
            bipush 16
            isub
        11: .line 1619
            bipush 16
        12: .line 1618
            isub
            istore 9 /* len */
        start local 9 // int len
        13: .line 1620
            aload 8 /* ptext */
            bipush 16
        14: .line 1621
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        15: .line 1620
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 1628
            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