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