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