public class org.bouncycastle.math.ec.custom.sec.SecP224R1Field
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.sec.SecP224R1Field
super_class: java.lang.Object
{
private static final long M;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4294967295
static final int[] P;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int[] PExt;
descriptor: [I
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final int[] PExtInv;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int P6;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int PExt13;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 13
bipush 7
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_3
iconst_m1
iastore
dup
iconst_4
iconst_m1
iastore
dup
iconst_5
iconst_m1
iastore
dup
bipush 6
iconst_m1
iastore
putstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
1: .line 14
bipush 14
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_3
bipush -2
iastore
dup
iconst_4
iconst_m1
iastore
dup
iconst_5
2: .line 15
iconst_m1
iastore
dup
bipush 7
iconst_2
iastore
dup
bipush 10
bipush -2
iastore
dup
bipush 11
iconst_m1
iastore
dup
bipush 12
iconst_m1
iastore
dup
bipush 13
iconst_m1
iastore
3: .line 14
putstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExt:[I
4: .line 16
bipush 11
newarray 10
dup
iconst_0
iconst_m1
iastore
dup
iconst_1
iconst_m1
iastore
dup
iconst_2
iconst_m1
iastore
dup
iconst_3
iconst_1
iastore
dup
bipush 6
5: .line 17
iconst_m1
iastore
dup
bipush 7
bipush -3
iastore
dup
bipush 8
iconst_m1
iastore
dup
bipush 9
iconst_m1
iastore
dup
bipush 10
iconst_1
iastore
6: .line 16
putstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
7: .line 19
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.math.ec.custom.sec.SecP224R1Field this
0: .line 8
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.math.ec.custom.sec.SecP224R1Field this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP224R1Field;
public static void add(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // int[] x
start local 1 // int[] y
start local 2 // int[] z
0: .line 23
aload 0 /* x */
aload 1 /* y */
aload 2 /* z */
invokestatic org.bouncycastle.math.raw.Nat224.add:([I[I[I)I
istore 3 /* c */
start local 3 // int c
1: .line 24
iload 3 /* c */
ifne 2
aload 2 /* z */
bipush 6
iaload
iconst_m1
if_icmpne 3
aload 2 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat224.gte:([I[I)Z
ifeq 3
2: .line 26
StackMap locals: int
StackMap stack:
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.addPInvTo:([I)V
3: .line 28
StackMap locals:
StackMap stack:
return
end local 3 // int c
end local 2 // int[] z
end local 1 // int[] y
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 y [I
0 4 2 z [I
1 4 3 c I
MethodParameters:
Name Flags
x
y
z
public static void addExt(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 // int[] xx
start local 1 // int[] yy
start local 2 // int[] zz
0: .line 32
bipush 14
aload 0 /* xx */
aload 1 /* yy */
aload 2 /* zz */
invokestatic org.bouncycastle.math.raw.Nat.add:(I[I[I[I)I
istore 3 /* c */
start local 3 // int c
1: .line 33
iload 3 /* c */
ifne 2
aload 2 /* zz */
bipush 13
iaload
iconst_m1
if_icmpne 4
bipush 14
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExt:[I
invokestatic org.bouncycastle.math.raw.Nat.gte:(I[I[I)Z
ifeq 4
2: .line 35
StackMap locals: int
StackMap stack:
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
arraylength
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
aload 2 /* zz */
invokestatic org.bouncycastle.math.raw.Nat.addTo:(I[I[I)I
ifeq 4
3: .line 37
bipush 14
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
arraylength
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
pop
4: .line 40
StackMap locals:
StackMap stack:
return
end local 3 // int c
end local 2 // int[] zz
end local 1 // int[] yy
end local 0 // int[] xx
LocalVariableTable:
Start End Slot Name Signature
0 5 0 xx [I
0 5 1 yy [I
0 5 2 zz [I
1 5 3 c I
MethodParameters:
Name Flags
xx
yy
zz
public static void addOne(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // int[] x
start local 1 // int[] z
0: .line 44
bipush 7
aload 0 /* x */
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat.inc:(I[I[I)I
istore 2 /* c */
start local 2 // int c
1: .line 45
iload 2 /* c */
ifne 2
aload 1 /* z */
bipush 6
iaload
iconst_m1
if_icmpne 3
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat224.gte:([I[I)Z
ifeq 3
2: .line 47
StackMap locals: int
StackMap stack:
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.addPInvTo:([I)V
3: .line 49
StackMap locals:
StackMap stack:
return
end local 2 // int c
end local 1 // int[] z
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 z [I
1 4 2 c I
MethodParameters:
Name Flags
x
z
public static int[] fromBigInteger(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // java.math.BigInteger x
0: .line 53
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat224.fromBigInteger:(Ljava/math/BigInteger;)[I
astore 1 /* z */
start local 1 // int[] z
1: .line 54
aload 1 /* z */
bipush 6
iaload
iconst_m1
if_icmpne 3
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat224.gte:([I[I)Z
ifeq 3
2: .line 56
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat224.subFrom:([I[I)I
pop
3: .line 58
StackMap locals: int[]
StackMap stack:
aload 1 /* z */
areturn
end local 1 // int[] z
end local 0 // java.math.BigInteger x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x Ljava/math/BigInteger;
1 4 1 z [I
MethodParameters:
Name Flags
x
public static void half(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 // int[] x
start local 1 // int[] z
0: .line 63
aload 0 /* x */
iconst_0
iaload
iconst_1
iand
ifne 3
1: .line 65
bipush 7
aload 0 /* x */
iconst_0
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat.shiftDownBit:(I[II[I)I
pop
2: .line 66
goto 5
3: .line 69
StackMap locals:
StackMap stack:
aload 0 /* x */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat224.add:([I[I[I)I
istore 2 /* c */
start local 2 // int c
4: .line 70
bipush 7
aload 1 /* z */
iload 2 /* c */
invokestatic org.bouncycastle.math.raw.Nat.shiftDownBit:(I[II)I
pop
end local 2 // int c
5: .line 72
StackMap locals:
StackMap stack:
return
end local 1 // int[] z
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 6 0 x [I
0 6 1 z [I
4 5 2 c I
MethodParameters:
Name Flags
x
z
public static void multiply(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // int[] x
start local 1 // int[] y
start local 2 // int[] z
0: .line 76
invokestatic org.bouncycastle.math.raw.Nat224.createExt:()[I
astore 3 /* tt */
start local 3 // int[] tt
1: .line 77
aload 0 /* x */
aload 1 /* y */
aload 3 /* tt */
invokestatic org.bouncycastle.math.raw.Nat224.mul:([I[I[I)V
2: .line 78
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.reduce:([I[I)V
3: .line 79
return
end local 3 // int[] tt
end local 2 // int[] z
end local 1 // int[] y
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 y [I
0 4 2 z [I
1 4 3 tt [I
MethodParameters:
Name Flags
x
y
z
public static void multiplyAddToExt(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // int[] x
start local 1 // int[] y
start local 2 // int[] zz
0: .line 83
aload 0 /* x */
aload 1 /* y */
aload 2 /* zz */
invokestatic org.bouncycastle.math.raw.Nat224.mulAddTo:([I[I[I)I
istore 3 /* c */
start local 3 // int c
1: .line 84
iload 3 /* c */
ifne 2
aload 2 /* zz */
bipush 13
iaload
iconst_m1
if_icmpne 4
bipush 14
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExt:[I
invokestatic org.bouncycastle.math.raw.Nat.gte:(I[I[I)Z
ifeq 4
2: .line 86
StackMap locals: int
StackMap stack:
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
arraylength
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
aload 2 /* zz */
invokestatic org.bouncycastle.math.raw.Nat.addTo:(I[I[I)I
ifeq 4
3: .line 88
bipush 14
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
arraylength
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
pop
4: .line 91
StackMap locals:
StackMap stack:
return
end local 3 // int c
end local 2 // int[] zz
end local 1 // int[] y
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 5 0 x [I
0 5 1 y [I
0 5 2 zz [I
1 5 3 c I
MethodParameters:
Name Flags
x
y
zz
public static void negate(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // int[] x
start local 1 // int[] z
0: .line 95
aload 0 /* x */
invokestatic org.bouncycastle.math.raw.Nat224.isZero:([I)Z
ifeq 3
1: .line 97
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat224.zero:([I)V
2: .line 98
goto 4
3: .line 101
StackMap locals:
StackMap stack:
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
aload 0 /* x */
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat224.sub:([I[I[I)I
pop
4: .line 103
StackMap locals:
StackMap stack:
return
end local 1 // int[] z
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 5 0 x [I
0 5 1 z [I
MethodParameters:
Name Flags
x
z
public static void reduce(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=22, args_size=2
start local 0 // int[] xx
start local 1 // int[] z
0: .line 107
aload 0 /* xx */
bipush 10
iaload
i2l
ldc 4294967295
land
lstore 2 /* xx10 */
start local 2 // long xx10
1: aload 0 /* xx */
bipush 11
iaload
i2l
ldc 4294967295
land
lstore 4 /* xx11 */
start local 4 // long xx11
2: aload 0 /* xx */
bipush 12
iaload
i2l
ldc 4294967295
land
lstore 6 /* xx12 */
start local 6 // long xx12
3: aload 0 /* xx */
bipush 13
iaload
i2l
ldc 4294967295
land
lstore 8 /* xx13 */
start local 8 // long xx13
4: .line 111
aload 0 /* xx */
bipush 7
iaload
i2l
ldc 4294967295
land
lload 4 /* xx11 */
ladd
lconst_1
lsub
lstore 10 /* t0 */
start local 10 // long t0
5: .line 112
aload 0 /* xx */
bipush 8
iaload
i2l
ldc 4294967295
land
lload 6 /* xx12 */
ladd
lstore 12 /* t1 */
start local 12 // long t1
6: .line 113
aload 0 /* xx */
bipush 9
iaload
i2l
ldc 4294967295
land
lload 8 /* xx13 */
ladd
lstore 14 /* t2 */
start local 14 // long t2
7: .line 115
lconst_0
lstore 16 /* cc */
start local 16 // long cc
8: .line 116
lload 16 /* cc */
aload 0 /* xx */
iconst_0
iaload
i2l
ldc 4294967295
land
lload 10 /* t0 */
lsub
ladd
lstore 16 /* cc */
9: .line 117
lload 16 /* cc */
ldc 4294967295
land
lstore 18 /* z0 */
start local 18 // long z0
10: .line 118
lload 16 /* cc */
bipush 32
lshr
lstore 16 /* cc */
11: .line 119
lload 16 /* cc */
aload 0 /* xx */
iconst_1
iaload
i2l
ldc 4294967295
land
lload 12 /* t1 */
lsub
ladd
lstore 16 /* cc */
12: .line 120
aload 1 /* z */
iconst_1
lload 16 /* cc */
l2i
iastore
13: .line 121
lload 16 /* cc */
bipush 32
lshr
lstore 16 /* cc */
14: .line 122
lload 16 /* cc */
aload 0 /* xx */
iconst_2
iaload
i2l
ldc 4294967295
land
lload 14 /* t2 */
lsub
ladd
lstore 16 /* cc */
15: .line 123
aload 1 /* z */
iconst_2
lload 16 /* cc */
l2i
iastore
16: .line 124
lload 16 /* cc */
bipush 32
lshr
lstore 16 /* cc */
17: .line 125
lload 16 /* cc */
aload 0 /* xx */
iconst_3
iaload
i2l
ldc 4294967295
land
lload 10 /* t0 */
ladd
lload 2 /* xx10 */
lsub
ladd
lstore 16 /* cc */
18: .line 126
lload 16 /* cc */
ldc 4294967295
land
lstore 20 /* z3 */
start local 20 // long z3
19: .line 127
lload 16 /* cc */
bipush 32
lshr
lstore 16 /* cc */
20: .line 128
lload 16 /* cc */
aload 0 /* xx */
iconst_4
iaload
i2l
ldc 4294967295
land
lload 12 /* t1 */
ladd
lload 4 /* xx11 */
lsub
ladd
lstore 16 /* cc */
21: .line 129
aload 1 /* z */
iconst_4
lload 16 /* cc */
l2i
iastore
22: .line 130
lload 16 /* cc */
bipush 32
lshr
lstore 16 /* cc */
23: .line 131
lload 16 /* cc */
aload 0 /* xx */
iconst_5
iaload
i2l
ldc 4294967295
land
lload 14 /* t2 */
ladd
lload 6 /* xx12 */
lsub
ladd
lstore 16 /* cc */
24: .line 132
aload 1 /* z */
iconst_5
lload 16 /* cc */
l2i
iastore
25: .line 133
lload 16 /* cc */
bipush 32
lshr
lstore 16 /* cc */
26: .line 134
lload 16 /* cc */
aload 0 /* xx */
bipush 6
iaload
i2l
ldc 4294967295
land
lload 2 /* xx10 */
ladd
lload 8 /* xx13 */
lsub
ladd
lstore 16 /* cc */
27: .line 135
aload 1 /* z */
bipush 6
lload 16 /* cc */
l2i
iastore
28: .line 136
lload 16 /* cc */
bipush 32
lshr
lstore 16 /* cc */
29: .line 137
lload 16 /* cc */
lconst_1
ladd
lstore 16 /* cc */
30: .line 141
lload 20 /* z3 */
lload 16 /* cc */
ladd
lstore 20 /* z3 */
31: .line 143
lload 18 /* z0 */
lload 16 /* cc */
lsub
lstore 18 /* z0 */
32: .line 144
aload 1 /* z */
iconst_0
lload 18 /* z0 */
l2i
iastore
33: .line 145
lload 18 /* z0 */
bipush 32
lshr
lstore 16 /* cc */
34: .line 146
lload 16 /* cc */
lconst_0
lcmp
ifeq 41
35: .line 148
lload 16 /* cc */
aload 1 /* z */
iconst_1
iaload
i2l
ldc 4294967295
land
ladd
lstore 16 /* cc */
36: .line 149
aload 1 /* z */
iconst_1
lload 16 /* cc */
l2i
iastore
37: .line 150
lload 16 /* cc */
bipush 32
lshr
lstore 16 /* cc */
38: .line 151
lload 16 /* cc */
aload 1 /* z */
iconst_2
iaload
i2l
ldc 4294967295
land
ladd
lstore 16 /* cc */
39: .line 152
aload 1 /* z */
iconst_2
lload 16 /* cc */
l2i
iastore
40: .line 153
lload 20 /* z3 */
lload 16 /* cc */
bipush 32
lshr
ladd
lstore 20 /* z3 */
41: .line 155
StackMap locals: int[] int[] long long long long long long long long long long
StackMap stack:
aload 1 /* z */
iconst_3
lload 20 /* z3 */
l2i
iastore
42: .line 156
lload 20 /* z3 */
bipush 32
lshr
lstore 16 /* cc */
43: .line 160
lload 16 /* cc */
lconst_0
lcmp
ifeq 44
bipush 7
aload 1 /* z */
iconst_4
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
ifne 45
44: .line 161
StackMap locals:
StackMap stack:
aload 1 /* z */
bipush 6
iaload
iconst_m1
if_icmpne 46
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat224.gte:([I[I)Z
ifeq 46
45: .line 163
StackMap locals:
StackMap stack:
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.addPInvTo:([I)V
46: .line 165
StackMap locals:
StackMap stack:
return
end local 20 // long z3
end local 18 // long z0
end local 16 // long cc
end local 14 // long t2
end local 12 // long t1
end local 10 // long t0
end local 8 // long xx13
end local 6 // long xx12
end local 4 // long xx11
end local 2 // long xx10
end local 1 // int[] z
end local 0 // int[] xx
LocalVariableTable:
Start End Slot Name Signature
0 47 0 xx [I
0 47 1 z [I
1 47 2 xx10 J
2 47 4 xx11 J
3 47 6 xx12 J
4 47 8 xx13 J
5 47 10 t0 J
6 47 12 t1 J
7 47 14 t2 J
8 47 16 cc J
10 47 18 z0 J
19 47 20 z3 J
MethodParameters:
Name Flags
xx
z
public static void reduce32(int, int[]);
descriptor: (I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 // int x
start local 1 // int[] z
0: .line 169
lconst_0
lstore 2 /* cc */
start local 2 // long cc
1: .line 171
iload 0 /* x */
ifeq 16
2: .line 173
iload 0 /* x */
i2l
ldc 4294967295
land
lstore 4 /* xx07 */
start local 4 // long xx07
3: .line 175
lload 2 /* cc */
aload 1 /* z */
iconst_0
iaload
i2l
ldc 4294967295
land
lload 4 /* xx07 */
lsub
ladd
lstore 2 /* cc */
4: .line 176
aload 1 /* z */
iconst_0
lload 2 /* cc */
l2i
iastore
5: .line 177
lload 2 /* cc */
bipush 32
lshr
lstore 2 /* cc */
6: .line 178
lload 2 /* cc */
lconst_0
lcmp
ifeq 13
7: .line 180
lload 2 /* cc */
aload 1 /* z */
iconst_1
iaload
i2l
ldc 4294967295
land
ladd
lstore 2 /* cc */
8: .line 181
aload 1 /* z */
iconst_1
lload 2 /* cc */
l2i
iastore
9: .line 182
lload 2 /* cc */
bipush 32
lshr
lstore 2 /* cc */
10: .line 183
lload 2 /* cc */
aload 1 /* z */
iconst_2
iaload
i2l
ldc 4294967295
land
ladd
lstore 2 /* cc */
11: .line 184
aload 1 /* z */
iconst_2
lload 2 /* cc */
l2i
iastore
12: .line 185
lload 2 /* cc */
bipush 32
lshr
lstore 2 /* cc */
13: .line 187
StackMap locals: long long
StackMap stack:
lload 2 /* cc */
aload 1 /* z */
iconst_3
iaload
i2l
ldc 4294967295
land
lload 4 /* xx07 */
ladd
ladd
lstore 2 /* cc */
14: .line 188
aload 1 /* z */
iconst_3
lload 2 /* cc */
l2i
iastore
15: .line 189
lload 2 /* cc */
bipush 32
lshr
lstore 2 /* cc */
end local 4 // long xx07
16: .line 194
StackMap locals:
StackMap stack:
lload 2 /* cc */
lconst_0
lcmp
ifeq 17
bipush 7
aload 1 /* z */
iconst_4
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
ifne 18
17: .line 195
StackMap locals:
StackMap stack:
aload 1 /* z */
bipush 6
iaload
iconst_m1
if_icmpne 19
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat224.gte:([I[I)Z
ifeq 19
18: .line 197
StackMap locals:
StackMap stack:
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.addPInvTo:([I)V
19: .line 199
StackMap locals:
StackMap stack:
return
end local 2 // long cc
end local 1 // int[] z
end local 0 // int x
LocalVariableTable:
Start End Slot Name Signature
0 20 0 x I
0 20 1 z [I
1 20 2 cc J
3 16 4 xx07 J
MethodParameters:
Name Flags
x
z
public static void square(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // int[] x
start local 1 // int[] z
0: .line 203
invokestatic org.bouncycastle.math.raw.Nat224.createExt:()[I
astore 2 /* tt */
start local 2 // int[] tt
1: .line 204
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.raw.Nat224.square:([I[I)V
2: .line 205
aload 2 /* tt */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.reduce:([I[I)V
3: .line 206
return
end local 2 // int[] tt
end local 1 // int[] z
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 z [I
1 4 2 tt [I
MethodParameters:
Name Flags
x
z
public static void squareN(int[], int, int[]);
descriptor: ([II[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 // int[] x
start local 1 // int n
start local 2 // int[] z
0: .line 212
invokestatic org.bouncycastle.math.raw.Nat224.createExt:()[I
astore 3 /* tt */
start local 3 // int[] tt
1: .line 213
aload 0 /* x */
aload 3 /* tt */
invokestatic org.bouncycastle.math.raw.Nat224.square:([I[I)V
2: .line 214
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.reduce:([I[I)V
3: .line 216
goto 6
4: .line 218
StackMap locals: int[]
StackMap stack:
aload 2 /* z */
aload 3 /* tt */
invokestatic org.bouncycastle.math.raw.Nat224.square:([I[I)V
5: .line 219
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.reduce:([I[I)V
6: .line 216
StackMap locals:
StackMap stack:
iinc 1 /* n */ -1
iload 1 /* n */
ifgt 4
7: .line 221
return
end local 3 // int[] tt
end local 2 // int[] z
end local 1 // int n
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 8 0 x [I
0 8 1 n I
0 8 2 z [I
1 8 3 tt [I
MethodParameters:
Name Flags
x
n
z
public static void subtract(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // int[] x
start local 1 // int[] y
start local 2 // int[] z
0: .line 225
aload 0 /* x */
aload 1 /* y */
aload 2 /* z */
invokestatic org.bouncycastle.math.raw.Nat224.sub:([I[I[I)I
istore 3 /* c */
start local 3 // int c
1: .line 226
iload 3 /* c */
ifeq 3
2: .line 228
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.subPInvFrom:([I)V
3: .line 230
StackMap locals: int
StackMap stack:
return
end local 3 // int c
end local 2 // int[] z
end local 1 // int[] y
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 y [I
0 4 2 z [I
1 4 3 c I
MethodParameters:
Name Flags
x
y
z
public static void subtractExt(int[], int[], int[]);
descriptor: ([I[I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 // int[] xx
start local 1 // int[] yy
start local 2 // int[] zz
0: .line 234
bipush 14
aload 0 /* xx */
aload 1 /* yy */
aload 2 /* zz */
invokestatic org.bouncycastle.math.raw.Nat.sub:(I[I[I[I)I
istore 3 /* c */
start local 3 // int c
1: .line 235
iload 3 /* c */
ifeq 4
2: .line 237
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
arraylength
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
aload 2 /* zz */
invokestatic org.bouncycastle.math.raw.Nat.subFrom:(I[I[I)I
ifeq 4
3: .line 239
bipush 14
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.PExtInv:[I
arraylength
invokestatic org.bouncycastle.math.raw.Nat.decAt:(I[II)I
pop
4: .line 242
StackMap locals: int
StackMap stack:
return
end local 3 // int c
end local 2 // int[] zz
end local 1 // int[] yy
end local 0 // int[] xx
LocalVariableTable:
Start End Slot Name Signature
0 5 0 xx [I
0 5 1 yy [I
0 5 2 zz [I
1 5 3 c I
MethodParameters:
Name Flags
xx
yy
zz
public static void twice(int[], int[]);
descriptor: ([I[I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 // int[] x
start local 1 // int[] z
0: .line 246
bipush 7
aload 0 /* x */
iconst_0
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat.shiftUpBit:(I[II[I)I
istore 2 /* c */
start local 2 // int c
1: .line 247
iload 2 /* c */
ifne 2
aload 1 /* z */
bipush 6
iaload
iconst_m1
if_icmpne 3
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat224.gte:([I[I)Z
ifeq 3
2: .line 249
StackMap locals: int
StackMap stack:
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP224R1Field.addPInvTo:([I)V
3: .line 251
StackMap locals:
StackMap stack:
return
end local 2 // int c
end local 1 // int[] z
end local 0 // int[] x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [I
0 4 1 z [I
1 4 2 c I
MethodParameters:
Name Flags
x
z
private static void addPInvTo(int[]);
descriptor: ([I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 // int[] z
0: .line 255
aload 0 /* z */
iconst_0
iaload
i2l
ldc 4294967295
land
lconst_1
lsub
lstore 1 /* c */
start local 1 // long c
1: .line 256
aload 0 /* z */
iconst_0
lload 1 /* c */
l2i
iastore
2: .line 257
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
3: .line 258
lload 1 /* c */
lconst_0
lcmp
ifeq 10
4: .line 260
lload 1 /* c */
aload 0 /* z */
iconst_1
iaload
i2l
ldc 4294967295
land
ladd
lstore 1 /* c */
5: .line 261
aload 0 /* z */
iconst_1
lload 1 /* c */
l2i
iastore
6: .line 262
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
7: .line 263
lload 1 /* c */
aload 0 /* z */
iconst_2
iaload
i2l
ldc 4294967295
land
ladd
lstore 1 /* c */
8: .line 264
aload 0 /* z */
iconst_2
lload 1 /* c */
l2i
iastore
9: .line 265
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
10: .line 267
StackMap locals: long
StackMap stack:
lload 1 /* c */
aload 0 /* z */
iconst_3
iaload
i2l
ldc 4294967295
land
lconst_1
ladd
ladd
lstore 1 /* c */
11: .line 268
aload 0 /* z */
iconst_3
lload 1 /* c */
l2i
iastore
12: .line 269
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
13: .line 270
lload 1 /* c */
lconst_0
lcmp
ifeq 15
14: .line 272
bipush 7
aload 0 /* z */
iconst_4
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
pop
15: .line 274
StackMap locals:
StackMap stack:
return
end local 1 // long c
end local 0 // int[] z
LocalVariableTable:
Start End Slot Name Signature
0 16 0 z [I
1 16 1 c J
MethodParameters:
Name Flags
z
private static void subPInvFrom(int[]);
descriptor: ([I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 // int[] z
0: .line 278
aload 0 /* z */
iconst_0
iaload
i2l
ldc 4294967295
land
lconst_1
ladd
lstore 1 /* c */
start local 1 // long c
1: .line 279
aload 0 /* z */
iconst_0
lload 1 /* c */
l2i
iastore
2: .line 280
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
3: .line 281
lload 1 /* c */
lconst_0
lcmp
ifeq 10
4: .line 283
lload 1 /* c */
aload 0 /* z */
iconst_1
iaload
i2l
ldc 4294967295
land
ladd
lstore 1 /* c */
5: .line 284
aload 0 /* z */
iconst_1
lload 1 /* c */
l2i
iastore
6: .line 285
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
7: .line 286
lload 1 /* c */
aload 0 /* z */
iconst_2
iaload
i2l
ldc 4294967295
land
ladd
lstore 1 /* c */
8: .line 287
aload 0 /* z */
iconst_2
lload 1 /* c */
l2i
iastore
9: .line 288
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
10: .line 290
StackMap locals: long
StackMap stack:
lload 1 /* c */
aload 0 /* z */
iconst_3
iaload
i2l
ldc 4294967295
land
lconst_1
lsub
ladd
lstore 1 /* c */
11: .line 291
aload 0 /* z */
iconst_3
lload 1 /* c */
l2i
iastore
12: .line 292
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
13: .line 293
lload 1 /* c */
lconst_0
lcmp
ifeq 15
14: .line 295
bipush 7
aload 0 /* z */
iconst_4
invokestatic org.bouncycastle.math.raw.Nat.decAt:(I[II)I
pop
15: .line 297
StackMap locals:
StackMap stack:
return
end local 1 // long c
end local 0 // int[] z
LocalVariableTable:
Start End Slot Name Signature
0 16 0 z [I
1 16 1 c J
MethodParameters:
Name Flags
z
}
SourceFile: "SecP224R1Field.java"