public final class org.bouncycastle.crypto.digests.WhirlpoolDigest implements org.bouncycastle.crypto.ExtendedDigest
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.bouncycastle.crypto.digests.WhirlpoolDigest
super_class: java.lang.Object
{
private static final int BYTE_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final int DIGEST_LENGTH_BYTES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final int ROUNDS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int REDUCTION_POLYNOMIAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 285
private static final int[] SBOX;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] C0;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] C1;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] C2;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] C3;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] C4;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] C5;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] C6;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[] C7;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final long[] _rc;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int BITCOUNT_ARRAY_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private byte[] _buffer;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int _bufferPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private short[] _bitCount;
descriptor: [S
flags: (0x0002) ACC_PRIVATE
private long[] _hash;
descriptor: [J
flags: (0x0002) ACC_PRIVATE
private long[] _K;
descriptor: [J
flags: (0x0002) ACC_PRIVATE
private long[] _L;
descriptor: [J
flags: (0x0002) ACC_PRIVATE
private long[] _block;
descriptor: [J
flags: (0x0002) ACC_PRIVATE
private long[] _state;
descriptor: [J
flags: (0x0002) ACC_PRIVATE
private static final short[] EIGHT;
descriptor: [S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: sipush 256
newarray 10
dup
iconst_0
1: bipush 24
iastore
dup
iconst_1
bipush 35
iastore
dup
iconst_2
sipush 198
iastore
dup
iconst_3
sipush 232
iastore
dup
iconst_4
sipush 135
iastore
dup
iconst_5
sipush 184
iastore
dup
bipush 6
iconst_1
iastore
dup
bipush 7
bipush 79
iastore
dup
bipush 8
bipush 54
iastore
dup
bipush 9
sipush 166
iastore
dup
bipush 10
sipush 210
iastore
dup
bipush 11
sipush 245
iastore
dup
bipush 12
bipush 121
iastore
dup
bipush 13
bipush 111
iastore
dup
bipush 14
sipush 145
iastore
dup
bipush 15
bipush 82
iastore
dup
bipush 16
2: bipush 96
iastore
dup
bipush 17
sipush 188
iastore
dup
bipush 18
sipush 155
iastore
dup
bipush 19
sipush 142
iastore
dup
bipush 20
sipush 163
iastore
dup
bipush 21
bipush 12
iastore
dup
bipush 22
bipush 123
iastore
dup
bipush 23
bipush 53
iastore
dup
bipush 24
bipush 29
iastore
dup
bipush 25
sipush 224
iastore
dup
bipush 26
sipush 215
iastore
dup
bipush 27
sipush 194
iastore
dup
bipush 28
bipush 46
iastore
dup
bipush 29
bipush 75
iastore
dup
bipush 30
sipush 254
iastore
dup
bipush 31
bipush 87
iastore
dup
bipush 32
3: bipush 21
iastore
dup
bipush 33
bipush 119
iastore
dup
bipush 34
bipush 55
iastore
dup
bipush 35
sipush 229
iastore
dup
bipush 36
sipush 159
iastore
dup
bipush 37
sipush 240
iastore
dup
bipush 38
bipush 74
iastore
dup
bipush 39
sipush 218
iastore
dup
bipush 40
bipush 88
iastore
dup
bipush 41
sipush 201
iastore
dup
bipush 42
bipush 41
iastore
dup
bipush 43
bipush 10
iastore
dup
bipush 44
sipush 177
iastore
dup
bipush 45
sipush 160
iastore
dup
bipush 46
bipush 107
iastore
dup
bipush 47
sipush 133
iastore
dup
bipush 48
4: sipush 189
iastore
dup
bipush 49
bipush 93
iastore
dup
bipush 50
bipush 16
iastore
dup
bipush 51
sipush 244
iastore
dup
bipush 52
sipush 203
iastore
dup
bipush 53
bipush 62
iastore
dup
bipush 54
iconst_5
iastore
dup
bipush 55
bipush 103
iastore
dup
bipush 56
sipush 228
iastore
dup
bipush 57
bipush 39
iastore
dup
bipush 58
bipush 65
iastore
dup
bipush 59
sipush 139
iastore
dup
bipush 60
sipush 167
iastore
dup
bipush 61
bipush 125
iastore
dup
bipush 62
sipush 149
iastore
dup
bipush 63
sipush 216
iastore
dup
bipush 64
5: sipush 251
iastore
dup
bipush 65
sipush 238
iastore
dup
bipush 66
bipush 124
iastore
dup
bipush 67
bipush 102
iastore
dup
bipush 68
sipush 221
iastore
dup
bipush 69
bipush 23
iastore
dup
bipush 70
bipush 71
iastore
dup
bipush 71
sipush 158
iastore
dup
bipush 72
sipush 202
iastore
dup
bipush 73
bipush 45
iastore
dup
bipush 74
sipush 191
iastore
dup
bipush 75
bipush 7
iastore
dup
bipush 76
sipush 173
iastore
dup
bipush 77
bipush 90
iastore
dup
bipush 78
sipush 131
iastore
dup
bipush 79
bipush 51
iastore
dup
bipush 80
6: bipush 99
iastore
dup
bipush 81
iconst_2
iastore
dup
bipush 82
sipush 170
iastore
dup
bipush 83
bipush 113
iastore
dup
bipush 84
sipush 200
iastore
dup
bipush 85
bipush 25
iastore
dup
bipush 86
bipush 73
iastore
dup
bipush 87
sipush 217
iastore
dup
bipush 88
sipush 242
iastore
dup
bipush 89
sipush 227
iastore
dup
bipush 90
bipush 91
iastore
dup
bipush 91
sipush 136
iastore
dup
bipush 92
sipush 154
iastore
dup
bipush 93
bipush 38
iastore
dup
bipush 94
bipush 50
iastore
dup
bipush 95
sipush 176
iastore
dup
bipush 96
7: sipush 233
iastore
dup
bipush 97
bipush 15
iastore
dup
bipush 98
sipush 213
iastore
dup
bipush 99
sipush 128
iastore
dup
bipush 100
sipush 190
iastore
dup
bipush 101
sipush 205
iastore
dup
bipush 102
bipush 52
iastore
dup
bipush 103
bipush 72
iastore
dup
bipush 104
sipush 255
iastore
dup
bipush 105
bipush 122
iastore
dup
bipush 106
sipush 144
iastore
dup
bipush 107
bipush 95
iastore
dup
bipush 108
bipush 32
iastore
dup
bipush 109
bipush 104
iastore
dup
bipush 110
bipush 26
iastore
dup
bipush 111
sipush 174
iastore
dup
bipush 112
8: sipush 180
iastore
dup
bipush 113
bipush 84
iastore
dup
bipush 114
sipush 147
iastore
dup
bipush 115
bipush 34
iastore
dup
bipush 116
bipush 100
iastore
dup
bipush 117
sipush 241
iastore
dup
bipush 118
bipush 115
iastore
dup
bipush 119
bipush 18
iastore
dup
bipush 120
bipush 64
iastore
dup
bipush 121
bipush 8
iastore
dup
bipush 122
sipush 195
iastore
dup
bipush 123
sipush 236
iastore
dup
bipush 124
sipush 219
iastore
dup
bipush 125
sipush 161
iastore
dup
bipush 126
sipush 141
iastore
dup
bipush 127
bipush 61
iastore
dup
sipush 128
9: sipush 151
iastore
dup
sipush 130
sipush 207
iastore
dup
sipush 131
bipush 43
iastore
dup
sipush 132
bipush 118
iastore
dup
sipush 133
sipush 130
iastore
dup
sipush 134
sipush 214
iastore
dup
sipush 135
bipush 27
iastore
dup
sipush 136
sipush 181
iastore
dup
sipush 137
sipush 175
iastore
dup
sipush 138
bipush 106
iastore
dup
sipush 139
bipush 80
iastore
dup
sipush 140
bipush 69
iastore
dup
sipush 141
sipush 243
iastore
dup
sipush 142
bipush 48
iastore
dup
sipush 143
sipush 239
iastore
dup
sipush 144
10: bipush 63
iastore
dup
sipush 145
bipush 85
iastore
dup
sipush 146
sipush 162
iastore
dup
sipush 147
sipush 234
iastore
dup
sipush 148
bipush 101
iastore
dup
sipush 149
sipush 186
iastore
dup
sipush 150
bipush 47
iastore
dup
sipush 151
sipush 192
iastore
dup
sipush 152
sipush 222
iastore
dup
sipush 153
bipush 28
iastore
dup
sipush 154
sipush 253
iastore
dup
sipush 155
bipush 77
iastore
dup
sipush 156
sipush 146
iastore
dup
sipush 157
bipush 117
iastore
dup
sipush 158
bipush 6
iastore
dup
sipush 159
sipush 138
iastore
dup
sipush 160
11: sipush 178
iastore
dup
sipush 161
sipush 230
iastore
dup
sipush 162
bipush 14
iastore
dup
sipush 163
bipush 31
iastore
dup
sipush 164
bipush 98
iastore
dup
sipush 165
sipush 212
iastore
dup
sipush 166
sipush 168
iastore
dup
sipush 167
sipush 150
iastore
dup
sipush 168
sipush 249
iastore
dup
sipush 169
sipush 197
iastore
dup
sipush 170
bipush 37
iastore
dup
sipush 171
bipush 89
iastore
dup
sipush 172
sipush 132
iastore
dup
sipush 173
bipush 114
iastore
dup
sipush 174
bipush 57
iastore
dup
sipush 175
bipush 76
iastore
dup
sipush 176
12: bipush 94
iastore
dup
sipush 177
bipush 120
iastore
dup
sipush 178
bipush 56
iastore
dup
sipush 179
sipush 140
iastore
dup
sipush 180
sipush 209
iastore
dup
sipush 181
sipush 165
iastore
dup
sipush 182
sipush 226
iastore
dup
sipush 183
bipush 97
iastore
dup
sipush 184
sipush 179
iastore
dup
sipush 185
bipush 33
iastore
dup
sipush 186
sipush 156
iastore
dup
sipush 187
bipush 30
iastore
dup
sipush 188
bipush 67
iastore
dup
sipush 189
sipush 199
iastore
dup
sipush 190
sipush 252
iastore
dup
sipush 191
iconst_4
iastore
dup
sipush 192
13: bipush 81
iastore
dup
sipush 193
sipush 153
iastore
dup
sipush 194
bipush 109
iastore
dup
sipush 195
bipush 13
iastore
dup
sipush 196
sipush 250
iastore
dup
sipush 197
sipush 223
iastore
dup
sipush 198
bipush 126
iastore
dup
sipush 199
bipush 36
iastore
dup
sipush 200
bipush 59
iastore
dup
sipush 201
sipush 171
iastore
dup
sipush 202
sipush 206
iastore
dup
sipush 203
bipush 17
iastore
dup
sipush 204
sipush 143
iastore
dup
sipush 205
bipush 78
iastore
dup
sipush 206
sipush 183
iastore
dup
sipush 207
sipush 235
iastore
dup
sipush 208
14: bipush 60
iastore
dup
sipush 209
sipush 129
iastore
dup
sipush 210
sipush 148
iastore
dup
sipush 211
sipush 247
iastore
dup
sipush 212
sipush 185
iastore
dup
sipush 213
bipush 19
iastore
dup
sipush 214
bipush 44
iastore
dup
sipush 215
sipush 211
iastore
dup
sipush 216
sipush 231
iastore
dup
sipush 217
bipush 110
iastore
dup
sipush 218
sipush 196
iastore
dup
sipush 219
iconst_3
iastore
dup
sipush 220
bipush 86
iastore
dup
sipush 221
bipush 68
iastore
dup
sipush 222
bipush 127
iastore
dup
sipush 223
sipush 169
iastore
dup
sipush 224
15: bipush 42
iastore
dup
sipush 225
sipush 187
iastore
dup
sipush 226
sipush 193
iastore
dup
sipush 227
bipush 83
iastore
dup
sipush 228
sipush 220
iastore
dup
sipush 229
bipush 11
iastore
dup
sipush 230
sipush 157
iastore
dup
sipush 231
bipush 108
iastore
dup
sipush 232
bipush 49
iastore
dup
sipush 233
bipush 116
iastore
dup
sipush 234
sipush 246
iastore
dup
sipush 235
bipush 70
iastore
dup
sipush 236
sipush 172
iastore
dup
sipush 237
sipush 137
iastore
dup
sipush 238
bipush 20
iastore
dup
sipush 239
sipush 225
iastore
dup
sipush 240
16: bipush 22
iastore
dup
sipush 241
bipush 58
iastore
dup
sipush 242
bipush 105
iastore
dup
sipush 243
bipush 9
iastore
dup
sipush 244
bipush 112
iastore
dup
sipush 245
sipush 182
iastore
dup
sipush 246
sipush 208
iastore
dup
sipush 247
sipush 237
iastore
dup
sipush 248
sipush 204
iastore
dup
sipush 249
bipush 66
iastore
dup
sipush 250
sipush 152
iastore
dup
sipush 251
sipush 164
iastore
dup
sipush 252
bipush 40
iastore
dup
sipush 253
bipush 92
iastore
dup
sipush 254
sipush 248
iastore
dup
sipush 255
sipush 134
iastore
17: putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.SBOX:[I
18: sipush 256
newarray 11
putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C0:[J
19: sipush 256
newarray 11
putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C1:[J
20: sipush 256
newarray 11
putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C2:[J
21: sipush 256
newarray 11
putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C3:[J
22: sipush 256
newarray 11
putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C4:[J
23: sipush 256
newarray 11
putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C5:[J
24: sipush 256
newarray 11
putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C6:[J
25: sipush 256
newarray 11
putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C7:[J
26: bipush 32
newarray 9
putstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.EIGHT:[S
27: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.EIGHT:[S
bipush 31
bipush 8
sastore
28: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=8, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 11
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._rc:[J
2: aload 0
bipush 64
newarray 8
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
3: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
4: aload 0
bipush 32
newarray 9
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
5: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._hash:[J
6: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
7: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
8: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._block:[J
9: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
10: iconst_0
istore 1
start local 1 11: goto 27
12: StackMap locals: org.bouncycastle.crypto.digests.WhirlpoolDigest int
StackMap stack:
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.SBOX:[I
iload 1
iaload
istore 2
start local 2 13: aload 0
iload 2
iconst_1
ishl
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.maskWithReductionPolynomial:(I)I
istore 3
start local 3 14: aload 0
iload 3
iconst_1
ishl
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.maskWithReductionPolynomial:(I)I
istore 4
start local 4 15: iload 4
iload 2
ixor
istore 5
start local 5 16: aload 0
iload 4
iconst_1
ishl
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.maskWithReductionPolynomial:(I)I
istore 6
start local 6 17: iload 6
iload 2
ixor
istore 7
start local 7 18: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C0:[J
iload 1
aload 0
iload 2
iload 2
iload 4
iload 2
iload 6
iload 5
iload 3
iload 7
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.packIntoLong:(IIIIIIII)J
lastore
19: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C1:[J
iload 1
aload 0
iload 7
iload 2
iload 2
iload 4
iload 2
iload 6
iload 5
iload 3
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.packIntoLong:(IIIIIIII)J
lastore
20: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C2:[J
iload 1
aload 0
iload 3
iload 7
iload 2
iload 2
iload 4
iload 2
iload 6
iload 5
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.packIntoLong:(IIIIIIII)J
lastore
21: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C3:[J
iload 1
aload 0
iload 5
iload 3
iload 7
iload 2
iload 2
iload 4
iload 2
iload 6
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.packIntoLong:(IIIIIIII)J
lastore
22: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C4:[J
iload 1
aload 0
iload 6
iload 5
iload 3
iload 7
iload 2
iload 2
iload 4
iload 2
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.packIntoLong:(IIIIIIII)J
lastore
23: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C5:[J
iload 1
aload 0
iload 2
iload 6
iload 5
iload 3
iload 7
iload 2
iload 2
iload 4
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.packIntoLong:(IIIIIIII)J
lastore
24: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C6:[J
iload 1
aload 0
iload 4
iload 2
iload 6
iload 5
iload 3
iload 7
iload 2
iload 2
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.packIntoLong:(IIIIIIII)J
lastore
25: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C7:[J
iload 1
aload 0
iload 2
iload 4
iload 2
iload 6
iload 5
iload 3
iload 7
iload 2
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.packIntoLong:(IIIIIIII)J
lastore
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 26: iinc 1 1
StackMap locals:
StackMap stack:
27: iload 1
sipush 256
if_icmplt 12
end local 1 28: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._rc:[J
iconst_0
lconst_0
lastore
29: iconst_1
istore 1
start local 1 30: goto 42
31: StackMap locals:
StackMap stack:
bipush 8
iload 1
iconst_1
isub
imul
istore 2
start local 2 32: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._rc:[J
iload 1
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C0:[J
iload 2
laload
ldc -72057594037927936
land
33: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C1:[J
iload 2
iconst_1
iadd
laload
ldc 71776119061217280
land
lxor
34: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C2:[J
iload 2
iconst_2
iadd
laload
ldc 280375465082880
land
lxor
35: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C3:[J
iload 2
iconst_3
iadd
laload
ldc 1095216660480
land
lxor
36: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C4:[J
iload 2
iconst_4
iadd
laload
ldc 4278190080
land
lxor
37: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C5:[J
iload 2
iconst_5
iadd
laload
ldc 16711680
land
lxor
38: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C6:[J
iload 2
bipush 6
iadd
laload
ldc 65280
land
lxor
39: getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C7:[J
iload 2
bipush 7
iadd
laload
ldc 255
land
lxor
40: lastore
end local 2 41: iinc 1 1
StackMap locals:
StackMap stack:
42: iload 1
bipush 10
if_icmple 31
end local 1 43: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
11 28 1 i I
13 26 2 v1 I
14 26 3 v2 I
15 26 4 v4 I
16 26 5 v5 I
17 26 6 v8 I
18 26 7 v9 I
30 43 1 r I
32 41 2 i I
private long packIntoLong(int, int, int, int, int, int, int, int);
descriptor: (IIIIIIII)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: iload 1
i2l
bipush 56
lshl
1: iload 2
i2l
bipush 48
lshl
2: lxor
3: iload 3
i2l
bipush 40
lshl
4: lxor
5: iload 4
i2l
bipush 32
lshl
6: lxor
7: iload 5
i2l
bipush 24
lshl
8: lxor
9: iload 6
i2l
bipush 16
lshl
10: lxor
11: iload 7
i2l
bipush 8
lshl
12: lxor
13: iload 8
i2l
14: lxor
15: lreturn
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 16 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
0 16 1 b7 I
0 16 2 b6 I
0 16 3 b5 I
0 16 4 b4 I
0 16 5 b3 I
0 16 6 b2 I
0 16 7 b1 I
0 16 8 b0 I
MethodParameters:
Name Flags
b7
b6
b5
b4
b3
b2
b1
b0
private int maskWithReductionPolynomial(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: iload 2
i2l
ldc 256
lcmp
iflt 3
2: iload 2
sipush 285
ixor
istore 2
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
0 4 1 input I
1 4 2 rv I
MethodParameters:
Name Flags
input
public void <init>(org.bouncycastle.crypto.digests.WhirlpoolDigest);
descriptor: (Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 11
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._rc:[J
2: aload 0
bipush 64
newarray 8
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
3: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
4: aload 0
bipush 32
newarray 9
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
5: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._hash:[J
6: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
7: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
8: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._block:[J
9: aload 0
bipush 8
newarray 11
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
10: aload 1
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._rc:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._rc:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._rc:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 1
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
13: aload 1
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: aload 1
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._hash:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._hash:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._hash:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 1
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 1
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: aload 1
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._block:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._block:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._block:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: aload 1
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
0 20 1 originalDigest Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
MethodParameters:
Name Flags
originalDigest
public java.lang.String getAlgorithmName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "Whirlpool"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
public int getDigestSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 64
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
public int doFinal(byte[], int);
descriptor: ([BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.finish:()V
1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._hash:[J
iload 3
laload
aload 1
iload 2
iload 3
bipush 8
imul
iadd
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.convertLongToByteArray:(J[BI)V
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
bipush 8
if_icmplt 3
end local 3 6: aload 0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.reset:()V
7: aload 0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.getDigestSize:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
0 8 1 out [B
0 8 2 outOff I
2 6 3 i I
MethodParameters:
Name Flags
out
outOff
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
1: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
iconst_0
invokestatic org.bouncycastle.util.Arrays.fill:([SS)V
2: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
iconst_0
invokestatic org.bouncycastle.util.Arrays.fill:([BB)V
3: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._hash:[J
lconst_0
invokestatic org.bouncycastle.util.Arrays.fill:([JJ)V
4: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
lconst_0
invokestatic org.bouncycastle.util.Arrays.fill:([JJ)V
5: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
lconst_0
invokestatic org.bouncycastle.util.Arrays.fill:([JJ)V
6: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._block:[J
lconst_0
invokestatic org.bouncycastle.util.Arrays.fill:([JJ)V
7: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
lconst_0
invokestatic org.bouncycastle.util.Arrays.fill:([JJ)V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
private void processFilledBuffer(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._block:[J
iload 3
aload 0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
iload 3
bipush 8
imul
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.bytesToLongFromBuffer:([BI)J
lastore
3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
arraylength
if_icmplt 2
end local 3 5: aload 0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.processBlock:()V
6: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
7: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
iconst_0
invokestatic org.bouncycastle.util.Arrays.fill:([BB)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
0 9 1 in [B
0 9 2 inOff I
1 5 3 i I
MethodParameters:
Name Flags
in
inOff
private long bytesToLongFromBuffer(byte[], int);
descriptor: ([BI)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
iconst_0
iadd
baload
i2l
ldc 255
land
bipush 56
lshl
1: aload 1
iload 2
iconst_1
iadd
baload
i2l
ldc 255
land
bipush 48
lshl
2: lor
3: aload 1
iload 2
iconst_2
iadd
baload
i2l
ldc 255
land
bipush 40
lshl
4: lor
5: aload 1
iload 2
iconst_3
iadd
baload
i2l
ldc 255
land
bipush 32
lshl
6: lor
7: aload 1
iload 2
iconst_4
iadd
baload
i2l
ldc 255
land
bipush 24
lshl
8: lor
9: aload 1
iload 2
iconst_5
iadd
baload
i2l
ldc 255
land
bipush 16
lshl
10: lor
11: aload 1
iload 2
bipush 6
iadd
baload
i2l
ldc 255
land
bipush 8
lshl
12: lor
13: aload 1
iload 2
bipush 7
iadd
baload
i2l
ldc 255
land
14: lor
lstore 3
start local 3 15: lload 3
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
0 16 1 buffer [B
0 16 2 startPos I
15 16 3 rv J
MethodParameters:
Name Flags
buffer
startPos
private void convertLongToByteArray(long, byte[], int);
descriptor: (J[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 3
iload 4
iload 5
iadd
lload 1
bipush 56
iload 5
bipush 8
imul
isub
lshr
ldc 255
land
l2i
i2b
bastore
3: iinc 5 1
StackMap locals:
StackMap stack:
4: iload 5
bipush 8
if_icmplt 2
end local 5 5: return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
0 6 1 inputLong J
0 6 3 outputArray [B
0 6 4 offSet I
1 5 5 i I
MethodParameters:
Name Flags
inputLong
outputArray
offSet
protected void processBlock();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 1
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._block:[J
iload 1
laload
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 1
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._hash:[J
iload 1
laload
dup2_x2
lastore
lxor
lastore
3: iinc 1 1
StackMap locals:
StackMap stack:
4: iload 1
bipush 8
if_icmplt 2
end local 1 5: iconst_1
istore 1
start local 1 6: goto 37
7: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 8: goto 19
9: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
lconst_0
lastore
10: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C0:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 2
iconst_0
isub
bipush 7
iand
laload
bipush 56
lushr
l2i
sipush 255
iand
laload
lxor
lastore
11: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C1:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 2
iconst_1
isub
bipush 7
iand
laload
bipush 48
lushr
l2i
sipush 255
iand
laload
lxor
lastore
12: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C2:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 2
iconst_2
isub
bipush 7
iand
laload
bipush 40
lushr
l2i
sipush 255
iand
laload
lxor
lastore
13: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C3:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 2
iconst_3
isub
bipush 7
iand
laload
bipush 32
lushr
l2i
sipush 255
iand
laload
lxor
lastore
14: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C4:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 2
iconst_4
isub
bipush 7
iand
laload
bipush 24
lushr
l2i
sipush 255
iand
laload
lxor
lastore
15: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C5:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 2
iconst_5
isub
bipush 7
iand
laload
bipush 16
lushr
l2i
sipush 255
iand
laload
lxor
lastore
16: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C6:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 2
bipush 6
isub
bipush 7
iand
laload
bipush 8
lushr
l2i
sipush 255
iand
laload
lxor
lastore
17: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C7:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 2
bipush 7
isub
bipush 7
iand
laload
l2i
sipush 255
iand
laload
lxor
lastore
18: iinc 2 1
StackMap locals:
StackMap stack:
19: iload 2
bipush 8
if_icmplt 9
end local 2 20: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iconst_0
dup2
laload
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._rc:[J
iload 1
laload
lxor
lastore
22: iconst_0
istore 2
start local 2 23: goto 34
24: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._K:[J
iload 2
laload
lastore
25: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C0:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 2
iconst_0
isub
bipush 7
iand
laload
bipush 56
lushr
l2i
sipush 255
iand
laload
lxor
lastore
26: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C1:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 2
iconst_1
isub
bipush 7
iand
laload
bipush 48
lushr
l2i
sipush 255
iand
laload
lxor
lastore
27: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C2:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 2
iconst_2
isub
bipush 7
iand
laload
bipush 40
lushr
l2i
sipush 255
iand
laload
lxor
lastore
28: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C3:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 2
iconst_3
isub
bipush 7
iand
laload
bipush 32
lushr
l2i
sipush 255
iand
laload
lxor
lastore
29: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C4:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 2
iconst_4
isub
bipush 7
iand
laload
bipush 24
lushr
l2i
sipush 255
iand
laload
lxor
lastore
30: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C5:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 2
iconst_5
isub
bipush 7
iand
laload
bipush 16
lushr
l2i
sipush 255
iand
laload
lxor
lastore
31: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C6:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 2
bipush 6
isub
bipush 7
iand
laload
bipush 8
lushr
l2i
sipush 255
iand
laload
lxor
lastore
32: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iload 2
dup2
laload
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.C7:[J
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 2
bipush 7
isub
bipush 7
iand
laload
l2i
sipush 255
iand
laload
lxor
lastore
33: iinc 2 1
StackMap locals:
StackMap stack:
34: iload 2
bipush 8
if_icmplt 24
end local 2 35: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._L:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
36: iinc 1 1
StackMap locals:
StackMap stack:
37: iload 1
bipush 10
if_icmple 7
end local 1 38: iconst_0
istore 1
start local 1 39: goto 42
40: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._hash:[J
iload 1
dup2
laload
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._state:[J
iload 1
laload
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._block:[J
iload 1
laload
lxor
lxor
lastore
41: iinc 1 1
StackMap locals:
StackMap stack:
42: iload 1
bipush 8
if_icmplt 40
end local 1 43: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
1 5 1 i I
6 38 1 round I
8 20 2 i I
23 35 2 i I
39 43 1 i I
public void update(byte);
descriptor: (B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
iload 1
bastore
1: aload 0
dup
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
iconst_1
iadd
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
2: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
arraylength
if_icmpne 4
3: aload 0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
iconst_0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.processFilledBuffer:([BI)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.increment:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
0 6 1 in B
MethodParameters:
Name Flags
in
private void increment();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
arraylength
iconst_1
isub
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
iload 2
saload
sipush 255
iand
getstatic org.bouncycastle.crypto.digests.WhirlpoolDigest.EIGHT:[S
iload 2
saload
iadd
iload 1
iadd
istore 3
start local 3 4: iload 3
bipush 8
iushr
istore 1
5: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
iload 2
iload 3
sipush 255
iand
i2s
sastore
end local 3 6: iinc 2 -1
StackMap locals:
StackMap stack:
7: iload 2
ifge 3
end local 2 8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
1 9 1 carry I
2 8 2 i I
4 6 3 sum I
public void update(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: goto 4
1: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
baload
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.update:(B)V
2: iinc 2 1
3: iinc 3 -1
4: StackMap locals:
StackMap stack:
iload 3
ifgt 1
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
0 6 1 in [B
0 6 2 inOff I
0 6 3 len I
MethodParameters:
Name Flags
in
inOff
len
private void finish();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.copyBitLength:()[B
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
aload 0
dup
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
dup2
baload
sipush 128
ior
i2b
bastore
2: aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
arraylength
if_icmpne 4
3: aload 0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
iconst_0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.processFilledBuffer:([BI)V
4: StackMap locals: byte[]
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
bipush 32
if_icmple 10
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.update:(B)V
7: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
ifne 6
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.update:(B)V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bufferPos:I
bipush 32
if_icmple 9
11: aload 1
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
bipush 32
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 0
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._buffer:[B
iconst_0
invokevirtual org.bouncycastle.crypto.digests.WhirlpoolDigest.processFilledBuffer:([BI)V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
1 14 1 bitLength [B
private byte[] copyBitLength();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: bipush 32
newarray 8
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: byte[] int
StackMap stack:
aload 1
iload 2
aload 0
getfield org.bouncycastle.crypto.digests.WhirlpoolDigest._bitCount:[S
iload 2
saload
sipush 255
iand
i2b
bastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
1 7 1 rv [B
2 6 2 i I
public int getByteLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 64
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/WhirlpoolDigest;
}
SourceFile: "WhirlpoolDigest.java"