public class org.bouncycastle.math.ec.custom.sec.SecT571R1Point extends org.bouncycastle.math.ec.ECPoint$AbstractF2m
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.sec.SecT571R1Point
super_class: org.bouncycastle.math.ec.ECPoint$AbstractF2m
{
public void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_0
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT571R1Point;
0 2 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 2 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 2 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
curve
x
y
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$AbstractF2m.<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.custom.sec.SecT571R1Point 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.custom.sec.SecT571R1Point 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.custom.sec.SecT571R1Point.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/custom/sec/SecT571R1Point;
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$AbstractF2m.<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.custom.sec.SecT571R1Point.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/custom/sec/SecT571R1Point;
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=5, locals=1, args_size=1
start local 0 0: new org.bouncycastle.math.ec.custom.sec.SecT571R1Point
dup
aconst_null
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.getAffineXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.getAffineYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT571R1Point;
public org.bouncycastle.math.ec.ECFieldElement getYCoord();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 2: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.isInfinity:()Z
ifne 3
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 4
3: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 2
areturn
4: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 3
start local 3 5: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
astore 4
start local 4 6: aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isOne:()Z
ifne 8
7: aload 3
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 3
8: StackMap locals: org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 3
areturn
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/custom/sec/SecT571R1Point;
1 9 1 X Lorg/bouncycastle/math/ec/ECFieldElement;
2 9 2 L Lorg/bouncycastle/math/ec/ECFieldElement;
5 9 3 Y Lorg/bouncycastle/math/ec/ECFieldElement;
6 9 4 Z Lorg/bouncycastle/math/ec/ECFieldElement;
protected boolean getCompressionYTilde();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 1
start local 1 1: aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 4: aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement.testBitZero:()Z
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.testBitZero:()Z
ixor
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT571R1Point;
1 5 1 X Lorg/bouncycastle/math/ec/ECFieldElement;
4 5 2 Y Lorg/bouncycastle/math/ec/ECFieldElement;
public org.bouncycastle.math.ec.ECPoint add(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=29, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.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
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 2
start local 2 5: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 3
start local 3 6: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 4
start local 4 7: aload 3
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isZero:()Z
ifeq 11
8: aload 4
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.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.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
StackMap stack:
aload 1
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.add:(Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
11: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 5
start local 5 12: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 6
start local 6 13: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 7
start local 7 14: aload 1
iconst_0
invokevirtual org.bouncycastle.math.ec.ECPoint.getZCoord:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 8
start local 8 15: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 9
start local 9 16: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 10
start local 10 17: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 11
start local 11 18: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 12
start local 12 19: aload 6
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isOne:()Z
ifeq 20
aconst_null
goto 21
StackMap locals: org.bouncycastle.math.ec.custom.sec.SecT571R1Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement long[] long[] long[] long[]
StackMap stack:
20: aload 6
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.precompMultiplicand:([J)[J
StackMap locals:
StackMap stack: long[]
21: astore 13
start local 13 22: aload 13
ifnonnull 26
23: aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
astore 14
start local 14 24: aload 7
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
astore 15
start local 15 25: goto 30
end local 15 end local 14 26: StackMap locals: long[]
StackMap stack:
aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 13
aload 10
dup
astore 14
start local 14 27: invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
28: aload 7
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 13
aload 12
dup
astore 15
start local 15 29: invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
30: StackMap locals: long[] long[]
StackMap stack:
aload 8
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isOne:()Z
ifeq 31
aconst_null
goto 32
StackMap locals:
StackMap stack:
31: aload 8
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.precompMultiplicand:([J)[J
StackMap locals:
StackMap stack: long[]
32: astore 16
start local 16 33: aload 16
ifnonnull 37
34: aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
astore 17
start local 17 35: aload 5
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
astore 18
start local 18 36: goto 41
end local 18 end local 17 37: StackMap locals: long[]
StackMap stack:
aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 16
aload 9
dup
astore 17
start local 17 38: invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
39: aload 5
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 16
aload 11
dup
astore 18
start local 18 40: invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
41: StackMap locals: long[] long[]
StackMap stack:
aload 11
astore 19
start local 19 42: aload 18
aload 15
aload 19
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.add:([J[J[J)V
43: aload 12
astore 20
start local 20 44: aload 17
aload 14
aload 20
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.add:([J[J[J)V
45: aload 20
invokestatic org.bouncycastle.math.raw.Nat576.isZero64:([J)Z
ifeq 49
46: aload 19
invokestatic org.bouncycastle.math.raw.Nat576.isZero64:([J)Z
ifeq 48
47: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
48: StackMap locals: long[] long[]
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
49: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isZero:()Z
ifeq 62
50: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.normalize:()Lorg/bouncycastle/math/ec/ECPoint;
astore 24
start local 24 51: aload 24
invokevirtual org.bouncycastle.math.ec.ECPoint.getXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 3
52: aload 24
invokevirtual org.bouncycastle.math.ec.ECPoint.getYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 25
start local 25 53: aload 7
astore 26
start local 26 54: aload 25
aload 26
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 27
start local 27 55: aload 27
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 27
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.addOne:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 21
start local 21 56: aload 21
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isZero:()Z
ifeq 58
57: new org.bouncycastle.math.ec.custom.sec.SecT571R1Point
dup
aload 2
aload 21
getstatic org.bouncycastle.math.ec.custom.sec.SecT571R1Curve.SecT571R1_B_SQRT:Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
58: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecT571R1Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] org.bouncycastle.math.ec.custom.sec.SecT571FieldElement top top org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement
StackMap stack:
aload 27
aload 3
aload 21
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.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 21
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 25
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 28
start local 28 59: aload 28
aload 21
invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 21
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 22
start local 22 60: 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;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 23
end local 28 end local 27 end local 26 end local 25 end local 24 start local 23 61: goto 85
end local 23 end local 22 end local 21 62: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecT571R1Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[]
StackMap stack:
aload 20
aload 20
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
63: aload 19
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.precompMultiplicand:([J)[J
astore 24
start local 24 64: aload 9
astore 25
start local 25 65: aload 10
astore 26
start local 26 66: aload 17
aload 24
aload 25
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
67: aload 14
aload 24
aload 26
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
68: new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 9
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
astore 21
start local 21 69: aload 25
aload 26
aload 21
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiply:([J[J[J)V
70: aload 21
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isZero:()Z
ifeq 72
71: new org.bouncycastle.math.ec.custom.sec.SecT571R1Point
dup
aload 2
aload 21
getstatic org.bouncycastle.math.ec.custom.sec.SecT571R1Curve.SecT571R1_B_SQRT:Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
72: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecT571R1Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] org.bouncycastle.math.ec.custom.sec.SecT571FieldElement top top long[] long[] long[]
StackMap stack:
new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 11
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
astore 23
start local 23 73: aload 20
aload 24
aload 23
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
74: aload 16
ifnull 76
75: aload 23
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 16
aload 23
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
76: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecT571R1Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] org.bouncycastle.math.ec.custom.sec.SecT571FieldElement top org.bouncycastle.math.ec.custom.sec.SecT571FieldElement long[] long[] long[]
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat576.createExt64:()[J
astore 27
start local 27 77: aload 26
aload 20
aload 12
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.add:([J[J[J)V
78: aload 12
aload 27
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.squareAddToExt:([J[J)V
79: aload 5
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 6
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 12
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.add:([J[J[J)V
80: aload 12
aload 23
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 27
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyAddToExt:([J[J[J)V
81: new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 12
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
astore 22
start local 22 82: aload 27
aload 22
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.reduce:([J[J)V
83: aload 13
ifnull 85
84: aload 23
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 13
aload 23
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
end local 27 end local 26 end local 25 end local 24 85: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecT571R1Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
StackMap stack:
new org.bouncycastle.math.ec.custom.sec.SecT571R1Point
dup
aload 2
aload 21
aload 22
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 23
aastore
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<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 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 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 86 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT571R1Point;
0 86 1 b Lorg/bouncycastle/math/ec/ECPoint;
5 86 2 curve Lorg/bouncycastle/math/ec/ECCurve;
6 86 3 X1 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
7 86 4 X2 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
12 86 5 L1 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
13 86 6 Z1 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
14 86 7 L2 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
15 86 8 Z2 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
16 86 9 t1 [J
17 86 10 t2 [J
18 86 11 t3 [J
19 86 12 t4 [J
22 86 13 Z1Precomp [J
24 26 14 U2 [J
27 86 14 U2 [J
25 26 15 S2 [J
29 86 15 S2 [J
33 86 16 Z2Precomp [J
35 37 17 U1 [J
38 86 17 U1 [J
36 37 18 S1 [J
40 86 18 S1 [J
42 86 19 A [J
44 86 20 B [J
56 62 21 X3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
69 86 21 X3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
60 62 22 L3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
82 86 22 L3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
61 62 23 Z3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
73 86 23 Z3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
51 61 24 p Lorg/bouncycastle/math/ec/ECPoint;
53 61 25 Y1 Lorg/bouncycastle/math/ec/ECFieldElement;
54 61 26 Y2 Lorg/bouncycastle/math/ec/ECFieldElement;
55 61 27 L Lorg/bouncycastle/math/ec/ECFieldElement;
59 61 28 Y3 Lorg/bouncycastle/math/ec/ECFieldElement;
64 85 24 APrecomp [J
65 85 25 AU1 [J
66 85 26 AU2 [J
77 85 27 tt [J
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=16, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 1
start local 1 3: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 2
start local 2 4: aload 2
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.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.custom.sec.SecT571FieldElement
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 3
start local 3 7: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 4
start local 4 8: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 5
start local 5 9: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 6
start local 6 10: aload 4
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isOne:()Z
ifeq 11
aconst_null
goto 12
StackMap locals: org.bouncycastle.math.ec.custom.sec.SecT571R1Point org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement long[] long[]
StackMap stack:
11: aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.precompMultiplicand:([J)[J
StackMap locals:
StackMap stack: long[]
12: astore 7
start local 7 13: aload 7
ifnonnull 17
14: aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
astore 8
start local 8 15: aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
astore 9
start local 9 16: goto 21
end local 9 end local 8 17: StackMap locals: long[]
StackMap stack:
aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 7
aload 5
dup
astore 8
start local 8 18: invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
19: aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 6
dup
astore 9
start local 9 20: invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
21: StackMap locals: long[] long[]
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 10
start local 10 22: aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 10
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
23: aload 8
aload 9
aload 10
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.addBothTo:([J[J[J)V
24: aload 10
invokestatic org.bouncycastle.math.raw.Nat576.isZero64:([J)Z
ifeq 26
25: new org.bouncycastle.math.ec.custom.sec.SecT571R1Point
dup
aload 1
new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 10
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
getstatic org.bouncycastle.math.ec.custom.sec.SecT571R1Curve.SecT571R1_B_SQRT:Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
26: StackMap locals: long[]
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat576.createExt64:()[J
astore 11
start local 11 27: aload 10
aload 8
aload 11
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyAddToExt:([J[J[J)V
28: new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 5
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
astore 12
start local 12 29: aload 10
aload 12
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
30: new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 10
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
astore 13
start local 13 31: aload 7
ifnull 33
32: aload 13
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 9
aload 13
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiply:([J[J[J)V
33: StackMap locals: long[] org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
StackMap stack:
aload 7
ifnonnull 36
34: aload 2
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
astore 14
start local 14 35: goto 38
end local 14 36: StackMap locals:
StackMap stack:
aload 2
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 7
aload 6
dup
astore 14
start local 14 37: invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
38: StackMap locals: long[]
StackMap stack:
aload 14
aload 11
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.squareAddToExt:([J[J)V
39: aload 11
aload 6
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.reduce:([J[J)V
40: aload 12
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 13
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 6
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.addBothTo:([J[J[J)V
41: new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 6
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
astore 15
start local 15 42: new org.bouncycastle.math.ec.custom.sec.SecT571R1Point
dup
aload 1
aload 12
aload 15
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 13
aastore
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<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 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT571R1Point;
3 43 1 curve Lorg/bouncycastle/math/ec/ECCurve;
4 43 2 X1 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
7 43 3 L1 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
8 43 4 Z1 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
9 43 5 t1 [J
10 43 6 t2 [J
13 43 7 Z1Precomp [J
15 17 8 L1Z1 [J
18 43 8 L1Z1 [J
16 17 9 Z1Sq [J
20 43 9 Z1Sq [J
22 43 10 T [J
27 43 11 tt [J
29 43 12 X3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
31 43 13 Z3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
35 36 14 X1Z1 [J
37 43 14 X1Z1 [J
42 43 15 L3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
public org.bouncycastle.math.ec.ECPoint twicePlus(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=26, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.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
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 2
start local 2 5: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 3
start local 3 6: aload 3
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isZero:()Z
ifeq 8
7: aload 1
areturn
8: StackMap locals: org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 4
start local 4 9: aload 1
iconst_0
invokevirtual org.bouncycastle.math.ec.ECPoint.getZCoord:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 5
start local 5 10: aload 4
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isZero:()Z
ifne 11
aload 5
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.isOne:()Z
ifne 12
11: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.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
12: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 6
start local 6 13: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 7
start local 7 14: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getRawYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
astore 8
start local 8 15: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 9
start local 9 16: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 10
start local 10 17: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 11
start local 11 18: invokestatic org.bouncycastle.math.raw.Nat576.create64:()[J
astore 12
start local 12 19: aload 9
astore 13
start local 13 20: aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 13
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
21: aload 10
astore 14
start local 14 22: aload 6
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 14
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
23: aload 11
astore 15
start local 15 24: aload 7
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 15
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
25: aload 12
astore 16
start local 16 26: aload 6
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 7
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 16
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiply:([J[J[J)V
27: aload 16
astore 17
start local 17 28: aload 15
aload 14
aload 17
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.addBothTo:([J[J[J)V
29: aload 15
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.precompMultiplicand:([J)[J
astore 18
start local 18 30: aload 11
astore 19
start local 19 31: aload 8
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 18
aload 19
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
32: aload 19
aload 14
aload 19
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.add:([J[J[J)V
33: invokestatic org.bouncycastle.math.raw.Nat576.createExt64:()[J
astore 20
start local 20 34: aload 19
aload 17
aload 20
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyAddToExt:([J[J[J)V
35: aload 13
aload 18
aload 20
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecompAddToExt:([J[J[J)V
36: aload 20
aload 19
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.reduce:([J[J)V
37: aload 9
astore 21
start local 21 38: aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 18
aload 21
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
39: aload 10
astore 22
start local 22 40: aload 21
aload 17
aload 22
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.add:([J[J[J)V
41: aload 22
aload 22
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
42: aload 22
invokestatic org.bouncycastle.math.raw.Nat576.isZero64:([J)Z
ifeq 46
43: aload 19
invokestatic org.bouncycastle.math.raw.Nat576.isZero64:([J)Z
ifeq 45
44: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
45: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecT571R1Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement org.bouncycastle.math.ec.custom.sec.SecT571FieldElement long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[] long[]
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
46: StackMap locals:
StackMap stack:
aload 19
invokestatic org.bouncycastle.math.raw.Nat576.isZero64:([J)Z
ifeq 48
47: new org.bouncycastle.math.ec.custom.sec.SecT571R1Point
dup
aload 2
new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 19
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
getstatic org.bouncycastle.math.ec.custom.sec.SecT571R1Curve.SecT571R1_B_SQRT:Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
48: StackMap locals:
StackMap stack:
new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:()V
astore 23
start local 23 49: aload 19
aload 23
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
50: aload 23
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 21
aload 23
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiply:([J[J[J)V
51: new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 9
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
astore 24
start local 24 52: aload 19
aload 22
aload 24
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiply:([J[J[J)V
53: aload 24
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 18
aload 24
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyPrecomp:([J[J[J)V
54: new org.bouncycastle.math.ec.custom.sec.SecT571FieldElement
dup
aload 10
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.<init>:([J)V
astore 25
start local 25 55: aload 19
aload 22
aload 25
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.add:([J[J[J)V
56: aload 25
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 25
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.square:([J[J)V
57: bipush 18
aload 20
invokestatic org.bouncycastle.math.raw.Nat.zero64:(I[J)V
58: aload 25
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 17
aload 20
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyAddToExt:([J[J[J)V
59: aload 8
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 12
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.addOne:([J[J)V
60: aload 12
aload 24
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
aload 20
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.multiplyAddToExt:([J[J[J)V
61: aload 20
aload 25
getfield org.bouncycastle.math.ec.custom.sec.SecT571FieldElement.x:[J
invokestatic org.bouncycastle.math.ec.custom.sec.SecT571Field.reduce:([J[J)V
62: new org.bouncycastle.math.ec.custom.sec.SecT571R1Point
dup
aload 2
aload 23
aload 25
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 24
aastore
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<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 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 63 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT571R1Point;
0 63 1 b Lorg/bouncycastle/math/ec/ECPoint;
5 63 2 curve Lorg/bouncycastle/math/ec/ECCurve;
6 63 3 X1 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
9 63 4 X2 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
10 63 5 Z2 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
13 63 6 L1 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
14 63 7 Z1 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
15 63 8 L2 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
16 63 9 t1 [J
17 63 10 t2 [J
18 63 11 t3 [J
19 63 12 t4 [J
20 63 13 X1Sq [J
22 63 14 L1Sq [J
24 63 15 Z1Sq [J
26 63 16 L1Z1 [J
28 63 17 T [J
30 63 18 Z1SqPrecomp [J
31 63 19 A [J
34 63 20 tt [J
38 63 21 X2Z1Sq [J
40 63 22 B [J
49 63 23 X3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
52 63 24 Z3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
55 63 25 L3 Lorg/bouncycastle/math/ec/custom/sec/SecT571FieldElement;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecT571R1Point.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.x: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
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 6: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
astore 3
start local 3 7: new org.bouncycastle.math.ec.custom.sec.SecT571R1Point
dup
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.curve:Lorg/bouncycastle/math/ec/ECCurve;
aload 1
aload 2
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 3
aastore
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecT571R1Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecT571R1Point.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;[Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/math/ec/custom/sec/SecT571R1Point;
3 8 1 X Lorg/bouncycastle/math/ec/ECFieldElement;
6 8 2 L Lorg/bouncycastle/math/ec/ECFieldElement;
7 8 3 Z Lorg/bouncycastle/math/ec/ECFieldElement;
}
SourceFile: "SecT571R1Point.java"
InnerClasses:
public abstract AbstractF2m = org.bouncycastle.math.ec.ECPoint$AbstractF2m of org.bouncycastle.math.ec.ECPoint