final class com.sun.crypto.provider.AESCrypt extends com.sun.crypto.provider.SymmetricCipher implements com.sun.crypto.provider.AESConstants
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.crypto.provider.AESCrypt
super_class: com.sun.crypto.provider.SymmetricCipher
{
private boolean ROUNDS_12;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean ROUNDS_14;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int[][] sessionK;
descriptor: [[I
flags: (0x0002) ACC_PRIVATE
private int[] K;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private byte[] lastKey;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int limit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static int[] alog;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int[] log;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final byte[] S;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] Si;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] T1;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] T2;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] T3;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] T4;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] T5;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] T6;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] T7;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] T8;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] U1;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] U2;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] U3;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] U4;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] rcon;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=15, args_size=0
0: .line 139
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.alog:[I
1: .line 140
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.log:[I
2: .line 143
sipush 256
newarray 8
putstatic com.sun.crypto.provider.AESCrypt.S:[B
3: .line 144
sipush 256
newarray 8
putstatic com.sun.crypto.provider.AESCrypt.Si:[B
4: .line 147
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.T1:[I
5: .line 148
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.T2:[I
6: .line 149
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.T3:[I
7: .line 150
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.T4:[I
8: .line 151
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.T5:[I
9: .line 152
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.T6:[I
10: .line 153
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.T7:[I
11: .line 154
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.T8:[I
12: .line 157
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.U1:[I
13: .line 158
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.U2:[I
14: .line 159
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.U3:[I
15: .line 160
sipush 256
newarray 10
putstatic com.sun.crypto.provider.AESCrypt.U4:[I
16: .line 162
bipush 30
newarray 8
putstatic com.sun.crypto.provider.AESCrypt.rcon:[B
17: .line 168
sipush 283
istore 0 /* ROOT */
start local 0 // int ROOT
18: .line 169
iconst_0
istore 2 /* j */
start local 2 // int j
19: .line 175
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
iconst_0
iconst_1
iastore
20: .line 176
iconst_1
istore 1 /* i */
start local 1 // int i
21: goto 27
22: .line 178
StackMap locals: int int int
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
iload 1 /* i */
iconst_1
isub
iaload
iconst_1
ishl
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
iload 1 /* i */
iconst_1
isub
iaload
ixor
istore 2 /* j */
23: .line 179
iload 2 /* j */
sipush 256
iand
ifeq 25
24: .line 180
iload 2 /* j */
iload 0 /* ROOT */
ixor
istore 2 /* j */
25: .line 182
StackMap locals:
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
iload 1 /* i */
iload 2 /* j */
iastore
26: .line 176
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
27: iload 1 /* i */
sipush 256
if_icmplt 22
28: .line 184
iconst_1
istore 1 /* i */
goto 31
29: .line 185
StackMap locals:
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.log:[I
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
iload 1 /* i */
iaload
iload 1 /* i */
iastore
30: .line 184
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
31: iload 1 /* i */
sipush 255
if_icmplt 29
32: .line 188
bipush 8
anewarray byte[]
dup
iconst_0
33: .line 189
bipush 8
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_1
bastore
dup
iconst_4
iconst_1
bastore
aastore
dup
iconst_1
34: .line 190
bipush 8
newarray 8
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_1
bastore
dup
iconst_4
iconst_1
bastore
dup
iconst_5
iconst_1
bastore
aastore
dup
iconst_2
35: .line 191
bipush 8
newarray 8
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_1
bastore
dup
iconst_4
iconst_1
bastore
dup
iconst_5
iconst_1
bastore
dup
bipush 6
iconst_1
bastore
aastore
dup
iconst_3
36: .line 192
bipush 8
newarray 8
dup
iconst_3
iconst_1
bastore
dup
iconst_4
iconst_1
bastore
dup
iconst_5
iconst_1
bastore
dup
bipush 6
iconst_1
bastore
dup
bipush 7
iconst_1
bastore
aastore
dup
iconst_4
37: .line 193
bipush 8
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_4
iconst_1
bastore
dup
iconst_5
iconst_1
bastore
dup
bipush 6
iconst_1
bastore
dup
bipush 7
iconst_1
bastore
aastore
dup
iconst_5
38: .line 194
bipush 8
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_1
bastore
dup
iconst_5
iconst_1
bastore
dup
bipush 6
iconst_1
bastore
dup
bipush 7
iconst_1
bastore
aastore
dup
bipush 6
39: .line 195
bipush 8
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
bipush 6
iconst_1
bastore
dup
bipush 7
iconst_1
bastore
aastore
dup
bipush 7
40: .line 196
bipush 8
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_1
bastore
dup
bipush 7
iconst_1
bastore
aastore
41: .line 187
astore 3 /* A */
start local 3 // byte[][] A
42: .line 198
bipush 8
newarray 8
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
bipush 6
iconst_1
bastore
dup
bipush 7
iconst_1
bastore
astore 4 /* B */
start local 4 // byte[] B
43: .line 204
sipush 256
bipush 8
multianewarray [[B 2
astore 6 /* box */
start local 6 // byte[][] box
44: .line 205
aload 6 /* box */
iconst_1
aaload
bipush 7
iconst_1
bastore
45: .line 206
iconst_2
istore 1 /* i */
goto 53
46: .line 207
StackMap locals: int int int byte[][] byte[] top byte[][]
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
sipush 255
getstatic com.sun.crypto.provider.AESCrypt.log:[I
iload 1 /* i */
iaload
isub
iaload
istore 2 /* j */
47: .line 208
iconst_0
istore 5 /* t */
start local 5 // int t
48: goto 51
49: .line 209
StackMap locals: int int int byte[][] byte[] int byte[][]
StackMap stack:
aload 6 /* box */
iload 1 /* i */
aaload
iload 5 /* t */
iload 2 /* j */
bipush 7
iload 5 /* t */
isub
iushr
iconst_1
iand
i2b
bastore
50: .line 208
iinc 5 /* t */ 1
StackMap locals:
StackMap stack:
51: iload 5 /* t */
bipush 8
if_icmplt 49
52: .line 206
iinc 1 /* i */ 1
end local 5 // int t
StackMap locals: int int int byte[][] byte[] top byte[][]
StackMap stack:
53: iload 1 /* i */
sipush 256
if_icmplt 46
54: .line 215
sipush 256
bipush 8
multianewarray [[B 2
astore 7 /* cox */
start local 7 // byte[][] cox
55: .line 216
iconst_0
istore 1 /* i */
goto 66
56: .line 217
StackMap locals: byte[][]
StackMap stack:
iconst_0
istore 5 /* t */
start local 5 // int t
57: goto 64
58: .line 218
StackMap locals: int int int byte[][] byte[] int byte[][] byte[][]
StackMap stack:
aload 7 /* cox */
iload 1 /* i */
aaload
iload 5 /* t */
aload 4 /* B */
iload 5 /* t */
baload
bastore
59: .line 219
iconst_0
istore 2 /* j */
goto 62
60: .line 220
StackMap locals:
StackMap stack:
aload 7 /* cox */
iload 1 /* i */
aaload
iload 5 /* t */
dup2
baload
aload 3 /* A */
iload 5 /* t */
aaload
iload 2 /* j */
baload
aload 6 /* box */
iload 1 /* i */
aaload
iload 2 /* j */
baload
imul
ixor
i2b
bastore
61: .line 219
iinc 2 /* j */ 1
StackMap locals:
StackMap stack:
62: iload 2 /* j */
bipush 8
if_icmplt 60
63: .line 217
iinc 5 /* t */ 1
StackMap locals:
StackMap stack:
64: iload 5 /* t */
bipush 8
if_icmplt 58
65: .line 216
iinc 1 /* i */ 1
end local 5 // int t
StackMap locals: int int int byte[][] byte[] top byte[][] byte[][]
StackMap stack:
66: iload 1 /* i */
sipush 256
if_icmplt 56
67: .line 227
iconst_0
istore 1 /* i */
goto 76
68: .line 228
StackMap locals:
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 1 /* i */
aload 7 /* cox */
iload 1 /* i */
aaload
iconst_0
baload
bipush 7
ishl
i2b
bastore
69: .line 229
iconst_1
istore 5 /* t */
start local 5 // int t
70: goto 73
71: .line 230
StackMap locals: int int int byte[][] byte[] int byte[][] byte[][]
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 1 /* i */
dup2
baload
aload 7 /* cox */
iload 1 /* i */
aaload
iload 5 /* t */
baload
bipush 7
iload 5 /* t */
isub
ishl
ixor
i2b
bastore
72: .line 229
iinc 5 /* t */ 1
StackMap locals:
StackMap stack:
73: iload 5 /* t */
bipush 8
if_icmplt 71
74: .line 232
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 1 /* i */
baload
sipush 255
iand
iload 1 /* i */
i2b
bastore
75: .line 227
iinc 1 /* i */ 1
end local 5 // int t
StackMap locals: int int int byte[][] byte[] top byte[][] byte[][]
StackMap stack:
76: iload 1 /* i */
sipush 256
if_icmplt 68
77: .line 237
iconst_4
anewarray byte[]
dup
iconst_0
78: .line 238
iconst_4
newarray 8
dup
iconst_0
iconst_2
bastore
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_3
bastore
aastore
dup
iconst_1
79: .line 239
iconst_4
newarray 8
dup
iconst_0
iconst_3
bastore
dup
iconst_1
iconst_2
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_1
bastore
aastore
dup
iconst_2
80: .line 240
iconst_4
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_3
bastore
dup
iconst_2
iconst_2
bastore
dup
iconst_3
iconst_1
bastore
aastore
dup
iconst_3
81: .line 241
iconst_4
newarray 8
dup
iconst_0
iconst_1
bastore
dup
iconst_1
iconst_1
bastore
dup
iconst_2
iconst_3
bastore
dup
iconst_3
iconst_2
bastore
aastore
82: .line 237
astore 8 /* G */
start local 8 // byte[][] G
83: .line 243
iconst_4
bipush 8
multianewarray [[B 2
astore 9 /* AA */
start local 9 // byte[][] AA
84: .line 244
iconst_0
istore 1 /* i */
goto 90
85: .line 245
StackMap locals: byte[][] byte[][]
StackMap stack:
iconst_0
istore 2 /* j */
goto 87
StackMap locals:
StackMap stack:
86: aload 9 /* AA */
iload 1 /* i */
aaload
iload 2 /* j */
aload 8 /* G */
iload 1 /* i */
aaload
iload 2 /* j */
baload
bastore
iinc 2 /* j */ 1
StackMap locals:
StackMap stack:
87: iload 2 /* j */
iconst_4
if_icmplt 86
88: .line 246
aload 9 /* AA */
iload 1 /* i */
aaload
iload 1 /* i */
iconst_4
iadd
iconst_1
bastore
89: .line 244
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
90: iload 1 /* i */
iconst_4
if_icmplt 85
91: .line 249
iconst_4
iconst_4
multianewarray [[B 2
astore 12 /* iG */
start local 12 // byte[][] iG
92: .line 250
iconst_0
istore 1 /* i */
goto 128
93: .line 251
StackMap locals: int int int byte[][] byte[] top byte[][] byte[][] byte[][] byte[][] top top byte[][]
StackMap stack:
aload 9 /* AA */
iload 1 /* i */
aaload
iload 1 /* i */
baload
istore 10 /* pivot */
start local 10 // byte pivot
94: .line 252
iload 10 /* pivot */
ifne 108
95: .line 253
iload 1 /* i */
iconst_1
iadd
istore 5 /* t */
start local 5 // int t
96: .line 254
goto 98
97: .line 255
StackMap locals: int int int byte[][] byte[] int byte[][] byte[][] byte[][] byte[][] int top byte[][]
StackMap stack:
iinc 5 /* t */ 1
98: .line 254
StackMap locals:
StackMap stack:
aload 9 /* AA */
iload 5 /* t */
aaload
iload 1 /* i */
baload
ifne 99
iload 5 /* t */
iconst_4
if_icmplt 97
99: .line 257
StackMap locals:
StackMap stack:
iload 5 /* t */
iconst_4
if_icmpne 101
100: .line 258
new java.lang.RuntimeException
dup
ldc "G matrix is not invertible"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
101: .line 261
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* j */
goto 106
102: .line 262
StackMap locals:
StackMap stack:
aload 9 /* AA */
iload 1 /* i */
aaload
iload 2 /* j */
baload
istore 11 /* tmp */
start local 11 // byte tmp
103: .line 263
aload 9 /* AA */
iload 1 /* i */
aaload
iload 2 /* j */
aload 9 /* AA */
iload 5 /* t */
aaload
iload 2 /* j */
baload
bastore
104: .line 264
aload 9 /* AA */
iload 5 /* t */
aaload
iload 2 /* j */
iload 11 /* tmp */
bastore
105: .line 261
iinc 2 /* j */ 1
end local 11 // byte tmp
StackMap locals:
StackMap stack:
106: iload 2 /* j */
bipush 8
if_icmplt 102
107: .line 266
aload 9 /* AA */
iload 1 /* i */
aaload
iload 1 /* i */
baload
istore 10 /* pivot */
end local 5 // int t
108: .line 269
StackMap locals: int int int byte[][] byte[] top byte[][] byte[][] byte[][] byte[][] int top byte[][]
StackMap stack:
iconst_0
istore 2 /* j */
goto 116
109: .line 270
StackMap locals:
StackMap stack:
aload 9 /* AA */
iload 1 /* i */
aaload
iload 2 /* j */
baload
ifeq 115
110: .line 271
aload 9 /* AA */
iload 1 /* i */
aaload
iload 2 /* j */
111: .line 272
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
sipush 255
getstatic com.sun.crypto.provider.AESCrypt.log:[I
aload 9 /* AA */
iload 1 /* i */
aaload
iload 2 /* j */
baload
sipush 255
iand
iaload
iadd
getstatic com.sun.crypto.provider.AESCrypt.log:[I
iload 10 /* pivot */
sipush 255
iand
iaload
isub
112: .line 273
sipush 255
irem
113: .line 272
iaload
i2b
114: .line 271
bastore
115: .line 269
StackMap locals:
StackMap stack:
iinc 2 /* j */ 1
StackMap locals:
StackMap stack:
116: iload 2 /* j */
bipush 8
if_icmplt 109
117: .line 276
iconst_0
istore 5 /* t */
start local 5 // int t
118: goto 126
119: .line 277
StackMap locals: int int int byte[][] byte[] int byte[][] byte[][] byte[][] byte[][] int top byte[][]
StackMap stack:
iload 1 /* i */
iload 5 /* t */
if_icmpeq 125
120: .line 278
iload 1 /* i */
iconst_1
iadd
istore 2 /* j */
goto 123
121: .line 279
StackMap locals:
StackMap stack:
aload 9 /* AA */
iload 5 /* t */
aaload
iload 2 /* j */
dup2
baload
aload 9 /* AA */
iload 1 /* i */
aaload
iload 2 /* j */
baload
aload 9 /* AA */
iload 5 /* t */
aaload
iload 1 /* i */
baload
invokestatic com.sun.crypto.provider.AESCrypt.mul:(II)I
ixor
i2b
bastore
122: .line 278
iinc 2 /* j */ 1
StackMap locals:
StackMap stack:
123: iload 2 /* j */
bipush 8
if_icmplt 121
124: .line 281
aload 9 /* AA */
iload 5 /* t */
aaload
iload 1 /* i */
iconst_0
bastore
125: .line 276
StackMap locals:
StackMap stack:
iinc 5 /* t */ 1
StackMap locals:
StackMap stack:
126: iload 5 /* t */
iconst_4
if_icmplt 119
127: .line 250
iinc 1 /* i */ 1
end local 10 // byte pivot
end local 5 // int t
StackMap locals: int int int byte[][] byte[] top byte[][] byte[][] byte[][] byte[][] top top byte[][]
StackMap stack:
128: iload 1 /* i */
iconst_4
if_icmplt 93
129: .line 285
iconst_0
istore 1 /* i */
goto 135
130: .line 286
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* j */
goto 133
131: .line 287
StackMap locals:
StackMap stack:
aload 12 /* iG */
iload 1 /* i */
aaload
iload 2 /* j */
aload 9 /* AA */
iload 1 /* i */
aaload
iload 2 /* j */
iconst_4
iadd
baload
bastore
132: .line 286
iinc 2 /* j */ 1
StackMap locals:
StackMap stack:
133: iload 2 /* j */
iconst_4
if_icmplt 131
134: .line 285
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
135: iload 1 /* i */
iconst_4
if_icmplt 130
136: .line 292
iconst_0
istore 5 /* t */
start local 5 // int t
137: goto 153
138: .line 293
StackMap locals: int int int byte[][] byte[] int byte[][] byte[][] byte[][] byte[][] top top byte[][]
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 5 /* t */
baload
istore 13 /* s */
start local 13 // int s
139: .line 294
getstatic com.sun.crypto.provider.AESCrypt.T1:[I
iload 5 /* t */
iload 13 /* s */
aload 8 /* G */
iconst_0
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
140: .line 295
getstatic com.sun.crypto.provider.AESCrypt.T2:[I
iload 5 /* t */
iload 13 /* s */
aload 8 /* G */
iconst_1
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
141: .line 296
getstatic com.sun.crypto.provider.AESCrypt.T3:[I
iload 5 /* t */
iload 13 /* s */
aload 8 /* G */
iconst_2
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
142: .line 297
getstatic com.sun.crypto.provider.AESCrypt.T4:[I
iload 5 /* t */
iload 13 /* s */
aload 8 /* G */
iconst_3
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
143: .line 299
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 5 /* t */
baload
istore 13 /* s */
144: .line 300
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 5 /* t */
iload 13 /* s */
aload 12 /* iG */
iconst_0
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
145: .line 301
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 5 /* t */
iload 13 /* s */
aload 12 /* iG */
iconst_1
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
146: .line 302
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 5 /* t */
iload 13 /* s */
aload 12 /* iG */
iconst_2
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
147: .line 303
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 5 /* t */
iload 13 /* s */
aload 12 /* iG */
iconst_3
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
148: .line 305
getstatic com.sun.crypto.provider.AESCrypt.U1:[I
iload 5 /* t */
iload 5 /* t */
aload 12 /* iG */
iconst_0
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
149: .line 306
getstatic com.sun.crypto.provider.AESCrypt.U2:[I
iload 5 /* t */
iload 5 /* t */
aload 12 /* iG */
iconst_1
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
150: .line 307
getstatic com.sun.crypto.provider.AESCrypt.U3:[I
iload 5 /* t */
iload 5 /* t */
aload 12 /* iG */
iconst_2
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
151: .line 308
getstatic com.sun.crypto.provider.AESCrypt.U4:[I
iload 5 /* t */
iload 5 /* t */
aload 12 /* iG */
iconst_3
aaload
invokestatic com.sun.crypto.provider.AESCrypt.mul4:(I[B)I
iastore
152: .line 292
iinc 5 /* t */ 1
end local 13 // int s
StackMap locals:
StackMap stack:
153: iload 5 /* t */
sipush 256
if_icmplt 138
154: .line 313
getstatic com.sun.crypto.provider.AESCrypt.rcon:[B
iconst_0
iconst_1
bastore
155: .line 314
iconst_1
istore 14 /* r */
start local 14 // int r
156: .line 315
iconst_1
istore 5 /* t */
goto 160
157: .line 316
StackMap locals: int int int byte[][] byte[] int byte[][] byte[][] byte[][] byte[][] top top byte[][] top int
StackMap stack:
iconst_2
iload 14 /* r */
invokestatic com.sun.crypto.provider.AESCrypt.mul:(II)I
istore 14 /* r */
158: .line 317
getstatic com.sun.crypto.provider.AESCrypt.rcon:[B
iload 5 /* t */
iload 14 /* r */
i2b
bastore
159: .line 315
iinc 5 /* t */ 1
StackMap locals:
StackMap stack:
160: iload 5 /* t */
bipush 30
if_icmplt 157
161: .line 319
aconst_null
putstatic com.sun.crypto.provider.AESCrypt.log:[I
162: .line 320
aconst_null
putstatic com.sun.crypto.provider.AESCrypt.alog:[I
end local 14 // int r
end local 12 // byte[][] iG
end local 9 // byte[][] AA
end local 8 // byte[][] G
end local 7 // byte[][] cox
end local 6 // byte[][] box
end local 5 // int t
end local 4 // byte[] B
end local 3 // byte[][] A
end local 2 // int j
end local 1 // int i
end local 0 // int ROOT
163: .line 321
return
LocalVariableTable:
Start End Slot Name Signature
18 163 0 ROOT I
21 163 1 i I
19 163 2 j I
42 163 3 A [[B
43 163 4 B [B
48 53 5 t I
57 66 5 t I
70 76 5 t I
96 108 5 t I
118 128 5 t I
137 163 5 t I
44 163 6 box [[B
55 163 7 cox [[B
83 163 8 G [[B
84 163 9 AA [[B
94 128 10 pivot B
103 106 11 tmp B
92 163 12 iG [[B
139 153 13 s I
156 163 14 r I
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 // com.sun.crypto.provider.AESCrypt this
0: .line 69
aload 0 /* this */
invokespecial com.sun.crypto.provider.SymmetricCipher.<init>:()V
1: .line 54
aload 0 /* this */
iconst_0
putfield com.sun.crypto.provider.AESCrypt.ROUNDS_12:Z
2: .line 55
aload 0 /* this */
iconst_0
putfield com.sun.crypto.provider.AESCrypt.ROUNDS_14:Z
3: .line 58
aload 0 /* this */
aconst_null
putfield com.sun.crypto.provider.AESCrypt.sessionK:[[I
4: .line 59
aload 0 /* this */
aconst_null
putfield com.sun.crypto.provider.AESCrypt.K:[I
5: .line 64
aload 0 /* this */
aconst_null
putfield com.sun.crypto.provider.AESCrypt.lastKey:[B
6: .line 67
aload 0 /* this */
iconst_0
putfield com.sun.crypto.provider.AESCrypt.limit:I
7: .line 71
return
end local 0 // com.sun.crypto.provider.AESCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/crypto/provider/AESCrypt;
int getBlockSize();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.crypto.provider.AESCrypt this
0: .line 79
bipush 16
ireturn
end local 0 // com.sun.crypto.provider.AESCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/AESCrypt;
void init(boolean, java.lang.String, byte[]);
descriptor: (ZLjava/lang/String;[B)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 // com.sun.crypto.provider.AESCrypt this
start local 1 // boolean decrypting
start local 2 // java.lang.String algorithm
start local 3 // byte[] key
0: .line 84
aload 2 /* algorithm */
ldc "AES"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 5
1: .line 85
aload 2 /* algorithm */
ldc "Rijndael"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 5
2: .line 86
new java.security.InvalidKeyException
dup
3: .line 87
ldc "Wrong algorithm: AES or Rijndael required"
4: .line 86
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
5: .line 89
StackMap locals:
StackMap stack:
aload 3 /* key */
arraylength
invokestatic com.sun.crypto.provider.AESCrypt.isKeySizeValid:(I)Z
ifne 9
6: .line 90
new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "Invalid AES key length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: .line 91
aload 3 /* key */
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: .line 90
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
9: .line 94
StackMap locals:
StackMap stack:
aload 3 /* key */
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.lastKey:[B
invokestatic java.security.MessageDigest.isEqual:([B[B)Z
ifne 14
10: .line 96
aload 0 /* this */
aload 3 /* key */
invokevirtual com.sun.crypto.provider.AESCrypt.makeSessionKey:([B)V
11: .line 97
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.lastKey:[B
ifnull 13
12: .line 98
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.lastKey:[B
iconst_0
invokestatic java.util.Arrays.fill:([BB)V
13: .line 100
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 3 /* key */
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
putfield com.sun.crypto.provider.AESCrypt.lastKey:[B
14: .line 104
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.sessionK:[[I
iload 1 /* decrypting */
ifeq 15
iconst_1
goto 16
StackMap locals: com.sun.crypto.provider.AESCrypt int java.lang.String byte[]
StackMap stack: com.sun.crypto.provider.AESCrypt int[][]
15: iconst_0
StackMap locals: com.sun.crypto.provider.AESCrypt int java.lang.String byte[]
StackMap stack: com.sun.crypto.provider.AESCrypt int[][] int
16: aaload
putfield com.sun.crypto.provider.AESCrypt.K:[I
17: .line 105
return
end local 3 // byte[] key
end local 2 // java.lang.String algorithm
end local 1 // boolean decrypting
end local 0 // com.sun.crypto.provider.AESCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/crypto/provider/AESCrypt;
0 18 1 decrypting Z
0 18 2 algorithm Ljava/lang/String;
0 18 3 key [B
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
decrypting
algorithm
key
private static final int[] expandToSubKey(int[][], boolean);
descriptor: ([[IZ)[I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=2
start local 0 // int[][] kr
start local 1 // boolean decrypting
0: .line 114
aload 0 /* kr */
arraylength
istore 2 /* total */
start local 2 // int total
1: .line 115
iload 2 /* total */
iconst_4
imul
newarray 10
astore 3 /* expK */
start local 3 // int[] expK
2: .line 116
iload 1 /* decrypting */
ifeq 18
3: .line 119
iconst_0
istore 4 /* j */
start local 4 // int j
4: goto 7
5: .line 120
StackMap locals: int int[] int
StackMap stack:
aload 3 /* expK */
iload 4 /* j */
aload 0 /* kr */
iload 2 /* total */
iconst_1
isub
aaload
iload 4 /* j */
iaload
iastore
6: .line 119
iinc 4 /* j */ 1
StackMap locals:
StackMap stack:
7: iload 4 /* j */
iconst_4
if_icmplt 5
end local 4 // int j
8: .line 122
iconst_1
istore 4 /* i */
start local 4 // int i
9: goto 16
10: .line 123
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* j */
start local 5 // int j
11: goto 14
12: .line 124
StackMap locals: int
StackMap stack:
aload 3 /* expK */
iload 4 /* i */
iconst_4
imul
iload 5 /* j */
iadd
aload 0 /* kr */
iload 4 /* i */
iconst_1
isub
aaload
iload 5 /* j */
iaload
iastore
13: .line 123
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
14: iload 5 /* j */
iconst_4
if_icmplt 12
end local 5 // int j
15: .line 122
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
16: iload 4 /* i */
iload 2 /* total */
if_icmplt 10
end local 4 // int i
17: .line 127
goto 27
18: .line 129
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* i */
start local 4 // int i
19: goto 26
20: .line 130
StackMap locals: int
StackMap stack:
iconst_0
istore 5 /* j */
start local 5 // int j
21: goto 24
22: .line 131
StackMap locals: int
StackMap stack:
aload 3 /* expK */
iload 4 /* i */
iconst_4
imul
iload 5 /* j */
iadd
aload 0 /* kr */
iload 4 /* i */
aaload
iload 5 /* j */
iaload
iastore
23: .line 130
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
24: iload 5 /* j */
iconst_4
if_icmplt 22
end local 5 // int j
25: .line 129
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 4 /* i */
iload 2 /* total */
if_icmplt 20
end local 4 // int i
27: .line 135
StackMap locals:
StackMap stack:
aload 3 /* expK */
areturn
end local 3 // int[] expK
end local 2 // int total
end local 1 // boolean decrypting
end local 0 // int[][] kr
LocalVariableTable:
Start End Slot Name Signature
0 28 0 kr [[I
0 28 1 decrypting Z
1 28 2 total I
2 28 3 expK [I
4 8 4 j I
9 17 4 i I
11 15 5 j I
19 27 4 i I
21 25 5 j I
MethodParameters:
Name Flags
kr
decrypting
private static final int mul(int, int);
descriptor: (II)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=2, args_size=2
start local 0 // int a
start local 1 // int b
0: .line 325
iload 0 /* a */
ifeq 2
iload 1 /* b */
ifeq 2
1: .line 326
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
getstatic com.sun.crypto.provider.AESCrypt.log:[I
iload 0 /* a */
sipush 255
iand
iaload
getstatic com.sun.crypto.provider.AESCrypt.log:[I
iload 1 /* b */
sipush 255
iand
iaload
iadd
sipush 255
irem
iaload
goto 3
2: .line 327
StackMap locals:
StackMap stack:
iconst_0
3: .line 325
StackMap locals:
StackMap stack: int
ireturn
end local 1 // int b
end local 0 // int a
LocalVariableTable:
Start End Slot Name Signature
0 4 0 a I
0 4 1 b I
MethodParameters:
Name Flags
a
b
private static final int mul4(int, byte[]);
descriptor: (I[B)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=2
start local 0 // int a
start local 1 // byte[] b
0: .line 332
iload 0 /* a */
ifne 1
iconst_0
ireturn
1: .line 333
StackMap locals:
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.log:[I
iload 0 /* a */
sipush 255
iand
iaload
istore 0 /* a */
2: .line 334
aload 1 /* b */
iconst_0
baload
ifeq 3
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
iload 0 /* a */
getstatic com.sun.crypto.provider.AESCrypt.log:[I
aload 1 /* b */
iconst_0
baload
sipush 255
iand
iaload
iadd
sipush 255
irem
iaload
sipush 255
iand
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 2 /* a0 */
start local 2 // int a0
5: .line 335
aload 1 /* b */
iconst_1
baload
ifeq 6
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
iload 0 /* a */
getstatic com.sun.crypto.provider.AESCrypt.log:[I
aload 1 /* b */
iconst_1
baload
sipush 255
iand
iaload
iadd
sipush 255
irem
iaload
sipush 255
iand
goto 7
StackMap locals: int
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 3 /* a1 */
start local 3 // int a1
8: .line 336
aload 1 /* b */
iconst_2
baload
ifeq 9
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
iload 0 /* a */
getstatic com.sun.crypto.provider.AESCrypt.log:[I
aload 1 /* b */
iconst_2
baload
sipush 255
iand
iaload
iadd
sipush 255
irem
iaload
sipush 255
iand
goto 10
StackMap locals: int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 4 /* a2 */
start local 4 // int a2
11: .line 337
aload 1 /* b */
iconst_3
baload
ifeq 12
getstatic com.sun.crypto.provider.AESCrypt.alog:[I
iload 0 /* a */
getstatic com.sun.crypto.provider.AESCrypt.log:[I
aload 1 /* b */
iconst_3
baload
sipush 255
iand
iaload
iadd
sipush 255
irem
iaload
sipush 255
iand
goto 13
StackMap locals: int
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 5 /* a3 */
start local 5 // int a3
14: .line 338
iload 2 /* a0 */
bipush 24
ishl
iload 3 /* a1 */
bipush 16
ishl
ior
iload 4 /* a2 */
bipush 8
ishl
ior
iload 5 /* a3 */
ior
ireturn
end local 5 // int a3
end local 4 // int a2
end local 3 // int a1
end local 2 // int a0
end local 1 // byte[] b
end local 0 // int a
LocalVariableTable:
Start End Slot Name Signature
0 15 0 a I
0 15 1 b [B
5 15 2 a0 I
8 15 3 a1 I
11 15 4 a2 I
14 15 5 a3 I
MethodParameters:
Name Flags
a
b
static final boolean isKeySizeValid(int);
descriptor: (I)Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 // int len
0: .line 343
iconst_0
istore 1 /* i */
start local 1 // int i
1: goto 5
2: .line 344
StackMap locals: int
StackMap stack:
iload 0 /* len */
getstatic com.sun.crypto.provider.AESCrypt.AES_KEYSIZES:[I
iload 1 /* i */
iaload
if_icmpne 4
3: .line 345
iconst_1
ireturn
4: .line 343
StackMap locals:
StackMap stack:
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 1 /* i */
getstatic com.sun.crypto.provider.AESCrypt.AES_KEYSIZES:[I
arraylength
if_icmplt 2
end local 1 // int i
6: .line 348
iconst_0
ireturn
end local 0 // int len
LocalVariableTable:
Start End Slot Name Signature
0 7 0 len I
1 6 1 i I
MethodParameters:
Name Flags
len
void encryptBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=5
start local 0 // com.sun.crypto.provider.AESCrypt this
start local 1 // byte[] in
start local 2 // int inOffset
start local 3 // byte[] out
start local 4 // int outOffset
0: .line 358
aload 0 /* this */
aload 1 /* in */
iload 2 /* inOffset */
aload 3 /* out */
iload 4 /* outOffset */
invokevirtual com.sun.crypto.provider.AESCrypt.implEncryptBlock:([BI[BI)V
1: .line 359
return
end local 4 // int outOffset
end local 3 // byte[] out
end local 2 // int inOffset
end local 1 // byte[] in
end local 0 // com.sun.crypto.provider.AESCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/crypto/provider/AESCrypt;
0 2 1 in [B
0 2 2 inOffset I
0 2 3 out [B
0 2 4 outOffset I
MethodParameters:
Name Flags
in
inOffset
out
outOffset
private void implEncryptBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=5
start local 0 // com.sun.crypto.provider.AESCrypt this
start local 1 // byte[] in
start local 2 // int inOffset
start local 3 // byte[] out
start local 4 // int outOffset
0: .line 366
iconst_0
istore 5 /* keyOffset */
start local 5 // int keyOffset
1: .line 367
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
bipush 24
ishl
2: .line 368
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 16
ishl
3: .line 367
ior
4: .line 369
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 8
ishl
5: .line 367
ior
6: .line 370
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
7: .line 367
ior
8: .line 370
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
9: .line 367
ixor
istore 6 /* t0 */
start local 6 // int t0
10: .line 371
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
bipush 24
ishl
11: .line 372
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 16
ishl
12: .line 371
ior
13: .line 373
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 8
ishl
14: .line 371
ior
15: .line 374
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
16: .line 371
ior
17: .line 374
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
18: .line 371
ixor
istore 7 /* t1 */
start local 7 // int t1
19: .line 375
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
bipush 24
ishl
20: .line 376
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 16
ishl
21: .line 375
ior
22: .line 377
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 8
ishl
23: .line 375
ior
24: .line 378
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
25: .line 375
ior
26: .line 378
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
27: .line 375
ixor
istore 8 /* t2 */
start local 8 // int t2
28: .line 379
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
bipush 24
ishl
29: .line 380
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 16
ishl
30: .line 379
ior
31: .line 381
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 8
ishl
32: .line 379
ior
33: .line 382
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
34: .line 379
ior
35: .line 382
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
36: .line 379
ixor
istore 9 /* t3 */
start local 9 // int t3
37: .line 385
goto 75
38: .line 388
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int byte[] int int int int int int
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.T1:[I
iload 6 /* t0 */
bipush 24
iushr
iaload
39: .line 389
getstatic com.sun.crypto.provider.AESCrypt.T2:[I
iload 7 /* t1 */
bipush 16
iushr
sipush 255
iand
iaload
40: .line 388
ixor
41: .line 390
getstatic com.sun.crypto.provider.AESCrypt.T3:[I
iload 8 /* t2 */
bipush 8
iushr
sipush 255
iand
iaload
42: .line 388
ixor
43: .line 391
getstatic com.sun.crypto.provider.AESCrypt.T4:[I
iload 9 /* t3 */
sipush 255
iand
iaload
44: .line 388
ixor
45: .line 391
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
46: .line 388
ixor
istore 10 /* a0 */
start local 10 // int a0
47: .line 392
getstatic com.sun.crypto.provider.AESCrypt.T1:[I
iload 7 /* t1 */
bipush 24
iushr
iaload
48: .line 393
getstatic com.sun.crypto.provider.AESCrypt.T2:[I
iload 8 /* t2 */
bipush 16
iushr
sipush 255
iand
iaload
49: .line 392
ixor
50: .line 394
getstatic com.sun.crypto.provider.AESCrypt.T3:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
51: .line 392
ixor
52: .line 395
getstatic com.sun.crypto.provider.AESCrypt.T4:[I
iload 6 /* t0 */
sipush 255
iand
iaload
53: .line 392
ixor
54: .line 395
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
55: .line 392
ixor
istore 11 /* a1 */
start local 11 // int a1
56: .line 396
getstatic com.sun.crypto.provider.AESCrypt.T1:[I
iload 8 /* t2 */
bipush 24
iushr
iaload
57: .line 397
getstatic com.sun.crypto.provider.AESCrypt.T2:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
58: .line 396
ixor
59: .line 398
getstatic com.sun.crypto.provider.AESCrypt.T3:[I
iload 6 /* t0 */
bipush 8
iushr
sipush 255
iand
iaload
60: .line 396
ixor
61: .line 399
getstatic com.sun.crypto.provider.AESCrypt.T4:[I
iload 7 /* t1 */
sipush 255
iand
iaload
62: .line 396
ixor
63: .line 399
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
64: .line 396
ixor
istore 12 /* a2 */
start local 12 // int a2
65: .line 400
getstatic com.sun.crypto.provider.AESCrypt.T1:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
66: .line 401
getstatic com.sun.crypto.provider.AESCrypt.T2:[I
iload 6 /* t0 */
bipush 16
iushr
sipush 255
iand
iaload
67: .line 400
ixor
68: .line 402
getstatic com.sun.crypto.provider.AESCrypt.T3:[I
iload 7 /* t1 */
bipush 8
iushr
sipush 255
iand
iaload
69: .line 400
ixor
70: .line 403
getstatic com.sun.crypto.provider.AESCrypt.T4:[I
iload 8 /* t2 */
sipush 255
iand
iaload
71: .line 400
ixor
72: .line 403
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
73: .line 400
ixor
istore 9 /* t3 */
74: .line 404
iload 10 /* a0 */
istore 6 /* t0 */
iload 11 /* a1 */
istore 7 /* t1 */
iload 12 /* a2 */
istore 8 /* t2 */
end local 12 // int a2
end local 11 // int a1
end local 10 // int a0
75: .line 385
StackMap locals:
StackMap stack:
iload 5 /* keyOffset */
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.limit:I
if_icmplt 38
76: .line 408
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
istore 10 /* tt */
start local 10 // int tt
77: .line 409
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 6 /* t0 */
bipush 24
iushr
baload
iload 10 /* tt */
bipush 24
iushr
ixor
i2b
bastore
78: .line 410
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 7 /* t1 */
bipush 16
iushr
sipush 255
iand
baload
iload 10 /* tt */
bipush 16
iushr
ixor
i2b
bastore
79: .line 411
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 8 /* t2 */
bipush 8
iushr
sipush 255
iand
baload
iload 10 /* tt */
bipush 8
iushr
ixor
i2b
bastore
80: .line 412
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 9 /* t3 */
sipush 255
iand
baload
iload 10 /* tt */
ixor
i2b
bastore
81: .line 413
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
istore 10 /* tt */
82: .line 414
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 7 /* t1 */
bipush 24
iushr
baload
iload 10 /* tt */
bipush 24
iushr
ixor
i2b
bastore
83: .line 415
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 8 /* t2 */
bipush 16
iushr
sipush 255
iand
baload
iload 10 /* tt */
bipush 16
iushr
ixor
i2b
bastore
84: .line 416
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
baload
iload 10 /* tt */
bipush 8
iushr
ixor
i2b
bastore
85: .line 417
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 6 /* t0 */
sipush 255
iand
baload
iload 10 /* tt */
ixor
i2b
bastore
86: .line 418
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
istore 10 /* tt */
87: .line 419
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 8 /* t2 */
bipush 24
iushr
baload
iload 10 /* tt */
bipush 24
iushr
ixor
i2b
bastore
88: .line 420
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
baload
iload 10 /* tt */
bipush 16
iushr
ixor
i2b
bastore
89: .line 421
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 6 /* t0 */
bipush 8
iushr
sipush 255
iand
baload
iload 10 /* tt */
bipush 8
iushr
ixor
i2b
bastore
90: .line 422
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 7 /* t1 */
sipush 255
iand
baload
iload 10 /* tt */
ixor
i2b
bastore
91: .line 423
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
istore 10 /* tt */
92: .line 424
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 9 /* t3 */
bipush 24
iushr
baload
iload 10 /* tt */
bipush 24
iushr
ixor
i2b
bastore
93: .line 425
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 6 /* t0 */
bipush 16
iushr
sipush 255
iand
baload
iload 10 /* tt */
bipush 16
iushr
ixor
i2b
bastore
94: .line 426
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 7 /* t1 */
bipush 8
iushr
sipush 255
iand
baload
iload 10 /* tt */
bipush 8
iushr
ixor
i2b
bastore
95: .line 427
aload 3 /* out */
iload 4 /* outOffset */
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 8 /* t2 */
sipush 255
iand
baload
iload 10 /* tt */
ixor
i2b
bastore
96: .line 428
return
end local 10 // int tt
end local 9 // int t3
end local 8 // int t2
end local 7 // int t1
end local 6 // int t0
end local 5 // int keyOffset
end local 4 // int outOffset
end local 3 // byte[] out
end local 2 // int inOffset
end local 1 // byte[] in
end local 0 // com.sun.crypto.provider.AESCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 97 0 this Lcom/sun/crypto/provider/AESCrypt;
0 97 1 in [B
0 97 2 inOffset I
0 97 3 out [B
0 97 4 outOffset I
1 97 5 keyOffset I
10 97 6 t0 I
19 97 7 t1 I
28 97 8 t2 I
37 97 9 t3 I
47 75 10 a0 I
56 75 11 a1 I
65 75 12 a2 I
77 97 10 tt I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
in
inOffset
out
outOffset
void decryptBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=5
start local 0 // com.sun.crypto.provider.AESCrypt this
start local 1 // byte[] in
start local 2 // int inOffset
start local 3 // byte[] out
start local 4 // int outOffset
0: .line 437
aload 0 /* this */
aload 1 /* in */
iload 2 /* inOffset */
aload 3 /* out */
iload 4 /* outOffset */
invokevirtual com.sun.crypto.provider.AESCrypt.implDecryptBlock:([BI[BI)V
1: .line 438
return
end local 4 // int outOffset
end local 3 // byte[] out
end local 2 // int inOffset
end local 1 // byte[] in
end local 0 // com.sun.crypto.provider.AESCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/crypto/provider/AESCrypt;
0 2 1 in [B
0 2 2 inOffset I
0 2 3 out [B
0 2 4 outOffset I
MethodParameters:
Name Flags
in
inOffset
out
outOffset
private void implDecryptBlock(byte[], int, byte[], int);
descriptor: ([BI[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=5
start local 0 // com.sun.crypto.provider.AESCrypt this
start local 1 // byte[] in
start local 2 // int inOffset
start local 3 // byte[] out
start local 4 // int outOffset
0: .line 445
iconst_4
istore 5 /* keyOffset */
start local 5 // int keyOffset
1: .line 446
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
bipush 24
ishl
2: .line 447
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 16
ishl
3: .line 446
ior
4: .line 448
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 8
ishl
5: .line 446
ior
6: .line 449
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
7: .line 446
ior
8: .line 449
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
9: .line 446
ixor
istore 6 /* t0 */
start local 6 // int t0
10: .line 450
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
bipush 24
ishl
11: .line 451
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 16
ishl
12: .line 450
ior
13: .line 452
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 8
ishl
14: .line 450
ior
15: .line 453
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
16: .line 450
ior
17: .line 453
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
18: .line 450
ixor
istore 7 /* t1 */
start local 7 // int t1
19: .line 454
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
bipush 24
ishl
20: .line 455
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 16
ishl
21: .line 454
ior
22: .line 456
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 8
ishl
23: .line 454
ior
24: .line 457
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
25: .line 454
ior
26: .line 457
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
27: .line 454
ixor
istore 8 /* t2 */
start local 8 // int t2
28: .line 458
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
bipush 24
ishl
29: .line 459
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 16
ishl
30: .line 458
ior
31: .line 460
aload 1 /* in */
iload 2 /* inOffset */
iinc 2 /* inOffset */ 1
baload
sipush 255
iand
bipush 8
ishl
32: .line 458
ior
33: .line 461
aload 1 /* in */
iload 2 /* inOffset */
baload
sipush 255
iand
34: .line 458
ior
35: .line 461
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
36: .line 458
ixor
istore 9 /* t3 */
start local 9 // int t3
37: .line 464
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.ROUNDS_12:Z
ifeq 151
38: .line 466
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 6 /* t0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
39: .line 467
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 8 /* t2 */
bipush 8
iushr
sipush 255
iand
iaload
40: .line 466
ixor
41: .line 467
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 7 /* t1 */
sipush 255
iand
iaload
42: .line 466
ixor
43: .line 467
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
44: .line 466
ixor
istore 10 /* a0 */
start local 10 // int a0
45: .line 468
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 7 /* t1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 6 /* t0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
46: .line 469
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
47: .line 468
ixor
48: .line 469
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 8 /* t2 */
sipush 255
iand
iaload
49: .line 468
ixor
50: .line 469
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
51: .line 468
ixor
istore 11 /* a1 */
start local 11 // int a1
52: .line 470
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 8 /* t2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 7 /* t1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
53: .line 471
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 6 /* t0 */
bipush 8
iushr
sipush 255
iand
iaload
54: .line 470
ixor
55: .line 471
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
56: .line 470
ixor
57: .line 471
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
58: .line 470
ixor
istore 12 /* a2 */
start local 12 // int a2
59: .line 472
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 8 /* t2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
60: .line 473
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 7 /* t1 */
bipush 8
iushr
sipush 255
iand
iaload
61: .line 472
ixor
62: .line 473
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 6 /* t0 */
sipush 255
iand
iaload
63: .line 472
ixor
64: .line 473
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
65: .line 472
ixor
istore 9 /* t3 */
66: .line 474
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 10 /* a0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
67: .line 475
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 12 /* a2 */
bipush 8
iushr
sipush 255
iand
iaload
68: .line 474
ixor
69: .line 475
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 11 /* a1 */
sipush 255
iand
iaload
70: .line 474
ixor
71: .line 475
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
72: .line 474
ixor
istore 6 /* t0 */
73: .line 476
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 11 /* a1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 10 /* a0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
74: .line 477
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
75: .line 476
ixor
76: .line 477
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 12 /* a2 */
sipush 255
iand
iaload
77: .line 476
ixor
78: .line 477
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
79: .line 476
ixor
istore 7 /* t1 */
80: .line 478
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 12 /* a2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 11 /* a1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
81: .line 479
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 10 /* a0 */
bipush 8
iushr
sipush 255
iand
iaload
82: .line 478
ixor
83: .line 479
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
84: .line 478
ixor
85: .line 479
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
86: .line 478
ixor
istore 8 /* t2 */
87: .line 480
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 12 /* a2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
88: .line 481
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 11 /* a1 */
bipush 8
iushr
sipush 255
iand
iaload
89: .line 480
ixor
90: .line 481
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 10 /* a0 */
sipush 255
iand
iaload
91: .line 480
ixor
92: .line 481
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
93: .line 480
ixor
istore 9 /* t3 */
94: .line 483
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.ROUNDS_14:Z
ifeq 151
95: .line 485
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 6 /* t0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
96: .line 486
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 8 /* t2 */
bipush 8
iushr
sipush 255
iand
iaload
97: .line 485
ixor
98: .line 486
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 7 /* t1 */
sipush 255
iand
iaload
99: .line 485
ixor
100: .line 486
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
101: .line 485
ixor
istore 10 /* a0 */
102: .line 487
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 7 /* t1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 6 /* t0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
103: .line 488
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
104: .line 487
ixor
105: .line 488
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 8 /* t2 */
sipush 255
iand
iaload
106: .line 487
ixor
107: .line 488
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
108: .line 487
ixor
istore 11 /* a1 */
109: .line 489
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 8 /* t2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 7 /* t1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
110: .line 490
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 6 /* t0 */
bipush 8
iushr
sipush 255
iand
iaload
111: .line 489
ixor
112: .line 490
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
113: .line 489
ixor
114: .line 490
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
115: .line 489
ixor
istore 12 /* a2 */
116: .line 491
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 8 /* t2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
117: .line 492
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 7 /* t1 */
bipush 8
iushr
sipush 255
iand
iaload
118: .line 491
ixor
119: .line 492
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 6 /* t0 */
sipush 255
iand
iaload
120: .line 491
ixor
121: .line 492
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
122: .line 491
ixor
istore 9 /* t3 */
123: .line 493
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 10 /* a0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
124: .line 494
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 12 /* a2 */
bipush 8
iushr
sipush 255
iand
iaload
125: .line 493
ixor
126: .line 494
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 11 /* a1 */
sipush 255
iand
iaload
127: .line 493
ixor
128: .line 494
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
129: .line 493
ixor
istore 6 /* t0 */
130: .line 495
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 11 /* a1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 10 /* a0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
131: .line 496
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
132: .line 495
ixor
133: .line 496
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 12 /* a2 */
sipush 255
iand
iaload
134: .line 495
ixor
135: .line 496
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
136: .line 495
ixor
istore 7 /* t1 */
137: .line 497
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 12 /* a2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 11 /* a1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
138: .line 498
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 10 /* a0 */
bipush 8
iushr
sipush 255
iand
iaload
139: .line 497
ixor
140: .line 498
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
141: .line 497
ixor
142: .line 498
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
143: .line 497
ixor
istore 8 /* t2 */
144: .line 499
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 12 /* a2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
145: .line 500
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 11 /* a1 */
bipush 8
iushr
sipush 255
iand
iaload
146: .line 499
ixor
147: .line 500
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 10 /* a0 */
sipush 255
iand
iaload
148: .line 499
ixor
149: .line 500
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
150: .line 499
ixor
istore 9 /* t3 */
end local 12 // int a2
end local 11 // int a1
end local 10 // int a0
151: .line 503
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int byte[] int int int int int int
StackMap stack:
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 6 /* t0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
152: .line 504
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 8 /* t2 */
bipush 8
iushr
sipush 255
iand
iaload
153: .line 503
ixor
154: .line 504
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 7 /* t1 */
sipush 255
iand
iaload
155: .line 503
ixor
156: .line 504
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
157: .line 503
ixor
istore 10 /* a0 */
start local 10 // int a0
158: .line 505
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 7 /* t1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 6 /* t0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
159: .line 506
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
160: .line 505
ixor
161: .line 506
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 8 /* t2 */
sipush 255
iand
iaload
162: .line 505
ixor
163: .line 506
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
164: .line 505
ixor
istore 11 /* a1 */
start local 11 // int a1
165: .line 507
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 8 /* t2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 7 /* t1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
166: .line 508
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 6 /* t0 */
bipush 8
iushr
sipush 255
iand
iaload
167: .line 507
ixor
168: .line 508
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
169: .line 507
ixor
170: .line 508
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
171: .line 507
ixor
istore 12 /* a2 */
start local 12 // int a2
172: .line 509
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 8 /* t2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
173: .line 510
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 7 /* t1 */
bipush 8
iushr
sipush 255
iand
iaload
174: .line 509
ixor
175: .line 510
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 6 /* t0 */
sipush 255
iand
iaload
176: .line 509
ixor
177: .line 510
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
178: .line 509
ixor
istore 9 /* t3 */
179: .line 511
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 10 /* a0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
180: .line 512
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 12 /* a2 */
bipush 8
iushr
sipush 255
iand
iaload
181: .line 511
ixor
182: .line 512
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 11 /* a1 */
sipush 255
iand
iaload
183: .line 511
ixor
184: .line 512
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
185: .line 511
ixor
istore 6 /* t0 */
186: .line 513
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 11 /* a1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 10 /* a0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
187: .line 514
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
188: .line 513
ixor
189: .line 514
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 12 /* a2 */
sipush 255
iand
iaload
190: .line 513
ixor
191: .line 514
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
192: .line 513
ixor
istore 7 /* t1 */
193: .line 515
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 12 /* a2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 11 /* a1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
194: .line 516
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 10 /* a0 */
bipush 8
iushr
sipush 255
iand
iaload
195: .line 515
ixor
196: .line 516
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
197: .line 515
ixor
198: .line 516
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
199: .line 515
ixor
istore 8 /* t2 */
200: .line 517
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 12 /* a2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
201: .line 518
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 11 /* a1 */
bipush 8
iushr
sipush 255
iand
iaload
202: .line 517
ixor
203: .line 518
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 10 /* a0 */
sipush 255
iand
iaload
204: .line 517
ixor
205: .line 518
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
206: .line 517
ixor
istore 9 /* t3 */
207: .line 519
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 6 /* t0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
208: .line 520
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 8 /* t2 */
bipush 8
iushr
sipush 255
iand
iaload
209: .line 519
ixor
210: .line 520
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 7 /* t1 */
sipush 255
iand
iaload
211: .line 519
ixor
212: .line 520
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
213: .line 519
ixor
istore 10 /* a0 */
214: .line 521
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 7 /* t1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 6 /* t0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
215: .line 522
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
216: .line 521
ixor
217: .line 522
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 8 /* t2 */
sipush 255
iand
iaload
218: .line 521
ixor
219: .line 522
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
220: .line 521
ixor
istore 11 /* a1 */
221: .line 523
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 8 /* t2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 7 /* t1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
222: .line 524
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 6 /* t0 */
bipush 8
iushr
sipush 255
iand
iaload
223: .line 523
ixor
224: .line 524
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
225: .line 523
ixor
226: .line 524
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
227: .line 523
ixor
istore 12 /* a2 */
228: .line 525
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 8 /* t2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
229: .line 526
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 7 /* t1 */
bipush 8
iushr
sipush 255
iand
iaload
230: .line 525
ixor
231: .line 526
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 6 /* t0 */
sipush 255
iand
iaload
232: .line 525
ixor
233: .line 526
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
234: .line 525
ixor
istore 9 /* t3 */
235: .line 527
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 10 /* a0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
236: .line 528
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 12 /* a2 */
bipush 8
iushr
sipush 255
iand
iaload
237: .line 527
ixor
238: .line 528
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 11 /* a1 */
sipush 255
iand
iaload
239: .line 527
ixor
240: .line 528
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
241: .line 527
ixor
istore 6 /* t0 */
242: .line 529
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 11 /* a1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 10 /* a0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
243: .line 530
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
244: .line 529
ixor
245: .line 530
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 12 /* a2 */
sipush 255
iand
iaload
246: .line 529
ixor
247: .line 530
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
248: .line 529
ixor
istore 7 /* t1 */
249: .line 531
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 12 /* a2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 11 /* a1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
250: .line 532
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 10 /* a0 */
bipush 8
iushr
sipush 255
iand
iaload
251: .line 531
ixor
252: .line 532
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
253: .line 531
ixor
254: .line 532
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
255: .line 531
ixor
istore 8 /* t2 */
256: .line 533
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 12 /* a2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
257: .line 534
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 11 /* a1 */
bipush 8
iushr
sipush 255
iand
iaload
258: .line 533
ixor
259: .line 534
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 10 /* a0 */
sipush 255
iand
iaload
260: .line 533
ixor
261: .line 534
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
262: .line 533
ixor
istore 9 /* t3 */
263: .line 535
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 6 /* t0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
264: .line 536
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 8 /* t2 */
bipush 8
iushr
sipush 255
iand
iaload
265: .line 535
ixor
266: .line 536
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 7 /* t1 */
sipush 255
iand
iaload
267: .line 535
ixor
268: .line 536
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
269: .line 535
ixor
istore 10 /* a0 */
270: .line 537
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 7 /* t1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 6 /* t0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
271: .line 538
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
272: .line 537
ixor
273: .line 538
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 8 /* t2 */
sipush 255
iand
iaload
274: .line 537
ixor
275: .line 538
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
276: .line 537
ixor
istore 11 /* a1 */
277: .line 539
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 8 /* t2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 7 /* t1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
278: .line 540
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 6 /* t0 */
bipush 8
iushr
sipush 255
iand
iaload
279: .line 539
ixor
280: .line 540
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
281: .line 539
ixor
282: .line 540
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
283: .line 539
ixor
istore 12 /* a2 */
284: .line 541
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 8 /* t2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
285: .line 542
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 7 /* t1 */
bipush 8
iushr
sipush 255
iand
iaload
286: .line 541
ixor
287: .line 542
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 6 /* t0 */
sipush 255
iand
iaload
288: .line 541
ixor
289: .line 542
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
290: .line 541
ixor
istore 9 /* t3 */
291: .line 543
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 10 /* a0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
292: .line 544
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 12 /* a2 */
bipush 8
iushr
sipush 255
iand
iaload
293: .line 543
ixor
294: .line 544
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 11 /* a1 */
sipush 255
iand
iaload
295: .line 543
ixor
296: .line 544
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
297: .line 543
ixor
istore 6 /* t0 */
298: .line 545
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 11 /* a1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 10 /* a0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
299: .line 546
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
300: .line 545
ixor
301: .line 546
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 12 /* a2 */
sipush 255
iand
iaload
302: .line 545
ixor
303: .line 546
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
304: .line 545
ixor
istore 7 /* t1 */
305: .line 547
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 12 /* a2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 11 /* a1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
306: .line 548
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 10 /* a0 */
bipush 8
iushr
sipush 255
iand
iaload
307: .line 547
ixor
308: .line 548
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
309: .line 547
ixor
310: .line 548
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
311: .line 547
ixor
istore 8 /* t2 */
312: .line 549
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 12 /* a2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
313: .line 550
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 11 /* a1 */
bipush 8
iushr
sipush 255
iand
iaload
314: .line 549
ixor
315: .line 550
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 10 /* a0 */
sipush 255
iand
iaload
316: .line 549
ixor
317: .line 550
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
318: .line 549
ixor
istore 9 /* t3 */
319: .line 551
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 6 /* t0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
320: .line 552
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 8 /* t2 */
bipush 8
iushr
sipush 255
iand
iaload
321: .line 551
ixor
322: .line 552
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 7 /* t1 */
sipush 255
iand
iaload
323: .line 551
ixor
324: .line 552
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
325: .line 551
ixor
istore 10 /* a0 */
326: .line 553
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 7 /* t1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 6 /* t0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
327: .line 554
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
328: .line 553
ixor
329: .line 554
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 8 /* t2 */
sipush 255
iand
iaload
330: .line 553
ixor
331: .line 554
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
332: .line 553
ixor
istore 11 /* a1 */
333: .line 555
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 8 /* t2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 7 /* t1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
334: .line 556
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 6 /* t0 */
bipush 8
iushr
sipush 255
iand
iaload
335: .line 555
ixor
336: .line 556
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
337: .line 555
ixor
338: .line 556
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
339: .line 555
ixor
istore 12 /* a2 */
340: .line 557
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 8 /* t2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
341: .line 558
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 7 /* t1 */
bipush 8
iushr
sipush 255
iand
iaload
342: .line 557
ixor
343: .line 558
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 6 /* t0 */
sipush 255
iand
iaload
344: .line 557
ixor
345: .line 558
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
346: .line 557
ixor
istore 9 /* t3 */
347: .line 559
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 10 /* a0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
348: .line 560
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 12 /* a2 */
bipush 8
iushr
sipush 255
iand
iaload
349: .line 559
ixor
350: .line 560
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 11 /* a1 */
sipush 255
iand
iaload
351: .line 559
ixor
352: .line 560
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
353: .line 559
ixor
istore 6 /* t0 */
354: .line 561
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 11 /* a1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 10 /* a0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
355: .line 562
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
356: .line 561
ixor
357: .line 562
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 12 /* a2 */
sipush 255
iand
iaload
358: .line 561
ixor
359: .line 562
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
360: .line 561
ixor
istore 7 /* t1 */
361: .line 563
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 12 /* a2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 11 /* a1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
362: .line 564
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 10 /* a0 */
bipush 8
iushr
sipush 255
iand
iaload
363: .line 563
ixor
364: .line 564
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
365: .line 563
ixor
366: .line 564
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
367: .line 563
ixor
istore 8 /* t2 */
368: .line 565
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 12 /* a2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
369: .line 566
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 11 /* a1 */
bipush 8
iushr
sipush 255
iand
iaload
370: .line 565
ixor
371: .line 566
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 10 /* a0 */
sipush 255
iand
iaload
372: .line 565
ixor
373: .line 566
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
374: .line 565
ixor
istore 9 /* t3 */
375: .line 567
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 6 /* t0 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
376: .line 568
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 8 /* t2 */
bipush 8
iushr
sipush 255
iand
iaload
377: .line 567
ixor
378: .line 568
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 7 /* t1 */
sipush 255
iand
iaload
379: .line 567
ixor
380: .line 568
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
381: .line 567
ixor
istore 10 /* a0 */
382: .line 569
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 7 /* t1 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 6 /* t0 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
383: .line 570
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
iaload
384: .line 569
ixor
385: .line 570
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 8 /* t2 */
sipush 255
iand
iaload
386: .line 569
ixor
387: .line 570
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
388: .line 569
ixor
istore 11 /* a1 */
389: .line 571
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 8 /* t2 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 7 /* t1 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
390: .line 572
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 6 /* t0 */
bipush 8
iushr
sipush 255
iand
iaload
391: .line 571
ixor
392: .line 572
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 9 /* t3 */
sipush 255
iand
iaload
393: .line 571
ixor
394: .line 572
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
395: .line 571
ixor
istore 12 /* a2 */
396: .line 573
getstatic com.sun.crypto.provider.AESCrypt.T5:[I
iload 9 /* t3 */
bipush 24
iushr
iaload
getstatic com.sun.crypto.provider.AESCrypt.T6:[I
iload 8 /* t2 */
bipush 16
iushr
sipush 255
iand
iaload
ixor
397: .line 574
getstatic com.sun.crypto.provider.AESCrypt.T7:[I
iload 7 /* t1 */
bipush 8
iushr
sipush 255
iand
iaload
398: .line 573
ixor
399: .line 574
getstatic com.sun.crypto.provider.AESCrypt.T8:[I
iload 6 /* t0 */
sipush 255
iand
iaload
400: .line 573
ixor
401: .line 574
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iload 5 /* keyOffset */
iinc 5 /* keyOffset */ 1
iaload
402: .line 573
ixor
istore 9 /* t3 */
403: .line 576
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iconst_0
iaload
istore 7 /* t1 */
404: .line 577
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 10 /* a0 */
bipush 24
iushr
baload
iload 7 /* t1 */
bipush 24
iushr
ixor
i2b
bastore
405: .line 578
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 9 /* t3 */
bipush 16
iushr
sipush 255
iand
baload
iload 7 /* t1 */
bipush 16
iushr
ixor
i2b
bastore
406: .line 579
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 12 /* a2 */
bipush 8
iushr
sipush 255
iand
baload
iload 7 /* t1 */
bipush 8
iushr
ixor
i2b
bastore
407: .line 580
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 11 /* a1 */
sipush 255
iand
baload
iload 7 /* t1 */
ixor
i2b
bastore
408: .line 581
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iconst_1
iaload
istore 7 /* t1 */
409: .line 582
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 11 /* a1 */
bipush 24
iushr
baload
iload 7 /* t1 */
bipush 24
iushr
ixor
i2b
bastore
410: .line 583
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 10 /* a0 */
bipush 16
iushr
sipush 255
iand
baload
iload 7 /* t1 */
bipush 16
iushr
ixor
i2b
bastore
411: .line 584
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 9 /* t3 */
bipush 8
iushr
sipush 255
iand
baload
iload 7 /* t1 */
bipush 8
iushr
ixor
i2b
bastore
412: .line 585
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 12 /* a2 */
sipush 255
iand
baload
iload 7 /* t1 */
ixor
i2b
bastore
413: .line 586
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iconst_2
iaload
istore 7 /* t1 */
414: .line 587
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 12 /* a2 */
bipush 24
iushr
baload
iload 7 /* t1 */
bipush 24
iushr
ixor
i2b
bastore
415: .line 588
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 11 /* a1 */
bipush 16
iushr
sipush 255
iand
baload
iload 7 /* t1 */
bipush 16
iushr
ixor
i2b
bastore
416: .line 589
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 10 /* a0 */
bipush 8
iushr
sipush 255
iand
baload
iload 7 /* t1 */
bipush 8
iushr
ixor
i2b
bastore
417: .line 590
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 9 /* t3 */
sipush 255
iand
baload
iload 7 /* t1 */
ixor
i2b
bastore
418: .line 591
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.K:[I
iconst_3
iaload
istore 7 /* t1 */
419: .line 592
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 9 /* t3 */
bipush 24
iushr
baload
iload 7 /* t1 */
bipush 24
iushr
ixor
i2b
bastore
420: .line 593
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 12 /* a2 */
bipush 16
iushr
sipush 255
iand
baload
iload 7 /* t1 */
bipush 16
iushr
ixor
i2b
bastore
421: .line 594
aload 3 /* out */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 11 /* a1 */
bipush 8
iushr
sipush 255
iand
baload
iload 7 /* t1 */
bipush 8
iushr
ixor
i2b
bastore
422: .line 595
aload 3 /* out */
iload 4 /* outOffset */
getstatic com.sun.crypto.provider.AESCrypt.Si:[B
iload 10 /* a0 */
sipush 255
iand
baload
iload 7 /* t1 */
ixor
i2b
bastore
423: .line 596
return
end local 12 // int a2
end local 11 // int a1
end local 10 // int a0
end local 9 // int t3
end local 8 // int t2
end local 7 // int t1
end local 6 // int t0
end local 5 // int keyOffset
end local 4 // int outOffset
end local 3 // byte[] out
end local 2 // int inOffset
end local 1 // byte[] in
end local 0 // com.sun.crypto.provider.AESCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 424 0 this Lcom/sun/crypto/provider/AESCrypt;
0 424 1 in [B
0 424 2 inOffset I
0 424 3 out [B
0 424 4 outOffset I
1 424 5 keyOffset I
10 424 6 t0 I
19 424 7 t1 I
28 424 8 t2 I
37 424 9 t3 I
45 151 10 a0 I
158 424 10 a0 I
52 151 11 a1 I
165 424 11 a1 I
59 151 12 a2 I
172 424 12 a2 I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
in
inOffset
out
outOffset
private void makeSessionKey(byte[]);
descriptor: ([B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=20, args_size=2
start local 0 // com.sun.crypto.provider.AESCrypt this
start local 1 // byte[] k
0: .line 605
aload 1 /* k */
ifnonnull 2
1: .line 606
new java.security.InvalidKeyException
dup
ldc "Empty key"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
2: .line 608
StackMap locals:
StackMap stack:
aload 1 /* k */
arraylength
invokestatic com.sun.crypto.provider.AESCrypt.isKeySizeValid:(I)Z
ifne 6
3: .line 609
new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
ldc "Invalid AES key length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: .line 610
aload 1 /* k */
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: .line 609
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
6: .line 612
StackMap locals:
StackMap stack:
aload 1 /* k */
arraylength
invokestatic com.sun.crypto.provider.AESCrypt.getRounds:(I)I
istore 2 /* ROUNDS */
start local 2 // int ROUNDS
7: .line 613
iload 2 /* ROUNDS */
iconst_1
iadd
iconst_4
imul
istore 3 /* ROUND_KEY_COUNT */
start local 3 // int ROUND_KEY_COUNT
8: .line 615
iconst_4
istore 4 /* BC */
start local 4 // int BC
9: .line 616
iload 2 /* ROUNDS */
iconst_1
iadd
iconst_4
multianewarray [[I 2
astore 5 /* Ke */
start local 5 // int[][] Ke
10: .line 617
iload 2 /* ROUNDS */
iconst_1
iadd
iconst_4
multianewarray [[I 2
astore 6 /* Kd */
start local 6 // int[][] Kd
11: .line 619
aload 1 /* k */
arraylength
iconst_4
idiv
istore 7 /* KC */
start local 7 // int KC
12: .line 621
iload 7 /* KC */
newarray 10
astore 8 /* tk */
start local 8 // int[] tk
13: .line 625
iconst_0
istore 9 /* i */
start local 9 // int i
14: iconst_0
istore 10 /* j */
start local 10 // int j
15: goto 22
16: .line 626
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int int int int[][] int[][] int int[] int int
StackMap stack:
aload 8 /* tk */
iload 9 /* i */
aload 1 /* k */
iload 10 /* j */
baload
bipush 24
ishl
17: .line 627
aload 1 /* k */
iload 10 /* j */
iconst_1
iadd
baload
sipush 255
iand
bipush 16
ishl
ior
18: .line 628
aload 1 /* k */
iload 10 /* j */
iconst_2
iadd
baload
sipush 255
iand
bipush 8
ishl
ior
19: .line 629
aload 1 /* k */
iload 10 /* j */
iconst_3
iadd
baload
sipush 255
iand
ior
20: .line 626
iastore
21: .line 625
iinc 9 /* i */ 1
iinc 10 /* j */ 4
StackMap locals:
StackMap stack:
22: iload 9 /* i */
iload 7 /* KC */
if_icmplt 16
23: .line 633
iconst_0
istore 11 /* t */
start local 11 // int t
24: .line 634
iconst_0
istore 10 /* j */
goto 28
25: .line 635
StackMap locals: int
StackMap stack:
aload 5 /* Ke */
iload 11 /* t */
iconst_4
idiv
aaload
iload 11 /* t */
iconst_4
irem
aload 8 /* tk */
iload 10 /* j */
iaload
iastore
26: .line 636
aload 6 /* Kd */
iload 2 /* ROUNDS */
iload 11 /* t */
iconst_4
idiv
isub
aaload
iload 11 /* t */
iconst_4
irem
aload 8 /* tk */
iload 10 /* j */
iaload
iastore
27: .line 634
iinc 10 /* j */ 1
iinc 11 /* t */ 1
StackMap locals:
StackMap stack:
28: iload 10 /* j */
iload 7 /* KC */
if_icmpge 29
iload 11 /* t */
iload 3 /* ROUND_KEY_COUNT */
if_icmplt 25
29: .line 638
StackMap locals:
StackMap stack:
iconst_0
istore 13 /* rconpointer */
start local 13 // int rconpointer
30: .line 639
goto 59
31: .line 641
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int int int int[][] int[][] int int[] int int int top int
StackMap stack:
aload 8 /* tk */
iload 7 /* KC */
iconst_1
isub
iaload
istore 12 /* tt */
start local 12 // int tt
32: .line 642
aload 8 /* tk */
iconst_0
dup2
iaload
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 12 /* tt */
bipush 16
iushr
sipush 255
iand
baload
bipush 24
ishl
33: .line 643
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 12 /* tt */
bipush 8
iushr
sipush 255
iand
baload
sipush 255
iand
bipush 16
ishl
ixor
34: .line 644
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 12 /* tt */
sipush 255
iand
baload
sipush 255
iand
bipush 8
ishl
ixor
35: .line 645
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 12 /* tt */
bipush 24
iushr
baload
sipush 255
iand
ixor
36: .line 646
getstatic com.sun.crypto.provider.AESCrypt.rcon:[B
iload 13 /* rconpointer */
iinc 13 /* rconpointer */ 1
baload
bipush 24
ishl
ixor
37: .line 642
ixor
iastore
38: .line 647
iload 7 /* KC */
bipush 8
if_icmpeq 42
39: .line 648
iconst_1
istore 9 /* i */
iconst_0
istore 10 /* j */
goto 41
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int int int int[][] int[][] int int[] int int int int int
StackMap stack:
40: aload 8 /* tk */
iload 9 /* i */
dup2
iaload
aload 8 /* tk */
iload 10 /* j */
iaload
ixor
iastore
iinc 9 /* i */ 1
iinc 10 /* j */ 1
StackMap locals:
StackMap stack:
41: iload 9 /* i */
iload 7 /* KC */
if_icmplt 40
goto 54
42: .line 650
StackMap locals:
StackMap stack:
iconst_1
istore 9 /* i */
iconst_0
istore 10 /* j */
goto 44
StackMap locals:
StackMap stack:
43: aload 8 /* tk */
iload 9 /* i */
dup2
iaload
aload 8 /* tk */
iload 10 /* j */
iaload
ixor
iastore
iinc 9 /* i */ 1
iinc 10 /* j */ 1
StackMap locals:
StackMap stack:
44: iload 9 /* i */
iload 7 /* KC */
iconst_2
idiv
if_icmplt 43
45: .line 651
aload 8 /* tk */
iload 7 /* KC */
iconst_2
idiv
iconst_1
isub
iaload
istore 12 /* tt */
46: .line 652
aload 8 /* tk */
iload 7 /* KC */
iconst_2
idiv
dup2
iaload
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 12 /* tt */
sipush 255
iand
baload
sipush 255
iand
47: .line 653
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 12 /* tt */
bipush 8
iushr
sipush 255
iand
baload
sipush 255
iand
bipush 8
ishl
ixor
48: .line 654
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 12 /* tt */
bipush 16
iushr
sipush 255
iand
baload
sipush 255
iand
bipush 16
ishl
ixor
49: .line 655
getstatic com.sun.crypto.provider.AESCrypt.S:[B
iload 12 /* tt */
bipush 24
iushr
baload
bipush 24
ishl
ixor
50: .line 652
ixor
iastore
51: .line 656
iload 7 /* KC */
iconst_2
idiv
istore 10 /* j */
iload 10 /* j */
iconst_1
iadd
istore 9 /* i */
goto 53
StackMap locals:
StackMap stack:
52: aload 8 /* tk */
iload 9 /* i */
dup2
iaload
aload 8 /* tk */
iload 10 /* j */
iaload
ixor
iastore
iinc 9 /* i */ 1
iinc 10 /* j */ 1
StackMap locals:
StackMap stack:
53: iload 9 /* i */
iload 7 /* KC */
if_icmplt 52
54: .line 659
StackMap locals:
StackMap stack:
iconst_0
istore 10 /* j */
goto 58
55: .line 660
StackMap locals:
StackMap stack:
aload 5 /* Ke */
iload 11 /* t */
iconst_4
idiv
aaload
iload 11 /* t */
iconst_4
irem
aload 8 /* tk */
iload 10 /* j */
iaload
iastore
56: .line 661
aload 6 /* Kd */
iload 2 /* ROUNDS */
iload 11 /* t */
iconst_4
idiv
isub
aaload
iload 11 /* t */
iconst_4
irem
aload 8 /* tk */
iload 10 /* j */
iaload
iastore
57: .line 659
iinc 10 /* j */ 1
iinc 11 /* t */ 1
StackMap locals:
StackMap stack:
58: iload 10 /* j */
iload 7 /* KC */
if_icmpge 59
iload 11 /* t */
iload 3 /* ROUND_KEY_COUNT */
if_icmplt 55
end local 12 // int tt
59: .line 639
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int int int int[][] int[][] int int[] int int int top int
StackMap stack:
iload 11 /* t */
iload 3 /* ROUND_KEY_COUNT */
if_icmplt 31
60: .line 664
iconst_1
istore 14 /* r */
start local 14 // int r
61: goto 72
62: .line 666
StackMap locals: int
StackMap stack:
iconst_0
istore 10 /* j */
goto 70
63: .line 667
StackMap locals:
StackMap stack:
aload 6 /* Kd */
iload 14 /* r */
aaload
iload 10 /* j */
iaload
istore 12 /* tt */
start local 12 // int tt
64: .line 668
aload 6 /* Kd */
iload 14 /* r */
aaload
iload 10 /* j */
getstatic com.sun.crypto.provider.AESCrypt.U1:[I
iload 12 /* tt */
bipush 24
iushr
sipush 255
iand
iaload
65: .line 669
getstatic com.sun.crypto.provider.AESCrypt.U2:[I
iload 12 /* tt */
bipush 16
iushr
sipush 255
iand
iaload
ixor
66: .line 670
getstatic com.sun.crypto.provider.AESCrypt.U3:[I
iload 12 /* tt */
bipush 8
iushr
sipush 255
iand
iaload
ixor
67: .line 671
getstatic com.sun.crypto.provider.AESCrypt.U4:[I
iload 12 /* tt */
sipush 255
iand
iaload
ixor
68: .line 668
iastore
69: .line 666
iinc 10 /* j */ 1
end local 12 // int tt
StackMap locals:
StackMap stack:
70: iload 10 /* j */
iload 4 /* BC */
if_icmplt 63
71: .line 664
iinc 14 /* r */ 1
StackMap locals:
StackMap stack:
72: iload 14 /* r */
iload 2 /* ROUNDS */
if_icmplt 62
end local 14 // int r
73: .line 677
aload 5 /* Ke */
iconst_0
invokestatic com.sun.crypto.provider.AESCrypt.expandToSubKey:([[IZ)[I
astore 14 /* expandedKe */
start local 14 // int[] expandedKe
74: .line 678
aload 6 /* Kd */
iconst_1
invokestatic com.sun.crypto.provider.AESCrypt.expandToSubKey:([[IZ)[I
astore 15 /* expandedKd */
start local 15 // int[] expandedKd
75: .line 679
aload 8 /* tk */
iconst_0
invokestatic java.util.Arrays.fill:([II)V
76: .line 680
aload 5 /* Ke */
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 80
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int int int int[][] int[][] int int[] int int int top int int[] int[] top int int int[][]
StackMap stack:
77: aload 19
iload 17
aaload
astore 16 /* ia */
start local 16 // int[] ia
78: .line 681
aload 16 /* ia */
iconst_0
invokestatic java.util.Arrays.fill:([II)V
end local 16 // int[] ia
79: .line 680
iinc 17 1
StackMap locals:
StackMap stack:
80: iload 17
iload 18
if_icmplt 77
81: .line 683
aload 6 /* Kd */
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 85
StackMap locals:
StackMap stack:
82: aload 19
iload 17
aaload
astore 16 /* ia */
start local 16 // int[] ia
83: .line 684
aload 16 /* ia */
iconst_0
invokestatic java.util.Arrays.fill:([II)V
end local 16 // int[] ia
84: .line 683
iinc 17 1
StackMap locals:
StackMap stack:
85: iload 17
iload 18
if_icmplt 82
86: .line 686
aload 0 /* this */
iload 2 /* ROUNDS */
bipush 12
if_icmplt 87
iconst_1
goto 88
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int int int int[][] int[][] int int[] int int int top int int[] int[]
StackMap stack: com.sun.crypto.provider.AESCrypt
87: iconst_0
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int int int int[][] int[][] int int[] int int int top int int[] int[]
StackMap stack: com.sun.crypto.provider.AESCrypt int
88: putfield com.sun.crypto.provider.AESCrypt.ROUNDS_12:Z
89: .line 687
aload 0 /* this */
iload 2 /* ROUNDS */
bipush 14
if_icmpne 90
iconst_1
goto 91
StackMap locals:
StackMap stack: com.sun.crypto.provider.AESCrypt
90: iconst_0
StackMap locals: com.sun.crypto.provider.AESCrypt byte[] int int int int[][] int[][] int int[] int int int top int int[] int[]
StackMap stack: com.sun.crypto.provider.AESCrypt int
91: putfield com.sun.crypto.provider.AESCrypt.ROUNDS_14:Z
92: .line 688
aload 0 /* this */
iload 2 /* ROUNDS */
iconst_4
imul
putfield com.sun.crypto.provider.AESCrypt.limit:I
93: .line 691
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.sessionK:[[I
ifnull 96
94: .line 693
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.sessionK:[[I
iconst_0
aaload
iconst_0
invokestatic java.util.Arrays.fill:([II)V
95: .line 694
aload 0 /* this */
getfield com.sun.crypto.provider.AESCrypt.sessionK:[[I
iconst_1
aaload
iconst_0
invokestatic java.util.Arrays.fill:([II)V
96: .line 696
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_2
anewarray int[]
dup
iconst_0
aload 14 /* expandedKe */
aastore
dup
iconst_1
aload 15 /* expandedKd */
aastore
putfield com.sun.crypto.provider.AESCrypt.sessionK:[[I
97: .line 697
return
end local 15 // int[] expandedKd
end local 14 // int[] expandedKe
end local 13 // int rconpointer
end local 11 // int t
end local 10 // int j
end local 9 // int i
end local 8 // int[] tk
end local 7 // int KC
end local 6 // int[][] Kd
end local 5 // int[][] Ke
end local 4 // int BC
end local 3 // int ROUND_KEY_COUNT
end local 2 // int ROUNDS
end local 1 // byte[] k
end local 0 // com.sun.crypto.provider.AESCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 98 0 this Lcom/sun/crypto/provider/AESCrypt;
0 98 1 k [B
7 98 2 ROUNDS I
8 98 3 ROUND_KEY_COUNT I
9 98 4 BC I
10 98 5 Ke [[I
11 98 6 Kd [[I
12 98 7 KC I
13 98 8 tk [I
14 98 9 i I
15 98 10 j I
24 98 11 t I
32 59 12 tt I
64 70 12 tt I
30 98 13 rconpointer I
61 73 14 r I
74 98 14 expandedKe [I
75 98 15 expandedKd [I
78 79 16 ia [I
83 84 16 ia [I
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
k
private static int getRounds(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // int keySize
0: .line 708
iload 0 /* keySize */
iconst_2
ishr
bipush 6
iadd
ireturn
end local 0 // int keySize
LocalVariableTable:
Start End Slot Name Signature
0 1 0 keySize I
MethodParameters:
Name Flags
keySize
}
SourceFile: "AESCrypt.java"