public class sun.security.mscapi.CPublicKey$CECPublicKey extends sun.security.mscapi.CPublicKey implements java.security.interfaces.ECPublicKey
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.mscapi.CPublicKey$CECPublicKey
  super_class: sun.security.mscapi.CPublicKey
{
  private java.security.spec.ECPoint w;
    descriptor: Ljava/security/spec/ECPoint;
    flags: (0x0002) ACC_PRIVATE

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  void <init>(sun.security.mscapi.CKey$NativeHandles, int);
    descriptor: (Lsun/security/mscapi/CKey$NativeHandles;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
        start local 1 // sun.security.mscapi.CKey$NativeHandles handles
        start local 2 // int keyLength
         0: .line 63
            aload 0 /* this */
            ldc "EC"
            aload 1 /* handles */
            iload 2 /* keyLength */
            invokespecial sun.security.mscapi.CPublicKey.<init>:(Ljava/lang/String;Lsun/security/mscapi/CKey$NativeHandles;I)V
         1: .line 59
            aload 0 /* this */
            aconst_null
            putfield sun.security.mscapi.CPublicKey$CECPublicKey.w:Ljava/security/spec/ECPoint;
         2: .line 64
            return
        end local 2 // int keyLength
        end local 1 // sun.security.mscapi.CKey$NativeHandles handles
        end local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/security/mscapi/CPublicKey$CECPublicKey;
            0    3     1    handles  Lsun/security/mscapi/CKey$NativeHandles;
            0    3     2  keyLength  I
    MethodParameters:
           Name  Flags
      handles    
      keyLength  

  public java.security.spec.ECPoint getW();
    descriptor: ()Ljava/security/spec/ECPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
         0: .line 68
            aload 0 /* this */
            getfield sun.security.mscapi.CPublicKey$CECPublicKey.w:Ljava/security/spec/ECPoint;
            ifnonnull 11
         1: .line 71
            aload 0 /* this */
         2: .line 72
            aload 0 /* this */
            getfield sun.security.mscapi.CPublicKey$CECPublicKey.handles:Lsun/security/mscapi/CKey$NativeHandles;
            getfield sun.security.mscapi.CKey$NativeHandles.hCryptProv:J
            aload 0 /* this */
            getfield sun.security.mscapi.CPublicKey$CECPublicKey.handles:Lsun/security/mscapi/CKey$NativeHandles;
            getfield sun.security.mscapi.CKey$NativeHandles.hCryptKey:J
         3: .line 71
            invokevirtual sun.security.mscapi.CPublicKey$CECPublicKey.getPublicKeyBlob:(JJ)[B
            astore 1 /* blob */
        start local 1 // byte[] blob
         4: .line 73
            aload 1 /* blob */
            bipush 8
            baload
            sipush 255
            iand
            istore 2 /* len */
        start local 2 // int len
         5: .line 74
            aload 1 /* blob */
            bipush 8
            bipush 8
            iload 2 /* len */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            astore 3 /* x */
        start local 3 // byte[] x
         6: .line 75
            aload 1 /* blob */
            bipush 8
            iload 2 /* len */
            iadd
            bipush 8
            iload 2 /* len */
            iadd
            iload 2 /* len */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            astore 4 /* y */
        start local 4 // byte[] y
         7: .line 76
            aload 0 /* this */
            new java.security.spec.ECPoint
            dup
            new java.math.BigInteger
            dup
            iconst_1
            aload 3 /* x */
            invokespecial java.math.BigInteger.<init>:(I[B)V
            new java.math.BigInteger
            dup
            iconst_1
            aload 4 /* y */
            invokespecial java.math.BigInteger.<init>:(I[B)V
            invokespecial java.security.spec.ECPoint.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            putfield sun.security.mscapi.CPublicKey$CECPublicKey.w:Ljava/security/spec/ECPoint;
        end local 4 // byte[] y
        end local 3 // byte[] x
        end local 2 // int len
        end local 1 // byte[] blob
         8: .line 77
            goto 11
      StackMap locals:
      StackMap stack: java.security.KeyException
         9: astore 1 /* e */
        start local 1 // java.security.KeyException e
        10: .line 78
            new java.security.ProviderException
            dup
            aload 1 /* e */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.security.KeyException e
        11: .line 81
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.mscapi.CPublicKey$CECPublicKey.w:Ljava/security/spec/ECPoint;
            areturn
        end local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/security/mscapi/CPublicKey$CECPublicKey;
            4    8     1  blob  [B
            5    8     2   len  I
            6    8     3     x  [B
            7    8     4     y  [B
           10   11     1     e  Ljava/security/KeyException;
      Exception table:
        from    to  target  type
           1     8       9  Class java.security.KeyException

  public byte[] getEncoded();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
         0: .line 86
            aload 0 /* this */
            getfield sun.security.mscapi.CPublicKey$CECPublicKey.encoding:[B
            ifnonnull 8
         1: .line 88
            aload 0 /* this */
            ldc "EC"
            invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
         2: .line 89
            new java.security.spec.ECPublicKeySpec
            dup
            aload 0 /* this */
            invokevirtual sun.security.mscapi.CPublicKey$CECPublicKey.getW:()Ljava/security/spec/ECPoint;
            aload 0 /* this */
            invokevirtual sun.security.mscapi.CPublicKey$CECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
            invokespecial java.security.spec.ECPublicKeySpec.<init>:(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V
         3: .line 88
            invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
         4: .line 90
            invokeinterface java.security.PublicKey.getEncoded:()[B
         5: .line 88
            putfield sun.security.mscapi.CPublicKey$CECPublicKey.encoding:[B
         6: .line 91
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Exception
         7: pop
         8: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.mscapi.CPublicKey$CECPublicKey.encoding:[B
            areturn
        end local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/mscapi/CPublicKey$CECPublicKey;
      Exception table:
        from    to  target  type
           1     6       7  Class java.lang.Exception

  public java.security.spec.ECParameterSpec getParams();
    descriptor: ()Ljava/security/spec/ECParameterSpec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
         0: .line 101
            ldc "EC"
            invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
            astore 1 /* ap */
        start local 1 // java.security.AlgorithmParameters ap
         1: .line 102
            aload 1 /* ap */
            new sun.security.util.ECKeySizeParameterSpec
            dup
            aload 0 /* this */
            getfield sun.security.mscapi.CPublicKey$CECPublicKey.keyLength:I
            invokespecial sun.security.util.ECKeySizeParameterSpec.<init>:(I)V
            invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
         2: .line 103
            aload 1 /* ap */
            ldc Ljava/security/spec/ECParameterSpec;
            invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
            checkcast java.security.spec.ECParameterSpec
         3: areturn
        end local 1 // java.security.AlgorithmParameters ap
         4: .line 104
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: .line 105
            new java.security.ProviderException
            dup
            aload 1 /* e */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/mscapi/CPublicKey$CECPublicKey;
            1    4     1    ap  Ljava/security/AlgorithmParameters;
            5    6     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
         0: .line 110
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 111
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.security.mscapi.CPublicKey$CECPublicKey.algorithm:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "PublicKey [size="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield sun.security.mscapi.CPublicKey$CECPublicKey.keyLength:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
         2: .line 112
            ldc "]\n  ECPoint: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual sun.security.mscapi.CPublicKey$CECPublicKey.getW:()Ljava/security/spec/ECPoint;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
         3: .line 113
            ldc "\n  params: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            invokevirtual sun.security.mscapi.CPublicKey$CECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
         4: .line 114
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // sun.security.mscapi.CPublicKey$CECPublicKey this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/mscapi/CPublicKey$CECPublicKey;
            1    5     1    sb  Ljava/lang/StringBuffer;

  public long getHCryptKey();
    descriptor: ()J
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial sun.security.mscapi.CPublicKey.getHCryptKey:()J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int length();
    descriptor: ()I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial sun.security.mscapi.CPublicKey.length:()I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String getAlgorithm();
    descriptor: ()Ljava/lang/String;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial sun.security.mscapi.CPublicKey.getAlgorithm:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public long getHCryptProvider();
    descriptor: ()J
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            aload 0
            invokespecial sun.security.mscapi.CPublicKey.getHCryptProvider:()J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "CPublicKey.java"
NestHost: sun.security.mscapi.CPublicKey
InnerClasses:
  NativeHandles = sun.security.mscapi.CKey$NativeHandles of sun.security.mscapi.CKey
  public CECPublicKey = sun.security.mscapi.CPublicKey$CECPublicKey of sun.security.mscapi.CPublicKey