public class org.bouncycastle.math.ec.custom.sec.SecP192R1Field
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.sec.SecP192R1Field
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 P5;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int PExt11;
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 6
newarray 10
dup
iconst_0
iconst_m1
iastore
dup
iconst_1
iconst_m1
iastore
dup
iconst_2
bipush -2
iastore
dup
iconst_3
iconst_m1
iastore
dup
iconst_4
iconst_m1
iastore
dup
iconst_5
iconst_m1
iastore
putstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
1: .line 14
bipush 12
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_2
iconst_2
iastore
dup
iconst_4
iconst_1
iastore
dup
bipush 6
2: .line 15
bipush -2
iastore
dup
bipush 7
iconst_m1
iastore
dup
bipush 8
bipush -3
iastore
dup
bipush 9
iconst_m1
iastore
dup
bipush 10
iconst_m1
iastore
dup
bipush 11
iconst_m1
iastore
3: .line 14
putstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.PExt:[I
4: .line 16
bipush 9
newarray 10
dup
iconst_0
iconst_m1
iastore
dup
iconst_1
iconst_m1
iastore
dup
iconst_2
bipush -3
iastore
dup
iconst_3
iconst_m1
iastore
dup
iconst_4
bipush -2
iastore
dup
iconst_5
5: .line 17
iconst_m1
iastore
dup
bipush 6
iconst_1
iastore
dup
bipush 8
iconst_2
iastore
6: .line 16
putstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.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.SecP192R1Field this
0: .line 8
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.math.ec.custom.sec.SecP192R1Field this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP192R1Field;
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.Nat192.add:([I[I[I)I
istore 3 /* c */
start local 3 // int c
1: .line 24
iload 3 /* c */
ifne 2
aload 2 /* z */
iconst_5
iaload
iconst_m1
if_icmpne 3
aload 2 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 3
2: .line 26
StackMap locals: int
StackMap stack:
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.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 12
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 11
iaload
iconst_m1
if_icmpne 4
bipush 12
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.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.SecP192R1Field.PExtInv:[I
arraylength
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.PExtInv:[I
aload 2 /* zz */
invokestatic org.bouncycastle.math.raw.Nat.addTo:(I[I[I)I
ifeq 4
3: .line 37
bipush 12
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.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 6
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 */
iconst_5
iaload
iconst_m1
if_icmpne 3
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 3
2: .line 47
StackMap locals: int
StackMap stack:
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.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.Nat192.fromBigInteger:(Ljava/math/BigInteger;)[I
astore 1 /* z */
start local 1 // int[] z
1: .line 54
aload 1 /* z */
iconst_5
iaload
iconst_m1
if_icmpne 3
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 3
2: .line 56
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat192.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 6
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.SecP192R1Field.P:[I
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat192.add:([I[I[I)I
istore 2 /* c */
start local 2 // int c
4: .line 70
bipush 6
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.Nat192.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.Nat192.mul:([I[I[I)V
2: .line 78
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.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.Nat192.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 11
iaload
iconst_m1
if_icmpne 4
bipush 12
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.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.SecP192R1Field.PExtInv:[I
arraylength
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.PExtInv:[I
aload 2 /* zz */
invokestatic org.bouncycastle.math.raw.Nat.addTo:(I[I[I)I
ifeq 4
3: .line 88
bipush 12
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.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.Nat192.isZero:([I)Z
ifeq 3
1: .line 97
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat192.zero:([I)V
2: .line 98
goto 4
3: .line 101
StackMap locals:
StackMap stack:
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
aload 0 /* x */
aload 1 /* z */
invokestatic org.bouncycastle.math.raw.Nat192.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=23, args_size=2
start local 0 // int[] xx
start local 1 // int[] z
0: .line 107
aload 0 /* xx */
bipush 6
iaload
i2l
ldc 4294967295
land
lstore 2 /* xx06 */
start local 2 // long xx06
1: aload 0 /* xx */
bipush 7
iaload
i2l
ldc 4294967295
land
lstore 4 /* xx07 */
start local 4 // long xx07
2: aload 0 /* xx */
bipush 8
iaload
i2l
ldc 4294967295
land
lstore 6 /* xx08 */
start local 6 // long xx08
3: .line 108
aload 0 /* xx */
bipush 9
iaload
i2l
ldc 4294967295
land
lstore 8 /* xx09 */
start local 8 // long xx09
4: aload 0 /* xx */
bipush 10
iaload
i2l
ldc 4294967295
land
lstore 10 /* xx10 */
start local 10 // long xx10
5: aload 0 /* xx */
bipush 11
iaload
i2l
ldc 4294967295
land
lstore 12 /* xx11 */
start local 12 // long xx11
6: .line 110
lload 2 /* xx06 */
lload 10 /* xx10 */
ladd
lstore 14 /* t0 */
start local 14 // long t0
7: .line 111
lload 4 /* xx07 */
lload 12 /* xx11 */
ladd
lstore 16 /* t1 */
start local 16 // long t1
8: .line 113
lconst_0
lstore 18 /* cc */
start local 18 // long cc
9: .line 114
lload 18 /* cc */
aload 0 /* xx */
iconst_0
iaload
i2l
ldc 4294967295
land
lload 14 /* t0 */
ladd
ladd
lstore 18 /* cc */
10: .line 115
lload 18 /* cc */
l2i
istore 20 /* z0 */
start local 20 // int z0
11: .line 116
lload 18 /* cc */
bipush 32
lshr
lstore 18 /* cc */
12: .line 117
lload 18 /* cc */
aload 0 /* xx */
iconst_1
iaload
i2l
ldc 4294967295
land
lload 16 /* t1 */
ladd
ladd
lstore 18 /* cc */
13: .line 118
aload 1 /* z */
iconst_1
lload 18 /* cc */
l2i
iastore
14: .line 119
lload 18 /* cc */
bipush 32
lshr
lstore 18 /* cc */
15: .line 121
lload 14 /* t0 */
lload 6 /* xx08 */
ladd
lstore 14 /* t0 */
16: .line 122
lload 16 /* t1 */
lload 8 /* xx09 */
ladd
lstore 16 /* t1 */
17: .line 124
lload 18 /* cc */
aload 0 /* xx */
iconst_2
iaload
i2l
ldc 4294967295
land
lload 14 /* t0 */
ladd
ladd
lstore 18 /* cc */
18: .line 125
lload 18 /* cc */
ldc 4294967295
land
lstore 21 /* z2 */
start local 21 // long z2
19: .line 126
lload 18 /* cc */
bipush 32
lshr
lstore 18 /* cc */
20: .line 127
lload 18 /* cc */
aload 0 /* xx */
iconst_3
iaload
i2l
ldc 4294967295
land
lload 16 /* t1 */
ladd
ladd
lstore 18 /* cc */
21: .line 128
aload 1 /* z */
iconst_3
lload 18 /* cc */
l2i
iastore
22: .line 129
lload 18 /* cc */
bipush 32
lshr
lstore 18 /* cc */
23: .line 131
lload 14 /* t0 */
lload 2 /* xx06 */
lsub
lstore 14 /* t0 */
24: .line 132
lload 16 /* t1 */
lload 4 /* xx07 */
lsub
lstore 16 /* t1 */
25: .line 134
lload 18 /* cc */
aload 0 /* xx */
iconst_4
iaload
i2l
ldc 4294967295
land
lload 14 /* t0 */
ladd
ladd
lstore 18 /* cc */
26: .line 135
aload 1 /* z */
iconst_4
lload 18 /* cc */
l2i
iastore
27: .line 136
lload 18 /* cc */
bipush 32
lshr
lstore 18 /* cc */
28: .line 137
lload 18 /* cc */
aload 0 /* xx */
iconst_5
iaload
i2l
ldc 4294967295
land
lload 16 /* t1 */
ladd
ladd
lstore 18 /* cc */
29: .line 138
aload 1 /* z */
iconst_5
lload 18 /* cc */
l2i
iastore
30: .line 139
lload 18 /* cc */
bipush 32
lshr
lstore 18 /* cc */
31: .line 141
lload 21 /* z2 */
lload 18 /* cc */
ladd
lstore 21 /* z2 */
32: .line 143
lload 18 /* cc */
iload 20 /* z0 */
i2l
ldc 4294967295
land
ladd
lstore 18 /* cc */
33: .line 144
aload 1 /* z */
iconst_0
lload 18 /* cc */
l2i
iastore
34: .line 145
lload 18 /* cc */
bipush 32
lshr
lstore 18 /* cc */
35: .line 146
lload 18 /* cc */
lconst_0
lcmp
ifeq 39
36: .line 148
lload 18 /* cc */
aload 1 /* z */
iconst_1
iaload
i2l
ldc 4294967295
land
ladd
lstore 18 /* cc */
37: .line 149
aload 1 /* z */
iconst_1
lload 18 /* cc */
l2i
iastore
38: .line 150
lload 21 /* z2 */
lload 18 /* cc */
bipush 32
lshr
ladd
lstore 21 /* z2 */
39: .line 152
StackMap locals: int[] int[] long long long long long long long long long int long
StackMap stack:
aload 1 /* z */
iconst_2
lload 21 /* z2 */
l2i
iastore
40: .line 153
lload 21 /* z2 */
bipush 32
lshr
lstore 18 /* cc */
41: .line 157
lload 18 /* cc */
lconst_0
lcmp
ifeq 42
bipush 6
aload 1 /* z */
iconst_3
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
ifne 43
42: .line 158
StackMap locals:
StackMap stack:
aload 1 /* z */
iconst_5
iaload
iconst_m1
if_icmpne 44
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 44
43: .line 160
StackMap locals:
StackMap stack:
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.addPInvTo:([I)V
44: .line 162
StackMap locals:
StackMap stack:
return
end local 21 // long z2
end local 20 // int z0
end local 18 // long cc
end local 16 // long t1
end local 14 // long t0
end local 12 // long xx11
end local 10 // long xx10
end local 8 // long xx09
end local 6 // long xx08
end local 4 // long xx07
end local 2 // long xx06
end local 1 // int[] z
end local 0 // int[] xx
LocalVariableTable:
Start End Slot Name Signature
0 45 0 xx [I
0 45 1 z [I
1 45 2 xx06 J
2 45 4 xx07 J
3 45 6 xx08 J
4 45 8 xx09 J
5 45 10 xx10 J
6 45 12 xx11 J
7 45 14 t0 J
8 45 16 t1 J
9 45 18 cc J
11 45 20 z0 I
19 45 21 z2 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 166
lconst_0
lstore 2 /* cc */
start local 2 // long cc
1: .line 168
iload 0 /* x */
ifeq 13
2: .line 170
iload 0 /* x */
i2l
ldc 4294967295
land
lstore 4 /* xx06 */
start local 4 // long xx06
3: .line 172
lload 2 /* cc */
aload 1 /* z */
iconst_0
iaload
i2l
ldc 4294967295
land
lload 4 /* xx06 */
ladd
ladd
lstore 2 /* cc */
4: .line 173
aload 1 /* z */
iconst_0
lload 2 /* cc */
l2i
iastore
5: .line 174
lload 2 /* cc */
bipush 32
lshr
lstore 2 /* cc */
6: .line 175
lload 2 /* cc */
lconst_0
lcmp
ifeq 10
7: .line 177
lload 2 /* cc */
aload 1 /* z */
iconst_1
iaload
i2l
ldc 4294967295
land
ladd
lstore 2 /* cc */
8: .line 178
aload 1 /* z */
iconst_1
lload 2 /* cc */
l2i
iastore
9: .line 179
lload 2 /* cc */
bipush 32
lshr
lstore 2 /* cc */
10: .line 181
StackMap locals: long long
StackMap stack:
lload 2 /* cc */
aload 1 /* z */
iconst_2
iaload
i2l
ldc 4294967295
land
lload 4 /* xx06 */
ladd
ladd
lstore 2 /* cc */
11: .line 182
aload 1 /* z */
iconst_2
lload 2 /* cc */
l2i
iastore
12: .line 183
lload 2 /* cc */
bipush 32
lshr
lstore 2 /* cc */
end local 4 // long xx06
13: .line 188
StackMap locals:
StackMap stack:
lload 2 /* cc */
lconst_0
lcmp
ifeq 14
bipush 6
aload 1 /* z */
iconst_3
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
ifne 15
14: .line 189
StackMap locals:
StackMap stack:
aload 1 /* z */
iconst_5
iaload
iconst_m1
if_icmpne 16
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 16
15: .line 191
StackMap locals:
StackMap stack:
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.addPInvTo:([I)V
16: .line 193
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 17 0 x I
0 17 1 z [I
1 17 2 cc J
3 13 4 xx06 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 197
invokestatic org.bouncycastle.math.raw.Nat192.createExt:()[I
astore 2 /* tt */
start local 2 // int[] tt
1: .line 198
aload 0 /* x */
aload 2 /* tt */
invokestatic org.bouncycastle.math.raw.Nat192.square:([I[I)V
2: .line 199
aload 2 /* tt */
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.reduce:([I[I)V
3: .line 200
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 206
invokestatic org.bouncycastle.math.raw.Nat192.createExt:()[I
astore 3 /* tt */
start local 3 // int[] tt
1: .line 207
aload 0 /* x */
aload 3 /* tt */
invokestatic org.bouncycastle.math.raw.Nat192.square:([I[I)V
2: .line 208
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.reduce:([I[I)V
3: .line 210
goto 6
4: .line 212
StackMap locals: int[]
StackMap stack:
aload 2 /* z */
aload 3 /* tt */
invokestatic org.bouncycastle.math.raw.Nat192.square:([I[I)V
5: .line 213
aload 3 /* tt */
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.reduce:([I[I)V
6: .line 210
StackMap locals:
StackMap stack:
iinc 1 /* n */ -1
iload 1 /* n */
ifgt 4
7: .line 215
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 219
aload 0 /* x */
aload 1 /* y */
aload 2 /* z */
invokestatic org.bouncycastle.math.raw.Nat192.sub:([I[I[I)I
istore 3 /* c */
start local 3 // int c
1: .line 220
iload 3 /* c */
ifeq 3
2: .line 222
aload 2 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.subPInvFrom:([I)V
3: .line 224
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 228
bipush 12
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 229
iload 3 /* c */
ifeq 4
2: .line 231
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.PExtInv:[I
arraylength
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.PExtInv:[I
aload 2 /* zz */
invokestatic org.bouncycastle.math.raw.Nat.subFrom:(I[I[I)I
ifeq 4
3: .line 233
bipush 12
aload 2 /* zz */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.PExtInv:[I
arraylength
invokestatic org.bouncycastle.math.raw.Nat.decAt:(I[II)I
pop
4: .line 236
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 240
bipush 6
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 241
iload 2 /* c */
ifne 2
aload 1 /* z */
iconst_5
iaload
iconst_m1
if_icmpne 3
aload 1 /* z */
getstatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.P:[I
invokestatic org.bouncycastle.math.raw.Nat192.gte:([I[I)Z
ifeq 3
2: .line 243
StackMap locals: int
StackMap stack:
aload 1 /* z */
invokestatic org.bouncycastle.math.ec.custom.sec.SecP192R1Field.addPInvTo:([I)V
3: .line 245
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 249
aload 0 /* z */
iconst_0
iaload
i2l
ldc 4294967295
land
lconst_1
ladd
lstore 1 /* c */
start local 1 // long c
1: .line 250
aload 0 /* z */
iconst_0
lload 1 /* c */
l2i
iastore
2: .line 251
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
3: .line 252
lload 1 /* c */
lconst_0
lcmp
ifeq 7
4: .line 254
lload 1 /* c */
aload 0 /* z */
iconst_1
iaload
i2l
ldc 4294967295
land
ladd
lstore 1 /* c */
5: .line 255
aload 0 /* z */
iconst_1
lload 1 /* c */
l2i
iastore
6: .line 256
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
7: .line 258
StackMap locals: long
StackMap stack:
lload 1 /* c */
aload 0 /* z */
iconst_2
iaload
i2l
ldc 4294967295
land
lconst_1
ladd
ladd
lstore 1 /* c */
8: .line 259
aload 0 /* z */
iconst_2
lload 1 /* c */
l2i
iastore
9: .line 260
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
10: .line 261
lload 1 /* c */
lconst_0
lcmp
ifeq 12
11: .line 263
bipush 6
aload 0 /* z */
iconst_3
invokestatic org.bouncycastle.math.raw.Nat.incAt:(I[II)I
pop
12: .line 265
StackMap locals:
StackMap stack:
return
end local 1 // long c
end local 0 // int[] z
LocalVariableTable:
Start End Slot Name Signature
0 13 0 z [I
1 13 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 269
aload 0 /* z */
iconst_0
iaload
i2l
ldc 4294967295
land
lconst_1
lsub
lstore 1 /* c */
start local 1 // long c
1: .line 270
aload 0 /* z */
iconst_0
lload 1 /* c */
l2i
iastore
2: .line 271
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
3: .line 272
lload 1 /* c */
lconst_0
lcmp
ifeq 7
4: .line 274
lload 1 /* c */
aload 0 /* z */
iconst_1
iaload
i2l
ldc 4294967295
land
ladd
lstore 1 /* c */
5: .line 275
aload 0 /* z */
iconst_1
lload 1 /* c */
l2i
iastore
6: .line 276
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
7: .line 278
StackMap locals: long
StackMap stack:
lload 1 /* c */
aload 0 /* z */
iconst_2
iaload
i2l
ldc 4294967295
land
lconst_1
lsub
ladd
lstore 1 /* c */
8: .line 279
aload 0 /* z */
iconst_2
lload 1 /* c */
l2i
iastore
9: .line 280
lload 1 /* c */
bipush 32
lshr
lstore 1 /* c */
10: .line 281
lload 1 /* c */
lconst_0
lcmp
ifeq 12
11: .line 283
bipush 6
aload 0 /* z */
iconst_3
invokestatic org.bouncycastle.math.raw.Nat.decAt:(I[II)I
pop
12: .line 285
StackMap locals:
StackMap stack:
return
end local 1 // long c
end local 0 // int[] z
LocalVariableTable:
Start End Slot Name Signature
0 13 0 z [I
1 13 1 c J
MethodParameters:
Name Flags
z
}
SourceFile: "SecP192R1Field.java"