public class org.bouncycastle.math.ec.ECCurve$F2m extends org.bouncycastle.math.ec.ECCurve$AbstractF2m
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.math.ec.ECCurve$F2m
  super_class: org.bouncycastle.math.ec.ECCurve$AbstractF2m
{
  private static final int F2M_DEFAULT_COORDS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

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

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

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

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

  private org.bouncycastle.math.ec.ECPoint$F2m infinity;
    descriptor: Lorg/bouncycastle/math/ec/ECPoint$F2m;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(int, int, java.math.BigInteger, java.math.BigInteger);
    descriptor: (IILjava/math/BigInteger;Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // int m
        start local 2 // int k
        start local 3 // java.math.BigInteger a
        start local 4 // java.math.BigInteger b
         0: .line 1026
            aload 0 /* this */
            iload 1 /* m */
            iload 2 /* k */
            iconst_0
            iconst_0
            aload 3 /* a */
            aload 4 /* b */
            aconst_null
            aconst_null
            invokespecial org.bouncycastle.math.ec.ECCurve$F2m.<init>:(IIIILjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
         1: .line 1027
            return
        end local 4 // java.math.BigInteger b
        end local 3 // java.math.BigInteger a
        end local 2 // int k
        end local 1 // int m
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0    2     1     m  I
            0    2     2     k  I
            0    2     3     a  Ljava/math/BigInteger;
            0    2     4     b  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      m     
      k     
      a     
      b     

  public void <init>(int, int, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
    descriptor: (IILjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // int m
        start local 2 // int k
        start local 3 // java.math.BigInteger a
        start local 4 // java.math.BigInteger b
        start local 5 // java.math.BigInteger order
        start local 6 // java.math.BigInteger cofactor
         0: .line 1054
            aload 0 /* this */
            iload 1 /* m */
            iload 2 /* k */
            iconst_0
            iconst_0
            aload 3 /* a */
            aload 4 /* b */
            aload 5 /* order */
            aload 6 /* cofactor */
            invokespecial org.bouncycastle.math.ec.ECCurve$F2m.<init>:(IIIILjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
         1: .line 1055
            return
        end local 6 // java.math.BigInteger cofactor
        end local 5 // java.math.BigInteger order
        end local 4 // java.math.BigInteger b
        end local 3 // java.math.BigInteger a
        end local 2 // int k
        end local 1 // int m
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0    2     1         m  I
            0    2     2         k  I
            0    2     3         a  Ljava/math/BigInteger;
            0    2     4         b  Ljava/math/BigInteger;
            0    2     5     order  Ljava/math/BigInteger;
            0    2     6  cofactor  Ljava/math/BigInteger;
    MethodParameters:
          Name  Flags
      m         
      k         
      a         
      b         
      order     
      cofactor  

  public void <init>(int, int, int, int, java.math.BigInteger, java.math.BigInteger);
    descriptor: (IIIILjava/math/BigInteger;Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // int m
        start local 2 // int k1
        start local 3 // int k2
        start local 4 // int k3
        start local 5 // java.math.BigInteger a
        start local 6 // java.math.BigInteger b
         0: .line 1086
            aload 0 /* this */
            iload 1 /* m */
            iload 2 /* k1 */
            iload 3 /* k2 */
            iload 4 /* k3 */
            aload 5 /* a */
            aload 6 /* b */
            aconst_null
            aconst_null
            invokespecial org.bouncycastle.math.ec.ECCurve$F2m.<init>:(IIIILjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
         1: .line 1087
            return
        end local 6 // java.math.BigInteger b
        end local 5 // java.math.BigInteger a
        end local 4 // int k3
        end local 3 // int k2
        end local 2 // int k1
        end local 1 // int m
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0    2     1     m  I
            0    2     2    k1  I
            0    2     3    k2  I
            0    2     4    k3  I
            0    2     5     a  Ljava/math/BigInteger;
            0    2     6     b  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      m     
      k1    
      k2    
      k3    
      a     
      b     

  public void <init>(int, int, int, int, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
    descriptor: (IIIILjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=9
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // int m
        start local 2 // int k1
        start local 3 // int k2
        start local 4 // int k3
        start local 5 // java.math.BigInteger a
        start local 6 // java.math.BigInteger b
        start local 7 // java.math.BigInteger order
        start local 8 // java.math.BigInteger cofactor
         0: .line 1122
            aload 0 /* this */
            iload 1 /* m */
            iload 2 /* k1 */
            iload 3 /* k2 */
            iload 4 /* k3 */
            invokespecial org.bouncycastle.math.ec.ECCurve$AbstractF2m.<init>:(IIII)V
         1: .line 1124
            aload 0 /* this */
            iload 1 /* m */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.m:I
         2: .line 1125
            aload 0 /* this */
            iload 2 /* k1 */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.k1:I
         3: .line 1126
            aload 0 /* this */
            iload 3 /* k2 */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.k2:I
         4: .line 1127
            aload 0 /* this */
            iload 4 /* k3 */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.k3:I
         5: .line 1128
            aload 0 /* this */
            aload 7 /* order */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.order:Ljava/math/BigInteger;
         6: .line 1129
            aload 0 /* this */
            aload 8 /* cofactor */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.cofactor:Ljava/math/BigInteger;
         7: .line 1131
            aload 0 /* this */
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 0 /* this */
            aconst_null
            aconst_null
            iconst_0
            invokespecial org.bouncycastle.math.ec.ECPoint$F2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
            putfield org.bouncycastle.math.ec.ECCurve$F2m.infinity:Lorg/bouncycastle/math/ec/ECPoint$F2m;
         8: .line 1132
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* a */
            invokevirtual org.bouncycastle.math.ec.ECCurve$F2m.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
            putfield org.bouncycastle.math.ec.ECCurve$F2m.a:Lorg/bouncycastle/math/ec/ECFieldElement;
         9: .line 1133
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* b */
            invokevirtual org.bouncycastle.math.ec.ECCurve$F2m.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
            putfield org.bouncycastle.math.ec.ECCurve$F2m.b:Lorg/bouncycastle/math/ec/ECFieldElement;
        10: .line 1134
            aload 0 /* this */
            bipush 6
            putfield org.bouncycastle.math.ec.ECCurve$F2m.coord:I
        11: .line 1135
            return
        end local 8 // java.math.BigInteger cofactor
        end local 7 // java.math.BigInteger order
        end local 6 // java.math.BigInteger b
        end local 5 // java.math.BigInteger a
        end local 4 // int k3
        end local 3 // int k2
        end local 2 // int k1
        end local 1 // int m
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0   12     1         m  I
            0   12     2        k1  I
            0   12     3        k2  I
            0   12     4        k3  I
            0   12     5         a  Ljava/math/BigInteger;
            0   12     6         b  Ljava/math/BigInteger;
            0   12     7     order  Ljava/math/BigInteger;
            0   12     8  cofactor  Ljava/math/BigInteger;
    MethodParameters:
          Name  Flags
      m         
      k1        
      k2        
      k3        
      a         
      b         
      order     
      cofactor  

  protected void <init>(int, int, int, int, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, java.math.BigInteger, java.math.BigInteger);
    descriptor: (IIIILorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=9, args_size=9
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // int m
        start local 2 // int k1
        start local 3 // int k2
        start local 4 // int k3
        start local 5 // org.bouncycastle.math.ec.ECFieldElement a
        start local 6 // org.bouncycastle.math.ec.ECFieldElement b
        start local 7 // java.math.BigInteger order
        start local 8 // java.math.BigInteger cofactor
         0: .line 1139
            aload 0 /* this */
            iload 1 /* m */
            iload 2 /* k1 */
            iload 3 /* k2 */
            iload 4 /* k3 */
            invokespecial org.bouncycastle.math.ec.ECCurve$AbstractF2m.<init>:(IIII)V
         1: .line 1141
            aload 0 /* this */
            iload 1 /* m */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.m:I
         2: .line 1142
            aload 0 /* this */
            iload 2 /* k1 */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.k1:I
         3: .line 1143
            aload 0 /* this */
            iload 3 /* k2 */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.k2:I
         4: .line 1144
            aload 0 /* this */
            iload 4 /* k3 */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.k3:I
         5: .line 1145
            aload 0 /* this */
            aload 7 /* order */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.order:Ljava/math/BigInteger;
         6: .line 1146
            aload 0 /* this */
            aload 8 /* cofactor */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.cofactor:Ljava/math/BigInteger;
         7: .line 1148
            aload 0 /* this */
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 0 /* this */
            aconst_null
            aconst_null
            iconst_0
            invokespecial org.bouncycastle.math.ec.ECPoint$F2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
            putfield org.bouncycastle.math.ec.ECCurve$F2m.infinity:Lorg/bouncycastle/math/ec/ECPoint$F2m;
         8: .line 1149
            aload 0 /* this */
            aload 5 /* a */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.a:Lorg/bouncycastle/math/ec/ECFieldElement;
         9: .line 1150
            aload 0 /* this */
            aload 6 /* b */
            putfield org.bouncycastle.math.ec.ECCurve$F2m.b:Lorg/bouncycastle/math/ec/ECFieldElement;
        10: .line 1151
            aload 0 /* this */
            bipush 6
            putfield org.bouncycastle.math.ec.ECCurve$F2m.coord:I
        11: .line 1152
            return
        end local 8 // java.math.BigInteger cofactor
        end local 7 // java.math.BigInteger order
        end local 6 // org.bouncycastle.math.ec.ECFieldElement b
        end local 5 // org.bouncycastle.math.ec.ECFieldElement a
        end local 4 // int k3
        end local 3 // int k2
        end local 2 // int k1
        end local 1 // int m
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0   12     1         m  I
            0   12     2        k1  I
            0   12     3        k2  I
            0   12     4        k3  I
            0   12     5         a  Lorg/bouncycastle/math/ec/ECFieldElement;
            0   12     6         b  Lorg/bouncycastle/math/ec/ECFieldElement;
            0   12     7     order  Ljava/math/BigInteger;
            0   12     8  cofactor  Ljava/math/BigInteger;
    MethodParameters:
          Name  Flags
      m         
      k1        
      k2        
      k3        
      a         
      b         
      order     
      cofactor  

  protected org.bouncycastle.math.ec.ECCurve cloneCurve();
    descriptor: ()Lorg/bouncycastle/math/ec/ECCurve;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
         0: .line 1156
            new org.bouncycastle.math.ec.ECCurve$F2m
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.m:I
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k1:I
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k2:I
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k3:I
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.a:Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.b:Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.order:Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.cofactor:Ljava/math/BigInteger;
            invokespecial org.bouncycastle.math.ec.ECCurve$F2m.<init>:(IIIILorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            areturn
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;

  public boolean supportsCoordinateSystem(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // int coord
         0: .line 1161
            iload 1 /* coord */
            tableswitch { // 0 - 6
                    0: 1
                    1: 1
                    2: 2
                    3: 2
                    4: 2
                    5: 2
                    6: 1
              default: 2
          }
         1: .line 1166
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1168
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int coord
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0    3     1  coord  I
    MethodParameters:
       Name  Flags
      coord  

  protected org.bouncycastle.math.ec.ECMultiplier createDefaultMultiplier();
    descriptor: ()Lorg/bouncycastle/math/ec/ECMultiplier;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
         0: .line 1174
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECCurve$F2m.isKoblitz:()Z
            ifeq 2
         1: .line 1176
            new org.bouncycastle.math.ec.WTauNafMultiplier
            dup
            invokespecial org.bouncycastle.math.ec.WTauNafMultiplier.<init>:()V
            areturn
         2: .line 1179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.bouncycastle.math.ec.ECCurve$AbstractF2m.createDefaultMultiplier:()Lorg/bouncycastle/math/ec/ECMultiplier;
            areturn
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;

  public int getFieldSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
         0: .line 1184
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.m:I
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;

  public org.bouncycastle.math.ec.ECFieldElement fromBigInteger(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // java.math.BigInteger x
         0: .line 1189
            new org.bouncycastle.math.ec.ECFieldElement$F2m
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.m:I
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k1:I
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k2:I
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k3:I
            aload 1 /* x */
            invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(IIIILjava/math/BigInteger;)V
            areturn
        end local 1 // java.math.BigInteger x
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0    1     1     x  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      x     

  protected org.bouncycastle.math.ec.ECPoint createRawPoint(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, boolean);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // org.bouncycastle.math.ec.ECFieldElement x
        start local 2 // org.bouncycastle.math.ec.ECFieldElement y
        start local 3 // boolean withCompression
         0: .line 1194
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 0 /* this */
            aload 1 /* x */
            aload 2 /* y */
            iload 3 /* withCompression */
            invokespecial org.bouncycastle.math.ec.ECPoint$F2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
            areturn
        end local 3 // boolean withCompression
        end local 2 // org.bouncycastle.math.ec.ECFieldElement y
        end local 1 // org.bouncycastle.math.ec.ECFieldElement x
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0    1     1                x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     2                y  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     3  withCompression  Z
    MethodParameters:
                 Name  Flags
      x                
      y                
      withCompression  

  protected org.bouncycastle.math.ec.ECPoint createRawPoint(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement[], boolean);
    descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // org.bouncycastle.math.ec.ECFieldElement x
        start local 2 // org.bouncycastle.math.ec.ECFieldElement y
        start local 3 // org.bouncycastle.math.ec.ECFieldElement[] zs
        start local 4 // boolean withCompression
         0: .line 1199
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 0 /* this */
            aload 1 /* x */
            aload 2 /* y */
            aload 3 /* zs */
            iload 4 /* withCompression */
            invokespecial org.bouncycastle.math.ec.ECPoint$F2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
            areturn
        end local 4 // boolean withCompression
        end local 3 // org.bouncycastle.math.ec.ECFieldElement[] zs
        end local 2 // org.bouncycastle.math.ec.ECFieldElement y
        end local 1 // org.bouncycastle.math.ec.ECFieldElement x
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0    1     1                x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     2                y  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     3               zs  [Lorg/bouncycastle/math/ec/ECFieldElement;
            0    1     4  withCompression  Z
    MethodParameters:
                 Name  Flags
      x                
      y                
      zs               
      withCompression  

  public org.bouncycastle.math.ec.ECPoint getInfinity();
    descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
         0: .line 1204
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.infinity:Lorg/bouncycastle/math/ec/ECPoint$F2m;
            areturn
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;

  public int getM();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
         0: .line 1209
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.m:I
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;

  public boolean isTrinomial();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
         0: .line 1219
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k2:I
            ifne 1
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k3:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;

  public int getK1();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
         0: .line 1224
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k1:I
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;

  public int getK2();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
         0: .line 1229
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k2:I
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;

  public int getK3();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
         0: .line 1234
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k3:I
            ireturn
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECCurve$F2m;

  public org.bouncycastle.math.ec.ECLookupTable createCacheSafeLookupTable(org.bouncycastle.math.ec.ECPoint[], int, int);
    descriptor: ([Lorg/bouncycastle/math/ec/ECPoint;II)Lorg/bouncycastle/math/ec/ECLookupTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
        start local 1 // org.bouncycastle.math.ec.ECPoint[] points
        start local 2 // int off
        start local 3 // int len
         0: .line 1239
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.m:I
            bipush 63
            iadd
            bipush 6
            iushr
            istore 4 /* FE_LONGS */
        start local 4 // int FE_LONGS
         1: .line 1240
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECCurve$F2m.isTrinomial:()Z
            ifeq 2
            iconst_1
            newarray 10
            dup
            iconst_0
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k1:I
            iastore
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_3
            newarray 10
            dup
            iconst_0
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k1:I
            iastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k2:I
            iastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECCurve$F2m.k3:I
            iastore
      StackMap locals:
      StackMap stack: int[]
         3: astore 5 /* ks */
        start local 5 // int[] ks
         4: .line 1242
            iload 3 /* len */
            iload 4 /* FE_LONGS */
            imul
            iconst_2
            imul
            newarray 11
            astore 6 /* table */
        start local 6 // long[] table
         5: .line 1244
            iconst_0
            istore 7 /* pos */
        start local 7 // int pos
         6: .line 1245
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 12
         8: .line 1247
      StackMap locals: org.bouncycastle.math.ec.ECCurve$F2m org.bouncycastle.math.ec.ECPoint[] int int int int[] long[] int int
      StackMap stack:
            aload 1 /* points */
            iload 2 /* off */
            iload 8 /* i */
            iadd
            aaload
            astore 9 /* p */
        start local 9 // org.bouncycastle.math.ec.ECPoint p
         9: .line 1248
            aload 9 /* p */
            invokevirtual org.bouncycastle.math.ec.ECPoint.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
            getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
            aload 6 /* table */
            iload 7 /* pos */
            invokevirtual org.bouncycastle.math.ec.LongArray.copyTo:([JI)V
            iload 7 /* pos */
            iload 4 /* FE_LONGS */
            iadd
            istore 7 /* pos */
        10: .line 1249
            aload 9 /* p */
            invokevirtual org.bouncycastle.math.ec.ECPoint.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
            getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/LongArray;
            aload 6 /* table */
            iload 7 /* pos */
            invokevirtual org.bouncycastle.math.ec.LongArray.copyTo:([JI)V
            iload 7 /* pos */
            iload 4 /* FE_LONGS */
            iadd
            istore 7 /* pos */
        end local 9 // org.bouncycastle.math.ec.ECPoint p
        11: .line 1245
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 8 /* i */
            iload 3 /* len */
            if_icmplt 8
        end local 8 // int i
        end local 7 // int pos
        13: .line 1253
            new org.bouncycastle.math.ec.ECCurve$F2m$1
            dup
            aload 0 /* this */
            iload 3 /* len */
            iload 4 /* FE_LONGS */
            aload 6 /* table */
            aload 5 /* ks */
            invokespecial org.bouncycastle.math.ec.ECCurve$F2m$1.<init>:(Lorg/bouncycastle/math/ec/ECCurve$F2m;II[J[I)V
            areturn
        end local 6 // long[] table
        end local 5 // int[] ks
        end local 4 // int FE_LONGS
        end local 3 // int len
        end local 2 // int off
        end local 1 // org.bouncycastle.math.ec.ECPoint[] points
        end local 0 // org.bouncycastle.math.ec.ECCurve$F2m this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/bouncycastle/math/ec/ECCurve$F2m;
            0   14     1    points  [Lorg/bouncycastle/math/ec/ECPoint;
            0   14     2       off  I
            0   14     3       len  I
            1   14     4  FE_LONGS  I
            4   14     5        ks  [I
            5   14     6     table  [J
            6   13     7       pos  I
            7   13     8         i  I
            9   11     9         p  Lorg/bouncycastle/math/ec/ECPoint;
    MethodParameters:
        Name  Flags
      points  
      off     
      len     final
}
SourceFile: "ECCurve.java"
NestHost: org.bouncycastle.math.ec.ECCurve
InnerClasses:
  public abstract AbstractF2m = org.bouncycastle.math.ec.ECCurve$AbstractF2m of org.bouncycastle.math.ec.ECCurve
  public F2m = org.bouncycastle.math.ec.ECCurve$F2m of org.bouncycastle.math.ec.ECCurve
  org.bouncycastle.math.ec.ECCurve$F2m$1
  public F2m = org.bouncycastle.math.ec.ECFieldElement$F2m of org.bouncycastle.math.ec.ECFieldElement
  public F2m = org.bouncycastle.math.ec.ECPoint$F2m of org.bouncycastle.math.ec.ECPoint