public class org.bouncycastle.math.ec.ECPoint$F2m extends org.bouncycastle.math.ec.ECPoint$AbstractF2m
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.math.ec.ECPoint$F2m
  super_class: org.bouncycastle.math.ec.ECPoint$AbstractF2m
{
  public void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, boolean);
    descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
        start local 1 // org.bouncycastle.math.ec.ECCurve curve
        start local 2 // org.bouncycastle.math.ec.ECFieldElement x
        start local 3 // org.bouncycastle.math.ec.ECFieldElement y
        start local 4 // boolean withCompression
         0: .line 1627
            aload 0 /* this */
            aload 1 /* curve */
            aload 2 /* x */
            aload 3 /* y */
            invokespecial org.bouncycastle.math.ec.ECPoint$AbstractF2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
         1: .line 1629
            aload 2 /* x */
            ifnonnull 2
            iconst_1
            goto 3
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: aload 3 /* y */
            ifnonnull 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int
      StackMap stack: int int
         5: if_icmpeq 7
         6: .line 1631
            new java.lang.IllegalArgumentException
            dup
            ldc "Exactly one of the field elements is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1634
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            ifnull 11
         8: .line 1637
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            invokestatic org.bouncycastle.math.ec.ECFieldElement$F2m.checkFieldElements:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
         9: .line 1640
            aload 1 /* curve */
            ifnull 11
        10: .line 1642
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokestatic org.bouncycastle.math.ec.ECFieldElement$F2m.checkFieldElements:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
        11: .line 1646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* withCompression */
            putfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
        12: .line 1649
            return
        end local 4 // boolean withCompression
        end local 3 // org.bouncycastle.math.ec.ECFieldElement y
        end local 2 // org.bouncycastle.math.ec.ECFieldElement x
        end local 1 // org.bouncycastle.math.ec.ECCurve curve
        end local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/bouncycastle/math/ec/ECPoint$F2m;
            0   13     1            curve  Lorg/bouncycastle/math/ec/ECCurve;
            0   13     2                x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0   13     3                y  Lorg/bouncycastle/math/ec/ECFieldElement;
            0   13     4  withCompression  Z
    MethodParameters:
                 Name  Flags
      curve            
      x                
      y                
      withCompression  

  void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement[], boolean);
    descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
        start local 1 // org.bouncycastle.math.ec.ECCurve curve
        start local 2 // org.bouncycastle.math.ec.ECFieldElement x
        start local 3 // org.bouncycastle.math.ec.ECFieldElement y
        start local 4 // org.bouncycastle.math.ec.ECFieldElement[] zs
        start local 5 // boolean withCompression
         0: .line 1653
            aload 0 /* this */
            aload 1 /* curve */
            aload 2 /* x */
            aload 3 /* y */
            aload 4 /* zs */
            invokespecial org.bouncycastle.math.ec.ECPoint$AbstractF2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;)V
         1: .line 1655
            aload 0 /* this */
            iload 5 /* withCompression */
            putfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
         2: .line 1658
            return
        end local 5 // boolean withCompression
        end local 4 // org.bouncycastle.math.ec.ECFieldElement[] zs
        end local 3 // org.bouncycastle.math.ec.ECFieldElement y
        end local 2 // org.bouncycastle.math.ec.ECFieldElement x
        end local 1 // org.bouncycastle.math.ec.ECCurve curve
        end local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/bouncycastle/math/ec/ECPoint$F2m;
            0    3     1            curve  Lorg/bouncycastle/math/ec/ECCurve;
            0    3     2                x  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    3     3                y  Lorg/bouncycastle/math/ec/ECFieldElement;
            0    3     4               zs  [Lorg/bouncycastle/math/ec/ECFieldElement;
            0    3     5  withCompression  Z
    MethodParameters:
                 Name  Flags
      curve            
      x                
      y                
      zs               
      withCompression  

  protected org.bouncycastle.math.ec.ECPoint detach();
    descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
         0: .line 1662
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aconst_null
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getAffineXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getAffineYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            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
            areturn
        end local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/math/ec/ECPoint$F2m;

  public org.bouncycastle.math.ec.ECFieldElement getYCoord();
    descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
         0: .line 1667
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getCurveCoordinateSystem:()I
            istore 1 /* coord */
        start local 1 // int coord
         1: .line 1669
            iload 1 /* coord */
            tableswitch { // 5 - 6
                    5: 2
                    6: 2
              default: 12
          }
         2: .line 1674
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 2 /* X */
        start local 2 // org.bouncycastle.math.ec.ECFieldElement X
         3: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* L */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement L
         4: .line 1676
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
            ifne 5
            aload 2 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 6
         5: .line 1678
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 3 /* L */
            areturn
         6: .line 1682
      StackMap locals:
      StackMap stack:
            aload 3 /* L */
            aload 2 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 2 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* Y */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement Y
         7: .line 1683
            bipush 6
            iload 1 /* coord */
            if_icmpne 11
         8: .line 1685
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 5 /* Z */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement Z
         9: .line 1686
            aload 5 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            ifne 11
        10: .line 1688
            aload 4 /* Y */
            aload 5 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* Y */
        end local 5 // org.bouncycastle.math.ec.ECFieldElement Z
        11: .line 1691
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 4 /* Y */
            areturn
        end local 4 // org.bouncycastle.math.ec.ECFieldElement Y
        end local 3 // org.bouncycastle.math.ec.ECFieldElement L
        end local 2 // org.bouncycastle.math.ec.ECFieldElement X
        12: .line 1695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            areturn
        end local 1 // int coord
        end local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/bouncycastle/math/ec/ECPoint$F2m;
            1   13     1  coord  I
            3   12     2      X  Lorg/bouncycastle/math/ec/ECFieldElement;
            4   12     3      L  Lorg/bouncycastle/math/ec/ECFieldElement;
            7   12     4      Y  Lorg/bouncycastle/math/ec/ECFieldElement;
            9   11     5      Z  Lorg/bouncycastle/math/ec/ECFieldElement;

  protected boolean getCompressionYTilde();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
         0: .line 1702
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 1 /* X */
        start local 1 // org.bouncycastle.math.ec.ECFieldElement X
         1: .line 1703
            aload 1 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 3
         2: .line 1705
            iconst_0
            ireturn
         3: .line 1708
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 2 /* Y */
        start local 2 // org.bouncycastle.math.ec.ECFieldElement Y
         4: .line 1710
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getCurveCoordinateSystem:()I
            tableswitch { // 5 - 6
                    5: 5
                    6: 5
              default: 6
          }
         5: .line 1716
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 2 /* Y */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.testBitZero:()Z
            aload 1 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.testBitZero:()Z
            ixor
            ireturn
         6: .line 1720
      StackMap locals:
      StackMap stack:
            aload 2 /* Y */
            aload 1 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.testBitZero:()Z
            ireturn
        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.ECPoint$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bouncycastle/math/ec/ECPoint$F2m;
            1    7     1     X  Lorg/bouncycastle/math/ec/ECFieldElement;
            4    7     2     Y  Lorg/bouncycastle/math/ec/ECFieldElement;

  public org.bouncycastle.math.ec.ECPoint add(org.bouncycastle.math.ec.ECPoint);
    descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=26, args_size=2
        start local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
        start local 1 // org.bouncycastle.math.ec.ECPoint b
         0: .line 1727
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
            ifeq 2
         1: .line 1729
            aload 1 /* b */
            areturn
         2: .line 1731
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
            ifeq 4
         3: .line 1733
            aload 0 /* this */
            areturn
         4: .line 1736
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            astore 2 /* curve */
        start local 2 // org.bouncycastle.math.ec.ECCurve curve
         5: .line 1737
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
            istore 3 /* coord */
        start local 3 // int coord
         6: .line 1739
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* X1 */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement X1
         7: .line 1740
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 5 /* X2 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement X2
         8: .line 1742
            iload 3 /* coord */
            tableswitch { // 0 - 6
                    0: 9
                    1: 21
                    2: 107
                    3: 107
                    4: 107
                    5: 107
                    6: 54
              default: 107
          }
         9: .line 1746
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 6 /* Y1 */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement Y1
        10: .line 1747
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 7 /* Y2 */
        start local 7 // org.bouncycastle.math.ec.ECFieldElement Y2
        11: .line 1749
            aload 4 /* X1 */
            aload 5 /* X2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 8 /* dx */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement dx
        12: aload 6 /* Y1 */
            aload 7 /* Y2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 9 /* dy */
        start local 9 // org.bouncycastle.math.ec.ECFieldElement dy
        13: .line 1750
            aload 8 /* dx */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 17
        14: .line 1752
            aload 9 /* dy */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 16
        15: .line 1754
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.twice:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        16: .line 1757
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        17: .line 1760
      StackMap locals:
      StackMap stack:
            aload 9 /* dy */
            aload 8 /* dx */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 10 /* L */
        start local 10 // org.bouncycastle.math.ec.ECFieldElement L
        18: .line 1762
            aload 10 /* L */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 10 /* L */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 8 /* dx */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 11 /* X3 */
        start local 11 // org.bouncycastle.math.ec.ECFieldElement X3
        19: .line 1763
            aload 10 /* L */
            aload 4 /* X1 */
            aload 11 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 11 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 6 /* Y1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 12 /* Y3 */
        start local 12 // org.bouncycastle.math.ec.ECFieldElement Y3
        20: .line 1765
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 2 /* curve */
            aload 11 /* X3 */
            aload 12 /* Y3 */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 12 // org.bouncycastle.math.ec.ECFieldElement Y3
        end local 11 // org.bouncycastle.math.ec.ECFieldElement X3
        end local 10 // org.bouncycastle.math.ec.ECFieldElement L
        end local 9 // org.bouncycastle.math.ec.ECFieldElement dy
        end local 8 // org.bouncycastle.math.ec.ECFieldElement dx
        end local 7 // org.bouncycastle.math.ec.ECFieldElement Y2
        end local 6 // org.bouncycastle.math.ec.ECFieldElement Y1
        21: .line 1769
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 6 /* Y1 */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement Y1
        22: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 7 /* Z1 */
        start local 7 // org.bouncycastle.math.ec.ECFieldElement Z1
        23: .line 1770
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 8 /* Y2 */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement Y2
        24: aload 1 /* b */
            getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 9 /* Z2 */
        start local 9 // org.bouncycastle.math.ec.ECFieldElement Z2
        25: .line 1772
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            istore 10 /* Z2IsOne */
        start local 10 // boolean Z2IsOne
        26: .line 1774
            aload 7 /* Z1 */
            aload 8 /* Y2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 11 /* U1 */
        start local 11 // org.bouncycastle.math.ec.ECFieldElement U1
        27: .line 1775
            iload 10 /* Z2IsOne */
            ifeq 28
            aload 6 /* Y1 */
            goto 29
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
        28: aload 6 /* Y1 */
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        29: astore 12 /* U2 */
        start local 12 // org.bouncycastle.math.ec.ECFieldElement U2
        30: .line 1776
            aload 11 /* U1 */
            aload 12 /* U2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 13 /* U */
        start local 13 // org.bouncycastle.math.ec.ECFieldElement U
        31: .line 1777
            aload 7 /* Z1 */
            aload 5 /* X2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 14 /* V1 */
        start local 14 // org.bouncycastle.math.ec.ECFieldElement V1
        32: .line 1778
            iload 10 /* Z2IsOne */
            ifeq 33
            aload 4 /* X1 */
            goto 34
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
        33: aload 4 /* X1 */
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        34: astore 15 /* V2 */
        start local 15 // org.bouncycastle.math.ec.ECFieldElement V2
        35: .line 1779
            aload 14 /* V1 */
            aload 15 /* V2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 16 /* V */
        start local 16 // org.bouncycastle.math.ec.ECFieldElement V
        36: .line 1781
            aload 16 /* V */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 40
        37: .line 1783
            aload 13 /* U */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 39
        38: .line 1785
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.twice:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        39: .line 1788
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        40: .line 1791
      StackMap locals:
      StackMap stack:
            aload 16 /* V */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 17 /* VSq */
        start local 17 // org.bouncycastle.math.ec.ECFieldElement VSq
        41: .line 1792
            aload 17 /* VSq */
            aload 16 /* V */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 18 /* VCu */
        start local 18 // org.bouncycastle.math.ec.ECFieldElement VCu
        42: .line 1793
            iload 10 /* Z2IsOne */
            ifeq 43
            aload 7 /* Z1 */
            goto 44
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
        43: aload 7 /* Z1 */
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        44: astore 19 /* W */
        start local 19 // org.bouncycastle.math.ec.ECFieldElement W
        45: .line 1794
            aload 13 /* U */
            aload 16 /* V */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 20 /* uv */
        start local 20 // org.bouncycastle.math.ec.ECFieldElement uv
        46: .line 1795
            aload 20 /* uv */
            aload 13 /* U */
            aload 17 /* VSq */
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyPlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 19 /* W */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 18 /* VCu */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 21 /* A */
        start local 21 // org.bouncycastle.math.ec.ECFieldElement A
        47: .line 1797
            aload 16 /* V */
            aload 21 /* A */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 22 /* X3 */
        start local 22 // org.bouncycastle.math.ec.ECFieldElement X3
        48: .line 1798
            iload 10 /* Z2IsOne */
            ifeq 49
            aload 17 /* VSq */
            goto 50
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
        49: aload 17 /* VSq */
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        50: astore 23 /* VSqZ2 */
        start local 23 // org.bouncycastle.math.ec.ECFieldElement VSqZ2
        51: .line 1799
            aload 13 /* U */
            aload 4 /* X1 */
            aload 16 /* V */
            aload 6 /* Y1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyPlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 23 /* VSqZ2 */
            aload 20 /* uv */
            aload 21 /* A */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyPlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 24 /* Y3 */
        start local 24 // org.bouncycastle.math.ec.ECFieldElement Y3
        52: .line 1800
            aload 18 /* VCu */
            aload 19 /* W */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 25 /* Z3 */
        start local 25 // org.bouncycastle.math.ec.ECFieldElement Z3
        53: .line 1802
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 2 /* curve */
            aload 22 /* X3 */
            aload 24 /* Y3 */
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 25 /* Z3 */
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 25 // org.bouncycastle.math.ec.ECFieldElement Z3
        end local 24 // org.bouncycastle.math.ec.ECFieldElement Y3
        end local 23 // org.bouncycastle.math.ec.ECFieldElement VSqZ2
        end local 22 // org.bouncycastle.math.ec.ECFieldElement X3
        end local 21 // org.bouncycastle.math.ec.ECFieldElement A
        end local 20 // org.bouncycastle.math.ec.ECFieldElement uv
        end local 19 // org.bouncycastle.math.ec.ECFieldElement W
        end local 18 // org.bouncycastle.math.ec.ECFieldElement VCu
        end local 17 // org.bouncycastle.math.ec.ECFieldElement VSq
        end local 16 // org.bouncycastle.math.ec.ECFieldElement V
        end local 15 // org.bouncycastle.math.ec.ECFieldElement V2
        end local 14 // org.bouncycastle.math.ec.ECFieldElement V1
        end local 13 // org.bouncycastle.math.ec.ECFieldElement U
        end local 12 // org.bouncycastle.math.ec.ECFieldElement U2
        end local 11 // org.bouncycastle.math.ec.ECFieldElement U1
        end local 10 // boolean Z2IsOne
        end local 9 // org.bouncycastle.math.ec.ECFieldElement Z2
        end local 8 // org.bouncycastle.math.ec.ECFieldElement Y2
        end local 7 // org.bouncycastle.math.ec.ECFieldElement Z1
        end local 6 // org.bouncycastle.math.ec.ECFieldElement Y1
        54: .line 1806
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 4 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 58
        55: .line 1808
            aload 5 /* X2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 57
        56: .line 1810
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        57: .line 1813
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        58: .line 1816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 6 /* L1 */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement L1
        59: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 7 /* Z1 */
        start local 7 // org.bouncycastle.math.ec.ECFieldElement Z1
        60: .line 1817
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 8 /* L2 */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement L2
        61: aload 1 /* b */
            getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 9 /* Z2 */
        start local 9 // org.bouncycastle.math.ec.ECFieldElement Z2
        62: .line 1819
            aload 7 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            istore 10 /* Z1IsOne */
        start local 10 // boolean Z1IsOne
        63: .line 1820
            aload 5 /* X2 */
            astore 11 /* U2 */
        start local 11 // org.bouncycastle.math.ec.ECFieldElement U2
        64: aload 8 /* L2 */
            astore 12 /* S2 */
        start local 12 // org.bouncycastle.math.ec.ECFieldElement S2
        65: .line 1821
            iload 10 /* Z1IsOne */
            ifne 68
        66: .line 1823
            aload 11 /* U2 */
            aload 7 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 11 /* U2 */
        67: .line 1824
            aload 12 /* S2 */
            aload 7 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 12 /* S2 */
        68: .line 1827
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            istore 13 /* Z2IsOne */
        start local 13 // boolean Z2IsOne
        69: .line 1828
            aload 4 /* X1 */
            astore 14 /* U1 */
        start local 14 // org.bouncycastle.math.ec.ECFieldElement U1
        70: aload 6 /* L1 */
            astore 15 /* S1 */
        start local 15 // org.bouncycastle.math.ec.ECFieldElement S1
        71: .line 1829
            iload 13 /* Z2IsOne */
            ifne 74
        72: .line 1831
            aload 14 /* U1 */
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 14 /* U1 */
        73: .line 1832
            aload 15 /* S1 */
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 15 /* S1 */
        74: .line 1835
      StackMap locals: int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 15 /* S1 */
            aload 12 /* S2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 16 /* A */
        start local 16 // org.bouncycastle.math.ec.ECFieldElement A
        75: .line 1836
            aload 14 /* U1 */
            aload 11 /* U2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 17 /* B */
        start local 17 // org.bouncycastle.math.ec.ECFieldElement B
        76: .line 1838
            aload 17 /* B */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 80
        77: .line 1840
            aload 16 /* A */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 79
        78: .line 1842
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.twice:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        79: .line 1845
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        80: .line 1849
      StackMap locals:
      StackMap stack:
            aload 5 /* X2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 93
        81: .line 1852
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
            astore 21 /* p */
        start local 21 // org.bouncycastle.math.ec.ECPoint p
        82: .line 1853
            aload 21 /* p */
            invokevirtual org.bouncycastle.math.ec.ECPoint.getXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* X1 */
        83: .line 1854
            aload 21 /* p */
            invokevirtual org.bouncycastle.math.ec.ECPoint.getYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 22 /* Y1 */
        start local 22 // org.bouncycastle.math.ec.ECFieldElement Y1
        84: .line 1856
            aload 8 /* L2 */
            astore 23 /* Y2 */
        start local 23 // org.bouncycastle.math.ec.ECFieldElement Y2
        85: .line 1857
            aload 22 /* Y1 */
            aload 23 /* Y2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 4 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 24 /* L */
        start local 24 // org.bouncycastle.math.ec.ECFieldElement L
        86: .line 1859
            aload 24 /* L */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 24 /* L */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 4 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 18 /* X3 */
        start local 18 // org.bouncycastle.math.ec.ECFieldElement X3
        87: .line 1860
            aload 18 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 89
        88: .line 1862
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 2 /* curve */
            aload 18 /* X3 */
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getB:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.sqrt:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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
        89: .line 1865
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement top top org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 24 /* L */
            aload 4 /* X1 */
            aload 18 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 18 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 22 /* Y1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 25 /* Y3 */
        start local 25 // org.bouncycastle.math.ec.ECFieldElement Y3
        90: .line 1866
            aload 25 /* Y3 */
            aload 18 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 18 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 19 /* L3 */
        start local 19 // org.bouncycastle.math.ec.ECFieldElement L3
        91: .line 1867
            aload 2 /* curve */
            getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
            invokevirtual org.bouncycastle.math.ec.ECCurve.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 20 /* Z3 */
        end local 25 // org.bouncycastle.math.ec.ECFieldElement Y3
        end local 24 // org.bouncycastle.math.ec.ECFieldElement L
        end local 23 // org.bouncycastle.math.ec.ECFieldElement Y2
        end local 22 // org.bouncycastle.math.ec.ECFieldElement Y1
        end local 21 // org.bouncycastle.math.ec.ECPoint p
        start local 20 // org.bouncycastle.math.ec.ECFieldElement Z3
        92: .line 1868
            goto 106
        end local 20 // org.bouncycastle.math.ec.ECFieldElement Z3
        end local 19 // org.bouncycastle.math.ec.ECFieldElement L3
        end local 18 // org.bouncycastle.math.ec.ECFieldElement X3
        93: .line 1871
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 17 /* B */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 17 /* B */
        94: .line 1873
            aload 16 /* A */
            aload 14 /* U1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 21 /* AU1 */
        start local 21 // org.bouncycastle.math.ec.ECFieldElement AU1
        95: .line 1874
            aload 16 /* A */
            aload 11 /* U2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 22 /* AU2 */
        start local 22 // org.bouncycastle.math.ec.ECFieldElement AU2
        96: .line 1876
            aload 21 /* AU1 */
            aload 22 /* AU2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 18 /* X3 */
        start local 18 // org.bouncycastle.math.ec.ECFieldElement X3
        97: .line 1877
            aload 18 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 99
        98: .line 1879
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 2 /* curve */
            aload 18 /* X3 */
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getB:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.sqrt:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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
        99: .line 1882
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement top top org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 16 /* A */
            aload 17 /* B */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 23 /* ABZ2 */
        start local 23 // org.bouncycastle.math.ec.ECFieldElement ABZ2
       100: .line 1883
            iload 13 /* Z2IsOne */
            ifne 102
       101: .line 1885
            aload 23 /* ABZ2 */
            aload 9 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 23 /* ABZ2 */
       102: .line 1888
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 22 /* AU2 */
            aload 17 /* B */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 23 /* ABZ2 */
            aload 6 /* L1 */
            aload 7 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 19 /* L3 */
        start local 19 // org.bouncycastle.math.ec.ECFieldElement L3
       103: .line 1890
            aload 23 /* ABZ2 */
            astore 20 /* Z3 */
        start local 20 // org.bouncycastle.math.ec.ECFieldElement Z3
       104: .line 1891
            iload 10 /* Z1IsOne */
            ifne 106
       105: .line 1893
            aload 20 /* Z3 */
            aload 7 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 20 /* Z3 */
        end local 23 // org.bouncycastle.math.ec.ECFieldElement ABZ2
        end local 22 // org.bouncycastle.math.ec.ECFieldElement AU2
        end local 21 // org.bouncycastle.math.ec.ECFieldElement AU1
       106: .line 1897
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 2 /* curve */
            aload 18 /* X3 */
            aload 19 /* L3 */
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 20 /* Z3 */
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 20 // org.bouncycastle.math.ec.ECFieldElement Z3
        end local 19 // org.bouncycastle.math.ec.ECFieldElement L3
        end local 18 // org.bouncycastle.math.ec.ECFieldElement X3
        end local 17 // org.bouncycastle.math.ec.ECFieldElement B
        end local 16 // org.bouncycastle.math.ec.ECFieldElement A
        end local 15 // org.bouncycastle.math.ec.ECFieldElement S1
        end local 14 // org.bouncycastle.math.ec.ECFieldElement U1
        end local 13 // boolean Z2IsOne
        end local 12 // org.bouncycastle.math.ec.ECFieldElement S2
        end local 11 // org.bouncycastle.math.ec.ECFieldElement U2
        end local 10 // boolean Z1IsOne
        end local 9 // org.bouncycastle.math.ec.ECFieldElement Z2
        end local 8 // org.bouncycastle.math.ec.ECFieldElement L2
        end local 7 // org.bouncycastle.math.ec.ECFieldElement Z1
        end local 6 // org.bouncycastle.math.ec.ECFieldElement L1
       107: .line 1901
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "unsupported coordinate system"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // org.bouncycastle.math.ec.ECFieldElement X2
        end local 4 // org.bouncycastle.math.ec.ECFieldElement X1
        end local 3 // int coord
        end local 2 // org.bouncycastle.math.ec.ECCurve curve
        end local 1 // org.bouncycastle.math.ec.ECPoint b
        end local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  108     0     this  Lorg/bouncycastle/math/ec/ECPoint$F2m;
            0  108     1        b  Lorg/bouncycastle/math/ec/ECPoint;
            5  108     2    curve  Lorg/bouncycastle/math/ec/ECCurve;
            6  108     3    coord  I
            7  108     4       X1  Lorg/bouncycastle/math/ec/ECFieldElement;
            8  108     5       X2  Lorg/bouncycastle/math/ec/ECFieldElement;
           10   21     6       Y1  Lorg/bouncycastle/math/ec/ECFieldElement;
           11   21     7       Y2  Lorg/bouncycastle/math/ec/ECFieldElement;
           12   21     8       dx  Lorg/bouncycastle/math/ec/ECFieldElement;
           13   21     9       dy  Lorg/bouncycastle/math/ec/ECFieldElement;
           18   21    10        L  Lorg/bouncycastle/math/ec/ECFieldElement;
           19   21    11       X3  Lorg/bouncycastle/math/ec/ECFieldElement;
           20   21    12       Y3  Lorg/bouncycastle/math/ec/ECFieldElement;
           22   54     6       Y1  Lorg/bouncycastle/math/ec/ECFieldElement;
           23   54     7       Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
           24   54     8       Y2  Lorg/bouncycastle/math/ec/ECFieldElement;
           25   54     9       Z2  Lorg/bouncycastle/math/ec/ECFieldElement;
           26   54    10  Z2IsOne  Z
           27   54    11       U1  Lorg/bouncycastle/math/ec/ECFieldElement;
           30   54    12       U2  Lorg/bouncycastle/math/ec/ECFieldElement;
           31   54    13        U  Lorg/bouncycastle/math/ec/ECFieldElement;
           32   54    14       V1  Lorg/bouncycastle/math/ec/ECFieldElement;
           35   54    15       V2  Lorg/bouncycastle/math/ec/ECFieldElement;
           36   54    16        V  Lorg/bouncycastle/math/ec/ECFieldElement;
           41   54    17      VSq  Lorg/bouncycastle/math/ec/ECFieldElement;
           42   54    18      VCu  Lorg/bouncycastle/math/ec/ECFieldElement;
           45   54    19        W  Lorg/bouncycastle/math/ec/ECFieldElement;
           46   54    20       uv  Lorg/bouncycastle/math/ec/ECFieldElement;
           47   54    21        A  Lorg/bouncycastle/math/ec/ECFieldElement;
           48   54    22       X3  Lorg/bouncycastle/math/ec/ECFieldElement;
           51   54    23    VSqZ2  Lorg/bouncycastle/math/ec/ECFieldElement;
           52   54    24       Y3  Lorg/bouncycastle/math/ec/ECFieldElement;
           53   54    25       Z3  Lorg/bouncycastle/math/ec/ECFieldElement;
           59  107     6       L1  Lorg/bouncycastle/math/ec/ECFieldElement;
           60  107     7       Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
           61  107     8       L2  Lorg/bouncycastle/math/ec/ECFieldElement;
           62  107     9       Z2  Lorg/bouncycastle/math/ec/ECFieldElement;
           63  107    10  Z1IsOne  Z
           64  107    11       U2  Lorg/bouncycastle/math/ec/ECFieldElement;
           65  107    12       S2  Lorg/bouncycastle/math/ec/ECFieldElement;
           69  107    13  Z2IsOne  Z
           70  107    14       U1  Lorg/bouncycastle/math/ec/ECFieldElement;
           71  107    15       S1  Lorg/bouncycastle/math/ec/ECFieldElement;
           75  107    16        A  Lorg/bouncycastle/math/ec/ECFieldElement;
           76  107    17        B  Lorg/bouncycastle/math/ec/ECFieldElement;
           87   93    18       X3  Lorg/bouncycastle/math/ec/ECFieldElement;
           97  107    18       X3  Lorg/bouncycastle/math/ec/ECFieldElement;
           91   93    19       L3  Lorg/bouncycastle/math/ec/ECFieldElement;
          103  107    19       L3  Lorg/bouncycastle/math/ec/ECFieldElement;
           92   93    20       Z3  Lorg/bouncycastle/math/ec/ECFieldElement;
          104  107    20       Z3  Lorg/bouncycastle/math/ec/ECFieldElement;
           82   92    21        p  Lorg/bouncycastle/math/ec/ECPoint;
           84   92    22       Y1  Lorg/bouncycastle/math/ec/ECFieldElement;
           85   92    23       Y2  Lorg/bouncycastle/math/ec/ECFieldElement;
           86   92    24        L  Lorg/bouncycastle/math/ec/ECFieldElement;
           90   92    25       Y3  Lorg/bouncycastle/math/ec/ECFieldElement;
           95  106    21      AU1  Lorg/bouncycastle/math/ec/ECFieldElement;
           96  106    22      AU2  Lorg/bouncycastle/math/ec/ECFieldElement;
          100  106    23     ABZ2  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.ECPoint twice();
    descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=18, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
         0: .line 1908
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
            ifeq 2
         1: .line 1910
            aload 0 /* this */
            areturn
         2: .line 1913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            astore 1 /* curve */
        start local 1 // org.bouncycastle.math.ec.ECCurve curve
         3: .line 1915
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 2 /* X1 */
        start local 2 // org.bouncycastle.math.ec.ECFieldElement X1
         4: .line 1916
            aload 2 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 6
         5: .line 1919
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
         6: .line 1922
      StackMap locals: org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
            istore 3 /* coord */
        start local 3 // int coord
         7: .line 1924
            iload 3 /* coord */
            tableswitch { // 0 - 6
                    0: 8
                    1: 13
                    2: 71
                    3: 71
                    4: 71
                    5: 71
                    6: 32
              default: 71
          }
         8: .line 1928
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* Y1 */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement Y1
         9: .line 1930
            aload 4 /* Y1 */
            aload 2 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 2 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 5 /* L1 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement L1
        10: .line 1932
            aload 5 /* L1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 5 /* L1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 6 /* X3 */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement X3
        11: .line 1933
            aload 2 /* X1 */
            aload 6 /* X3 */
            aload 5 /* L1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.addOne:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 7 /* Y3 */
        start local 7 // org.bouncycastle.math.ec.ECFieldElement Y3
        12: .line 1935
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 1 /* curve */
            aload 6 /* X3 */
            aload 7 /* Y3 */
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 7 // org.bouncycastle.math.ec.ECFieldElement Y3
        end local 6 // org.bouncycastle.math.ec.ECFieldElement X3
        end local 5 // org.bouncycastle.math.ec.ECFieldElement L1
        end local 4 // org.bouncycastle.math.ec.ECFieldElement Y1
        13: .line 1939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* Y1 */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement Y1
        14: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 5 /* Z1 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement Z1
        15: .line 1941
            aload 5 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            istore 6 /* Z1IsOne */
        start local 6 // boolean Z1IsOne
        16: .line 1942
            iload 6 /* Z1IsOne */
            ifeq 17
            aload 2 /* X1 */
            goto 18
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int
      StackMap stack:
        17: aload 2 /* X1 */
            aload 5 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        18: astore 7 /* X1Z1 */
        start local 7 // org.bouncycastle.math.ec.ECFieldElement X1Z1
        19: .line 1943
            iload 6 /* Z1IsOne */
            ifeq 20
            aload 4 /* Y1 */
            goto 21
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
        20: aload 4 /* Y1 */
            aload 5 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        21: astore 8 /* Y1Z1 */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement Y1Z1
        22: .line 1945
            aload 2 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 9 /* X1Sq */
        start local 9 // org.bouncycastle.math.ec.ECFieldElement X1Sq
        23: .line 1946
            aload 9 /* X1Sq */
            aload 8 /* Y1Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 10 /* S */
        start local 10 // org.bouncycastle.math.ec.ECFieldElement S
        24: .line 1947
            aload 7 /* X1Z1 */
            astore 11 /* V */
        start local 11 // org.bouncycastle.math.ec.ECFieldElement V
        25: .line 1948
            aload 11 /* V */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 12 /* vSquared */
        start local 12 // org.bouncycastle.math.ec.ECFieldElement vSquared
        26: .line 1949
            aload 10 /* S */
            aload 11 /* V */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 13 /* sv */
        start local 13 // org.bouncycastle.math.ec.ECFieldElement sv
        27: .line 1950
            aload 13 /* sv */
            aload 10 /* S */
            aload 12 /* vSquared */
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyPlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 14 /* h */
        start local 14 // org.bouncycastle.math.ec.ECFieldElement h
        28: .line 1952
            aload 11 /* V */
            aload 14 /* h */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 15 /* X3 */
        start local 15 // org.bouncycastle.math.ec.ECFieldElement X3
        29: .line 1953
            aload 9 /* X1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 11 /* V */
            aload 14 /* h */
            aload 13 /* sv */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyPlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 16 /* Y3 */
        start local 16 // org.bouncycastle.math.ec.ECFieldElement Y3
        30: .line 1954
            aload 11 /* V */
            aload 12 /* vSquared */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 17 /* Z3 */
        start local 17 // org.bouncycastle.math.ec.ECFieldElement Z3
        31: .line 1956
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 1 /* curve */
            aload 15 /* X3 */
            aload 16 /* Y3 */
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 17 /* Z3 */
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 17 // org.bouncycastle.math.ec.ECFieldElement Z3
        end local 16 // org.bouncycastle.math.ec.ECFieldElement Y3
        end local 15 // org.bouncycastle.math.ec.ECFieldElement X3
        end local 14 // org.bouncycastle.math.ec.ECFieldElement h
        end local 13 // org.bouncycastle.math.ec.ECFieldElement sv
        end local 12 // org.bouncycastle.math.ec.ECFieldElement vSquared
        end local 11 // org.bouncycastle.math.ec.ECFieldElement V
        end local 10 // org.bouncycastle.math.ec.ECFieldElement S
        end local 9 // org.bouncycastle.math.ec.ECFieldElement X1Sq
        end local 8 // org.bouncycastle.math.ec.ECFieldElement Y1Z1
        end local 7 // org.bouncycastle.math.ec.ECFieldElement X1Z1
        end local 6 // boolean Z1IsOne
        end local 5 // org.bouncycastle.math.ec.ECFieldElement Z1
        end local 4 // org.bouncycastle.math.ec.ECFieldElement Y1
        32: .line 1960
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 4 /* L1 */
        start local 4 // org.bouncycastle.math.ec.ECFieldElement L1
        33: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 5 /* Z1 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement Z1
        34: .line 1962
            aload 5 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            istore 6 /* Z1IsOne */
        start local 6 // boolean Z1IsOne
        35: .line 1963
            iload 6 /* Z1IsOne */
            ifeq 36
            aload 4 /* L1 */
            goto 37
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int
      StackMap stack:
        36: aload 4 /* L1 */
            aload 5 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        37: astore 7 /* L1Z1 */
        start local 7 // org.bouncycastle.math.ec.ECFieldElement L1Z1
        38: .line 1964
            iload 6 /* Z1IsOne */
            ifeq 39
            aload 5 /* Z1 */
            goto 40
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
        39: aload 5 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        40: astore 8 /* Z1Sq */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement Z1Sq
        41: .line 1965
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 9 /* a */
        start local 9 // org.bouncycastle.math.ec.ECFieldElement a
        42: .line 1966
            iload 6 /* Z1IsOne */
            ifeq 43
            aload 9 /* a */
            goto 44
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
        43: aload 9 /* a */
            aload 8 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        44: astore 10 /* aZ1Sq */
        start local 10 // org.bouncycastle.math.ec.ECFieldElement aZ1Sq
        45: .line 1967
            aload 4 /* L1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 7 /* L1Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 10 /* aZ1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 11 /* T */
        start local 11 // org.bouncycastle.math.ec.ECFieldElement T
        46: .line 1968
            aload 11 /* T */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 48
        47: .line 1970
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 1 /* curve */
            aload 11 /* T */
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getB:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.sqrt:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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
        48: .line 1973
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 11 /* T */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 12 /* X3 */
        start local 12 // org.bouncycastle.math.ec.ECFieldElement X3
        49: .line 1974
            iload 6 /* Z1IsOne */
            ifeq 50
            aload 11 /* T */
            goto 51
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
        50: aload 11 /* T */
            aload 8 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        51: astore 13 /* Z3 */
        start local 13 // org.bouncycastle.math.ec.ECFieldElement Z3
        52: .line 1976
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getB:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 14 /* b */
        start local 14 // org.bouncycastle.math.ec.ECFieldElement b
        53: .line 1978
            aload 14 /* b */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.bitLength:()I
            aload 1 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getFieldSize:()I
            iconst_1
            ishr
            if_icmpge 66
        54: .line 1980
            aload 4 /* L1 */
            aload 2 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 16 /* t1 */
        start local 16 // org.bouncycastle.math.ec.ECFieldElement t1
        55: .line 1982
            aload 14 /* b */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            ifeq 58
        56: .line 1984
            aload 10 /* aZ1Sq */
            aload 8 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 17 /* t2 */
        start local 17 // org.bouncycastle.math.ec.ECFieldElement t2
        57: .line 1985
            goto 59
        end local 17 // org.bouncycastle.math.ec.ECFieldElement t2
        58: .line 1989
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement top org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 10 /* aZ1Sq */
            aload 14 /* b */
            aload 8 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 17 /* t2 */
        start local 17 // org.bouncycastle.math.ec.ECFieldElement t2
        59: .line 1991
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 16 /* t1 */
            aload 11 /* T */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 8 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 16 /* t1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 17 /* t2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 12 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 15 /* L3 */
        start local 15 // org.bouncycastle.math.ec.ECFieldElement L3
        60: .line 1992
            aload 9 /* a */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 63
        61: .line 1994
            aload 15 /* L3 */
            aload 13 /* Z3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 15 /* L3 */
        62: .line 1995
            goto 70
        63: .line 1996
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 9 /* a */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            ifne 70
        64: .line 1998
            aload 15 /* L3 */
            aload 9 /* a */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.addOne:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 13 /* Z3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 15 /* L3 */
        end local 17 // org.bouncycastle.math.ec.ECFieldElement t2
        end local 16 // org.bouncycastle.math.ec.ECFieldElement t1
        65: .line 2000
            goto 70
        end local 15 // org.bouncycastle.math.ec.ECFieldElement L3
        66: .line 2003
      StackMap locals:
      StackMap stack:
            iload 6 /* Z1IsOne */
            ifeq 67
            aload 2 /* X1 */
            goto 68
      StackMap locals:
      StackMap stack:
        67: aload 2 /* X1 */
            aload 5 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
      StackMap locals:
      StackMap stack: org.bouncycastle.math.ec.ECFieldElement
        68: astore 16 /* X1Z1 */
        start local 16 // org.bouncycastle.math.ec.ECFieldElement X1Z1
        69: .line 2004
            aload 16 /* X1Z1 */
            aload 11 /* T */
            aload 7 /* L1Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.squarePlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 12 /* X3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 13 /* Z3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 15 /* L3 */
        end local 16 // org.bouncycastle.math.ec.ECFieldElement X1Z1
        start local 15 // org.bouncycastle.math.ec.ECFieldElement L3
        70: .line 2007
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 1 /* curve */
            aload 12 /* X3 */
            aload 15 /* L3 */
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 13 /* Z3 */
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 15 // org.bouncycastle.math.ec.ECFieldElement L3
        end local 14 // org.bouncycastle.math.ec.ECFieldElement b
        end local 13 // org.bouncycastle.math.ec.ECFieldElement Z3
        end local 12 // org.bouncycastle.math.ec.ECFieldElement X3
        end local 11 // org.bouncycastle.math.ec.ECFieldElement T
        end local 10 // org.bouncycastle.math.ec.ECFieldElement aZ1Sq
        end local 9 // org.bouncycastle.math.ec.ECFieldElement a
        end local 8 // org.bouncycastle.math.ec.ECFieldElement Z1Sq
        end local 7 // org.bouncycastle.math.ec.ECFieldElement L1Z1
        end local 6 // boolean Z1IsOne
        end local 5 // org.bouncycastle.math.ec.ECFieldElement Z1
        end local 4 // org.bouncycastle.math.ec.ECFieldElement L1
        71: .line 2011
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement int
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "unsupported coordinate system"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int coord
        end local 2 // org.bouncycastle.math.ec.ECFieldElement X1
        end local 1 // org.bouncycastle.math.ec.ECCurve curve
        end local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   72     0      this  Lorg/bouncycastle/math/ec/ECPoint$F2m;
            3   72     1     curve  Lorg/bouncycastle/math/ec/ECCurve;
            4   72     2        X1  Lorg/bouncycastle/math/ec/ECFieldElement;
            7   72     3     coord  I
            9   13     4        Y1  Lorg/bouncycastle/math/ec/ECFieldElement;
           10   13     5        L1  Lorg/bouncycastle/math/ec/ECFieldElement;
           11   13     6        X3  Lorg/bouncycastle/math/ec/ECFieldElement;
           12   13     7        Y3  Lorg/bouncycastle/math/ec/ECFieldElement;
           14   32     4        Y1  Lorg/bouncycastle/math/ec/ECFieldElement;
           15   32     5        Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
           16   32     6   Z1IsOne  Z
           19   32     7      X1Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
           22   32     8      Y1Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
           23   32     9      X1Sq  Lorg/bouncycastle/math/ec/ECFieldElement;
           24   32    10         S  Lorg/bouncycastle/math/ec/ECFieldElement;
           25   32    11         V  Lorg/bouncycastle/math/ec/ECFieldElement;
           26   32    12  vSquared  Lorg/bouncycastle/math/ec/ECFieldElement;
           27   32    13        sv  Lorg/bouncycastle/math/ec/ECFieldElement;
           28   32    14         h  Lorg/bouncycastle/math/ec/ECFieldElement;
           29   32    15        X3  Lorg/bouncycastle/math/ec/ECFieldElement;
           30   32    16        Y3  Lorg/bouncycastle/math/ec/ECFieldElement;
           31   32    17        Z3  Lorg/bouncycastle/math/ec/ECFieldElement;
           33   71     4        L1  Lorg/bouncycastle/math/ec/ECFieldElement;
           34   71     5        Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
           35   71     6   Z1IsOne  Z
           38   71     7      L1Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
           41   71     8      Z1Sq  Lorg/bouncycastle/math/ec/ECFieldElement;
           42   71     9         a  Lorg/bouncycastle/math/ec/ECFieldElement;
           45   71    10     aZ1Sq  Lorg/bouncycastle/math/ec/ECFieldElement;
           46   71    11         T  Lorg/bouncycastle/math/ec/ECFieldElement;
           49   71    12        X3  Lorg/bouncycastle/math/ec/ECFieldElement;
           52   71    13        Z3  Lorg/bouncycastle/math/ec/ECFieldElement;
           53   71    14         b  Lorg/bouncycastle/math/ec/ECFieldElement;
           60   66    15        L3  Lorg/bouncycastle/math/ec/ECFieldElement;
           70   71    15        L3  Lorg/bouncycastle/math/ec/ECFieldElement;
           55   65    16        t1  Lorg/bouncycastle/math/ec/ECFieldElement;
           57   58    17        t2  Lorg/bouncycastle/math/ec/ECFieldElement;
           59   65    17        t2  Lorg/bouncycastle/math/ec/ECFieldElement;
           69   70    16      X1Z1  Lorg/bouncycastle/math/ec/ECFieldElement;

  public org.bouncycastle.math.ec.ECPoint twicePlus(org.bouncycastle.math.ec.ECPoint);
    descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=22, args_size=2
        start local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
        start local 1 // org.bouncycastle.math.ec.ECPoint b
         0: .line 2018
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
            ifeq 2
         1: .line 2020
            aload 1 /* b */
            areturn
         2: .line 2022
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
            ifeq 4
         3: .line 2024
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.twice:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
         4: .line 2027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
            astore 2 /* curve */
        start local 2 // org.bouncycastle.math.ec.ECCurve curve
         5: .line 2029
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 3 /* X1 */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement X1
         6: .line 2030
            aload 3 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 8
         7: .line 2033
            aload 1 /* b */
            areturn
         8: .line 2036
      StackMap locals: org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
            istore 4 /* coord */
        start local 4 // int coord
         9: .line 2038
            iload 4 /* coord */
            tableswitch { // 6 - 6
                    6: 10
              default: 36
          }
        10: .line 2043
      StackMap locals: int
      StackMap stack:
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 5 /* X2 */
        start local 5 // org.bouncycastle.math.ec.ECFieldElement X2
        11: aload 1 /* b */
            getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 6 /* Z2 */
        start local 6 // org.bouncycastle.math.ec.ECFieldElement Z2
        12: .line 2044
            aload 5 /* X2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifne 13
            aload 6 /* Z2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
            ifne 14
        13: .line 2046
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.twice:()Lorg/bouncycastle/math/ec/ECPoint;
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.ECPoint.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        14: .line 2049
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 7 /* L1 */
        start local 7 // org.bouncycastle.math.ec.ECFieldElement L1
        15: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 8 /* Z1 */
        start local 8 // org.bouncycastle.math.ec.ECFieldElement Z1
        16: .line 2050
            aload 1 /* b */
            getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 9 /* L2 */
        start local 9 // org.bouncycastle.math.ec.ECFieldElement L2
        17: .line 2052
            aload 3 /* X1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 10 /* X1Sq */
        start local 10 // org.bouncycastle.math.ec.ECFieldElement X1Sq
        18: .line 2053
            aload 7 /* L1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 11 /* L1Sq */
        start local 11 // org.bouncycastle.math.ec.ECFieldElement L1Sq
        19: .line 2054
            aload 8 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 12 /* Z1Sq */
        start local 12 // org.bouncycastle.math.ec.ECFieldElement Z1Sq
        20: .line 2055
            aload 7 /* L1 */
            aload 8 /* Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 13 /* L1Z1 */
        start local 13 // org.bouncycastle.math.ec.ECFieldElement L1Z1
        21: .line 2057
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 12 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 11 /* L1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 13 /* L1Z1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 14 /* T */
        start local 14 // org.bouncycastle.math.ec.ECFieldElement T
        22: .line 2058
            aload 9 /* L2 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.addOne:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 15 /* L2plus1 */
        start local 15 // org.bouncycastle.math.ec.ECFieldElement L2plus1
        23: .line 2059
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 15 /* L2plus1 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 12 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 11 /* L1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 14 /* T */
            aload 10 /* X1Sq */
            aload 12 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyPlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 16 /* A */
        start local 16 // org.bouncycastle.math.ec.ECFieldElement A
        24: .line 2060
            aload 5 /* X2 */
            aload 12 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 17 /* X2Z1Sq */
        start local 17 // org.bouncycastle.math.ec.ECFieldElement X2Z1Sq
        25: .line 2061
            aload 17 /* X2Z1Sq */
            aload 14 /* T */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 18 /* B */
        start local 18 // org.bouncycastle.math.ec.ECFieldElement B
        26: .line 2063
            aload 18 /* B */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 30
        27: .line 2065
            aload 16 /* A */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 29
        28: .line 2067
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.ECPoint.twice:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        29: .line 2070
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        30: .line 2073
      StackMap locals:
      StackMap stack:
            aload 16 /* A */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 32
        31: .line 2075
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 2 /* curve */
            aload 16 /* A */
            aload 2 /* curve */
            invokevirtual org.bouncycastle.math.ec.ECCurve.getB:()Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.sqrt:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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
        32: .line 2078
      StackMap locals:
      StackMap stack:
            aload 16 /* A */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 17 /* X2Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 19 /* X3 */
        start local 19 // org.bouncycastle.math.ec.ECFieldElement X3
        33: .line 2079
            aload 16 /* A */
            aload 18 /* B */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 12 /* Z1Sq */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 20 /* Z3 */
        start local 20 // org.bouncycastle.math.ec.ECFieldElement Z3
        34: .line 2080
            aload 16 /* A */
            aload 18 /* B */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 14 /* T */
            aload 15 /* L2plus1 */
            aload 20 /* Z3 */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyPlusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 21 /* L3 */
        start local 21 // org.bouncycastle.math.ec.ECFieldElement L3
        35: .line 2082
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 2 /* curve */
            aload 19 /* X3 */
            aload 21 /* L3 */
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 20 /* Z3 */
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 21 // org.bouncycastle.math.ec.ECFieldElement L3
        end local 20 // org.bouncycastle.math.ec.ECFieldElement Z3
        end local 19 // org.bouncycastle.math.ec.ECFieldElement X3
        end local 18 // org.bouncycastle.math.ec.ECFieldElement B
        end local 17 // org.bouncycastle.math.ec.ECFieldElement X2Z1Sq
        end local 16 // org.bouncycastle.math.ec.ECFieldElement A
        end local 15 // org.bouncycastle.math.ec.ECFieldElement L2plus1
        end local 14 // org.bouncycastle.math.ec.ECFieldElement T
        end local 13 // org.bouncycastle.math.ec.ECFieldElement L1Z1
        end local 12 // org.bouncycastle.math.ec.ECFieldElement Z1Sq
        end local 11 // org.bouncycastle.math.ec.ECFieldElement L1Sq
        end local 10 // org.bouncycastle.math.ec.ECFieldElement X1Sq
        end local 9 // org.bouncycastle.math.ec.ECFieldElement L2
        end local 8 // org.bouncycastle.math.ec.ECFieldElement Z1
        end local 7 // org.bouncycastle.math.ec.ECFieldElement L1
        end local 6 // org.bouncycastle.math.ec.ECFieldElement Z2
        end local 5 // org.bouncycastle.math.ec.ECFieldElement X2
        36: .line 2086
      StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.twice:()Lorg/bouncycastle/math/ec/ECPoint;
            aload 1 /* b */
            invokevirtual org.bouncycastle.math.ec.ECPoint.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
            areturn
        end local 4 // int coord
        end local 3 // org.bouncycastle.math.ec.ECFieldElement X1
        end local 2 // org.bouncycastle.math.ec.ECCurve curve
        end local 1 // org.bouncycastle.math.ec.ECPoint b
        end local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   37     0     this  Lorg/bouncycastle/math/ec/ECPoint$F2m;
            0   37     1        b  Lorg/bouncycastle/math/ec/ECPoint;
            5   37     2    curve  Lorg/bouncycastle/math/ec/ECCurve;
            6   37     3       X1  Lorg/bouncycastle/math/ec/ECFieldElement;
            9   37     4    coord  I
           11   36     5       X2  Lorg/bouncycastle/math/ec/ECFieldElement;
           12   36     6       Z2  Lorg/bouncycastle/math/ec/ECFieldElement;
           15   36     7       L1  Lorg/bouncycastle/math/ec/ECFieldElement;
           16   36     8       Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
           17   36     9       L2  Lorg/bouncycastle/math/ec/ECFieldElement;
           18   36    10     X1Sq  Lorg/bouncycastle/math/ec/ECFieldElement;
           19   36    11     L1Sq  Lorg/bouncycastle/math/ec/ECFieldElement;
           20   36    12     Z1Sq  Lorg/bouncycastle/math/ec/ECFieldElement;
           21   36    13     L1Z1  Lorg/bouncycastle/math/ec/ECFieldElement;
           22   36    14        T  Lorg/bouncycastle/math/ec/ECFieldElement;
           23   36    15  L2plus1  Lorg/bouncycastle/math/ec/ECFieldElement;
           24   36    16        A  Lorg/bouncycastle/math/ec/ECFieldElement;
           25   36    17   X2Z1Sq  Lorg/bouncycastle/math/ec/ECFieldElement;
           26   36    18        B  Lorg/bouncycastle/math/ec/ECFieldElement;
           33   36    19       X3  Lorg/bouncycastle/math/ec/ECFieldElement;
           34   36    20       Z3  Lorg/bouncycastle/math/ec/ECFieldElement;
           35   36    21       L3  Lorg/bouncycastle/math/ec/ECFieldElement;
    MethodParameters:
      Name  Flags
      b     

  public org.bouncycastle.math.ec.ECPoint negate();
    descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=1
        start local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
         0: .line 2093
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
            ifeq 2
         1: .line 2095
            aload 0 /* this */
            areturn
         2: .line 2098
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 1 /* X */
        start local 1 // org.bouncycastle.math.ec.ECFieldElement X
         3: .line 2099
            aload 1 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
            ifeq 5
         4: .line 2101
            aload 0 /* this */
            areturn
         5: .line 2104
      StackMap locals: org.bouncycastle.math.ec.ECFieldElement
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getCurveCoordinateSystem:()I
            tableswitch { // 0 - 6
                    0: 6
                    1: 8
                    2: 16
                    3: 16
                    4: 16
                    5: 11
                    6: 13
              default: 16
          }
         6: .line 2108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 2 /* Y */
        start local 2 // org.bouncycastle.math.ec.ECFieldElement Y
         7: .line 2109
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            aload 1 /* X */
            aload 2 /* Y */
            aload 1 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 2 // org.bouncycastle.math.ec.ECFieldElement Y
         8: .line 2113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 2 /* Y */
        start local 2 // org.bouncycastle.math.ec.ECFieldElement Y
         9: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 3 /* Z */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement Z
        10: .line 2114
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            aload 1 /* X */
            aload 2 /* Y */
            aload 1 /* X */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 3 /* Z */
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 3 // org.bouncycastle.math.ec.ECFieldElement Z
        end local 2 // org.bouncycastle.math.ec.ECFieldElement Y
        11: .line 2118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 2 /* L */
        start local 2 // org.bouncycastle.math.ec.ECFieldElement L
        12: .line 2119
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            aload 1 /* X */
            aload 2 /* L */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.addOne:()Lorg/bouncycastle/math/ec/ECFieldElement;
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 2 // org.bouncycastle.math.ec.ECFieldElement L
        13: .line 2124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
            astore 2 /* L */
        start local 2 // org.bouncycastle.math.ec.ECFieldElement L
        14: aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_0
            aaload
            astore 3 /* Z */
        start local 3 // org.bouncycastle.math.ec.ECFieldElement Z
        15: .line 2125
            new org.bouncycastle.math.ec.ECPoint$F2m
            dup
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
            aload 1 /* X */
            aload 2 /* L */
            aload 3 /* Z */
            invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
            iconst_1
            anewarray org.bouncycastle.math.ec.ECFieldElement
            dup
            iconst_0
            aload 3 /* Z */
            aastore
            aload 0 /* this */
            getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
            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 3 // org.bouncycastle.math.ec.ECFieldElement Z
        end local 2 // org.bouncycastle.math.ec.ECFieldElement L
        16: .line 2129
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "unsupported coordinate system"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.bouncycastle.math.ec.ECFieldElement X
        end local 0 // org.bouncycastle.math.ec.ECPoint$F2m this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/bouncycastle/math/ec/ECPoint$F2m;
            3   17     1     X  Lorg/bouncycastle/math/ec/ECFieldElement;
            7    8     2     Y  Lorg/bouncycastle/math/ec/ECFieldElement;
            9   11     2     Y  Lorg/bouncycastle/math/ec/ECFieldElement;
           10   11     3     Z  Lorg/bouncycastle/math/ec/ECFieldElement;
           12   13     2     L  Lorg/bouncycastle/math/ec/ECFieldElement;
           14   16     2     L  Lorg/bouncycastle/math/ec/ECFieldElement;
           15   16     3     Z  Lorg/bouncycastle/math/ec/ECFieldElement;
}
SourceFile: "ECPoint.java"
NestHost: org.bouncycastle.math.ec.ECPoint
InnerClasses:
  public F2m = org.bouncycastle.math.ec.ECFieldElement$F2m of org.bouncycastle.math.ec.ECFieldElement
  public abstract AbstractF2m = org.bouncycastle.math.ec.ECPoint$AbstractF2m of org.bouncycastle.math.ec.ECPoint
  public F2m = org.bouncycastle.math.ec.ECPoint$F2m of org.bouncycastle.math.ec.ECPoint