public class org.bouncycastle.math.ec.custom.sec.SecP160R2Point 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.custom.sec.SecP160R2Point
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);
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.SecP160R2Point.<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/SecP160R2Point;
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$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.custom.sec.SecP160R2Point 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.SecP160R2Point 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.SecP160R2Point.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/SecP160R2Point;
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.custom.sec.SecP160R2Point.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/SecP160R2Point;
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.SecP160R2Point
dup
aconst_null
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.getAffineXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.getAffineYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2Point.<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/SecP160R2Point;
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=7, locals=29, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.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.custom.sec.SecP160R2Point.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 2
start local 2 7: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
astore 3
start local 3 8: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
astore 4
start local 4 9: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getXCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
astore 5
start local 5 10: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint.getYCoord:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
astore 6
start local 6 11: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
astore 7
start local 7 12: aload 1
iconst_0
invokevirtual org.bouncycastle.math.ec.ECPoint.getZCoord:(I)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
astore 8
start local 8 13: invokestatic org.bouncycastle.math.raw.Nat160.createExt:()[I
astore 10
start local 10 14: invokestatic org.bouncycastle.math.raw.Nat160.create:()[I
astore 11
start local 11 15: invokestatic org.bouncycastle.math.raw.Nat160.create:()[I
astore 12
start local 12 16: invokestatic org.bouncycastle.math.raw.Nat160.create:()[I
astore 13
start local 13 17: aload 7
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.isOne:()Z
istore 14
start local 14 18: iload 14
ifeq 22
19: aload 5
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
astore 15
start local 15 20: aload 6
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
astore 16
start local 16 21: goto 28
end local 16 end local 15 22: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecP160R2Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement top int[] int[] int[] int[] int
StackMap stack:
aload 12
astore 16
start local 16 23: aload 7
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 16
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.square:([I[I)V
24: aload 11
astore 15
start local 15 25: aload 16
aload 5
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 15
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
26: aload 16
aload 7
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 16
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
27: aload 16
aload 6
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 16
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
28: StackMap locals: int[] int[]
StackMap stack:
aload 8
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.isOne:()Z
istore 17
start local 17 29: iload 17
ifeq 33
30: aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
astore 18
start local 18 31: aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
astore 19
start local 19 32: goto 39
end local 19 end local 18 33: StackMap locals: int
StackMap stack:
aload 13
astore 19
start local 19 34: aload 8
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 19
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.square:([I[I)V
35: aload 10
astore 18
start local 18 36: aload 19
aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 18
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
37: aload 19
aload 8
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 19
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
38: aload 19
aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 19
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
39: StackMap locals: int[] int[]
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat160.create:()[I
astore 20
start local 20 40: aload 18
aload 15
aload 20
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.subtract:([I[I[I)V
41: aload 11
astore 21
start local 21 42: aload 19
aload 16
aload 21
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.subtract:([I[I[I)V
43: aload 20
invokestatic org.bouncycastle.math.raw.Nat160.isZero:([I)Z
ifeq 47
44: aload 21
invokestatic org.bouncycastle.math.raw.Nat160.isZero:([I)Z
ifeq 46
45: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
46: StackMap locals: int[] int[]
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
47: StackMap locals:
StackMap stack:
aload 12
astore 22
start local 22 48: aload 20
aload 22
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.square:([I[I)V
49: invokestatic org.bouncycastle.math.raw.Nat160.create:()[I
astore 23
start local 23 50: aload 22
aload 20
aload 23
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
51: aload 12
astore 24
start local 24 52: aload 22
aload 18
aload 24
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
53: aload 23
aload 23
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.negate:([I[I)V
54: aload 19
aload 23
aload 10
invokestatic org.bouncycastle.math.raw.Nat160.mul:([I[I[I)V
55: aload 24
aload 24
aload 23
invokestatic org.bouncycastle.math.raw.Nat160.addBothTo:([I[I[I)I
istore 9
start local 9 56: iload 9
aload 23
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.reduce32:(I[I)V
57: new org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
dup
aload 13
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.<init>:([I)V
astore 25
start local 25 58: aload 21
aload 25
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.square:([I[I)V
59: aload 25
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 23
aload 25
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.subtract:([I[I[I)V
60: new org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
dup
aload 23
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.<init>:([I)V
astore 26
start local 26 61: aload 24
aload 25
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 26
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.subtract:([I[I[I)V
62: aload 26
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 21
aload 10
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiplyAddToExt:([I[I[I)V
63: aload 10
aload 26
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.reduce:([I[I)V
64: new org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
dup
aload 20
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.<init>:([I)V
astore 27
start local 27 65: iload 14
ifne 67
66: aload 27
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 7
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 27
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
67: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecP160R2Point org.bouncycastle.math.ec.ECPoint org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement int int[] int[] int[] int[] int int[] int[] int int[] int[] int[] int[] int[] int[] int[] org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
StackMap stack:
iload 17
ifne 69
68: aload 27
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 8
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 27
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
69: StackMap locals:
StackMap stack:
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 27
aastore
astore 28
start local 28 70: new org.bouncycastle.math.ec.custom.sec.SecP160R2Point
dup
aload 2
aload 25
aload 26
aload 28
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2Point.<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 28 end local 27 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 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 71 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Point;
0 71 1 b Lorg/bouncycastle/math/ec/ECPoint;
7 71 2 curve Lorg/bouncycastle/math/ec/ECCurve;
8 71 3 X1 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
9 71 4 Y1 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
10 71 5 X2 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
11 71 6 Y2 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
12 71 7 Z1 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
13 71 8 Z2 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
56 71 9 c I
14 71 10 tt1 [I
15 71 11 t2 [I
16 71 12 t3 [I
17 71 13 t4 [I
18 71 14 Z1IsOne Z
20 22 15 U2 [I
25 71 15 U2 [I
21 22 16 S2 [I
23 71 16 S2 [I
29 71 17 Z2IsOne Z
31 33 18 U1 [I
36 71 18 U1 [I
32 33 19 S1 [I
34 71 19 S1 [I
40 71 20 H [I
42 71 21 R [I
48 71 22 HSquared [I
50 71 23 G [I
52 71 24 V [I
58 71 25 X3 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
61 71 26 Y3 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
65 71 27 Z3 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
70 71 28 zs [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=17, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.getCurve:()Lorg/bouncycastle/math/ec/ECCurve;
astore 1
start local 1 3: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
astore 2
start local 2 4: aload 2
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.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.SecP160R2FieldElement
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
astore 3
start local 3 7: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
iconst_0
aaload
checkcast org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
astore 4
start local 4 8: invokestatic org.bouncycastle.math.raw.Nat160.create:()[I
astore 6
start local 6 9: invokestatic org.bouncycastle.math.raw.Nat160.create:()[I
astore 7
start local 7 10: invokestatic org.bouncycastle.math.raw.Nat160.create:()[I
astore 8
start local 8 11: aload 2
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 8
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.square:([I[I)V
12: invokestatic org.bouncycastle.math.raw.Nat160.create:()[I
astore 9
start local 9 13: aload 8
aload 9
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.square:([I[I)V
14: aload 4
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.isOne:()Z
istore 10
start local 10 15: aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
astore 11
start local 11 16: iload 10
ifne 19
17: aload 7
astore 11
18: aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 11
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.square:([I[I)V
19: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecP160R2Point org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement top int[] int[] int[] int[] int int[]
StackMap stack:
aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 11
aload 6
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.subtract:([I[I[I)V
20: aload 7
astore 12
start local 12 21: aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 11
aload 12
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.add:([I[I[I)V
22: aload 12
aload 6
aload 12
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
23: aload 12
aload 12
aload 12
invokestatic org.bouncycastle.math.raw.Nat160.addBothTo:([I[I[I)I
istore 5
start local 5 24: iload 5
aload 12
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.reduce32:(I[I)V
25: aload 8
astore 13
start local 13 26: aload 8
aload 3
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 13
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
27: iconst_5
aload 13
iconst_2
iconst_0
invokestatic org.bouncycastle.math.raw.Nat.shiftUpBits:(I[III)I
istore 5
28: iload 5
aload 13
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.reduce32:(I[I)V
29: iconst_5
aload 9
iconst_3
iconst_0
aload 6
invokestatic org.bouncycastle.math.raw.Nat.shiftUpBits:(I[III[I)I
istore 5
30: iload 5
aload 6
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.reduce32:(I[I)V
31: new org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
dup
aload 9
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.<init>:([I)V
astore 14
start local 14 32: aload 12
aload 14
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.square:([I[I)V
33: aload 14
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 13
aload 14
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.subtract:([I[I[I)V
34: aload 14
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 13
aload 14
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.subtract:([I[I[I)V
35: new org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
dup
aload 13
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.<init>:([I)V
astore 15
start local 15 36: aload 13
aload 14
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 15
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.subtract:([I[I[I)V
37: aload 15
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 12
aload 15
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
38: aload 15
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 6
aload 15
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.subtract:([I[I[I)V
39: new org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
dup
aload 12
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.<init>:([I)V
astore 16
start local 16 40: aload 2
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 16
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.twice:([I[I)V
41: iload 10
ifne 43
42: aload 16
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 4
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
aload 16
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement.x:[I
invokestatic org.bouncycastle.math.ec.custom.sec.SecP160R2Field.multiply:([I[I[I)V
43: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecP160R2Point org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement int int[] int[] int[] int[] int int[] int[] int[] org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement org.bouncycastle.math.ec.custom.sec.SecP160R2FieldElement
StackMap stack:
new org.bouncycastle.math.ec.custom.sec.SecP160R2Point
dup
aload 1
aload 14
aload 15
iconst_1
anewarray org.bouncycastle.math.ec.ECFieldElement
dup
iconst_0
aload 16
aastore
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2Point.<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 44 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Point;
3 44 1 curve Lorg/bouncycastle/math/ec/ECCurve;
4 44 2 Y1 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
7 44 3 X1 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
8 44 4 Z1 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
24 44 5 c I
9 44 6 t1 [I
10 44 7 t2 [I
11 44 8 Y1Squared [I
13 44 9 T [I
15 44 10 Z1IsOne Z
16 44 11 Z1Squared [I
21 44 12 M [I
26 44 13 S [I
32 44 14 X3 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
36 44 15 Y3 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
40 44 16 Z3 Lorg/bouncycastle/math/ec/custom/sec/SecP160R2FieldElement;
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=2, locals=3, 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.custom.sec.SecP160R2Point.threeTimes:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.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.custom.sec.SecP160R2Point.twice:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.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.custom.sec.SecP160R2Point.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 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Point;
0 10 1 b Lorg/bouncycastle/math/ec/ECPoint;
7 10 2 Y1 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=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.isInfinity:()Z
ifne 1
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.y:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.isZero:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.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 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Point;
public org.bouncycastle.math.ec.ECPoint negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.custom.sec.SecP160R2Point.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new org.bouncycastle.math.ec.custom.sec.SecP160R2Point
dup
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.curve:Lorg/bouncycastle/math/ec/ECCurve;
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.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.custom.sec.SecP160R2Point.zs:[Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP160R2Point.withCompression:Z
invokespecial org.bouncycastle.math.ec.custom.sec.SecP160R2Point.<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 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP160R2Point;
}
SourceFile: "SecP160R2Point.java"
InnerClasses:
public abstract AbstractFp = org.bouncycastle.math.ec.ECPoint$AbstractFp of org.bouncycastle.math.ec.ECPoint