6 .long 218628480,235210255,168496130,67568393
7 .long 252381056,17041926,33884169,51187212
8 .long 252645135,252645135,252645135,252645135
9 .long 1512730624,3266504856,1377990664,3401244816
10 .long 830229760,1275146365,2969422977,3447763452
11 .long 3411033600,2979783055,338359620,2782886510
12 .long 4209124096,907596821,221174255,1006095553
13 .long 191964160,3799684038,3164090317,1589111125
14 .long 182528256,1777043520,2877432650,3265356744
15 .long 1874708224,3503451415,3305285752,363511674
16 .long 1606117888,3487855781,1093350906,2384367825
17 .long 197121,67569157,134941193,202313229
18 .long 67569157,134941193,202313229,197121
19 .long 134941193,202313229,197121,67569157
20 .long 202313229,197121,67569157,134941193
21 .long 33619971,100992007,168364043,235736079
22 .long 235736079,33619971,100992007,168364043
23 .long 168364043,235736079,33619971,100992007
24 .long 100992007,168364043,235736079,33619971
25 .long 50462976,117835012,185207048,252579084
26 .long 252314880,51251460,117574920,184942860
27 .long 184682752,252054788,50987272,118359308
28 .long 118099200,185467140,251790600,50727180
29 .long 2946363062,528716217,1300004225,1881839624
30 .long 1532713819,1532713819,1532713819,1532713819
31 .long 3602276352,4288629033,3737020424,4153884961
32 .long 1354558464,32357713,2958822624,3775749553
33 .long 1201988352,132424512,1572796698,503232858
34 .long 2213177600,1597421020,4103937655,675398315
35 .long 2749646592,4273543773,1511898873,121693092
36 .long 3040248576,1103263732,2871565598,1608280554
37 .long 2236667136,2588920351,482954393,64377734
38 .long 3069987328,291237287,2117370568,3650299247
39 .long 533321216,3573750986,2572112006,1401264716
40 .long 1339849704,2721158661,548607111,3445553514
41 .long 2128193280,3054596040,2183486460,1257083700
42 .long 655635200,1165381986,3923443150,2344132524
43 .long 190078720,256924420,290342170,357187870
44 .long 1610966272,2263057382,4103205268,309794674
45 .long 2592527872,2233205587,1335446729,3402964816
46 .long 3973531904,3225098121,3002836325,1918774430
47 .long 3870401024,2102906079,2284471353,4117666579
48 .long 617007872,1021508343,366931923,691083277
49 .long 2528395776,3491914898,2968704004,1613121270
50 .long 3445188352,3247741094,844474987,4093578302
51 .long 651481088,1190302358,1689581232,574775300
52 .long 4289380608,206939853,2555985458,2489840491
53 .long 2130264064,327674451,3566485037,3349835193
54 .long 2470714624,316102159,3636825756,3393945945
55 .byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105
56 .byte 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83
57 .byte 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117
58 .byte 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105
59 .byte 118,101,114,115,105,116,121,41,0
61 .type _vpaes_preheat,@function
65 movdqa -48(%ebp),%xmm7
66 movdqa -16(%ebp),%xmm6
68 .size _vpaes_preheat,.-_vpaes_preheat
69 .type _vpaes_encrypt_core,@function
98 movdqa -64(%ebx,%ecx,1),%xmm1
100 .byte 102,15,56,0,211
102 movdqa (%ebx,%ecx,1),%xmm4
104 .byte 102,15,56,0,193
107 .byte 102,15,56,0,220
110 .byte 102,15,56,0,193
119 movdqa -32(%ebp),%xmm5
120 .byte 102,15,56,0,232
123 .byte 102,15,56,0,217
126 .byte 102,15,56,0,224
129 .byte 102,15,56,0,211
133 .byte 102,15,56,0,220
136 movdqa 96(%ebp),%xmm4
137 movdqa 112(%ebp),%xmm0
138 .byte 102,15,56,0,226
140 .byte 102,15,56,0,195
141 movdqa 64(%ebx,%ecx,1),%xmm1
143 .byte 102,15,56,0,193
145 .size _vpaes_encrypt_core,.-_vpaes_encrypt_core
146 .type _vpaes_decrypt_core,@function
152 movdqa -64(%ebx),%xmm2
159 .byte 102,15,56,0,208
160 movdqa -48(%ebx),%xmm0
162 .byte 102,15,56,0,193
165 movdqa 176(%ebp),%xmm5
168 leal -352(%ebx,%ecx,1),%ecx
172 movdqa -32(%ebx),%xmm4
173 .byte 102,15,56,0,226
175 movdqa -16(%ebx),%xmm0
176 .byte 102,15,56,0,195
179 .byte 102,15,56,0,197
181 .byte 102,15,56,0,226
183 movdqa 16(%ebx),%xmm0
184 .byte 102,15,56,0,195
187 .byte 102,15,56,0,197
188 movdqa 32(%ebx),%xmm4
189 .byte 102,15,56,0,226
191 movdqa 48(%ebx),%xmm0
192 .byte 102,15,56,0,195
194 .byte 102,15,56,0,197
195 movdqa 64(%ebx),%xmm4
196 .byte 102,15,56,0,226
198 movdqa 80(%ebx),%xmm0
199 .byte 102,15,56,0,195
201 .byte 102,15,58,15,237,12
207 movdqa -32(%ebp),%xmm2
208 .byte 102,15,56,0,208
211 .byte 102,15,56,0,217
214 .byte 102,15,56,0,224
217 .byte 102,15,56,0,211
220 .byte 102,15,56,0,220
224 movdqa 96(%ebx),%xmm4
225 .byte 102,15,56,0,226
227 movdqa 112(%ebx),%xmm0
229 .byte 102,15,56,0,195
231 .byte 102,15,56,0,194
233 .size _vpaes_decrypt_core,.-_vpaes_decrypt_core
234 .type _vpaes_schedule_core,@function
236 _vpaes_schedule_core:
239 movdqa 320(%ebp),%xmm2
243 call _vpaes_schedule_transform
246 jnz .L004schedule_am_decrypting
249 .L004schedule_am_decrypting:
250 movdqa 256(%ebp,%ecx,1),%xmm1
251 .byte 102,15,56,0,217
260 .L009loop_schedule_128:
261 call _vpaes_schedule_round
263 jz .L010schedule_mangle_last
264 call _vpaes_schedule_mangle
265 jmp .L009loop_schedule_128
269 call _vpaes_schedule_transform
274 .L011loop_schedule_192:
275 call _vpaes_schedule_round
276 .byte 102,15,58,15,198,8
277 call _vpaes_schedule_mangle
278 call _vpaes_schedule_192_smear
279 call _vpaes_schedule_mangle
280 call _vpaes_schedule_round
282 jz .L010schedule_mangle_last
283 call _vpaes_schedule_mangle
284 call _vpaes_schedule_192_smear
285 jmp .L011loop_schedule_192
288 movdqu 16(%esi),%xmm0
289 call _vpaes_schedule_transform
291 .L012loop_schedule_256:
292 call _vpaes_schedule_mangle
294 call _vpaes_schedule_round
296 jz .L010schedule_mangle_last
297 call _vpaes_schedule_mangle
298 pshufd $255,%xmm0,%xmm0
299 movdqa %xmm7,20(%esp)
301 call .L_vpaes_schedule_low_round
302 movdqa 20(%esp),%xmm7
303 jmp .L012loop_schedule_256
305 .L010schedule_mangle_last:
308 jnz .L013schedule_mangle_last_dec
309 movdqa 256(%ebp,%ecx,1),%xmm1
310 .byte 102,15,56,0,193
313 .L013schedule_mangle_last_dec:
316 call _vpaes_schedule_transform
327 .size _vpaes_schedule_core,.-_vpaes_schedule_core
328 .type _vpaes_schedule_192_smear,@function
330 _vpaes_schedule_192_smear:
331 pshufd $128,%xmm6,%xmm0
333 pshufd $254,%xmm7,%xmm0
339 .size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear
340 .type _vpaes_schedule_round,@function
342 _vpaes_schedule_round:
345 .byte 102,15,58,15,202,15
346 .byte 102,15,58,15,210,15
348 pshufd $255,%xmm0,%xmm0
349 .byte 102,15,58,15,192,1
351 .L_vpaes_schedule_low_round:
359 movdqa -16(%ebp),%xmm4
360 movdqa -48(%ebp),%xmm5
365 movdqa -32(%ebp),%xmm2
366 .byte 102,15,56,0,208
369 .byte 102,15,56,0,217
372 .byte 102,15,56,0,224
375 .byte 102,15,56,0,211
378 .byte 102,15,56,0,220
380 movdqa 32(%ebp),%xmm4
381 .byte 102,15,56,0,226
382 movdqa 48(%ebp),%xmm0
383 .byte 102,15,56,0,195
388 .size _vpaes_schedule_round,.-_vpaes_schedule_round
389 .type _vpaes_schedule_transform,@function
391 _vpaes_schedule_transform:
392 movdqa -16(%ebp),%xmm2
398 .byte 102,15,56,0,208
399 movdqa 16(%ebx),%xmm0
400 .byte 102,15,56,0,193
403 .size _vpaes_schedule_transform,.-_vpaes_schedule_transform
404 .type _vpaes_schedule_mangle,@function
406 _vpaes_schedule_mangle:
408 movdqa 128(%ebp),%xmm5
410 jnz .L014schedule_mangle_dec
413 .byte 102,15,56,0,229
415 .byte 102,15,56,0,229
417 .byte 102,15,56,0,229
419 jmp .L015schedule_mangle_both
421 .L014schedule_mangle_dec:
422 movdqa -16(%ebp),%xmm2
429 .byte 102,15,56,0,212
430 movdqa 16(%esi),%xmm3
431 .byte 102,15,56,0,217
433 .byte 102,15,56,0,221
434 movdqa 32(%esi),%xmm2
435 .byte 102,15,56,0,212
437 movdqa 48(%esi),%xmm3
438 .byte 102,15,56,0,217
440 .byte 102,15,56,0,221
441 movdqa 64(%esi),%xmm2
442 .byte 102,15,56,0,212
444 movdqa 80(%esi),%xmm3
445 .byte 102,15,56,0,217
447 .byte 102,15,56,0,221
448 movdqa 96(%esi),%xmm2
449 .byte 102,15,56,0,212
451 movdqa 112(%esi),%xmm3
452 .byte 102,15,56,0,217
455 .L015schedule_mangle_both:
456 movdqa 256(%ebp,%ecx,1),%xmm1
457 .byte 102,15,56,0,217
462 .size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle
463 .globl vpaes_set_encrypt_key
464 .type vpaes_set_encrypt_key,@function
466 vpaes_set_encrypt_key:
467 .L_vpaes_set_encrypt_key_begin:
485 leal .L_vpaes_consts+0x30-.L016pic_point,%ebp
486 call _vpaes_schedule_core
495 .size vpaes_set_encrypt_key,.-.L_vpaes_set_encrypt_key_begin
496 .globl vpaes_set_decrypt_key
497 .type vpaes_set_decrypt_key,@function
499 vpaes_set_decrypt_key:
500 .L_vpaes_set_decrypt_key_begin:
517 leal 16(%edx,%ebx,1),%edx
523 leal .L_vpaes_consts+0x30-.L017pic_point,%ebp
524 call _vpaes_schedule_core
533 .size vpaes_set_decrypt_key,.-.L_vpaes_set_decrypt_key_begin
535 .type vpaes_encrypt,@function
538 .L_vpaes_encrypt_begin:
543 leal .L_vpaes_consts+0x30-.L018pic_point,%ebp
554 call _vpaes_encrypt_core
562 .size vpaes_encrypt,.-.L_vpaes_encrypt_begin
564 .type vpaes_decrypt,@function
567 .L_vpaes_decrypt_begin:
572 leal .L_vpaes_consts+0x30-.L019pic_point,%ebp
583 call _vpaes_decrypt_core
591 .size vpaes_decrypt,.-.L_vpaes_decrypt_begin
592 .globl vpaes_cbc_encrypt
593 .type vpaes_cbc_encrypt,@function
596 .L_vpaes_cbc_encrypt_begin:
619 leal .L_vpaes_consts+0x30-.L021pic_point,%ebp
624 jmp .L023cbc_enc_loop
629 call _vpaes_encrypt_core
633 movdqu %xmm0,(%ebx,%esi,1)
636 jnc .L023cbc_enc_loop
641 movdqa %xmm1,16(%esp)
642 movdqa %xmm0,32(%esp)
643 call _vpaes_decrypt_core
647 movdqa 32(%esp),%xmm1
648 movdqu %xmm0,(%ebx,%esi,1)
651 jnc .L022cbc_dec_loop
662 .size vpaes_cbc_encrypt,.-.L_vpaes_cbc_encrypt_begin