public class sun.security.krb5.internal.KDCReq
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.krb5.internal.KDCReq
  super_class: java.lang.Object
{
  public sun.security.krb5.internal.KDCReqBody reqBody;
    descriptor: Lsun/security/krb5/internal/KDCReqBody;
    flags: (0x0001) ACC_PUBLIC

  public sun.security.krb5.internal.PAData[] pAData;
    descriptor: [Lsun/security/krb5/internal/PAData;
    flags: (0x0001) ACC_PUBLIC

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

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

  public void <init>(sun.security.krb5.internal.PAData[], sun.security.krb5.internal.KDCReqBody, int);
    descriptor: ([Lsun/security/krb5/internal/PAData;Lsun/security/krb5/internal/KDCReqBody;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.security.krb5.internal.KDCReq this
        start local 1 // sun.security.krb5.internal.PAData[] new_pAData
        start local 2 // sun.security.krb5.internal.KDCReqBody new_reqBody
        start local 3 // int req_type
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
         2: .line 68
            aload 0 /* this */
            iconst_5
            putfield sun.security.krb5.internal.KDCReq.pvno:I
         3: .line 69
            aload 0 /* this */
            iload 3 /* req_type */
            putfield sun.security.krb5.internal.KDCReq.msgType:I
         4: .line 70
            aload 1 /* new_pAData */
            ifnull 13
         5: .line 71
            aload 0 /* this */
            aload 1 /* new_pAData */
            arraylength
            anewarray sun.security.krb5.internal.PAData
            putfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
         6: .line 72
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 12
         8: .line 73
      StackMap locals: sun.security.krb5.internal.KDCReq sun.security.krb5.internal.PAData[] sun.security.krb5.internal.KDCReqBody int int
      StackMap stack:
            aload 1 /* new_pAData */
            iload 4 /* i */
            aaload
            ifnonnull 10
         9: .line 74
            new java.io.IOException
            dup
            ldc "Cannot create a KDCRep"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
            iload 4 /* i */
            aload 1 /* new_pAData */
            iload 4 /* i */
            aaload
            invokevirtual sun.security.krb5.internal.PAData.clone:()Ljava/lang/Object;
            checkcast sun.security.krb5.internal.PAData
            aastore
        11: .line 72
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 1 /* new_pAData */
            arraylength
            if_icmplt 8
        end local 4 // int i
        13: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* new_reqBody */
            putfield sun.security.krb5.internal.KDCReq.reqBody:Lsun/security/krb5/internal/KDCReqBody;
        14: .line 81
            return
        end local 3 // int req_type
        end local 2 // sun.security.krb5.internal.KDCReqBody new_reqBody
        end local 1 // sun.security.krb5.internal.PAData[] new_pAData
        end local 0 // sun.security.krb5.internal.KDCReq this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lsun/security/krb5/internal/KDCReq;
            0   15     1   new_pAData  [Lsun/security/krb5/internal/PAData;
            0   15     2  new_reqBody  Lsun/security/krb5/internal/KDCReqBody;
            0   15     3     req_type  I
            7   13     4            i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      new_pAData   
      new_reqBody  
      req_type     

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.KDCReq this
         0: .line 83
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
         2: .line 84
            return
        end local 0 // sun.security.krb5.internal.KDCReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/krb5/internal/KDCReq;

  public void <init>(byte[], int);
    descriptor: ([BI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.krb5.internal.KDCReq this
        start local 1 // byte[] data
        start local 2 // int req_type
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
         2: .line 88
            aload 0 /* this */
            new sun.security.util.DerValue
            dup
            aload 1 /* data */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            iload 2 /* req_type */
            invokevirtual sun.security.krb5.internal.KDCReq.init:(Lsun/security/util/DerValue;I)V
         3: .line 89
            return
        end local 2 // int req_type
        end local 1 // byte[] data
        end local 0 // sun.security.krb5.internal.KDCReq this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/security/krb5/internal/KDCReq;
            0    4     1      data  [B
            0    4     2  req_type  I
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException, sun.security.krb5.KrbException
    MethodParameters:
          Name  Flags
      data      
      req_type  

  public void <init>(sun.security.util.DerValue, int);
    descriptor: (Lsun/security/util/DerValue;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.krb5.internal.KDCReq this
        start local 1 // sun.security.util.DerValue der
        start local 2 // int req_type
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
         2: .line 102
            aload 0 /* this */
            aload 1 /* der */
            iload 2 /* req_type */
            invokevirtual sun.security.krb5.internal.KDCReq.init:(Lsun/security/util/DerValue;I)V
         3: .line 103
            return
        end local 2 // int req_type
        end local 1 // sun.security.util.DerValue der
        end local 0 // sun.security.krb5.internal.KDCReq this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/security/krb5/internal/KDCReq;
            0    4     1       der  Lsun/security/util/DerValue;
            0    4     2  req_type  I
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException, sun.security.krb5.KrbException
    MethodParameters:
          Name  Flags
      der       
      req_type  

  protected void init(sun.security.util.DerValue, int);
    descriptor: (Lsun/security/util/DerValue;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // sun.security.krb5.internal.KDCReq this
        start local 1 // sun.security.util.DerValue encoding
        start local 2 // int req_type
         0: .line 120
            aload 1 /* encoding */
            invokevirtual sun.security.util.DerValue.getTag:()B
            bipush 31
            iand
            iload 2 /* req_type */
            if_icmpeq 2
         1: .line 121
            new sun.security.krb5.Asn1Exception
            dup
            sipush 906
            invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
            athrow
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 3 /* der */
        start local 3 // sun.security.util.DerValue der
         3: .line 124
            aload 3 /* der */
            invokevirtual sun.security.util.DerValue.getTag:()B
            bipush 48
            if_icmpeq 5
         4: .line 125
            new sun.security.krb5.Asn1Exception
            dup
            sipush 906
            invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
            athrow
         5: .line 127
      StackMap locals: sun.security.util.DerValue
      StackMap stack:
            aload 3 /* der */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 4 /* subDer */
        start local 4 // sun.security.util.DerValue subDer
         6: .line 128
            aload 4 /* subDer */
            invokevirtual sun.security.util.DerValue.getTag:()B
            bipush 31
            iand
            iconst_1
            if_icmpne 11
         7: .line 129
            aload 4 /* subDer */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
            astore 5 /* bint */
        start local 5 // java.math.BigInteger bint
         8: .line 130
            aload 0 /* this */
            aload 5 /* bint */
            invokevirtual java.math.BigInteger.intValue:()I
            putfield sun.security.krb5.internal.KDCReq.pvno:I
         9: .line 131
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.pvno:I
            iconst_5
            if_icmpeq 12
        10: .line 132
            new sun.security.krb5.internal.KrbApErrException
            dup
            bipush 39
            invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
            athrow
        end local 5 // java.math.BigInteger bint
        11: .line 135
      StackMap locals: sun.security.util.DerValue
      StackMap stack:
            new sun.security.krb5.Asn1Exception
            dup
            sipush 906
            invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
            athrow
        start local 5 // java.math.BigInteger bint
        12: .line 137
      StackMap locals: java.math.BigInteger
      StackMap stack:
            aload 3 /* der */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 4 /* subDer */
        13: .line 138
            aload 4 /* subDer */
            invokevirtual sun.security.util.DerValue.getTag:()B
            bipush 31
            iand
            iconst_2
            if_icmpne 18
        14: .line 139
            aload 4 /* subDer */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
            astore 5 /* bint */
        15: .line 140
            aload 0 /* this */
            aload 5 /* bint */
            invokevirtual java.math.BigInteger.intValue:()I
            putfield sun.security.krb5.internal.KDCReq.msgType:I
        16: .line 141
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.msgType:I
            iload 2 /* req_type */
            if_icmpeq 19
        17: .line 142
            new sun.security.krb5.internal.KrbApErrException
            dup
            bipush 40
            invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
            athrow
        18: .line 145
      StackMap locals:
      StackMap stack:
            new sun.security.krb5.Asn1Exception
            dup
            sipush 906
            invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
            athrow
        19: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* der */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            iconst_3
            iconst_1
            invokestatic sun.security.krb5.internal.PAData.parseSequence:(Lsun/security/util/DerInputStream;BZ)[Lsun/security/krb5/internal/PAData;
            putfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
        20: .line 148
            aload 3 /* der */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 4 /* subDer */
        21: .line 149
            aload 4 /* subDer */
            invokevirtual sun.security.util.DerValue.getTag:()B
            bipush 31
            iand
            iconst_4
            if_icmpne 25
        22: .line 150
            aload 4 /* subDer */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* subsubDer */
        start local 6 // sun.security.util.DerValue subsubDer
        23: .line 151
            aload 0 /* this */
            new sun.security.krb5.internal.KDCReqBody
            dup
            aload 6 /* subsubDer */
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.msgType:I
            invokespecial sun.security.krb5.internal.KDCReqBody.<init>:(Lsun/security/util/DerValue;I)V
            putfield sun.security.krb5.internal.KDCReq.reqBody:Lsun/security/krb5/internal/KDCReqBody;
        end local 6 // sun.security.util.DerValue subsubDer
        24: .line 152
            goto 26
        25: .line 153
      StackMap locals:
      StackMap stack:
            new sun.security.krb5.Asn1Exception
            dup
            sipush 906
            invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
            athrow
        26: .line 155
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.math.BigInteger bint
        end local 4 // sun.security.util.DerValue subDer
        end local 3 // sun.security.util.DerValue der
        end local 2 // int req_type
        end local 1 // sun.security.util.DerValue encoding
        end local 0 // sun.security.krb5.internal.KDCReq this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lsun/security/krb5/internal/KDCReq;
            0   27     1   encoding  Lsun/security/util/DerValue;
            0   27     2   req_type  I
            3   27     3        der  Lsun/security/util/DerValue;
            6   27     4     subDer  Lsun/security/util/DerValue;
            8   11     5       bint  Ljava/math/BigInteger;
           12   27     5       bint  Ljava/math/BigInteger;
           23   24     6  subsubDer  Lsun/security/util/DerValue;
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException, sun.security.krb5.KrbException
    MethodParameters:
          Name  Flags
      encoding  
      req_type  

  public byte[] asn1Encode();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // sun.security.krb5.internal.KDCReq this
         0: .line 167
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 1 /* temp */
        start local 1 // sun.security.util.DerOutputStream temp
         1: .line 168
            aload 1 /* temp */
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.pvno:I
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
         2: .line 169
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* out */
        start local 3 // sun.security.util.DerOutputStream out
         3: .line 170
            aload 3 /* out */
            bipush -128
         4: .line 171
            iconst_1
            iconst_1
         5: .line 170
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
         6: .line 171
            aload 1 /* temp */
         7: .line 170
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
         8: .line 172
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 1 /* temp */
         9: .line 173
            aload 1 /* temp */
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.msgType:I
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
        10: .line 174
            aload 3 /* out */
            bipush -128
        11: .line 175
            iconst_1
            iconst_2
        12: .line 174
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        13: .line 175
            aload 1 /* temp */
        14: .line 174
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        15: .line 176
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
            ifnull 29
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
            arraylength
            ifle 29
        16: .line 177
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 1 /* temp */
        17: .line 178
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        18: goto 21
        19: .line 179
      StackMap locals: sun.security.krb5.internal.KDCReq sun.security.util.DerOutputStream top sun.security.util.DerOutputStream int
      StackMap stack:
            aload 1 /* temp */
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
            iload 4 /* i */
            aaload
            invokevirtual sun.security.krb5.internal.PAData.asn1Encode:()[B
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        20: .line 178
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.pAData:[Lsun/security/krb5/internal/PAData;
            arraylength
            if_icmplt 19
        end local 4 // int i
        22: .line 181
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* bytes */
        start local 2 // sun.security.util.DerOutputStream bytes
        23: .line 182
            aload 2 /* bytes */
            bipush 48
            aload 1 /* temp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        24: .line 183
            aload 3 /* out */
            bipush -128
        25: .line 184
            iconst_1
            iconst_3
        26: .line 183
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        27: .line 184
            aload 2 /* bytes */
        28: .line 183
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 2 // sun.security.util.DerOutputStream bytes
        29: .line 186
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            bipush -128
        30: .line 187
            iconst_1
            iconst_4
        31: .line 186
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        32: .line 187
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.reqBody:Lsun/security/krb5/internal/KDCReqBody;
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.msgType:I
            invokevirtual sun.security.krb5.internal.KDCReqBody.asn1Encode:(I)[B
        33: .line 186
            invokevirtual sun.security.util.DerOutputStream.write:(B[B)V
        34: .line 188
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* bytes */
        start local 2 // sun.security.util.DerOutputStream bytes
        35: .line 189
            aload 2 /* bytes */
            bipush 48
            aload 3 /* out */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        36: .line 190
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* out */
        37: .line 191
            aload 3 /* out */
            bipush 64
        38: .line 192
            iconst_1
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.msgType:I
            i2b
        39: .line 191
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        40: .line 192
            aload 2 /* bytes */
        41: .line 191
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        42: .line 193
            aload 3 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            areturn
        end local 3 // sun.security.util.DerOutputStream out
        end local 2 // sun.security.util.DerOutputStream bytes
        end local 1 // sun.security.util.DerOutputStream temp
        end local 0 // sun.security.krb5.internal.KDCReq this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   43     0   this  Lsun/security/krb5/internal/KDCReq;
            1   43     1   temp  Lsun/security/util/DerOutputStream;
           23   29     2  bytes  Lsun/security/util/DerOutputStream;
           35   43     2  bytes  Lsun/security/util/DerOutputStream;
            3   43     3    out  Lsun/security/util/DerOutputStream;
           18   22     4      i  I
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException

  public byte[] asn1EncodeReqBody();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.KDCReq this
         0: .line 197
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.reqBody:Lsun/security/krb5/internal/KDCReqBody;
            aload 0 /* this */
            getfield sun.security.krb5.internal.KDCReq.msgType:I
            invokevirtual sun.security.krb5.internal.KDCReqBody.asn1Encode:(I)[B
            areturn
        end local 0 // sun.security.krb5.internal.KDCReq this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/internal/KDCReq;
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException
}
SourceFile: "KDCReq.java"