public class org.bouncycastle.crypto.engines.RC2Engine implements org.bouncycastle.crypto.BlockCipher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.crypto.engines.RC2Engine
super_class: java.lang.Object
{
private static byte[] piTable;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final int BLOCK_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private int[] workingKey;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private boolean encrypting;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 20
sipush 256
newarray 8
dup
iconst_0
1: .line 21
bipush -39
bastore
dup
iconst_1
bipush 120
bastore
dup
iconst_2
bipush -7
bastore
dup
iconst_3
bipush -60
bastore
dup
iconst_4
bipush 25
bastore
dup
iconst_5
bipush -35
bastore
dup
bipush 6
bipush -75
bastore
dup
bipush 7
bipush -19
bastore
dup
bipush 8
2: .line 22
bipush 40
bastore
dup
bipush 9
bipush -23
bastore
dup
bipush 10
bipush -3
bastore
dup
bipush 11
bipush 121
bastore
dup
bipush 12
bipush 74
bastore
dup
bipush 13
bipush -96
bastore
dup
bipush 14
bipush -40
bastore
dup
bipush 15
bipush -99
bastore
dup
bipush 16
3: .line 23
bipush -58
bastore
dup
bipush 17
bipush 126
bastore
dup
bipush 18
bipush 55
bastore
dup
bipush 19
bipush -125
bastore
dup
bipush 20
bipush 43
bastore
dup
bipush 21
bipush 118
bastore
dup
bipush 22
bipush 83
bastore
dup
bipush 23
bipush -114
bastore
dup
bipush 24
4: .line 24
bipush 98
bastore
dup
bipush 25
bipush 76
bastore
dup
bipush 26
bipush 100
bastore
dup
bipush 27
bipush -120
bastore
dup
bipush 28
bipush 68
bastore
dup
bipush 29
bipush -117
bastore
dup
bipush 30
bipush -5
bastore
dup
bipush 31
bipush -94
bastore
dup
bipush 32
5: .line 25
bipush 23
bastore
dup
bipush 33
bipush -102
bastore
dup
bipush 34
bipush 89
bastore
dup
bipush 35
bipush -11
bastore
dup
bipush 36
bipush -121
bastore
dup
bipush 37
bipush -77
bastore
dup
bipush 38
bipush 79
bastore
dup
bipush 39
bipush 19
bastore
dup
bipush 40
6: .line 26
bipush 97
bastore
dup
bipush 41
bipush 69
bastore
dup
bipush 42
bipush 109
bastore
dup
bipush 43
bipush -115
bastore
dup
bipush 44
bipush 9
bastore
dup
bipush 45
bipush -127
bastore
dup
bipush 46
bipush 125
bastore
dup
bipush 47
bipush 50
bastore
dup
bipush 48
7: .line 27
bipush -67
bastore
dup
bipush 49
bipush -113
bastore
dup
bipush 50
bipush 64
bastore
dup
bipush 51
bipush -21
bastore
dup
bipush 52
bipush -122
bastore
dup
bipush 53
bipush -73
bastore
dup
bipush 54
bipush 123
bastore
dup
bipush 55
bipush 11
bastore
dup
bipush 56
8: .line 28
bipush -16
bastore
dup
bipush 57
bipush -107
bastore
dup
bipush 58
bipush 33
bastore
dup
bipush 59
bipush 34
bastore
dup
bipush 60
bipush 92
bastore
dup
bipush 61
bipush 107
bastore
dup
bipush 62
bipush 78
bastore
dup
bipush 63
bipush -126
bastore
dup
bipush 64
9: .line 29
bipush 84
bastore
dup
bipush 65
bipush -42
bastore
dup
bipush 66
bipush 101
bastore
dup
bipush 67
bipush -109
bastore
dup
bipush 68
bipush -50
bastore
dup
bipush 69
bipush 96
bastore
dup
bipush 70
bipush -78
bastore
dup
bipush 71
bipush 28
bastore
dup
bipush 72
10: .line 30
bipush 115
bastore
dup
bipush 73
bipush 86
bastore
dup
bipush 74
bipush -64
bastore
dup
bipush 75
bipush 20
bastore
dup
bipush 76
bipush -89
bastore
dup
bipush 77
bipush -116
bastore
dup
bipush 78
bipush -15
bastore
dup
bipush 79
bipush -36
bastore
dup
bipush 80
11: .line 31
bipush 18
bastore
dup
bipush 81
bipush 117
bastore
dup
bipush 82
bipush -54
bastore
dup
bipush 83
bipush 31
bastore
dup
bipush 84
bipush 59
bastore
dup
bipush 85
bipush -66
bastore
dup
bipush 86
bipush -28
bastore
dup
bipush 87
bipush -47
bastore
dup
bipush 88
12: .line 32
bipush 66
bastore
dup
bipush 89
bipush 61
bastore
dup
bipush 90
bipush -44
bastore
dup
bipush 91
bipush 48
bastore
dup
bipush 92
bipush -93
bastore
dup
bipush 93
bipush 60
bastore
dup
bipush 94
bipush -74
bastore
dup
bipush 95
bipush 38
bastore
dup
bipush 96
13: .line 33
bipush 111
bastore
dup
bipush 97
bipush -65
bastore
dup
bipush 98
bipush 14
bastore
dup
bipush 99
bipush -38
bastore
dup
bipush 100
bipush 70
bastore
dup
bipush 101
bipush 105
bastore
dup
bipush 102
bipush 7
bastore
dup
bipush 103
bipush 87
bastore
dup
bipush 104
14: .line 34
bipush 39
bastore
dup
bipush 105
bipush -14
bastore
dup
bipush 106
bipush 29
bastore
dup
bipush 107
bipush -101
bastore
dup
bipush 108
bipush -68
bastore
dup
bipush 109
bipush -108
bastore
dup
bipush 110
bipush 67
bastore
dup
bipush 111
iconst_3
bastore
dup
bipush 112
15: .line 35
bipush -8
bastore
dup
bipush 113
bipush 17
bastore
dup
bipush 114
bipush -57
bastore
dup
bipush 115
bipush -10
bastore
dup
bipush 116
bipush -112
bastore
dup
bipush 117
bipush -17
bastore
dup
bipush 118
bipush 62
bastore
dup
bipush 119
bipush -25
bastore
dup
bipush 120
16: .line 36
bipush 6
bastore
dup
bipush 121
bipush -61
bastore
dup
bipush 122
bipush -43
bastore
dup
bipush 123
bipush 47
bastore
dup
bipush 124
bipush -56
bastore
dup
bipush 125
bipush 102
bastore
dup
bipush 126
bipush 30
bastore
dup
bipush 127
bipush -41
bastore
dup
sipush 128
17: .line 37
bipush 8
bastore
dup
sipush 129
bipush -24
bastore
dup
sipush 130
bipush -22
bastore
dup
sipush 131
bipush -34
bastore
dup
sipush 132
bipush -128
bastore
dup
sipush 133
bipush 82
bastore
dup
sipush 134
bipush -18
bastore
dup
sipush 135
bipush -9
bastore
dup
sipush 136
18: .line 38
bipush -124
bastore
dup
sipush 137
bipush -86
bastore
dup
sipush 138
bipush 114
bastore
dup
sipush 139
bipush -84
bastore
dup
sipush 140
bipush 53
bastore
dup
sipush 141
bipush 77
bastore
dup
sipush 142
bipush 106
bastore
dup
sipush 143
bipush 42
bastore
dup
sipush 144
19: .line 39
bipush -106
bastore
dup
sipush 145
bipush 26
bastore
dup
sipush 146
bipush -46
bastore
dup
sipush 147
bipush 113
bastore
dup
sipush 148
bipush 90
bastore
dup
sipush 149
bipush 21
bastore
dup
sipush 150
bipush 73
bastore
dup
sipush 151
bipush 116
bastore
dup
sipush 152
20: .line 40
bipush 75
bastore
dup
sipush 153
bipush -97
bastore
dup
sipush 154
bipush -48
bastore
dup
sipush 155
bipush 94
bastore
dup
sipush 156
iconst_4
bastore
dup
sipush 157
bipush 24
bastore
dup
sipush 158
bipush -92
bastore
dup
sipush 159
bipush -20
bastore
dup
sipush 160
21: .line 41
bipush -62
bastore
dup
sipush 161
bipush -32
bastore
dup
sipush 162
bipush 65
bastore
dup
sipush 163
bipush 110
bastore
dup
sipush 164
bipush 15
bastore
dup
sipush 165
bipush 81
bastore
dup
sipush 166
bipush -53
bastore
dup
sipush 167
bipush -52
bastore
dup
sipush 168
22: .line 42
bipush 36
bastore
dup
sipush 169
bipush -111
bastore
dup
sipush 170
bipush -81
bastore
dup
sipush 171
bipush 80
bastore
dup
sipush 172
bipush -95
bastore
dup
sipush 173
bipush -12
bastore
dup
sipush 174
bipush 112
bastore
dup
sipush 175
bipush 57
bastore
dup
sipush 176
23: .line 43
bipush -103
bastore
dup
sipush 177
bipush 124
bastore
dup
sipush 178
bipush 58
bastore
dup
sipush 179
bipush -123
bastore
dup
sipush 180
bipush 35
bastore
dup
sipush 181
bipush -72
bastore
dup
sipush 182
bipush -76
bastore
dup
sipush 183
bipush 122
bastore
dup
sipush 184
24: .line 44
bipush -4
bastore
dup
sipush 185
iconst_2
bastore
dup
sipush 186
bipush 54
bastore
dup
sipush 187
bipush 91
bastore
dup
sipush 188
bipush 37
bastore
dup
sipush 189
bipush 85
bastore
dup
sipush 190
bipush -105
bastore
dup
sipush 191
bipush 49
bastore
dup
sipush 192
25: .line 45
bipush 45
bastore
dup
sipush 193
bipush 93
bastore
dup
sipush 194
bipush -6
bastore
dup
sipush 195
bipush -104
bastore
dup
sipush 196
bipush -29
bastore
dup
sipush 197
bipush -118
bastore
dup
sipush 198
bipush -110
bastore
dup
sipush 199
bipush -82
bastore
dup
sipush 200
26: .line 46
iconst_5
bastore
dup
sipush 201
bipush -33
bastore
dup
sipush 202
bipush 41
bastore
dup
sipush 203
bipush 16
bastore
dup
sipush 204
bipush 103
bastore
dup
sipush 205
bipush 108
bastore
dup
sipush 206
bipush -70
bastore
dup
sipush 207
bipush -55
bastore
dup
sipush 208
27: .line 47
bipush -45
bastore
dup
sipush 210
bipush -26
bastore
dup
sipush 211
bipush -49
bastore
dup
sipush 212
bipush -31
bastore
dup
sipush 213
bipush -98
bastore
dup
sipush 214
bipush -88
bastore
dup
sipush 215
bipush 44
bastore
dup
sipush 216
28: .line 48
bipush 99
bastore
dup
sipush 217
bipush 22
bastore
dup
sipush 218
iconst_1
bastore
dup
sipush 219
bipush 63
bastore
dup
sipush 220
bipush 88
bastore
dup
sipush 221
bipush -30
bastore
dup
sipush 222
bipush -119
bastore
dup
sipush 223
bipush -87
bastore
dup
sipush 224
29: .line 49
bipush 13
bastore
dup
sipush 225
bipush 56
bastore
dup
sipush 226
bipush 52
bastore
dup
sipush 227
bipush 27
bastore
dup
sipush 228
bipush -85
bastore
dup
sipush 229
bipush 51
bastore
dup
sipush 230
iconst_m1
bastore
dup
sipush 231
bipush -80
bastore
dup
sipush 232
30: .line 50
bipush -69
bastore
dup
sipush 233
bipush 72
bastore
dup
sipush 234
bipush 12
bastore
dup
sipush 235
bipush 95
bastore
dup
sipush 236
bipush -71
bastore
dup
sipush 237
bipush -79
bastore
dup
sipush 238
bipush -51
bastore
dup
sipush 239
bipush 46
bastore
dup
sipush 240
31: .line 51
bipush -59
bastore
dup
sipush 241
bipush -13
bastore
dup
sipush 242
bipush -37
bastore
dup
sipush 243
bipush 71
bastore
dup
sipush 244
bipush -27
bastore
dup
sipush 245
bipush -91
bastore
dup
sipush 246
bipush -100
bastore
dup
sipush 247
bipush 119
bastore
dup
sipush 248
32: .line 52
bipush 10
bastore
dup
sipush 249
bipush -90
bastore
dup
sipush 250
bipush 32
bastore
dup
sipush 251
bipush 104
bastore
dup
sipush 252
bipush -2
bastore
dup
sipush 253
bipush 127
bastore
dup
sipush 254
bipush -63
bastore
dup
sipush 255
bipush -83
bastore
33: .line 19
putstatic org.bouncycastle.crypto.engines.RC2Engine.piTable:[B
34: .line 55
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.crypto.engines.RC2Engine this
0: .line 13
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
private int[] generateWorkingKey(byte[], int);
descriptor: ([BI)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 // org.bouncycastle.crypto.engines.RC2Engine this
start local 1 // byte[] key
start local 2 // int bits
0: .line 65
sipush 128
newarray 10
astore 4 /* xKey */
start local 4 // int[] xKey
1: .line 67
iconst_0
istore 5 /* i */
start local 5 // int i
2: goto 5
3: .line 69
StackMap locals: org.bouncycastle.crypto.engines.RC2Engine byte[] int top int[] int
StackMap stack:
aload 4 /* xKey */
iload 5 /* i */
aload 1 /* key */
iload 5 /* i */
baload
sipush 255
iand
iastore
4: .line 67
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 5 /* i */
aload 1 /* key */
arraylength
if_icmpne 3
end local 5 // int i
6: .line 73
aload 1 /* key */
arraylength
istore 5 /* len */
start local 5 // int len
7: .line 75
iload 5 /* len */
sipush 128
if_icmpge 14
8: .line 77
iconst_0
istore 6 /* index */
start local 6 // int index
9: .line 79
aload 4 /* xKey */
iload 5 /* len */
iconst_1
isub
iaload
istore 3 /* x */
start local 3 // int x
10: .line 83
StackMap locals: org.bouncycastle.crypto.engines.RC2Engine byte[] int int int[] int int
StackMap stack:
getstatic org.bouncycastle.crypto.engines.RC2Engine.piTable:[B
iload 3 /* x */
aload 4 /* xKey */
iload 6 /* index */
iinc 6 /* index */ 1
iaload
iadd
sipush 255
iand
baload
sipush 255
iand
istore 3 /* x */
11: .line 84
aload 4 /* xKey */
iload 5 /* len */
iinc 5 /* len */ 1
iload 3 /* x */
iastore
12: .line 86
iload 5 /* len */
sipush 128
13: .line 81
if_icmplt 10
end local 6 // int index
end local 3 // int x
14: .line 90
StackMap locals: org.bouncycastle.crypto.engines.RC2Engine byte[] int top int[] int
StackMap stack:
iload 2 /* bits */
bipush 7
iadd
iconst_3
ishr
istore 5 /* len */
15: .line 91
getstatic org.bouncycastle.crypto.engines.RC2Engine.piTable:[B
aload 4 /* xKey */
sipush 128
iload 5 /* len */
isub
iaload
sipush 255
bipush 7
iload 2 /* bits */
ineg
iand
ishr
iand
baload
sipush 255
iand
istore 3 /* x */
start local 3 // int x
16: .line 92
aload 4 /* xKey */
sipush 128
iload 5 /* len */
isub
iload 3 /* x */
iastore
17: .line 94
sipush 128
iload 5 /* len */
isub
iconst_1
isub
istore 6 /* i */
start local 6 // int i
18: goto 22
19: .line 96
StackMap locals: org.bouncycastle.crypto.engines.RC2Engine byte[] int int int[] int int
StackMap stack:
getstatic org.bouncycastle.crypto.engines.RC2Engine.piTable:[B
iload 3 /* x */
aload 4 /* xKey */
iload 6 /* i */
iload 5 /* len */
iadd
iaload
ixor
baload
sipush 255
iand
istore 3 /* x */
20: .line 97
aload 4 /* xKey */
iload 6 /* i */
iload 3 /* x */
iastore
21: .line 94
iinc 6 /* i */ -1
StackMap locals:
StackMap stack:
22: iload 6 /* i */
ifge 19
end local 6 // int i
23: .line 101
bipush 64
newarray 10
astore 6 /* newKey */
start local 6 // int[] newKey
24: .line 103
iconst_0
istore 7 /* i */
start local 7 // int i
25: goto 28
26: .line 105
StackMap locals: org.bouncycastle.crypto.engines.RC2Engine byte[] int int int[] int int[] int
StackMap stack:
aload 6 /* newKey */
iload 7 /* i */
aload 4 /* xKey */
iconst_2
iload 7 /* i */
imul
iaload
aload 4 /* xKey */
iconst_2
iload 7 /* i */
imul
iconst_1
iadd
iaload
bipush 8
ishl
iadd
iastore
27: .line 103
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
28: iload 7 /* i */
aload 6 /* newKey */
arraylength
if_icmpne 26
end local 7 // int i
29: .line 108
aload 6 /* newKey */
areturn
end local 6 // int[] newKey
end local 5 // int len
end local 4 // int[] xKey
end local 3 // int x
end local 2 // int bits
end local 1 // byte[] key
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
0 30 1 key [B
0 30 2 bits I
10 14 3 x I
16 30 3 x I
1 30 4 xKey [I
2 6 5 i I
7 30 5 len I
9 14 6 index I
18 23 6 i I
24 30 6 newKey [I
25 29 7 i I
MethodParameters:
Name Flags
key
bits
public void init(boolean, org.bouncycastle.crypto.CipherParameters);
descriptor: (ZLorg/bouncycastle/crypto/CipherParameters;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 // org.bouncycastle.crypto.engines.RC2Engine this
start local 1 // boolean encrypting
start local 2 // org.bouncycastle.crypto.CipherParameters params
0: .line 123
aload 0 /* this */
iload 1 /* encrypting */
putfield org.bouncycastle.crypto.engines.RC2Engine.encrypting:Z
1: .line 125
aload 2 /* params */
instanceof org.bouncycastle.crypto.params.RC2Parameters
ifeq 7
2: .line 127
aload 2 /* params */
checkcast org.bouncycastle.crypto.params.RC2Parameters
astore 3 /* param */
start local 3 // org.bouncycastle.crypto.params.RC2Parameters param
3: .line 129
aload 0 /* this */
aload 0 /* this */
aload 3 /* param */
invokevirtual org.bouncycastle.crypto.params.RC2Parameters.getKey:()[B
4: .line 130
aload 3 /* param */
invokevirtual org.bouncycastle.crypto.params.RC2Parameters.getEffectiveKeyBits:()I
5: .line 129
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.generateWorkingKey:([BI)[I
putfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
end local 3 // org.bouncycastle.crypto.params.RC2Parameters param
6: .line 131
goto 12
7: .line 132
StackMap locals:
StackMap stack:
aload 2 /* params */
instanceof org.bouncycastle.crypto.params.KeyParameter
ifeq 11
8: .line 134
aload 2 /* params */
checkcast org.bouncycastle.crypto.params.KeyParameter
invokevirtual org.bouncycastle.crypto.params.KeyParameter.getKey:()[B
astore 3 /* key */
start local 3 // byte[] key
9: .line 136
aload 0 /* this */
aload 0 /* this */
aload 3 /* key */
aload 3 /* key */
arraylength
bipush 8
imul
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.generateWorkingKey:([BI)[I
putfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
end local 3 // byte[] key
10: .line 137
goto 12
11: .line 140
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "invalid parameter passed to RC2 init - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* params */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: .line 143
StackMap locals:
StackMap stack:
return
end local 2 // org.bouncycastle.crypto.CipherParameters params
end local 1 // boolean encrypting
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
0 13 1 encrypting Z
0 13 2 params Lorg/bouncycastle/crypto/CipherParameters;
3 6 3 param Lorg/bouncycastle/crypto/params/RC2Parameters;
9 10 3 key [B
MethodParameters:
Name Flags
encrypting
params
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.engines.RC2Engine this
0: .line 147
return
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
public java.lang.String getAlgorithmName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.engines.RC2Engine this
0: .line 151
ldc "RC2"
areturn
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
public int getBlockSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.engines.RC2Engine this
0: .line 156
bipush 8
ireturn
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
public final int processBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=5
start local 0 // org.bouncycastle.crypto.engines.RC2Engine this
start local 1 // byte[] in
start local 2 // int inOff
start local 3 // byte[] out
start local 4 // int outOff
0: .line 165
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
ifnonnull 2
1: .line 167
new java.lang.IllegalStateException
dup
ldc "RC2 engine not initialised"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: .line 170
StackMap locals:
StackMap stack:
iload 2 /* inOff */
bipush 8
iadd
aload 1 /* in */
arraylength
if_icmple 4
3: .line 172
new org.bouncycastle.crypto.DataLengthException
dup
ldc "input buffer too short"
invokespecial org.bouncycastle.crypto.DataLengthException.<init>:(Ljava/lang/String;)V
athrow
4: .line 175
StackMap locals:
StackMap stack:
iload 4 /* outOff */
bipush 8
iadd
aload 3 /* out */
arraylength
if_icmple 6
5: .line 177
new org.bouncycastle.crypto.DataLengthException
dup
ldc "output buffer too short"
invokespecial org.bouncycastle.crypto.DataLengthException.<init>:(Ljava/lang/String;)V
athrow
6: .line 180
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.encrypting:Z
ifeq 9
7: .line 182
aload 0 /* this */
aload 1 /* in */
iload 2 /* inOff */
aload 3 /* out */
iload 4 /* outOff */
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.encryptBlock:([BI[BI)V
8: .line 183
goto 10
9: .line 186
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* in */
iload 2 /* inOff */
aload 3 /* out */
iload 4 /* outOff */
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.decryptBlock:([BI[BI)V
10: .line 189
StackMap locals:
StackMap stack:
bipush 8
ireturn
end local 4 // int outOff
end local 3 // byte[] out
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
0 11 1 in [B
0 11 2 inOff I
0 11 3 out [B
0 11 4 outOff I
MethodParameters:
Name Flags
in
inOff
out
outOff
private int rotateWordLeft(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 // org.bouncycastle.crypto.engines.RC2Engine this
start local 1 // int x
start local 2 // int y
0: .line 199
iload 1 /* x */
ldc 65535
iand
istore 1 /* x */
1: .line 200
iload 1 /* x */
iload 2 /* y */
ishl
iload 1 /* x */
bipush 16
iload 2 /* y */
isub
ishr
ior
ireturn
end local 2 // int y
end local 1 // int x
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
0 2 1 x I
0 2 2 y I
MethodParameters:
Name Flags
x
y
private void encryptBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 // org.bouncycastle.crypto.engines.RC2Engine this
start local 1 // byte[] in
start local 2 // int inOff
start local 3 // byte[] out
start local 4 // int outOff
0: .line 211
aload 1 /* in */
iload 2 /* inOff */
bipush 7
iadd
baload
sipush 255
iand
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
bipush 6
iadd
baload
sipush 255
iand
iadd
istore 5 /* x76 */
start local 5 // int x76
1: .line 212
aload 1 /* in */
iload 2 /* inOff */
iconst_5
iadd
baload
sipush 255
iand
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_4
iadd
baload
sipush 255
iand
iadd
istore 6 /* x54 */
start local 6 // int x54
2: .line 213
aload 1 /* in */
iload 2 /* inOff */
iconst_3
iadd
baload
sipush 255
iand
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_2
iadd
baload
sipush 255
iand
iadd
istore 7 /* x32 */
start local 7 // int x32
3: .line 214
aload 1 /* in */
iload 2 /* inOff */
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_0
iadd
baload
sipush 255
iand
iadd
istore 8 /* x10 */
start local 8 // int x10
4: .line 216
iconst_0
istore 9 /* i */
start local 9 // int i
5: goto 11
6: .line 218
StackMap locals: org.bouncycastle.crypto.engines.RC2Engine byte[] int byte[] int int int int int int
StackMap stack:
aload 0 /* this */
iload 8 /* x10 */
iload 7 /* x32 */
iload 5 /* x76 */
iconst_m1
ixor
iand
iadd
iload 6 /* x54 */
iload 5 /* x76 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iaload
iadd
iconst_1
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 8 /* x10 */
7: .line 219
aload 0 /* this */
iload 7 /* x32 */
iload 6 /* x54 */
iload 8 /* x10 */
iconst_m1
ixor
iand
iadd
iload 5 /* x76 */
iload 8 /* x10 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_1
iadd
iaload
iadd
iconst_2
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 7 /* x32 */
8: .line 220
aload 0 /* this */
iload 6 /* x54 */
iload 5 /* x76 */
iload 7 /* x32 */
iconst_m1
ixor
iand
iadd
iload 8 /* x10 */
iload 7 /* x32 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_2
iadd
iaload
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 6 /* x54 */
9: .line 221
aload 0 /* this */
iload 5 /* x76 */
iload 8 /* x10 */
iload 6 /* x54 */
iconst_m1
ixor
iand
iadd
iload 7 /* x32 */
iload 6 /* x54 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_3
iadd
iaload
iadd
iconst_5
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 5 /* x76 */
10: .line 216
iinc 9 /* i */ 4
StackMap locals:
StackMap stack:
11: iload 9 /* i */
bipush 16
if_icmple 6
end local 9 // int i
12: .line 224
iload 8 /* x10 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 5 /* x76 */
bipush 63
iand
iaload
iadd
istore 8 /* x10 */
13: .line 225
iload 7 /* x32 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 8 /* x10 */
bipush 63
iand
iaload
iadd
istore 7 /* x32 */
14: .line 226
iload 6 /* x54 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 7 /* x32 */
bipush 63
iand
iaload
iadd
istore 6 /* x54 */
15: .line 227
iload 5 /* x76 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 6 /* x54 */
bipush 63
iand
iaload
iadd
istore 5 /* x76 */
16: .line 229
bipush 20
istore 9 /* i */
start local 9 // int i
17: goto 23
18: .line 231
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 8 /* x10 */
iload 7 /* x32 */
iload 5 /* x76 */
iconst_m1
ixor
iand
iadd
iload 6 /* x54 */
iload 5 /* x76 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iaload
iadd
iconst_1
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 8 /* x10 */
19: .line 232
aload 0 /* this */
iload 7 /* x32 */
iload 6 /* x54 */
iload 8 /* x10 */
iconst_m1
ixor
iand
iadd
iload 5 /* x76 */
iload 8 /* x10 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_1
iadd
iaload
iadd
iconst_2
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 7 /* x32 */
20: .line 233
aload 0 /* this */
iload 6 /* x54 */
iload 5 /* x76 */
iload 7 /* x32 */
iconst_m1
ixor
iand
iadd
iload 8 /* x10 */
iload 7 /* x32 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_2
iadd
iaload
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 6 /* x54 */
21: .line 234
aload 0 /* this */
iload 5 /* x76 */
iload 8 /* x10 */
iload 6 /* x54 */
iconst_m1
ixor
iand
iadd
iload 7 /* x32 */
iload 6 /* x54 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_3
iadd
iaload
iadd
iconst_5
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 5 /* x76 */
22: .line 229
iinc 9 /* i */ 4
StackMap locals:
StackMap stack:
23: iload 9 /* i */
bipush 40
if_icmple 18
end local 9 // int i
24: .line 237
iload 8 /* x10 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 5 /* x76 */
bipush 63
iand
iaload
iadd
istore 8 /* x10 */
25: .line 238
iload 7 /* x32 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 8 /* x10 */
bipush 63
iand
iaload
iadd
istore 7 /* x32 */
26: .line 239
iload 6 /* x54 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 7 /* x32 */
bipush 63
iand
iaload
iadd
istore 6 /* x54 */
27: .line 240
iload 5 /* x76 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 6 /* x54 */
bipush 63
iand
iaload
iadd
istore 5 /* x76 */
28: .line 242
bipush 44
istore 9 /* i */
start local 9 // int i
29: goto 35
30: .line 244
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 8 /* x10 */
iload 7 /* x32 */
iload 5 /* x76 */
iconst_m1
ixor
iand
iadd
iload 6 /* x54 */
iload 5 /* x76 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iaload
iadd
iconst_1
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 8 /* x10 */
31: .line 245
aload 0 /* this */
iload 7 /* x32 */
iload 6 /* x54 */
iload 8 /* x10 */
iconst_m1
ixor
iand
iadd
iload 5 /* x76 */
iload 8 /* x10 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_1
iadd
iaload
iadd
iconst_2
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 7 /* x32 */
32: .line 246
aload 0 /* this */
iload 6 /* x54 */
iload 5 /* x76 */
iload 7 /* x32 */
iconst_m1
ixor
iand
iadd
iload 8 /* x10 */
iload 7 /* x32 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_2
iadd
iaload
iadd
iconst_3
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 6 /* x54 */
33: .line 247
aload 0 /* this */
iload 5 /* x76 */
iload 8 /* x10 */
iload 6 /* x54 */
iconst_m1
ixor
iand
iadd
iload 7 /* x32 */
iload 6 /* x54 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_3
iadd
iaload
iadd
iconst_5
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
istore 5 /* x76 */
34: .line 242
iinc 9 /* i */ 4
StackMap locals:
StackMap stack:
35: iload 9 /* i */
bipush 64
if_icmplt 30
end local 9 // int i
36: .line 250
aload 3 /* out */
iload 4 /* outOff */
iconst_0
iadd
iload 8 /* x10 */
i2b
bastore
37: .line 251
aload 3 /* out */
iload 4 /* outOff */
iconst_1
iadd
iload 8 /* x10 */
bipush 8
ishr
i2b
bastore
38: .line 252
aload 3 /* out */
iload 4 /* outOff */
iconst_2
iadd
iload 7 /* x32 */
i2b
bastore
39: .line 253
aload 3 /* out */
iload 4 /* outOff */
iconst_3
iadd
iload 7 /* x32 */
bipush 8
ishr
i2b
bastore
40: .line 254
aload 3 /* out */
iload 4 /* outOff */
iconst_4
iadd
iload 6 /* x54 */
i2b
bastore
41: .line 255
aload 3 /* out */
iload 4 /* outOff */
iconst_5
iadd
iload 6 /* x54 */
bipush 8
ishr
i2b
bastore
42: .line 256
aload 3 /* out */
iload 4 /* outOff */
bipush 6
iadd
iload 5 /* x76 */
i2b
bastore
43: .line 257
aload 3 /* out */
iload 4 /* outOff */
bipush 7
iadd
iload 5 /* x76 */
bipush 8
ishr
i2b
bastore
44: .line 258
return
end local 8 // int x10
end local 7 // int x32
end local 6 // int x54
end local 5 // int x76
end local 4 // int outOff
end local 3 // byte[] out
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
0 45 1 in [B
0 45 2 inOff I
0 45 3 out [B
0 45 4 outOff I
1 45 5 x76 I
2 45 6 x54 I
3 45 7 x32 I
4 45 8 x10 I
5 12 9 i I
17 24 9 i I
29 36 9 i I
MethodParameters:
Name Flags
in
inOff
out
outOff
private void decryptBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 // org.bouncycastle.crypto.engines.RC2Engine this
start local 1 // byte[] in
start local 2 // int inOff
start local 3 // byte[] out
start local 4 // int outOff
0: .line 268
aload 1 /* in */
iload 2 /* inOff */
bipush 7
iadd
baload
sipush 255
iand
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
bipush 6
iadd
baload
sipush 255
iand
iadd
istore 5 /* x76 */
start local 5 // int x76
1: .line 269
aload 1 /* in */
iload 2 /* inOff */
iconst_5
iadd
baload
sipush 255
iand
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_4
iadd
baload
sipush 255
iand
iadd
istore 6 /* x54 */
start local 6 // int x54
2: .line 270
aload 1 /* in */
iload 2 /* inOff */
iconst_3
iadd
baload
sipush 255
iand
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_2
iadd
baload
sipush 255
iand
iadd
istore 7 /* x32 */
start local 7 // int x32
3: .line 271
aload 1 /* in */
iload 2 /* inOff */
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
aload 1 /* in */
iload 2 /* inOff */
iconst_0
iadd
baload
sipush 255
iand
iadd
istore 8 /* x10 */
start local 8 // int x10
4: .line 273
bipush 60
istore 9 /* i */
start local 9 // int i
5: goto 11
6: .line 275
StackMap locals: org.bouncycastle.crypto.engines.RC2Engine byte[] int byte[] int int int int int int
StackMap stack:
aload 0 /* this */
iload 5 /* x76 */
bipush 11
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 8 /* x10 */
iload 6 /* x54 */
iconst_m1
ixor
iand
iload 7 /* x32 */
iload 6 /* x54 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_3
iadd
iaload
iadd
isub
istore 5 /* x76 */
7: .line 276
aload 0 /* this */
iload 6 /* x54 */
bipush 13
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 5 /* x76 */
iload 7 /* x32 */
iconst_m1
ixor
iand
iload 8 /* x10 */
iload 7 /* x32 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_2
iadd
iaload
iadd
isub
istore 6 /* x54 */
8: .line 277
aload 0 /* this */
iload 7 /* x32 */
bipush 14
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 6 /* x54 */
iload 8 /* x10 */
iconst_m1
ixor
iand
iload 5 /* x76 */
iload 8 /* x10 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_1
iadd
iaload
iadd
isub
istore 7 /* x32 */
9: .line 278
aload 0 /* this */
iload 8 /* x10 */
bipush 15
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 7 /* x32 */
iload 5 /* x76 */
iconst_m1
ixor
iand
iload 6 /* x54 */
iload 5 /* x76 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iaload
iadd
isub
istore 8 /* x10 */
10: .line 273
iinc 9 /* i */ -4
StackMap locals:
StackMap stack:
11: iload 9 /* i */
bipush 44
if_icmpge 6
end local 9 // int i
12: .line 281
iload 5 /* x76 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 6 /* x54 */
bipush 63
iand
iaload
isub
istore 5 /* x76 */
13: .line 282
iload 6 /* x54 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 7 /* x32 */
bipush 63
iand
iaload
isub
istore 6 /* x54 */
14: .line 283
iload 7 /* x32 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 8 /* x10 */
bipush 63
iand
iaload
isub
istore 7 /* x32 */
15: .line 284
iload 8 /* x10 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 5 /* x76 */
bipush 63
iand
iaload
isub
istore 8 /* x10 */
16: .line 286
bipush 40
istore 9 /* i */
start local 9 // int i
17: goto 23
18: .line 288
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 5 /* x76 */
bipush 11
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 8 /* x10 */
iload 6 /* x54 */
iconst_m1
ixor
iand
iload 7 /* x32 */
iload 6 /* x54 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_3
iadd
iaload
iadd
isub
istore 5 /* x76 */
19: .line 289
aload 0 /* this */
iload 6 /* x54 */
bipush 13
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 5 /* x76 */
iload 7 /* x32 */
iconst_m1
ixor
iand
iload 8 /* x10 */
iload 7 /* x32 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_2
iadd
iaload
iadd
isub
istore 6 /* x54 */
20: .line 290
aload 0 /* this */
iload 7 /* x32 */
bipush 14
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 6 /* x54 */
iload 8 /* x10 */
iconst_m1
ixor
iand
iload 5 /* x76 */
iload 8 /* x10 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_1
iadd
iaload
iadd
isub
istore 7 /* x32 */
21: .line 291
aload 0 /* this */
iload 8 /* x10 */
bipush 15
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 7 /* x32 */
iload 5 /* x76 */
iconst_m1
ixor
iand
iload 6 /* x54 */
iload 5 /* x76 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iaload
iadd
isub
istore 8 /* x10 */
22: .line 286
iinc 9 /* i */ -4
StackMap locals:
StackMap stack:
23: iload 9 /* i */
bipush 20
if_icmpge 18
end local 9 // int i
24: .line 294
iload 5 /* x76 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 6 /* x54 */
bipush 63
iand
iaload
isub
istore 5 /* x76 */
25: .line 295
iload 6 /* x54 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 7 /* x32 */
bipush 63
iand
iaload
isub
istore 6 /* x54 */
26: .line 296
iload 7 /* x32 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 8 /* x10 */
bipush 63
iand
iaload
isub
istore 7 /* x32 */
27: .line 297
iload 8 /* x10 */
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 5 /* x76 */
bipush 63
iand
iaload
isub
istore 8 /* x10 */
28: .line 299
bipush 16
istore 9 /* i */
start local 9 // int i
29: goto 35
30: .line 301
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 5 /* x76 */
bipush 11
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 8 /* x10 */
iload 6 /* x54 */
iconst_m1
ixor
iand
iload 7 /* x32 */
iload 6 /* x54 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_3
iadd
iaload
iadd
isub
istore 5 /* x76 */
31: .line 302
aload 0 /* this */
iload 6 /* x54 */
bipush 13
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 5 /* x76 */
iload 7 /* x32 */
iconst_m1
ixor
iand
iload 8 /* x10 */
iload 7 /* x32 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_2
iadd
iaload
iadd
isub
istore 6 /* x54 */
32: .line 303
aload 0 /* this */
iload 7 /* x32 */
bipush 14
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 6 /* x54 */
iload 8 /* x10 */
iconst_m1
ixor
iand
iload 5 /* x76 */
iload 8 /* x10 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iconst_1
iadd
iaload
iadd
isub
istore 7 /* x32 */
33: .line 304
aload 0 /* this */
iload 8 /* x10 */
bipush 15
invokevirtual org.bouncycastle.crypto.engines.RC2Engine.rotateWordLeft:(II)I
iload 7 /* x32 */
iload 5 /* x76 */
iconst_m1
ixor
iand
iload 6 /* x54 */
iload 5 /* x76 */
iand
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.engines.RC2Engine.workingKey:[I
iload 9 /* i */
iaload
iadd
isub
istore 8 /* x10 */
34: .line 299
iinc 9 /* i */ -4
StackMap locals:
StackMap stack:
35: iload 9 /* i */
ifge 30
end local 9 // int i
36: .line 307
aload 3 /* out */
iload 4 /* outOff */
iconst_0
iadd
iload 8 /* x10 */
i2b
bastore
37: .line 308
aload 3 /* out */
iload 4 /* outOff */
iconst_1
iadd
iload 8 /* x10 */
bipush 8
ishr
i2b
bastore
38: .line 309
aload 3 /* out */
iload 4 /* outOff */
iconst_2
iadd
iload 7 /* x32 */
i2b
bastore
39: .line 310
aload 3 /* out */
iload 4 /* outOff */
iconst_3
iadd
iload 7 /* x32 */
bipush 8
ishr
i2b
bastore
40: .line 311
aload 3 /* out */
iload 4 /* outOff */
iconst_4
iadd
iload 6 /* x54 */
i2b
bastore
41: .line 312
aload 3 /* out */
iload 4 /* outOff */
iconst_5
iadd
iload 6 /* x54 */
bipush 8
ishr
i2b
bastore
42: .line 313
aload 3 /* out */
iload 4 /* outOff */
bipush 6
iadd
iload 5 /* x76 */
i2b
bastore
43: .line 314
aload 3 /* out */
iload 4 /* outOff */
bipush 7
iadd
iload 5 /* x76 */
bipush 8
ishr
i2b
bastore
44: .line 315
return
end local 8 // int x10
end local 7 // int x32
end local 6 // int x54
end local 5 // int x76
end local 4 // int outOff
end local 3 // byte[] out
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.crypto.engines.RC2Engine this
LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lorg/bouncycastle/crypto/engines/RC2Engine;
0 45 1 in [B
0 45 2 inOff I
0 45 3 out [B
0 45 4 outOff I
1 45 5 x76 I
2 45 6 x54 I
3 45 7 x32 I
4 45 8 x10 I
5 12 9 i I
17 24 9 i I
29 36 9 i I
MethodParameters:
Name Flags
in
inOff
out
outOff
}
SourceFile: "RC2Engine.java"