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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 67
            getstatic sun.security.jgss.krb5.Krb5Util.DEBUG:Z
            putstatic sun.security.jgss.krb5.CipherHelper.DEBUG:Z
         1: .line 73
            bipush 8
            newarray 8
            putstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         2: .line 74
            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 84
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 0 /* this */
            iconst_0
            putfield sun.security.jgss.krb5.CipherHelper.proto:I
         2: .line 85
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.krb5.EncryptionKey.getEType:()I
            putfield sun.security.jgss.krb5.CipherHelper.etype:I
         3: .line 86
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.krb5.EncryptionKey.getBytes:()[B
            putfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
         4: .line 88
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            lookupswitch { // 6
                    1: 5
                    3: 5
                   16: 8
                   17: 14
                   18: 14
                   23: 11
              default: 18
          }
         5: .line 91
      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
         6: .line 92
            aload 0 /* this */
            iconst_0
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
         7: .line 93
            goto 21
         8: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 1024
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
         9: .line 97
            aload 0 /* this */
            sipush 512
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
        10: .line 98
            goto 21
        11: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 4352
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
        12: .line 102
            aload 0 /* this */
            sipush 4096
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
        13: .line 103
            goto 21
        14: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield sun.security.jgss.krb5.CipherHelper.sgnAlg:I
        15: .line 108
            aload 0 /* this */
            iconst_m1
            putfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
        16: .line 109
            aload 0 /* this */
            iconst_1
            putfield sun.security.jgss.krb5.CipherHelper.proto:I
        17: .line 110
            goto 21
        18: .line 113
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        19: .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;
        20: .line 113
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        21: .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   22     0  this  Lsun/security/jgss/krb5/CipherHelper;
            0   22     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 127
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.proto: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 getEType();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.jgss.krb5.CipherHelper this
         0: .line 131
            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 135
            iconst_0
            istore 1 /* flag */
        start local 1 // boolean flag
         1: .line 136
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            bipush 23
            if_icmpne 3
         2: .line 137
            iconst_1
            istore 1 /* flag */
         3: .line 139
      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 146
            iload 1 /* alg */
            lookupswitch { // 4
                    0: 1
                  512: 18
                 1024: 19
                 4352: 53
              default: 92
          }
         1: .line 153
      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 159
            aload 8 /* md5 */
            aload 2 /* header */
            invokevirtual java.security.MessageDigest.update:([B)V
         3: .line 162
            aload 8 /* md5 */
            aload 4 /* data */
            iload 5 /* start */
            iload 6 /* len */
            invokevirtual java.security.MessageDigest.update:([BII)V
         4: .line 164
            aload 3 /* trailer */
            ifnull 6
         5: .line 168
            aload 8 /* md5 */
            aload 3 /* trailer */
            invokevirtual java.security.MessageDigest.update:([B)V
         6: .line 172
      StackMap locals: java.security.MessageDigest
      StackMap stack:
            aload 8 /* md5 */
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 4 /* data */
         7: .line 173
            iconst_0
            istore 5 /* start */
         8: .line 174
            aload 4 /* data */
            arraylength
            istore 6 /* len */
         9: .line 177
            aconst_null
            astore 2 /* header */
        10: .line 178
            aconst_null
            astore 3 /* trailer */
        end local 8 // java.security.MessageDigest md5
        11: .line 179
            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 180
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        14: .line 181
            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 180
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        16: .line 182
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        17: .line 183
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.NoSuchAlgorithmException e
        18: .line 188
      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 193
      StackMap locals:
      StackMap stack:
            aload 2 /* header */
            ifnonnull 24
            aload 3 /* trailer */
            ifnonnull 24
        20: .line 194
            aload 4 /* data */
            astore 8 /* buf */
        start local 8 // byte[] buf
        21: .line 195
            iload 6 /* len */
            istore 10 /* total */
        start local 10 // int total
        22: .line 196
            iload 5 /* start */
            istore 9 /* offset */
        start local 9 // int offset
        23: .line 197
            goto 40
        end local 10 // int total
        end local 9 // int offset
        end local 8 // byte[] buf
        24: .line 198
      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 199
            aload 3 /* trailer */
            ifnull 28
            aload 3 /* trailer */
            arraylength
            goto 29
      StackMap locals:
      StackMap stack: int
        28: iconst_0
        29: .line 198
      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 201
            iload 10 /* total */
            newarray 8
            astore 8 /* buf */
        start local 8 // byte[] buf
        31: .line 202
            iconst_0
            istore 11 /* pos */
        start local 11 // int pos
        32: .line 203
            aload 2 /* header */
            ifnull 35
        33: .line 204
            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 205
            aload 2 /* header */
            arraylength
            istore 11 /* pos */
        35: .line 207
      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 208
            iload 11 /* pos */
            iload 6 /* len */
            iadd
            istore 11 /* pos */
        37: .line 209
            aload 3 /* trailer */
            ifnull 39
        38: .line 210
            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 213
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* offset */
        end local 11 // int pos
        start local 9 // int offset
        40: .line 231
      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 232
            bipush 23
            aload 8 /* buf */
            iload 9 /* offset */
            iload 10 /* total */
        42: .line 231
            invokestatic sun.security.krb5.internal.crypto.Des3.calculateChecksum:([BI[BII)[B
            astore 11 /* answer */
        start local 11 // byte[] answer
        43: .line 235
            aload 11 /* answer */
        44: areturn
        end local 11 // byte[] answer
        45: .line 236
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 11 /* e */
        start local 11 // java.security.GeneralSecurityException e
        46: .line 237
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        47: .line 238
            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 239
            aload 11 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        49: .line 238
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 237
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 12 /* ge */
        start local 12 // org.ietf.jgss.GSSException ge
        51: .line 240
            aload 12 /* ge */
            aload 11 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        52: .line 241
            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 247
      StackMap locals:
      StackMap stack:
            aload 2 /* header */
            ifnonnull 58
            aload 3 /* trailer */
            ifnonnull 58
        54: .line 248
            aload 4 /* data */
            astore 11 /* buffer */
        start local 11 // byte[] buffer
        55: .line 249
            iload 6 /* len */
            istore 13 /* tot */
        start local 13 // int tot
        56: .line 250
            iload 5 /* start */
            istore 12 /* off */
        start local 12 // int off
        57: .line 251
            goto 74
        end local 13 // int tot
        end local 12 // int off
        end local 11 // byte[] buffer
        58: .line 252
      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 253
            aload 3 /* trailer */
            ifnull 62
            aload 3 /* trailer */
            arraylength
            goto 63
      StackMap locals:
      StackMap stack: int
        62: iconst_0
        63: .line 252
      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 255
            iload 13 /* tot */
            newarray 8
            astore 11 /* buffer */
        start local 11 // byte[] buffer
        65: .line 256
            iconst_0
            istore 14 /* pos */
        start local 14 // int pos
        66: .line 258
            aload 2 /* header */
            ifnull 69
        67: .line 259
            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 260
            aload 2 /* header */
            arraylength
            istore 14 /* pos */
        69: .line 262
      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 263
            iload 14 /* pos */
            iload 6 /* len */
            iadd
            istore 14 /* pos */
        71: .line 264
            aload 3 /* trailer */
            ifnull 73
        72: .line 265
            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 268
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* off */
        end local 14 // int pos
        start local 12 // int off
        74: .line 290
      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 291
            iload 7 /* tokenId */
            sipush 257
            if_icmpne 77
        76: .line 292
            bipush 15
            istore 14 /* key_usage */
        77: .line 294
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
        78: .line 295
            iload 14 /* key_usage */
            aload 11 /* buffer */
            iload 12 /* off */
            iload 13 /* tot */
        79: .line 294
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.calculateChecksum:([BI[BII)[B
            astore 15 /* answer */
        start local 15 // byte[] answer
        80: .line 300
            aload 0 /* this */
            invokevirtual sun.security.jgss.krb5.CipherHelper.getChecksumLength:()I
            newarray 8
            astore 16 /* output */
        start local 16 // byte[] output
        81: .line 301
            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 304
            aload 16 /* output */
        83: areturn
        end local 16 // byte[] output
        end local 15 // byte[] answer
        end local 14 // int key_usage
        84: .line 305
      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 306
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        86: .line 307
            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 308
            aload 14 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        88: .line 307
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        89: .line 306
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 15 /* ge */
        start local 15 // org.ietf.jgss.GSSException ge
        90: .line 309
            aload 15 /* ge */
            aload 14 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        91: .line 310
            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 314
      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 315
            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 314
            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 324
            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 327
            iload 6 /* total */
            newarray 8
            astore 7 /* buf */
        start local 7 // byte[] buf
         4: .line 330
            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 333
            aload 1 /* header */
            ifnull 7
         6: .line 334
            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 339
      StackMap locals: int byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 8
                   18: 21
              default: 34
          }
         8: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 5 /* key_usage */
         9: .line 343
            aload 7 /* buf */
            iconst_0
            iload 6 /* total */
        10: .line 342
            invokestatic sun.security.krb5.internal.crypto.Aes128.calculateChecksum:([BI[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        11: .line 346
            aload 8 /* answer */
        12: areturn
        end local 8 // byte[] answer
        13: .line 347
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        14: .line 348
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        15: .line 349
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES128 signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 350
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 349
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 348
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        19: .line 351
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        20: .line 352
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        21: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 5 /* key_usage */
        22: .line 358
            aload 7 /* buf */
            iconst_0
            iload 6 /* total */
        23: .line 357
            invokestatic sun.security.krb5.internal.crypto.Aes256.calculateChecksum:([BI[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        24: .line 361
            aload 8 /* answer */
        25: areturn
        end local 8 // byte[] answer
        26: .line 362
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        27: .line 363
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        28: .line 364
            new java.lang.StringBuilder
            dup
            ldc "Could not use AES256 signing algorithm - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 365
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 364
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 363
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        32: .line 366
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        33: .line 367
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        34: .line 371
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        35: .line 372
            new java.lang.StringBuilder
            dup
            ldc "Unsupported encryption type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 371
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        end local 7 // byte[] buf
        end local 6 // int total
        end local 5 // int key_usage
        end local 4 // int len
        end local 3 // int start
        end local 2 // byte[] data
        end local 1 // byte[] header
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   37     0       this  Lsun/security/jgss/krb5/CipherHelper;
            0   37     1     header  [B
            0   37     2       data  [B
            0   37     3      start  I
            0   37     4        len  I
            0   37     5  key_usage  I
            3   37     6      total  I
            4   37     7        buf  [B
           11   13     8     answer  [B
           14   21     8          e  Ljava/security/GeneralSecurityException;
           19   21     9         ge  Lorg/ietf/jgss/GSSException;
           24   26     8     answer  [B
           27   34     8          e  Ljava/security/GeneralSecurityException;
           32   34     9         ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           8    12      13  Class java.security.GeneralSecurityException
          21    25      26  Class java.security.GeneralSecurityException
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
           Name  Flags
      header     
      data       
      start      
      len        
      key_usage  

  byte[] encryptSeq(byte[], byte[], int, int);
    descriptor: ([B[BII)[B
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // byte[] ivec
        start local 2 // byte[] plaintext
        start local 3 // int start
        start local 4 // int len
         0: .line 379
            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 383
      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 384
            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 386
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 5 /* e */
        start local 5 // java.security.GeneralSecurityException e
         5: .line 387
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 388
            new java.lang.StringBuilder
            dup
            ldc "Could not encrypt sequence number using DES - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 389
            aload 5 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 388
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 387
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 6 /* ge */
        start local 6 // org.ietf.jgss.GSSException ge
        10: .line 390
            aload 6 /* ge */
            aload 5 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        11: .line 391
            aload 6 /* ge */
            athrow
        end local 6 // org.ietf.jgss.GSSException ge
        end local 5 // java.security.GeneralSecurityException e
        12: .line 396
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 15
        13: .line 397
            aload 1 /* ivec */
            astore 5 /* iv */
        start local 5 // byte[] iv
        14: .line 398
            goto 17
        end local 5 // byte[] iv
        15: .line 399
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 5 /* iv */
        start local 5 // byte[] iv
        16: .line 400
            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 403
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 24
            aload 5 /* iv */
        18: .line 404
            aload 2 /* plaintext */
            iload 3 /* start */
            iload 4 /* len */
        19: .line 403
            invokestatic sun.security.krb5.internal.crypto.Des3.encryptRaw:([BI[B[BII)[B
        20: areturn
        21: .line 405
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        22: .line 407
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        23: .line 408
            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 409
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 408
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 407
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 7 /* ge */
        start local 7 // org.ietf.jgss.GSSException ge
        27: .line 410
            aload 7 /* ge */
            aload 6 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        28: .line 411
            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 417
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 32
        30: .line 418
            aload 1 /* ivec */
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        31: .line 419
            goto 34
        end local 6 // byte[] checksum
        32: .line 420
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        33: .line 421
            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 425
      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 426
            aload 2 /* plaintext */
            iload 3 /* start */
            iload 4 /* len */
        36: .line 425
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.encryptSeq:([BI[B[BII)[B
        37: areturn
        38: .line 427
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        39: .line 429
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        40: .line 430
            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 431
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 430
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 429
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        44: .line 432
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        45: .line 433
            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 437
      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 438
            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 437
            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 445
            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 449
      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 450
            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 451
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 5 /* e */
        start local 5 // java.security.GeneralSecurityException e
         5: .line 452
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 453
            new java.lang.StringBuilder
            dup
            ldc "Could not decrypt sequence number using DES - "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 454
            aload 5 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 453
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 452
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 6 /* ge */
        start local 6 // org.ietf.jgss.GSSException ge
        10: .line 455
            aload 6 /* ge */
            aload 5 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        11: .line 456
            aload 6 /* ge */
            athrow
        end local 6 // org.ietf.jgss.GSSException ge
        end local 5 // java.security.GeneralSecurityException e
        12: .line 461
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 15
        13: .line 462
            aload 1 /* ivec */
            astore 5 /* iv */
        start local 5 // byte[] iv
        14: .line 463
            goto 17
        end local 5 // byte[] iv
        15: .line 464
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 5 /* iv */
        start local 5 // byte[] iv
        16: .line 465
            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 469
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 24
            aload 5 /* iv */
        18: .line 470
            aload 2 /* ciphertext */
            iload 3 /* start */
            iload 4 /* len */
        19: .line 469
            invokestatic sun.security.krb5.internal.crypto.Des3.decryptRaw:([BI[B[BII)[B
        20: areturn
        21: .line 471
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        22: .line 473
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        23: .line 474
            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 475
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 474
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 473
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 7 /* ge */
        start local 7 // org.ietf.jgss.GSSException ge
        27: .line 476
            aload 7 /* ge */
            aload 6 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        28: .line 477
            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 483
      StackMap locals:
      StackMap stack:
            aload 1 /* ivec */
            arraylength
            bipush 8
            if_icmpne 32
        30: .line 484
            aload 1 /* ivec */
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        31: .line 485
            goto 34
        end local 6 // byte[] checksum
        32: .line 486
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 6 /* checksum */
        start local 6 // byte[] checksum
        33: .line 487
            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 491
      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 492
            aload 2 /* ciphertext */
            iload 3 /* start */
            iload 4 /* len */
        36: .line 491
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.decryptSeq:([BI[B[BII)[B
        37: areturn
        38: .line 493
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        39: .line 495
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        40: .line 496
            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 497
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 496
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 495
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        44: .line 498
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        45: .line 499
            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 503
      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 504
            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 503
            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 509
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            lookupswitch { // 6
                    1: 1
                    3: 1
                   16: 2
                   17: 3
                   18: 4
                   23: 5
              default: 6
          }
         1: .line 512
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         2: .line 515
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Des3.getChecksumLength:()I
            ireturn
         3: .line 518
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Aes128.getChecksumLength:()I
            ireturn
         4: .line 520
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.krb5.internal.crypto.Aes256.getChecksumLength:()I
            ireturn
         5: .line 524
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         6: .line 527
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         7: .line 528
            new java.lang.StringBuilder
            dup
            ldc "Unsupported encryption type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 527
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/jgss/krb5/CipherHelper;
    Exceptions:
      throws org.ietf.jgss.GSSException

  void decryptData(sun.security.jgss.krb5.WrapToken, byte[], int, int, byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[BII[BI)V
    flags: (0x0000) 
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] ciphertext
        start local 3 // int cStart
        start local 4 // int cLen
        start local 5 // byte[] plaintext
        start local 6 // int pStart
         0: .line 540
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 5
                 4096: 7
              default: 9
          }
         1: .line 542
      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 543
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
            aload 5 /* plaintext */
            iload 6 /* pStart */
         3: .line 542
            invokevirtual sun.security.jgss.krb5.CipherHelper.desCbcDecrypt:(Lsun/security/jgss/krb5/WrapToken;[B[BII[BI)V
         4: .line 544
            goto 12
         5: .line 547
      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 548
            goto 12
         7: .line 551
      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 552
            goto 12
         9: .line 555
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        10: .line 556
            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 555
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        12: .line 558
      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 570
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 1
                   18: 5
              default: 9
          }
         1: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 573
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 7 /* key_usage */
         3: .line 572
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
         4: .line 574
            goto 12
         5: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         6: .line 577
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 7 /* key_usage */
         7: .line 576
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
         8: .line 578
            goto 12
         9: .line 580
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        10: .line 581
            new java.lang.StringBuilder
            dup
            ldc "Unsupported etype: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 580
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        12: .line 583
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int key_usage
        end local 6 // int pStart
        end local 5 // byte[] plaintext
        end local 4 // int cLen
        end local 3 // int cStart
        end local 2 // byte[] ciphertext
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lsun/security/jgss/krb5/CipherHelper;
            0   13     1       token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   13     2  ciphertext  [B
            0   13     3      cStart  I
            0   13     4        cLen  I
            0   13     5   plaintext  [B
            0   13     6      pStart  I
            0   13     7   key_usage  I
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
            Name  Flags
      token       
      ciphertext  
      cStart      
      cLen        
      plaintext   
      pStart      
      key_usage   

  void decryptData(sun.security.jgss.krb5.WrapToken, java.io.InputStream, int, byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;Ljava/io/InputStream;I[BI)V
    flags: (0x0000) 
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // java.io.InputStream cipherStream
        start local 3 // int cLen
        start local 4 // byte[] plaintext
        start local 5 // int pStart
         0: .line 589
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 5
                 4096: 17
              default: 29
          }
         1: .line 591
      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 592
            aload 2 /* cipherStream */
            iload 3 /* cLen */
            aload 4 /* plaintext */
            iload 5 /* pStart */
         3: .line 591
            invokevirtual sun.security.jgss.krb5.CipherHelper.desCbcDecrypt:(Lsun/security/jgss/krb5/WrapToken;[BLjava/io/InputStream;I[BI)V
         4: .line 593
            goto 32
         5: .line 598
      StackMap locals:
      StackMap stack:
            iload 3 /* cLen */
            newarray 8
            astore 6 /* ciphertext */
        start local 6 // byte[] ciphertext
         6: .line 600
            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 601
            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 602
            new org.ietf.jgss.GSSException
            dup
        10: .line 603
            bipush 10
            iconst_m1
        11: .line 604
            ldc "Cannot read complete token"
        12: .line 602
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        13: .line 605
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        14: .line 606
            aload 8 /* ge */
            athrow
        end local 8 // org.ietf.jgss.GSSException ge
        end local 7 // java.io.IOException e
        15: .line 609
      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 610
            goto 32
        end local 6 // byte[] ciphertext
        17: .line 615
      StackMap locals:
      StackMap stack:
            iload 3 /* cLen */
            newarray 8
            astore 7 /* ctext */
        start local 7 // byte[] ctext
        18: .line 617
            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 618
            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 619
            new org.ietf.jgss.GSSException
            dup
        22: .line 620
            bipush 10
            iconst_m1
        23: .line 621
            ldc "Cannot read complete token"
        24: .line 619
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        25: .line 622
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        26: .line 623
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.io.IOException e
        27: .line 626
      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 627
            goto 32
        end local 7 // byte[] ctext
        29: .line 630
      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 631
            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 630
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        32: .line 633
      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 640
            iload 3 /* cLen */
            newarray 8
            astore 7 /* ciphertext */
        start local 7 // byte[] ciphertext
         1: .line 642
            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 643
            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 644
            new org.ietf.jgss.GSSException
            dup
         5: .line 645
            bipush 10
            iconst_m1
         6: .line 646
            ldc "Cannot read complete token"
         7: .line 644
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
         8: .line 647
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 648
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.io.IOException e
        10: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 11
                   18: 15
              default: 19
          }
        11: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 7 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
        12: .line 653
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* key_usage */
        13: .line 652
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        14: .line 654
            goto 22
        15: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 7 /* ciphertext */
            iconst_0
            iload 3 /* cLen */
        16: .line 657
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* key_usage */
        17: .line 656
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Decrypt:(Lsun/security/jgss/krb5/WrapToken_v2;[BII[BII)V
        18: .line 658
            goto 22
        19: .line 660
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        20: .line 661
            new java.lang.StringBuilder
            dup
            ldc "Unsupported etype: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 660
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        22: .line 663
      StackMap locals:
      StackMap stack:
            return
        end local 7 // byte[] ciphertext
        end local 6 // int key_usage
        end local 5 // int pStart
        end local 4 // byte[] plaintext
        end local 3 // int cLen
        end local 2 // java.io.InputStream cipherStream
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lsun/security/jgss/krb5/CipherHelper;
            0   23     1         token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   23     2  cipherStream  Ljava/io/InputStream;
            0   23     3          cLen  I
            0   23     4     plaintext  [B
            0   23     5        pStart  I
            0   23     6     key_usage  I
            1   23     7    ciphertext  [B
            4   10     8             e  Ljava/io/IOException;
            8   10     9            ge  Lorg/ietf/jgss/GSSException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    Exceptions:
      throws org.ietf.jgss.GSSException, java.io.IOException
    MethodParameters:
              Name  Flags
      token         
      cipherStream  
      cLen          
      plaintext     
      pStart        
      key_usage     

  void encryptData(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[], java.io.OutputStream);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[BLjava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=12, args_size=8
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] confounder
        start local 3 // byte[] plaintext
        start local 4 // int start
        start local 5 // int len
        start local 6 // byte[] padding
        start local 7 // java.io.OutputStream os
         0: .line 669
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 9
                 4096: 14
              default: 19
          }
         1: .line 672
      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 673
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         3: .line 672
            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 674
            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 676
            aload 9 /* cos */
            aload 2 /* confounder */
            invokevirtual javax.crypto.CipherOutputStream.write:([B)V
         6: .line 678
            aload 9 /* cos */
            aload 3 /* plaintext */
            iload 4 /* start */
            iload 5 /* len */
            invokevirtual javax.crypto.CipherOutputStream.write:([BII)V
         7: .line 680
            aload 9 /* cos */
            aload 6 /* padding */
            invokevirtual javax.crypto.CipherOutputStream.write:([B)V
         8: .line 681
            goto 22
        end local 9 // javax.crypto.CipherOutputStream cos
        end local 8 // javax.crypto.Cipher des
         9: .line 684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* plaintext */
            iload 4 /* start */
            iload 5 /* len */
        10: .line 685
            aload 6 /* padding */
        11: .line 684
            invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdEncrypt:([B[BII[B)[B
            astore 10 /* ctext */
        start local 10 // byte[] ctext
        12: .line 688
            aload 7 /* os */
            aload 10 /* ctext */
            invokevirtual java.io.OutputStream.write:([B)V
        13: .line 689
            goto 22
        end local 10 // byte[] ctext
        14: .line 692
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* confounder */
            aload 3 /* plaintext */
        15: .line 693
            iload 4 /* start */
            iload 5 /* len */
            aload 6 /* padding */
        16: .line 692
            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 696
            aload 7 /* os */
            aload 11 /* ciphertext */
            invokevirtual java.io.OutputStream.write:([B)V
        18: .line 697
            goto 22
        end local 11 // byte[] ciphertext
        19: .line 700
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        20: .line 701
            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 700
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        22: .line 703
      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 718
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 1
                   18: 4
              default: 7
          }
         1: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         2: .line 721
            aload 4 /* plaintext */
            iload 5 /* start */
            iload 6 /* len */
            iload 7 /* key_usage */
         3: .line 720
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Encrypt:([B[B[BIII)[B
            areturn
         4: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         5: .line 724
            aload 4 /* plaintext */
            iload 5 /* start */
            iload 6 /* len */
            iload 7 /* key_usage */
         6: .line 723
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Encrypt:([B[B[BIII)[B
            areturn
         7: .line 726
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         8: .line 727
            new java.lang.StringBuilder
            dup
            ldc "Unsupported etype: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 726
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        end local 7 // int key_usage
        end local 6 // int len
        end local 5 // int start
        end local 4 // byte[] plaintext
        end local 3 // byte[] tokenHeader
        end local 2 // byte[] confounder
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lsun/security/jgss/krb5/CipherHelper;
            0   10     1        token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   10     2   confounder  [B
            0   10     3  tokenHeader  [B
            0   10     4    plaintext  [B
            0   10     5        start  I
            0   10     6          len  I
            0   10     7    key_usage  I
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
             Name  Flags
      token        
      confounder   
      tokenHeader  
      plaintext    
      start        
      len          
      key_usage    

  void encryptData(sun.security.jgss.krb5.WrapToken, byte[], byte[], int, int, byte[], byte[], int);
    descriptor: (Lsun/security/jgss/krb5/WrapToken;[B[BII[B[BI)V
    flags: (0x0000) 
    Code:
      stack=7, locals=13, args_size=9
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // sun.security.jgss.krb5.WrapToken token
        start local 2 // byte[] confounder
        start local 3 // byte[] plaintext
        start local 4 // int pStart
        start local 5 // int pLen
        start local 6 // byte[] padding
        start local 7 // byte[] ciphertext
        start local 8 // int cStart
         0: .line 735
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.sealAlg:I
            lookupswitch { // 3
                    0: 1
                  512: 22
                 4096: 27
              default: 32
          }
         1: .line 737
      StackMap locals:
      StackMap stack:
            iload 8 /* cStart */
            istore 9 /* pos */
        start local 9 // int pos
         2: .line 739
            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 740
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         4: .line 739
            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 743
            iload 9 /* pos */
            aload 10 /* des */
            aload 2 /* confounder */
            iconst_0
            aload 2 /* confounder */
            arraylength
         6: .line 744
            aload 7 /* ciphertext */
            iload 9 /* pos */
         7: .line 743
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            iadd
            istore 9 /* pos */
         8: .line 746
            iload 9 /* pos */
            aload 10 /* des */
            aload 3 /* plaintext */
            iload 4 /* pStart */
            iload 5 /* pLen */
         9: .line 747
            aload 7 /* ciphertext */
            iload 9 /* pos */
        10: .line 746
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            iadd
            istore 9 /* pos */
        11: .line 749
            aload 10 /* des */
            aload 6 /* padding */
            iconst_0
            aload 6 /* padding */
            arraylength
        12: .line 750
            aload 7 /* ciphertext */
            iload 9 /* pos */
        13: .line 749
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        14: .line 751
            aload 10 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        15: .line 752
            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 753
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        18: .line 754
            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 753
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 12 /* ge */
        start local 12 // org.ietf.jgss.GSSException ge
        20: .line 755
            aload 12 /* ge */
            aload 11 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        21: .line 756
            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 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* plaintext */
            iload 4 /* pStart */
            iload 5 /* pLen */
        23: .line 762
            aload 6 /* padding */
        24: .line 761
            invokevirtual sun.security.jgss.krb5.CipherHelper.des3KdEncrypt:([B[BII[B)[B
            astore 11 /* ctext */
        start local 11 // byte[] ctext
        25: .line 763
            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 764
            goto 35
        end local 11 // byte[] ctext
        27: .line 767
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* confounder */
            aload 3 /* plaintext */
            iload 4 /* pStart */
        28: .line 768
            iload 5 /* pLen */
            aload 6 /* padding */
        29: .line 767
            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 769
            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 770
            goto 35
        end local 12 // byte[] ctext2
        32: .line 773
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        33: .line 774
            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 773
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        35: .line 776
      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 791
            aconst_null
            astore 10 /* ctext */
        start local 10 // byte[] ctext
         1: .line 792
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            tableswitch { // 17 - 18
                   17: 2
                   18: 6
              default: 10
          }
         2: .line 794
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         3: .line 795
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* pLen */
            iload 9 /* key_usage */
         4: .line 794
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes128Encrypt:([B[B[BIII)[B
            astore 10 /* ctext */
         5: .line 796
            goto 13
         6: .line 798
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* confounder */
            aload 3 /* tokenHeader */
         7: .line 799
            aload 4 /* plaintext */
            iload 5 /* pStart */
            iload 6 /* pLen */
            iload 9 /* key_usage */
         8: .line 798
            invokevirtual sun.security.jgss.krb5.CipherHelper.aes256Encrypt:([B[B[BIII)[B
            astore 10 /* ctext */
         9: .line 800
            goto 13
        10: .line 802
      StackMap locals:
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        11: .line 803
            new java.lang.StringBuilder
            dup
            ldc "Unsupported etype: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.etype:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 802
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        13: .line 805
      StackMap locals:
      StackMap stack:
            aload 10 /* ctext */
            iconst_0
            aload 7 /* ciphertext */
            iload 8 /* cStart */
            aload 10 /* ctext */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 806
            aload 10 /* ctext */
            arraylength
            ireturn
        end local 10 // byte[] ctext
        end local 9 // int key_usage
        end local 8 // int cStart
        end local 7 // byte[] ciphertext
        end local 6 // int pLen
        end local 5 // int pStart
        end local 4 // byte[] plaintext
        end local 3 // byte[] tokenHeader
        end local 2 // byte[] confounder
        end local 1 // sun.security.jgss.krb5.WrapToken_v2 token
        end local 0 // sun.security.jgss.krb5.CipherHelper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lsun/security/jgss/krb5/CipherHelper;
            0   15     1        token  Lsun/security/jgss/krb5/WrapToken_v2;
            0   15     2   confounder  [B
            0   15     3  tokenHeader  [B
            0   15     4    plaintext  [B
            0   15     5       pStart  I
            0   15     6         pLen  I
            0   15     7   ciphertext  [B
            0   15     8       cStart  I
            0   15     9    key_usage  I
            1   15    10        ctext  [B
    Exceptions:
      throws org.ietf.jgss.GSSException
    MethodParameters:
             Name  Flags
      token        
      confounder   
      tokenHeader  
      plaintext    
      pStart       
      pLen         
      ciphertext   
      cStart       
      key_usage    

  private byte[] getDesCbcChecksum(byte[], byte[], byte[], int, int);
    descriptor: ([B[B[BII)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=6
        start local 0 // sun.security.jgss.krb5.CipherHelper this
        start local 1 // byte[] key
        start local 2 // byte[] header
        start local 3 // byte[] data
        start local 4 // int offset
        start local 5 // int len
         0: .line 830
            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 832
            aload 6 /* des */
            invokevirtual javax.crypto.Cipher.getBlockSize:()I
            istore 7 /* blockSize */
        start local 7 // int blockSize
         2: .line 840
            iload 7 /* blockSize */
            newarray 8
            astore 8 /* finalBlock */
        start local 8 // byte[] finalBlock
         3: .line 842
            iload 5 /* len */
            iload 7 /* blockSize */
            idiv
            istore 9 /* numBlocks */
        start local 9 // int numBlocks
         4: .line 843
            iload 5 /* len */
            iload 7 /* blockSize */
            irem
            istore 10 /* lastBytes */
        start local 10 // int lastBytes
         5: .line 844
            iload 10 /* lastBytes */
            ifne 11
         6: .line 846
            iinc 9 /* numBlocks */ -1
         7: .line 847
            aload 3 /* data */
            iload 4 /* offset */
            iload 9 /* numBlocks */
            iload 7 /* blockSize */
            imul
            iadd
         8: .line 848
            aload 8 /* finalBlock */
            iconst_0
            iload 7 /* blockSize */
         9: .line 847
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 849
            goto 14
        11: .line 850
      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 851
            aload 8 /* finalBlock */
            iconst_0
            iload 10 /* lastBytes */
        13: .line 850
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 856
      StackMap locals:
      StackMap stack:
            iload 7 /* blockSize */
        15: .line 857
            aload 2 /* header */
            ifnonnull 16
            iload 7 /* blockSize */
            goto 17
      StackMap locals:
      StackMap stack: int
        16: aload 2 /* header */
            arraylength
        17: .line 856
      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 859
            aload 2 /* header */
            ifnull 20
        19: .line 861
            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 865
      StackMap locals: byte[]
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        21: goto 27
        22: .line 866
      StackMap locals: int
      StackMap stack:
            aload 6 /* des */
            aload 3 /* data */
            iload 4 /* offset */
            iload 7 /* blockSize */
        23: .line 867
            aload 11 /* temp */
            iconst_0
        24: .line 866
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        25: .line 868
            iload 4 /* offset */
            iload 7 /* blockSize */
            iadd
            istore 4 /* offset */
        26: .line 865
            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 872
            iload 7 /* blockSize */
            newarray 8
            astore 12 /* retVal */
        start local 12 // byte[] retVal
        29: .line 873
            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 874
            aload 6 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        31: .line 876
            aload 12 /* retVal */
        32: areturn
        end local 12 // byte[] retVal
        end local 11 // byte[] temp
        33: .line 877
      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 878
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        35: .line 879
            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 878
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 12 /* ge */
        start local 12 // org.ietf.jgss.GSSException ge
        37: .line 880
            aload 12 /* ge */
            aload 11 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        38: .line 881
            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 899
            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 900
            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 902
            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 903
            aload 6 /* desCipher */
         4: .line 904
            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 905
      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 903
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
         8: .line 906
            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 907
      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 908
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        12: .line 909
            aload 4 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
        13: .line 908
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 5 /* ge */
        start local 5 // org.ietf.jgss.GSSException ge
        14: .line 910
            aload 5 /* ge */
            aload 4 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        15: .line 911
            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 939
            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 945
            aload 8 /* des */
            aload 3 /* cipherText */
            iload 4 /* offset */
            bipush 8
         2: .line 946
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
         3: .line 945
            invokevirtual javax.crypto.Cipher.update:([BII[B)I
            pop
         4: .line 951
            iinc 4 /* offset */ 8
         5: .line 952
            iinc 5 /* len */ -8
         6: .line 961
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.getBlockSize:()I
            istore 9 /* blockSize */
        start local 9 // int blockSize
         7: .line 962
            iload 5 /* len */
            iload 9 /* blockSize */
            idiv
            iconst_1
            isub
            istore 10 /* numBlocks */
        start local 10 // int numBlocks
         8: .line 965
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         9: goto 16
        10: .line 966
      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 967
            aload 6 /* dataOutBuf */
            iload 7 /* dataOffset */
        12: .line 966
            invokevirtual javax.crypto.Cipher.update:([BII[BI)I
            pop
        13: .line 972
            iload 4 /* offset */
            iload 9 /* blockSize */
            iadd
            istore 4 /* offset */
        14: .line 973
            iload 7 /* dataOffset */
            iload 9 /* blockSize */
            iadd
            istore 7 /* dataOffset */
        15: .line 965
            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 977
            iload 9 /* blockSize */
            newarray 8
            astore 11 /* finalBlock */
        start local 11 // byte[] finalBlock
        18: .line 978
            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 980
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        20: .line 987
            aload 11 /* finalBlock */
            iload 9 /* blockSize */
            iconst_1
            isub
            baload
            istore 12 /* padSize */
        start local 12 // int padSize
        21: .line 988
            iload 12 /* padSize */
            iconst_1
            if_icmplt 22
            iload 12 /* padSize */
            bipush 8
            if_icmple 25
        22: .line 989
      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 990
            ldc "Invalid padding on Wrap Token"
        24: .line 989
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        25: .line 991
      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 992
            iload 9 /* blockSize */
            iload 12 /* padSize */
            isub
            istore 9 /* blockSize */
        27: .line 995
            aload 11 /* finalBlock */
            iconst_0
            aload 6 /* dataOutBuf */
            iload 7 /* dataOffset */
        28: .line 996
            iload 9 /* blockSize */
        29: .line 995
            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 998
            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 999
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        33: .line 1000
            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 999
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        35: .line 1001
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        36: .line 1002
            aload 9 /* ge */
            athrow
        end local 9 // org.ietf.jgss.GSSException ge
        end local 8 // java.security.GeneralSecurityException e
        37: .line 1004
      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 1026
            iconst_0
            istore 7 /* temp */
        start local 7 // int temp
         1: .line 1028
            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 1031
            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 1030
            astore 9 /* truncatedInputStream */
        start local 9 // sun.security.jgss.krb5.CipherHelper$WrapTokenInputStream truncatedInputStream
         4: .line 1032
            new javax.crypto.CipherInputStream
            dup
            aload 9 /* truncatedInputStream */
         5: .line 1033
            aload 8 /* des */
         6: .line 1032
            invokespecial javax.crypto.CipherInputStream.<init>:(Ljava/io/InputStream;Ljavax/crypto/Cipher;)V
            astore 10 /* cis */
        start local 10 // javax.crypto.CipherInputStream cis
         7: .line 1038
            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 1040
            iload 4 /* len */
            iload 7 /* temp */
            isub
            istore 4 /* len */
         9: .line 1054
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.getBlockSize:()I
            istore 11 /* blockSize */
        start local 11 // int blockSize
        10: .line 1055
            iload 4 /* len */
            iload 11 /* blockSize */
            idiv
            iconst_1
            isub
            istore 12 /* numBlocks */
        start local 12 // int numBlocks
        11: .line 1058
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        12: goto 16
        13: .line 1060
      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 1067
            iload 6 /* dataOffset */
            iload 11 /* blockSize */
            iadd
            istore 6 /* dataOffset */
        15: .line 1058
            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 1071
            iload 11 /* blockSize */
            newarray 8
            astore 13 /* finalBlock */
        start local 13 // byte[] finalBlock
        18: .line 1073
            aload 10 /* cis */
            aload 13 /* finalBlock */
            invokevirtual javax.crypto.CipherInputStream.read:([B)I
            istore 7 /* temp */
        19: .line 1083
            aload 8 /* des */
            invokevirtual javax.crypto.Cipher.doFinal:()[B
            pop
        20: .line 1084
            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 1085
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        23: .line 1086
            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 1085
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 15 /* ge */
        start local 15 // org.ietf.jgss.GSSException ge
        25: .line 1087
            aload 15 /* ge */
            aload 14 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        26: .line 1088
            aload 15 /* ge */
            athrow
        end local 15 // org.ietf.jgss.GSSException ge
        end local 14 // java.security.GeneralSecurityException e
        27: .line 1096
      StackMap locals:
      StackMap stack:
            aload 13 /* finalBlock */
            iload 11 /* blockSize */
            iconst_1
            isub
            baload
            istore 14 /* padSize */
        start local 14 // int padSize
        28: .line 1097
            iload 14 /* padSize */
            iconst_1
            if_icmplt 29
            iload 14 /* padSize */
            bipush 8
            if_icmple 32
        29: .line 1098
      StackMap locals: int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        30: .line 1099
            ldc "Invalid padding on Wrap Token"
        31: .line 1098
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        32: .line 1100
      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 1101
            iload 11 /* blockSize */
            iload 14 /* padSize */
            isub
            istore 11 /* blockSize */
        34: .line 1104
            aload 13 /* finalBlock */
            iconst_0
            aload 5 /* dataOutBuf */
            iload 6 /* dataOffset */
        35: .line 1105
            iload 11 /* blockSize */
        36: .line 1104
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        37: .line 1106
            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 1120
            aload 0 /* key */
            arraylength
            bipush 8
            if_icmple 4
         1: .line 1121
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            bipush -100
         2: .line 1122
            ldc "Invalid DES Key!"
         3: .line 1121
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
         4: .line 1124
      StackMap locals:
      StackMap stack:
            aload 0 /* key */
            arraylength
            newarray 8
            astore 1 /* retVal */
        start local 1 // byte[] retVal
         5: .line 1125
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 9
         7: .line 1126
      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 1125
            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 1127
            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 1136
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         1: .line 1137
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 1136
            invokestatic sun.security.krb5.internal.crypto.Des3.decryptRaw:([BI[B[BII)[B
            astore 7 /* ptext */
        start local 7 // byte[] ptext
         3: .line 1138
            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 1139
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 1140
            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 1139
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
         8: .line 1141
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 1142
            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 1157
      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 1158
            iload 8 /* padSize */
            iconst_1
            if_icmplt 12
            iload 8 /* padSize */
            bipush 8
            if_icmple 15
        12: .line 1159
      StackMap locals: int
      StackMap stack:
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        13: .line 1160
            ldc "Invalid padding on Wrap Token"
        14: .line 1159
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        15: .line 1162
      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 1163
            aload 7 /* ptext */
            arraylength
            bipush 8
            isub
            iload 8 /* padSize */
            isub
            istore 9 /* len */
        start local 9 // int len
        17: .line 1165
            aload 7 /* ptext */
            bipush 8
        18: .line 1166
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        19: .line 1165
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 1169
            aload 7 /* ptext */
            iconst_0
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
        21: .line 1170
            iconst_0
            bipush 8
        22: .line 1169
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 1171
            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 1178
            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 1179
            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 1180
            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 1181
            aload 5 /* padding */
            iconst_0
            aload 6 /* all */
            aload 1 /* confounder */
            arraylength
            iload 4 /* len */
            iadd
         4: .line 1182
            aload 5 /* padding */
            arraylength
         5: .line 1181
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1188
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         7: .line 1189
            aload 6 /* all */
            iconst_0
            aload 6 /* all */
            arraylength
         8: .line 1188
            invokestatic sun.security.krb5.internal.crypto.Des3.encryptRaw:([BI[B[BII)[B
            astore 7 /* answer */
        start local 7 // byte[] answer
         9: .line 1192
            aload 7 /* answer */
        10: areturn
        end local 7 // byte[] answer
        11: .line 1193
      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 1195
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        13: .line 1196
            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 1195
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 8 /* ge */
        start local 8 // org.ietf.jgss.GSSException ge
        15: .line 1197
            aload 8 /* ge */
            aload 7 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 1198
            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 1209
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual sun.security.jgss.krb5.WrapToken.getChecksum:()[B
         1: .line 1210
            aload 1 /* token */
            invokevirtual sun.security.jgss.krb5.WrapToken.getEncSeqNumber:()[B
            iconst_0
            bipush 8
         2: .line 1209
            invokevirtual sun.security.jgss.krb5.CipherHelper.decryptSeq:([B[BII)[B
            astore 7 /* seqNum */
        start local 7 // byte[] seqNum
         3: .line 1214
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV:[B
         4: .line 1215
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
            aload 7 /* seqNum */
         5: .line 1214
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.decryptRaw:([BI[B[BII[B)[B
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         6: .line 1216
            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 1217
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         9: .line 1218
            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 1217
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
        11: .line 1219
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        12: .line 1220
            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 1235
      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 1236
            iload 9 /* padSize */
            iconst_1
            if_icmpge 18
        15: .line 1237
            new org.ietf.jgss.GSSException
            dup
            bipush 10
            iconst_m1
        16: .line 1238
            ldc "Invalid padding on Wrap Token"
        17: .line 1237
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            athrow
        18: .line 1240
      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 1241
            aload 8 /* ptext */
            arraylength
            bipush 8
            isub
            iload 9 /* padSize */
            isub
            istore 10 /* len */
        start local 10 // int len
        20: .line 1243
            aload 8 /* ptext */
            bipush 8
        21: .line 1244
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 10 /* len */
        22: .line 1243
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 1250
            aload 8 /* ptext */
            iconst_0
            aload 1 /* token */
            getfield sun.security.jgss.krb5.WrapToken.confounder:[B
        24: .line 1251
            iconst_0
            bipush 8
        25: .line 1250
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 1252
            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 1259
            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 1260
            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 1261
            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 1262
            aload 6 /* padding */
            iconst_0
            aload 7 /* all */
            aload 2 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1263
            aload 6 /* padding */
            arraylength
         5: .line 1262
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1268
            iconst_4
            newarray 8
            astore 8 /* seqNum */
        start local 8 // byte[] seqNum
         7: .line 1269
            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 1275
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            bipush 22
         9: .line 1276
            aload 8 /* seqNum */
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
        10: .line 1275
            invokestatic sun.security.krb5.internal.crypto.ArcFourHmac.encryptRaw:([BI[B[BII)[B
            astore 9 /* answer */
        start local 9 // byte[] answer
        11: .line 1279
            aload 9 /* answer */
        12: areturn
        end local 9 // byte[] answer
        13: .line 1280
      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 1282
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        15: .line 1283
            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 1282
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
        17: .line 1284
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        18: .line 1285
            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 1299
            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 1300
            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 1301
            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 1302
            aload 2 /* tokenHeader */
            iconst_0
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1303
            aload 2 /* tokenHeader */
            arraylength
         5: .line 1302
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1307
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 6 /* key_usage */
         7: .line 1308
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
         8: .line 1309
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
         9: .line 1307
            invokestatic sun.security.krb5.internal.crypto.Aes128.encryptRaw:([BI[B[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
        10: .line 1312
            aload 8 /* answer */
        11: areturn
        end local 8 // byte[] answer
        12: .line 1313
      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 1315
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        14: .line 1316
            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 1315
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        16: .line 1317
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        17: .line 1318
            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 1326
            aconst_null
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         1: .line 1329
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 7 /* key_usage */
         2: .line 1330
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         3: .line 1329
            invokestatic sun.security.krb5.internal.crypto.Aes128.decryptRaw:([BI[B[BII)[B
            astore 8 /* ptext */
         4: .line 1331
            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 1332
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         7: .line 1333
            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 1332
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
         9: .line 1334
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        10: .line 1335
            aload 10 /* ge */
            athrow
        end local 10 // org.ietf.jgss.GSSException ge
        end local 9 // java.security.GeneralSecurityException e
        11: .line 1348
      StackMap locals:
      StackMap stack:
            aload 8 /* ptext */
            arraylength
            bipush 16
            isub
        12: .line 1349
            bipush 16
        13: .line 1348
            isub
            istore 9 /* len */
        start local 9 // int len
        14: .line 1350
            aload 8 /* ptext */
            bipush 16
        15: .line 1351
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        16: .line 1350
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 1357
            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 1368
            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 1369
            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 1370
            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 1371
            aload 2 /* tokenHeader */
            iconst_0
            aload 7 /* all */
            aload 1 /* confounder */
            arraylength
            iload 5 /* len */
            iadd
         4: .line 1372
            aload 2 /* tokenHeader */
            arraylength
         5: .line 1371
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1377
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 6 /* key_usage */
         7: .line 1378
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 7 /* all */
            iconst_0
            aload 7 /* all */
            arraylength
         8: .line 1377
            invokestatic sun.security.krb5.internal.crypto.Aes256.encryptRaw:([BI[B[BII)[B
            astore 8 /* answer */
        start local 8 // byte[] answer
         9: .line 1381
            aload 8 /* answer */
        10: areturn
        end local 8 // byte[] answer
        11: .line 1382
      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 1384
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
        13: .line 1385
            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 1384
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 9 /* ge */
        start local 9 // org.ietf.jgss.GSSException ge
        15: .line 1386
            aload 9 /* ge */
            aload 8 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 1387
            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 1397
            aload 0 /* this */
            getfield sun.security.jgss.krb5.CipherHelper.keybytes:[B
            iload 7 /* key_usage */
         1: .line 1398
            getstatic sun.security.jgss.krb5.CipherHelper.ZERO_IV_AES:[B
            aload 2 /* ciphertext */
            iload 3 /* cStart */
            iload 4 /* cLen */
         2: .line 1397
            invokestatic sun.security.krb5.internal.crypto.Aes256.decryptRaw:([BI[B[BII)[B
            astore 8 /* ptext */
        start local 8 // byte[] ptext
         3: .line 1399
            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 1400
            new org.ietf.jgss.GSSException
            dup
            bipush 11
            iconst_m1
         6: .line 1401
            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 1400
            invokespecial org.ietf.jgss.GSSException.<init>:(IILjava/lang/String;)V
            astore 10 /* ge */
        start local 10 // org.ietf.jgss.GSSException ge
         8: .line 1402
            aload 10 /* ge */
            aload 9 /* e */
            invokevirtual org.ietf.jgss.GSSException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 1403
            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 1416
      StackMap locals: byte[]
      StackMap stack:
            aload 8 /* ptext */
            arraylength
            bipush 16
            isub
        11: .line 1417
            bipush 16
        12: .line 1416
            isub
            istore 9 /* len */
        start local 9 // int len
        13: .line 1418
            aload 8 /* ptext */
            bipush 16
        14: .line 1419
            aload 5 /* plaintext */
            iload 6 /* pStart */
            iload 9 /* len */
        15: .line 1418
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 1426
            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