public class org.bouncycastle.math.ec.ECPoint$Fp extends org.bouncycastle.math.ec.ECPoint$AbstractFp
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.ECPoint$Fp
super_class: org.bouncycastle.math.ec.ECPoint$AbstractFp
{
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 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.bouncycastle.math.ec.ECPoint$AbstractFp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
1: aload 2
ifnonnull 2
iconst_1
goto 3
StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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
ifnonnull 4
iconst_1
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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: 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: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 9 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 9 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 9 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
0 9 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial org.bouncycastle.math.ec.ECPoint$AbstractFp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;)V
1: aload 0
iload 5
putfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
2: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
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 0: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aconst_null
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getAffineXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getAffineYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
public org.bouncycastle.math.ec.ECFieldElement getZCoord(int);
descriptor: (I)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
if_icmpne 2
iconst_4
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurveCoordinateSystem:()I
if_icmpne 2
1: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getJacobianModifiedW:()Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokespecial org.bouncycastle.math.ec.ECPoint$AbstractFp.getZCoord:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 3 1 index I
MethodParameters:
Name Flags
index
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=27, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.isInfinity:()Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
if_acmpne 6
5: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 2
start local 2 7: aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
istore 3
start local 3 8: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.x:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 4
start local 4 9: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
start local 5 10: aload 1
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 6
start local 6 11: aload 1
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 7
start local 7 12: iload 3
tableswitch { // 0 - 4
0: 13
1: 23
2: 57
3: 120
4: 57
default: 120
}
13: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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
StackMap stack:
aload 6
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 8
start local 8 14: aload 7
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 9
start local 9 15: aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 19
16: aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 18
17: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
18: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
19: StackMap locals:
StackMap stack:
aload 9
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 10
start local 10 20: aload 10
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 21: aload 10
aload 4
aload 11
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(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 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
start local 12 22: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 2
aload 11
aload 12
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 23: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
astore 8
start local 8 24: aload 1
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
astore 9
start local 9 25: aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
istore 10
start local 10 26: aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
istore 11
start local 11 27: iload 10
ifeq 28
aload 7
goto 29
StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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 int
StackMap stack:
28: aload 7
aload 8
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
start local 12 30: iload 11
ifeq 31
aload 5
goto 32
StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
31: aload 5
aload 9
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
32: astore 13
start local 13 33: aload 12
aload 13
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 14
start local 14 34: iload 10
ifeq 35
aload 6
goto 36
StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
35: aload 6
aload 8
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
36: astore 15
start local 15 37: iload 11
ifeq 38
aload 4
goto 39
StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
38: aload 4
aload 9
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
39: astore 16
start local 16 40: aload 15
aload 16
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 17
start local 17 41: aload 17
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 45
42: aload 14
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 44
43: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
44: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
45: StackMap locals:
StackMap stack:
iload 10
ifeq 46
aload 9
goto 48
StackMap locals:
StackMap stack:
46: iload 11
ifeq 47
aload 8
goto 48
StackMap locals:
StackMap stack:
47: aload 8
aload 9
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
48: astore 18
start local 18 49: aload 17
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 19
start local 19 50: aload 19
aload 17
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 20
start local 20 51: aload 19
aload 16
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 21
start local 21 52: aload 14
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 18
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 20
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
aload 21
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 22
start local 22 53: aload 17
aload 22
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 23
start local 23 54: aload 21
aload 22
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 14
aload 13
aload 20
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyMinusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 24
start local 24 55: aload 20
aload 18
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 25
start local 25 56: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 2
aload 23
aload 24
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 25
aastore
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<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 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 57: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
astore 8
start local 8 58: aload 1
getfield org.bouncycastle.math.ec.ECPoint.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
astore 9
start local 9 59: aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
istore 10
start local 10 60: aconst_null
astore 14
start local 14 61: iload 10
ifne 77
aload 8
aload 9
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 77
62: aload 4
aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 15
start local 15 63: aload 5
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 16
start local 16 64: aload 15
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 68
65: aload 16
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 67
66: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
67: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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 top top top org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
68: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 17
start local 17 69: aload 4
aload 17
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 18
start local 18 70: aload 6
aload 17
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 19
start local 19 71: aload 18
aload 19
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 20
start local 20 72: aload 16
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 18
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 19
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 73: aload 18
aload 11
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 16
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 20
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
start local 12 74: aload 15
astore 13
start local 13 75: aload 13
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 76: goto 114
end local 13 end local 12 end local 11 77: StackMap locals:
StackMap stack:
iload 10
ifeq 82
78: aload 8
astore 15
start local 15 79: aload 6
astore 16
start local 16 80: aload 7
astore 17
start local 17 81: goto 86
end local 17 end local 16 end local 15 82: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 15
start local 15 83: aload 15
aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 16
start local 16 84: aload 15
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 18
start local 18 85: aload 18
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 17
end local 18 start local 17 86: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
istore 18
start local 18 87: iload 18
ifeq 92
88: aload 9
astore 19
start local 19 89: aload 4
astore 20
start local 20 90: aload 5
astore 21
start local 21 91: goto 96
end local 21 end local 20 end local 19 92: StackMap locals: int
StackMap stack:
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 19
start local 19 93: aload 19
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 20
start local 20 94: aload 19
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 22
start local 22 95: aload 22
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 21
end local 22 start local 21 96: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 20
aload 16
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 22
start local 22 97: aload 21
aload 17
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 23
start local 23 98: aload 22
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 102
99: aload 23
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 101
100: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
101: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
102: StackMap locals:
StackMap stack:
aload 22
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 24
start local 24 103: aload 24
aload 22
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 25
start local 25 104: aload 24
aload 20
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 26
start local 26 105: aload 23
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 25
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
aload 26
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 106: aload 26
aload 11
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 23
aload 25
aload 21
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiplyMinusProduct:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
start local 12 107: aload 22
astore 13
start local 13 108: iload 10
ifne 110
109: aload 13
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
110: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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 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
StackMap stack:
iload 18
ifne 112
111: aload 13
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
112: StackMap locals:
StackMap stack:
aload 13
aload 22
if_acmpne 114
113: aload 24
astore 14
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 114: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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
StackMap stack:
iload 3
iconst_4
if_icmpne 118
115: aload 0
aload 13
aload 14
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.calculateJacobianModifiedW:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 16
start local 16 116: iconst_2
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 13
aastore
dup
iconst_1
aload 16
aastore
astore 15
end local 16 start local 15 117: goto 119
end local 15 118: StackMap locals:
StackMap stack:
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 13
aastore
astore 15
start local 15 119: StackMap locals: org.bouncycastle.math.ec.ECFieldElement[]
StackMap stack:
new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 2
aload 11
aload 12
aload 15
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<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 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 120: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "unsupported coordinate system"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 121 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 121 1 b Lorg/bouncycastle/math/ec/ECPoint;
7 121 2 curve Lorg/bouncycastle/math/ec/ECCurve;
8 121 3 coord I
9 121 4 X1 Lorg/bouncycastle/math/ec/ECFieldElement;
10 121 5 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
11 121 6 X2 Lorg/bouncycastle/math/ec/ECFieldElement;
12 121 7 Y2 Lorg/bouncycastle/math/ec/ECFieldElement;
14 23 8 dx Lorg/bouncycastle/math/ec/ECFieldElement;
15 23 9 dy Lorg/bouncycastle/math/ec/ECFieldElement;
20 23 10 gamma Lorg/bouncycastle/math/ec/ECFieldElement;
21 23 11 X3 Lorg/bouncycastle/math/ec/ECFieldElement;
22 23 12 Y3 Lorg/bouncycastle/math/ec/ECFieldElement;
24 57 8 Z1 Lorg/bouncycastle/math/ec/ECFieldElement;
25 57 9 Z2 Lorg/bouncycastle/math/ec/ECFieldElement;
26 57 10 Z1IsOne Z
27 57 11 Z2IsOne Z
30 57 12 u1 Lorg/bouncycastle/math/ec/ECFieldElement;
33 57 13 u2 Lorg/bouncycastle/math/ec/ECFieldElement;
34 57 14 u Lorg/bouncycastle/math/ec/ECFieldElement;
37 57 15 v1 Lorg/bouncycastle/math/ec/ECFieldElement;
40 57 16 v2 Lorg/bouncycastle/math/ec/ECFieldElement;
41 57 17 v Lorg/bouncycastle/math/ec/ECFieldElement;
49 57 18 w Lorg/bouncycastle/math/ec/ECFieldElement;
50 57 19 vSquared Lorg/bouncycastle/math/ec/ECFieldElement;
51 57 20 vCubed Lorg/bouncycastle/math/ec/ECFieldElement;
52 57 21 vSquaredV2 Lorg/bouncycastle/math/ec/ECFieldElement;
53 57 22 A Lorg/bouncycastle/math/ec/ECFieldElement;
54 57 23 X3 Lorg/bouncycastle/math/ec/ECFieldElement;
55 57 24 Y3 Lorg/bouncycastle/math/ec/ECFieldElement;
56 57 25 Z3 Lorg/bouncycastle/math/ec/ECFieldElement;
58 120 8 Z1 Lorg/bouncycastle/math/ec/ECFieldElement;
59 120 9 Z2 Lorg/bouncycastle/math/ec/ECFieldElement;
60 120 10 Z1IsOne Z
73 77 11 X3 Lorg/bouncycastle/math/ec/ECFieldElement;
106 120 11 X3 Lorg/bouncycastle/math/ec/ECFieldElement;
74 77 12 Y3 Lorg/bouncycastle/math/ec/ECFieldElement;
107 120 12 Y3 Lorg/bouncycastle/math/ec/ECFieldElement;
75 77 13 Z3 Lorg/bouncycastle/math/ec/ECFieldElement;
108 120 13 Z3 Lorg/bouncycastle/math/ec/ECFieldElement;
61 120 14 Z3Squared Lorg/bouncycastle/math/ec/ECFieldElement;
63 76 15 dx Lorg/bouncycastle/math/ec/ECFieldElement;
64 76 16 dy Lorg/bouncycastle/math/ec/ECFieldElement;
69 76 17 C Lorg/bouncycastle/math/ec/ECFieldElement;
70 76 18 W1 Lorg/bouncycastle/math/ec/ECFieldElement;
71 76 19 W2 Lorg/bouncycastle/math/ec/ECFieldElement;
72 76 20 A1 Lorg/bouncycastle/math/ec/ECFieldElement;
79 82 15 Z1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
83 114 15 Z1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
80 82 16 U2 Lorg/bouncycastle/math/ec/ECFieldElement;
84 114 16 U2 Lorg/bouncycastle/math/ec/ECFieldElement;
81 82 17 S2 Lorg/bouncycastle/math/ec/ECFieldElement;
86 114 17 S2 Lorg/bouncycastle/math/ec/ECFieldElement;
85 86 18 Z1Cubed Lorg/bouncycastle/math/ec/ECFieldElement;
87 114 18 Z2IsOne Z
89 92 19 Z2Squared Lorg/bouncycastle/math/ec/ECFieldElement;
93 114 19 Z2Squared Lorg/bouncycastle/math/ec/ECFieldElement;
90 92 20 U1 Lorg/bouncycastle/math/ec/ECFieldElement;
94 114 20 U1 Lorg/bouncycastle/math/ec/ECFieldElement;
91 92 21 S1 Lorg/bouncycastle/math/ec/ECFieldElement;
96 114 21 S1 Lorg/bouncycastle/math/ec/ECFieldElement;
95 96 22 Z2Cubed Lorg/bouncycastle/math/ec/ECFieldElement;
97 114 22 H Lorg/bouncycastle/math/ec/ECFieldElement;
98 114 23 R Lorg/bouncycastle/math/ec/ECFieldElement;
103 114 24 HSquared Lorg/bouncycastle/math/ec/ECFieldElement;
104 114 25 G Lorg/bouncycastle/math/ec/ECFieldElement;
105 114 26 V Lorg/bouncycastle/math/ec/ECFieldElement;
117 118 15 zs [Lorg/bouncycastle/math/ec/ECFieldElement;
119 120 15 zs [Lorg/bouncycastle/math/ec/ECFieldElement;
116 117 16 W3 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=19, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 1
start local 1 3: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 4: aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 6
5: aload 1
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals: org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
istore 3
start local 3 7: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.x:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 4
start local 4 8: iload 3
tableswitch { // 0 - 4
0: 9
1: 14
2: 38
3: 71
4: 70
default: 71
}
9: StackMap locals: int org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
start local 5 10: aload 0
aload 5
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.three:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
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;
aload 0
aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 6
start local 6 11: aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
aload 4
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 7
start local 7 12: aload 6
aload 4
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(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 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 8
start local 8 13: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 1
aload 7
aload 8
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 8 end local 7 end local 6 end local 5 14: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
astore 5
start local 5 15: aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
istore 6
start local 6 16: aload 1
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 7
start local 7 17: aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifne 19
iload 6
ifne 19
18: aload 7
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 7
19: StackMap locals: org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 7
aload 0
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.three:(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 7
20: iload 6
ifeq 21
aload 2
goto 22
StackMap locals:
StackMap stack:
21: aload 2
aload 5
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
22: astore 8
start local 8 23: iload 6
ifeq 24
aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
goto 25
StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
24: aload 8
aload 2
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
25: astore 9
start local 9 26: aload 4
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 10
start local 10 27: aload 0
aload 10
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.four:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 28: aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
aload 11
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
start local 12 29: aload 0
aload 8
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
start local 13 30: aload 12
aload 13
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 14
start local 14 31: aload 0
aload 9
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 15
start local 15 32: aload 11
aload 12
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
aload 15
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 16
start local 16 33: iload 6
ifeq 34
aload 0
aload 15
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
goto 35
StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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
StackMap stack:
34: aload 13
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.ECFieldElement
35: astore 17
start local 17 36: aload 0
aload 17
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 18
start local 18 37: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 1
aload 14
aload 16
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 18
aastore
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<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 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 38: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
astore 5
start local 5 39: aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
istore 6
start local 6 40: aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 7
start local 7 41: aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 8
start local 8 42: aload 1
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 9
start local 9 43: aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.negate:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 10
start local 10 44: aload 10
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
ldc 3
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 51
45: iload 6
ifeq 46
aload 5
goto 47
StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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
StackMap stack:
46: aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.ECFieldElement
47: astore 13
start local 13 48: aload 0
aload 4
aload 13
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 4
aload 13
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(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;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.three:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 49: aload 0
aload 7
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.four:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
end local 13 start local 12 50: goto 64
end local 12 end local 11 51: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
start local 13 52: aload 0
aload 13
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.three:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 53: iload 6
ifeq 56
54: aload 11
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
55: goto 63
56: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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 top org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifne 63
57: aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 14
start local 14 58: aload 14
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 15
start local 15 59: aload 10
invokevirtual org.bouncycastle.math.ec.ECFieldElement.bitLength:()I
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.bitLength:()I
if_icmpge 62
60: aload 11
aload 15
aload 10
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
61: goto 63
62: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 11
aload 15
aload 9
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 11
end local 15 end local 14 63: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.four:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
end local 13 start local 12 64: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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
StackMap stack:
aload 11
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
aload 12
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
start local 13 65: aload 12
aload 13
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 11
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
aload 8
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.eight:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 14
start local 14 66: aload 0
aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 15
start local 15 67: iload 6
ifne 69
68: aload 15
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 15
69: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 1
aload 13
aload 14
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 15
aastore
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<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 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 70: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement int org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 0
iconst_1
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twiceJacobianModified:(Z)Lorg/bouncycastle/math/ec/ECPoint$Fp;
areturn
71: 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 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 72 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
3 72 1 curve Lorg/bouncycastle/math/ec/ECCurve;
4 72 2 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
7 72 3 coord I
8 72 4 X1 Lorg/bouncycastle/math/ec/ECFieldElement;
10 14 5 X1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
11 14 6 gamma Lorg/bouncycastle/math/ec/ECFieldElement;
12 14 7 X3 Lorg/bouncycastle/math/ec/ECFieldElement;
13 14 8 Y3 Lorg/bouncycastle/math/ec/ECFieldElement;
15 38 5 Z1 Lorg/bouncycastle/math/ec/ECFieldElement;
16 38 6 Z1IsOne Z
17 38 7 w Lorg/bouncycastle/math/ec/ECFieldElement;
23 38 8 s Lorg/bouncycastle/math/ec/ECFieldElement;
26 38 9 t Lorg/bouncycastle/math/ec/ECFieldElement;
27 38 10 B Lorg/bouncycastle/math/ec/ECFieldElement;
28 38 11 _4B Lorg/bouncycastle/math/ec/ECFieldElement;
29 38 12 h Lorg/bouncycastle/math/ec/ECFieldElement;
30 38 13 _2s Lorg/bouncycastle/math/ec/ECFieldElement;
31 38 14 X3 Lorg/bouncycastle/math/ec/ECFieldElement;
32 38 15 _2t Lorg/bouncycastle/math/ec/ECFieldElement;
33 38 16 Y3 Lorg/bouncycastle/math/ec/ECFieldElement;
36 38 17 _4sSquared Lorg/bouncycastle/math/ec/ECFieldElement;
37 38 18 Z3 Lorg/bouncycastle/math/ec/ECFieldElement;
39 70 5 Z1 Lorg/bouncycastle/math/ec/ECFieldElement;
40 70 6 Z1IsOne Z
41 70 7 Y1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
42 70 8 T Lorg/bouncycastle/math/ec/ECFieldElement;
43 70 9 a4 Lorg/bouncycastle/math/ec/ECFieldElement;
44 70 10 a4Neg Lorg/bouncycastle/math/ec/ECFieldElement;
49 51 11 M Lorg/bouncycastle/math/ec/ECFieldElement;
53 70 11 M Lorg/bouncycastle/math/ec/ECFieldElement;
50 51 12 S Lorg/bouncycastle/math/ec/ECFieldElement;
64 70 12 S Lorg/bouncycastle/math/ec/ECFieldElement;
48 50 13 Z1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
52 64 13 X1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
58 63 14 Z1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
59 63 15 Z1Pow4 Lorg/bouncycastle/math/ec/ECFieldElement;
65 70 13 X3 Lorg/bouncycastle/math/ec/ECFieldElement;
66 70 14 Y3 Lorg/bouncycastle/math/ec/ECFieldElement;
67 70 15 Z3 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=6, locals=19, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.threeTimes:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.isInfinity:()Z
ifeq 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 6
5: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 7: aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 9
8: aload 1
areturn
9: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 3
start local 3 10: aload 3
invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
istore 4
start local 4 11: iload 4
tableswitch { // 0 - 4
0: 12
1: 34
2: 34
3: 34
4: 33
default: 34
}
12: StackMap locals: org.bouncycastle.math.ec.ECCurve int
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.x:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
start local 5 13: aload 1
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 6
start local 6 14: aload 1
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 7
start local 7 15: aload 6
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 8
start local 8 16: aload 7
aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 9
start local 9 17: aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 21
18: aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 20
19: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.threeTimes:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
20: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECFieldElement 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
StackMap stack:
aload 0
areturn
21: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 10
start local 10 22: aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 23: aload 10
aload 0
aload 5
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 6
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
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
start local 12 24: aload 12
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 26
25: aload 3
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
26: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 12
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
start local 13 27: aload 13
invokevirtual org.bouncycastle.math.ec.ECFieldElement.invert:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 14
start local 14 28: aload 12
aload 14
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 15
start local 15 29: aload 0
aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 10
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 14
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 15
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 16
start local 16 30: aload 16
aload 15
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 15
aload 16
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 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 17
start local 17 31: aload 5
aload 17
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 16
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 18
start local 18 32: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 3
aload 17
aload 18
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 33: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECCurve int
StackMap stack:
aload 0
iconst_0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twiceJacobianModified:(Z)Lorg/bouncycastle/math/ec/ECPoint$Fp;
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
34: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twice:()Lorg/bouncycastle/math/ec/ECPoint;
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 35 1 b Lorg/bouncycastle/math/ec/ECPoint;
7 35 2 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
10 35 3 curve Lorg/bouncycastle/math/ec/ECCurve;
11 35 4 coord I
13 33 5 X1 Lorg/bouncycastle/math/ec/ECFieldElement;
14 33 6 X2 Lorg/bouncycastle/math/ec/ECFieldElement;
15 33 7 Y2 Lorg/bouncycastle/math/ec/ECFieldElement;
16 33 8 dx Lorg/bouncycastle/math/ec/ECFieldElement;
17 33 9 dy Lorg/bouncycastle/math/ec/ECFieldElement;
22 33 10 X Lorg/bouncycastle/math/ec/ECFieldElement;
23 33 11 Y Lorg/bouncycastle/math/ec/ECFieldElement;
24 33 12 d Lorg/bouncycastle/math/ec/ECFieldElement;
27 33 13 D Lorg/bouncycastle/math/ec/ECFieldElement;
28 33 14 I Lorg/bouncycastle/math/ec/ECFieldElement;
29 33 15 L1 Lorg/bouncycastle/math/ec/ECFieldElement;
30 33 16 L2 Lorg/bouncycastle/math/ec/ECFieldElement;
31 33 17 X4 Lorg/bouncycastle/math/ec/ECFieldElement;
32 33 18 Y4 Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint threeTimes();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 1
start local 1 3: aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 5
4: aload 0
areturn
5: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 2
start local 2 6: aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
istore 3
start local 3 7: iload 3
tableswitch { // 0 - 4
0: 8
1: 24
2: 24
3: 24
4: 23
default: 24
}
8: StackMap locals: org.bouncycastle.math.ec.ECCurve int
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.x:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 4
start local 4 9: aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
start local 5 10: aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 6
start local 6 11: aload 0
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.three:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
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 7
start local 7 12: aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 8
start local 8 13: aload 0
aload 4
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.three:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 9
start local 9 14: aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 16
15: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
16: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp org.bouncycastle.math.ec.ECFieldElement 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 9
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 10
start local 10 17: aload 10
invokevirtual org.bouncycastle.math.ec.ECFieldElement.invert:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 18: aload 9
aload 11
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
start local 12 19: aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 11
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 12
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
start local 13 20: aload 13
aload 12
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 12
aload 13
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 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 14
start local 14 21: aload 4
aload 14
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 13
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 15
start local 15 22: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 2
aload 14
aload 15
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 23: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECCurve int
StackMap stack:
aload 0
iconst_0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twiceJacobianModified:(Z)Lorg/bouncycastle/math/ec/ECPoint$Fp;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
24: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twice:()Lorg/bouncycastle/math/ec/ECPoint;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
3 25 1 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
6 25 2 curve Lorg/bouncycastle/math/ec/ECCurve;
7 25 3 coord I
9 23 4 X1 Lorg/bouncycastle/math/ec/ECFieldElement;
10 23 5 _2Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
11 23 6 X Lorg/bouncycastle/math/ec/ECFieldElement;
12 23 7 Z Lorg/bouncycastle/math/ec/ECFieldElement;
13 23 8 Y Lorg/bouncycastle/math/ec/ECFieldElement;
14 23 9 d Lorg/bouncycastle/math/ec/ECFieldElement;
17 23 10 D Lorg/bouncycastle/math/ec/ECFieldElement;
18 23 11 I Lorg/bouncycastle/math/ec/ECFieldElement;
19 23 12 L1 Lorg/bouncycastle/math/ec/ECFieldElement;
20 23 13 L2 Lorg/bouncycastle/math/ec/ECFieldElement;
21 23 14 X4 Lorg/bouncycastle/math/ec/ECFieldElement;
22 23 15 Y4 Lorg/bouncycastle/math/ec/ECFieldElement;
public org.bouncycastle.math.ec.ECPoint timesPow2(int);
descriptor: (I)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=16, args_size=2
start local 0 start local 1 0: iload 1
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "'e' cannot be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifeq 3
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.isInfinity:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
aload 0
areturn
4: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 6
5: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 2
start local 2 7: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 3
start local 3 8: aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 10
9: aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
10: StackMap locals: org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
istore 4
start local 4 11: aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
start local 5 12: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.x:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 6
start local 6 13: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
arraylength
iconst_1
if_icmpge 14
aload 2
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;
goto 15
StackMap locals: int org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
14: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.ECFieldElement
15: astore 7
start local 7 16: aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
ifne 29
17: iload 4
tableswitch { // 0 - 4
0: 18
1: 19
2: 24
3: 28
4: 26
default: 28
}
18: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
goto 29
19: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 8
start local 8 20: aload 6
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 6
21: aload 3
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 3
22: aload 0
aload 7
aload 8
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.calculateJacobianModifiedW:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
23: goto 29
end local 8 24: StackMap locals:
StackMap stack:
aload 0
aload 7
aconst_null
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.calculateJacobianModifiedW:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
25: goto 29
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getJacobianModifiedW:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
27: goto 29
28: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "unsupported coordinate system"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 30: goto 49
31: StackMap locals: int
StackMap stack:
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 33
32: aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
33: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 9
start local 9 34: aload 0
aload 9
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.three:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 10
start local 10 35: aload 0
aload 3
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 36: aload 11
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
start local 12 37: aload 0
aload 6
aload 12
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
start local 13 38: aload 12
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 14
start local 14 39: aload 0
aload 14
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 15
start local 15 40: aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifne 43
41: aload 10
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 10
42: aload 0
aload 15
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
43: StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp int 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 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:
aload 10
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
aload 13
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 6
44: aload 10
aload 13
aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(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 15
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 3
45: aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
ifeq 46
aload 11
goto 47
StackMap locals:
StackMap stack:
46: aload 11
aload 7
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
47: astore 7
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 48: iinc 8 1
StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp int 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 int
StackMap stack:
49: iload 8
iload 1
if_icmplt 31
end local 8 50: iload 4
tableswitch { // 0 - 4
0: 51
1: 55
2: 58
3: 60
4: 59
default: 60
}
51: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.invert:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 8
start local 8 52: aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 9
start local 9 53: aload 9
aload 8
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 10
start local 10 54: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 2
aload 6
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 3
aload 10
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 10 end local 9 end local 8 55: StackMap locals:
StackMap stack:
aload 6
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 6
56: aload 7
aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 7
57: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 2
aload 6
aload 3
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 7
aastore
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
58: StackMap locals:
StackMap stack:
new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 2
aload 6
aload 3
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 7
aastore
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
59: StackMap locals:
StackMap stack:
new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 2
aload 6
aload 3
iconst_2
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 7
aastore
dup
iconst_1
aload 5
aastore
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
60: 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 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 61 1 e I
7 61 2 curve Lorg/bouncycastle/math/ec/ECCurve;
8 61 3 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
11 61 4 coord I
12 61 5 W1 Lorg/bouncycastle/math/ec/ECFieldElement;
13 61 6 X1 Lorg/bouncycastle/math/ec/ECFieldElement;
16 61 7 Z1 Lorg/bouncycastle/math/ec/ECFieldElement;
20 24 8 Z1Sq Lorg/bouncycastle/math/ec/ECFieldElement;
30 50 8 i I
34 48 9 X1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
35 48 10 M Lorg/bouncycastle/math/ec/ECFieldElement;
36 48 11 _2Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
37 48 12 _2Y1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
38 48 13 S Lorg/bouncycastle/math/ec/ECFieldElement;
39 48 14 _4T Lorg/bouncycastle/math/ec/ECFieldElement;
40 48 15 _8T Lorg/bouncycastle/math/ec/ECFieldElement;
52 55 8 zInv Lorg/bouncycastle/math/ec/ECFieldElement;
53 55 9 zInv2 Lorg/bouncycastle/math/ec/ECFieldElement;
54 55 10 zInv3 Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
e
protected org.bouncycastle.math.ec.ECFieldElement two(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 1 1 x Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
x
protected org.bouncycastle.math.ec.ECFieldElement three(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 1 1 x Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
x
protected org.bouncycastle.math.ec.ECFieldElement four(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 1 1 x Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
x
protected org.bouncycastle.math.ec.ECFieldElement eight(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.four:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 1 1 x Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
x
protected org.bouncycastle.math.ec.ECFieldElement doubleProductFromSquares(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
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 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 1 1 a Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 2 b Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 3 aSquared Lorg/bouncycastle/math/ec/ECFieldElement;
0 1 4 bSquared Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
a
b
aSquared
bSquared
public org.bouncycastle.math.ec.ECPoint negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 1
start local 1 3: aload 1
invokevirtual org.bouncycastle.math.ec.ECCurve.getCoordinateSystem:()I
istore 2
start local 2 4: iload 2
ifeq 6
5: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 1
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.y:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.negate:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
6: StackMap locals: org.bouncycastle.math.ec.ECCurve int
StackMap stack:
new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 1
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.y:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.negate:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
3 7 1 curve Lorg/bouncycastle/math/ec/ECCurve;
4 7 2 coord I
protected org.bouncycastle.math.ec.ECFieldElement calculateJacobianModifiedW(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 3
start local 3 1: aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifne 2
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
ifeq 3
2: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 3
areturn
3: StackMap locals:
StackMap stack:
aload 2
ifnonnull 5
4: aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 4
start local 4 6: aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.negate:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
start local 5 7: aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.bitLength:()I
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.bitLength:()I
if_icmpge 10
8: aload 4
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.negate:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 4
9: goto 11
10: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 4
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 4
11: StackMap locals:
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 12 1 Z Lorg/bouncycastle/math/ec/ECFieldElement;
0 12 2 ZSquared Lorg/bouncycastle/math/ec/ECFieldElement;
1 12 3 a4 Lorg/bouncycastle/math/ec/ECFieldElement;
6 12 4 W Lorg/bouncycastle/math/ec/ECFieldElement;
7 12 5 a4Neg Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
Z
ZSquared
protected org.bouncycastle.math.ec.ECFieldElement getJacobianModifiedW();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_1
aaload
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_1
aload 0
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
aconst_null
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.calculateJacobianModifiedW:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
dup
astore 1
aastore
3: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
1 4 1 W Lorg/bouncycastle/math/ec/ECFieldElement;
protected org.bouncycastle.math.ec.ECPoint$Fp twiceJacobianModified(boolean);
descriptor: (Z)Lorg/bouncycastle/math/ec/ECPoint$Fp;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=17, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.x:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 3
start local 3 2: aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
astore 4
start local 4 3: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getJacobianModifiedW:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 5
start local 5 4: aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 6
start local 6 5: aload 0
aload 6
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.three:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 7
start local 7 6: aload 0
aload 3
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 8
start local 8 7: aload 8
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 9
start local 9 8: aload 0
aload 2
aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 10
start local 10 9: aload 7
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
aload 10
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 11
start local 11 10: aload 9
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 12
start local 12 11: aload 0
aload 12
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 13
start local 13 12: aload 7
aload 10
aload 11
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(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 13
invokevirtual org.bouncycastle.math.ec.ECFieldElement.subtract:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 14
start local 14 13: iload 1
ifeq 14
aload 0
aload 13
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.two:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
goto 15
StackMap locals: org.bouncycastle.math.ec.ECPoint$Fp 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
StackMap stack:
14: aconst_null
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.ECFieldElement
15: astore 15
start local 15 16: aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
ifeq 17
aload 8
goto 18
StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
17: aload 8
aload 4
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 16
start local 16 19: new org.bouncycastle.math.ec.ECPoint$Fp
dup
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$Fp.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
aload 11
aload 14
iconst_2
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 16
aastore
dup
iconst_1
aload 15
aastore
aload 0
getfield org.bouncycastle.math.ec.ECPoint$Fp.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$Fp.<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 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/bouncycastle/math/ec/ECPoint$Fp;
0 20 1 calculateW Z
1 20 2 X1 Lorg/bouncycastle/math/ec/ECFieldElement;
2 20 3 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
3 20 4 Z1 Lorg/bouncycastle/math/ec/ECFieldElement;
4 20 5 W1 Lorg/bouncycastle/math/ec/ECFieldElement;
5 20 6 X1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
6 20 7 M Lorg/bouncycastle/math/ec/ECFieldElement;
7 20 8 _2Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
8 20 9 _2Y1Squared Lorg/bouncycastle/math/ec/ECFieldElement;
9 20 10 S Lorg/bouncycastle/math/ec/ECFieldElement;
10 20 11 X3 Lorg/bouncycastle/math/ec/ECFieldElement;
11 20 12 _4T Lorg/bouncycastle/math/ec/ECFieldElement;
12 20 13 _8T Lorg/bouncycastle/math/ec/ECFieldElement;
13 20 14 Y3 Lorg/bouncycastle/math/ec/ECFieldElement;
16 20 15 W3 Lorg/bouncycastle/math/ec/ECFieldElement;
19 20 16 Z3 Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
calculateW
}
SourceFile: "ECPoint.java"
NestHost: org.bouncycastle.math.ec.ECPoint
InnerClasses:
public abstract AbstractFp = org.bouncycastle.math.ec.ECPoint$AbstractFp of org.bouncycastle.math.ec.ECPoint
public Fp = org.bouncycastle.math.ec.ECPoint$Fp of org.bouncycastle.math.ec.ECPoint