OLD | NEW |
1 %ifidn __OUTPUT_FORMAT__,obj | 1 %ifidn __OUTPUT_FORMAT__,obj |
2 section code use32 class=code align=64 | 2 section code use32 class=code align=64 |
3 %elifidn __OUTPUT_FORMAT__,win32 | 3 %elifidn __OUTPUT_FORMAT__,win32 |
4 %ifdef __YASM_VERSION_ID__ | 4 %ifdef __YASM_VERSION_ID__ |
5 %if __YASM_VERSION_ID__ < 01010000h | 5 %if __YASM_VERSION_ID__ < 01010000h |
6 %error yasm version 1.1.0 or later needed. | 6 %error yasm version 1.1.0 or later needed. |
7 %endif | 7 %endif |
8 ; Yasm automatically includes .00 and complains about redefining it. | 8 ; Yasm automatically includes .00 and complains about redefining it. |
9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html | 9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html |
10 %else | 10 %else |
11 $@feat.00 equ 1 | 11 $@feat.00 equ 1 |
12 %endif | 12 %endif |
13 section .text code align=64 | 13 section .text code align=64 |
14 %else | 14 %else |
15 section .text code | 15 section .text code |
16 %endif | 16 %endif |
17 ;extern _OPENSSL_ia32cap_P | |
18 global _aesni_encrypt | 17 global _aesni_encrypt |
19 align 16 | 18 align 16 |
20 _aesni_encrypt: | 19 _aesni_encrypt: |
21 L$_aesni_encrypt_begin: | 20 L$_aesni_encrypt_begin: |
22 mov eax,DWORD [4+esp] | 21 mov eax,DWORD [4+esp] |
23 mov edx,DWORD [12+esp] | 22 mov edx,DWORD [12+esp] |
24 movups xmm2,[eax] | 23 movups xmm2,[eax] |
25 mov ecx,DWORD [240+edx] | 24 mov ecx,DWORD [240+edx] |
26 mov eax,DWORD [8+esp] | 25 mov eax,DWORD [8+esp] |
27 movups xmm0,[edx] | 26 movups xmm0,[edx] |
28 movups xmm1,[16+edx] | 27 movups xmm1,[16+edx] |
29 lea edx,[32+edx] | 28 lea edx,[32+edx] |
30 xorps xmm2,xmm0 | 29 xorps xmm2,xmm0 |
31 L$000enc1_loop_1: | 30 L$000enc1_loop_1: |
32 db 102,15,56,220,209 | 31 db 102,15,56,220,209 |
33 dec ecx | 32 dec ecx |
34 movups xmm1,[edx] | 33 movups xmm1,[edx] |
35 lea edx,[16+edx] | 34 lea edx,[16+edx] |
36 jnz NEAR L$000enc1_loop_1 | 35 jnz NEAR L$000enc1_loop_1 |
37 db 102,15,56,221,209 | 36 db 102,15,56,221,209 |
38 pxor xmm0,xmm0 | |
39 pxor xmm1,xmm1 | |
40 movups [eax],xmm2 | 37 movups [eax],xmm2 |
41 pxor xmm2,xmm2 | |
42 ret | 38 ret |
43 global _aesni_decrypt | 39 global _aesni_decrypt |
44 align 16 | 40 align 16 |
45 _aesni_decrypt: | 41 _aesni_decrypt: |
46 L$_aesni_decrypt_begin: | 42 L$_aesni_decrypt_begin: |
47 mov eax,DWORD [4+esp] | 43 mov eax,DWORD [4+esp] |
48 mov edx,DWORD [12+esp] | 44 mov edx,DWORD [12+esp] |
49 movups xmm2,[eax] | 45 movups xmm2,[eax] |
50 mov ecx,DWORD [240+edx] | 46 mov ecx,DWORD [240+edx] |
51 mov eax,DWORD [8+esp] | 47 mov eax,DWORD [8+esp] |
52 movups xmm0,[edx] | 48 movups xmm0,[edx] |
53 movups xmm1,[16+edx] | 49 movups xmm1,[16+edx] |
54 lea edx,[32+edx] | 50 lea edx,[32+edx] |
55 xorps xmm2,xmm0 | 51 xorps xmm2,xmm0 |
56 L$001dec1_loop_2: | 52 L$001dec1_loop_2: |
57 db 102,15,56,222,209 | 53 db 102,15,56,222,209 |
58 dec ecx | 54 dec ecx |
59 movups xmm1,[edx] | 55 movups xmm1,[edx] |
60 lea edx,[16+edx] | 56 lea edx,[16+edx] |
61 jnz NEAR L$001dec1_loop_2 | 57 jnz NEAR L$001dec1_loop_2 |
62 db 102,15,56,223,209 | 58 db 102,15,56,223,209 |
63 pxor xmm0,xmm0 | |
64 pxor xmm1,xmm1 | |
65 movups [eax],xmm2 | 59 movups [eax],xmm2 |
66 pxor xmm2,xmm2 | |
67 ret | 60 ret |
68 align 16 | 61 align 16 |
69 __aesni_encrypt2: | 62 __aesni_encrypt2: |
70 movups xmm0,[edx] | 63 movups xmm0,[edx] |
71 shl ecx,4 | 64 shl ecx,4 |
72 movups xmm1,[16+edx] | 65 movups xmm1,[16+edx] |
73 xorps xmm2,xmm0 | 66 xorps xmm2,xmm0 |
74 pxor xmm3,xmm0 | 67 pxor xmm3,xmm0 |
75 movups xmm0,[32+edx] | 68 movups xmm0,[32+edx] |
76 lea edx,[32+ecx*1+edx] | 69 lea edx,[32+ecx*1+edx] |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 pxor xmm3,xmm0 | 249 pxor xmm3,xmm0 |
257 pxor xmm4,xmm0 | 250 pxor xmm4,xmm0 |
258 db 102,15,56,220,209 | 251 db 102,15,56,220,209 |
259 pxor xmm5,xmm0 | 252 pxor xmm5,xmm0 |
260 pxor xmm6,xmm0 | 253 pxor xmm6,xmm0 |
261 db 102,15,56,220,217 | 254 db 102,15,56,220,217 |
262 lea edx,[32+ecx*1+edx] | 255 lea edx,[32+ecx*1+edx] |
263 neg ecx | 256 neg ecx |
264 db 102,15,56,220,225 | 257 db 102,15,56,220,225 |
265 pxor xmm7,xmm0 | 258 pxor xmm7,xmm0 |
266 movups xmm0,[ecx*1+edx] | |
267 add ecx,16 | 259 add ecx,16 |
268 » jmp» NEAR L$008_aesni_encrypt6_inner | 260 db» 102,15,56,220,233 |
| 261 db» 102,15,56,220,241 |
| 262 db» 102,15,56,220,249 |
| 263 » movups» xmm0,[ecx*1+edx-16] |
| 264 » jmp» NEAR L$_aesni_encrypt6_enter |
269 align 16 | 265 align 16 |
270 L$009enc6_loop: | 266 L$008enc6_loop: |
271 db 102,15,56,220,209 | 267 db 102,15,56,220,209 |
272 db 102,15,56,220,217 | 268 db 102,15,56,220,217 |
273 db 102,15,56,220,225 | 269 db 102,15,56,220,225 |
274 L$008_aesni_encrypt6_inner: | |
275 db 102,15,56,220,233 | 270 db 102,15,56,220,233 |
276 db 102,15,56,220,241 | 271 db 102,15,56,220,241 |
277 db 102,15,56,220,249 | 272 db 102,15,56,220,249 |
278 L$_aesni_encrypt6_enter: | 273 L$_aesni_encrypt6_enter: |
279 movups xmm1,[ecx*1+edx] | 274 movups xmm1,[ecx*1+edx] |
280 add ecx,32 | 275 add ecx,32 |
281 db 102,15,56,220,208 | 276 db 102,15,56,220,208 |
282 db 102,15,56,220,216 | 277 db 102,15,56,220,216 |
283 db 102,15,56,220,224 | 278 db 102,15,56,220,224 |
284 db 102,15,56,220,232 | 279 db 102,15,56,220,232 |
285 db 102,15,56,220,240 | 280 db 102,15,56,220,240 |
286 db 102,15,56,220,248 | 281 db 102,15,56,220,248 |
287 movups xmm0,[ecx*1+edx-16] | 282 movups xmm0,[ecx*1+edx-16] |
288 » jnz» NEAR L$009enc6_loop | 283 » jnz» NEAR L$008enc6_loop |
289 db 102,15,56,220,209 | 284 db 102,15,56,220,209 |
290 db 102,15,56,220,217 | 285 db 102,15,56,220,217 |
291 db 102,15,56,220,225 | 286 db 102,15,56,220,225 |
292 db 102,15,56,220,233 | 287 db 102,15,56,220,233 |
293 db 102,15,56,220,241 | 288 db 102,15,56,220,241 |
294 db 102,15,56,220,249 | 289 db 102,15,56,220,249 |
295 db 102,15,56,221,208 | 290 db 102,15,56,221,208 |
296 db 102,15,56,221,216 | 291 db 102,15,56,221,216 |
297 db 102,15,56,221,224 | 292 db 102,15,56,221,224 |
298 db 102,15,56,221,232 | 293 db 102,15,56,221,232 |
299 db 102,15,56,221,240 | 294 db 102,15,56,221,240 |
300 db 102,15,56,221,248 | 295 db 102,15,56,221,248 |
301 ret | 296 ret |
302 align 16 | 297 align 16 |
303 __aesni_decrypt6: | 298 __aesni_decrypt6: |
304 movups xmm0,[edx] | 299 movups xmm0,[edx] |
305 shl ecx,4 | 300 shl ecx,4 |
306 movups xmm1,[16+edx] | 301 movups xmm1,[16+edx] |
307 xorps xmm2,xmm0 | 302 xorps xmm2,xmm0 |
308 pxor xmm3,xmm0 | 303 pxor xmm3,xmm0 |
309 pxor xmm4,xmm0 | 304 pxor xmm4,xmm0 |
310 db 102,15,56,222,209 | 305 db 102,15,56,222,209 |
311 pxor xmm5,xmm0 | 306 pxor xmm5,xmm0 |
312 pxor xmm6,xmm0 | 307 pxor xmm6,xmm0 |
313 db 102,15,56,222,217 | 308 db 102,15,56,222,217 |
314 lea edx,[32+ecx*1+edx] | 309 lea edx,[32+ecx*1+edx] |
315 neg ecx | 310 neg ecx |
316 db 102,15,56,222,225 | 311 db 102,15,56,222,225 |
317 pxor xmm7,xmm0 | 312 pxor xmm7,xmm0 |
318 movups xmm0,[ecx*1+edx] | |
319 add ecx,16 | 313 add ecx,16 |
320 » jmp» NEAR L$010_aesni_decrypt6_inner | 314 db» 102,15,56,222,233 |
| 315 db» 102,15,56,222,241 |
| 316 db» 102,15,56,222,249 |
| 317 » movups» xmm0,[ecx*1+edx-16] |
| 318 » jmp» NEAR L$_aesni_decrypt6_enter |
321 align 16 | 319 align 16 |
322 L$011dec6_loop: | 320 L$009dec6_loop: |
323 db 102,15,56,222,209 | 321 db 102,15,56,222,209 |
324 db 102,15,56,222,217 | 322 db 102,15,56,222,217 |
325 db 102,15,56,222,225 | 323 db 102,15,56,222,225 |
326 L$010_aesni_decrypt6_inner: | |
327 db 102,15,56,222,233 | 324 db 102,15,56,222,233 |
328 db 102,15,56,222,241 | 325 db 102,15,56,222,241 |
329 db 102,15,56,222,249 | 326 db 102,15,56,222,249 |
330 L$_aesni_decrypt6_enter: | 327 L$_aesni_decrypt6_enter: |
331 movups xmm1,[ecx*1+edx] | 328 movups xmm1,[ecx*1+edx] |
332 add ecx,32 | 329 add ecx,32 |
333 db 102,15,56,222,208 | 330 db 102,15,56,222,208 |
334 db 102,15,56,222,216 | 331 db 102,15,56,222,216 |
335 db 102,15,56,222,224 | 332 db 102,15,56,222,224 |
336 db 102,15,56,222,232 | 333 db 102,15,56,222,232 |
337 db 102,15,56,222,240 | 334 db 102,15,56,222,240 |
338 db 102,15,56,222,248 | 335 db 102,15,56,222,248 |
339 movups xmm0,[ecx*1+edx-16] | 336 movups xmm0,[ecx*1+edx-16] |
340 » jnz» NEAR L$011dec6_loop | 337 » jnz» NEAR L$009dec6_loop |
341 db 102,15,56,222,209 | 338 db 102,15,56,222,209 |
342 db 102,15,56,222,217 | 339 db 102,15,56,222,217 |
343 db 102,15,56,222,225 | 340 db 102,15,56,222,225 |
344 db 102,15,56,222,233 | 341 db 102,15,56,222,233 |
345 db 102,15,56,222,241 | 342 db 102,15,56,222,241 |
346 db 102,15,56,222,249 | 343 db 102,15,56,222,249 |
347 db 102,15,56,223,208 | 344 db 102,15,56,223,208 |
348 db 102,15,56,223,216 | 345 db 102,15,56,223,216 |
349 db 102,15,56,223,224 | 346 db 102,15,56,223,224 |
350 db 102,15,56,223,232 | 347 db 102,15,56,223,232 |
351 db 102,15,56,223,240 | 348 db 102,15,56,223,240 |
352 db 102,15,56,223,248 | 349 db 102,15,56,223,248 |
353 ret | 350 ret |
354 global _aesni_ecb_encrypt | 351 global _aesni_ecb_encrypt |
355 align 16 | 352 align 16 |
356 _aesni_ecb_encrypt: | 353 _aesni_ecb_encrypt: |
357 L$_aesni_ecb_encrypt_begin: | 354 L$_aesni_ecb_encrypt_begin: |
358 push ebp | 355 push ebp |
359 push ebx | 356 push ebx |
360 push esi | 357 push esi |
361 push edi | 358 push edi |
362 mov esi,DWORD [20+esp] | 359 mov esi,DWORD [20+esp] |
363 mov edi,DWORD [24+esp] | 360 mov edi,DWORD [24+esp] |
364 mov eax,DWORD [28+esp] | 361 mov eax,DWORD [28+esp] |
365 mov edx,DWORD [32+esp] | 362 mov edx,DWORD [32+esp] |
366 mov ebx,DWORD [36+esp] | 363 mov ebx,DWORD [36+esp] |
367 and eax,-16 | 364 and eax,-16 |
368 » jz» NEAR L$012ecb_ret | 365 » jz» NEAR L$010ecb_ret |
369 mov ecx,DWORD [240+edx] | 366 mov ecx,DWORD [240+edx] |
370 test ebx,ebx | 367 test ebx,ebx |
371 » jz» NEAR L$013ecb_decrypt | 368 » jz» NEAR L$011ecb_decrypt |
372 mov ebp,edx | 369 mov ebp,edx |
373 mov ebx,ecx | 370 mov ebx,ecx |
374 cmp eax,96 | 371 cmp eax,96 |
375 » jb» NEAR L$014ecb_enc_tail | 372 » jb» NEAR L$012ecb_enc_tail |
376 movdqu xmm2,[esi] | 373 movdqu xmm2,[esi] |
377 movdqu xmm3,[16+esi] | 374 movdqu xmm3,[16+esi] |
378 movdqu xmm4,[32+esi] | 375 movdqu xmm4,[32+esi] |
379 movdqu xmm5,[48+esi] | 376 movdqu xmm5,[48+esi] |
380 movdqu xmm6,[64+esi] | 377 movdqu xmm6,[64+esi] |
381 movdqu xmm7,[80+esi] | 378 movdqu xmm7,[80+esi] |
382 lea esi,[96+esi] | 379 lea esi,[96+esi] |
383 sub eax,96 | 380 sub eax,96 |
384 » jmp» NEAR L$015ecb_enc_loop6_enter | 381 » jmp» NEAR L$013ecb_enc_loop6_enter |
385 align 16 | 382 align 16 |
386 L$016ecb_enc_loop6: | 383 L$014ecb_enc_loop6: |
387 movups [edi],xmm2 | 384 movups [edi],xmm2 |
388 movdqu xmm2,[esi] | 385 movdqu xmm2,[esi] |
389 movups [16+edi],xmm3 | 386 movups [16+edi],xmm3 |
390 movdqu xmm3,[16+esi] | 387 movdqu xmm3,[16+esi] |
391 movups [32+edi],xmm4 | 388 movups [32+edi],xmm4 |
392 movdqu xmm4,[32+esi] | 389 movdqu xmm4,[32+esi] |
393 movups [48+edi],xmm5 | 390 movups [48+edi],xmm5 |
394 movdqu xmm5,[48+esi] | 391 movdqu xmm5,[48+esi] |
395 movups [64+edi],xmm6 | 392 movups [64+edi],xmm6 |
396 movdqu xmm6,[64+esi] | 393 movdqu xmm6,[64+esi] |
397 movups [80+edi],xmm7 | 394 movups [80+edi],xmm7 |
398 lea edi,[96+edi] | 395 lea edi,[96+edi] |
399 movdqu xmm7,[80+esi] | 396 movdqu xmm7,[80+esi] |
400 lea esi,[96+esi] | 397 lea esi,[96+esi] |
401 L$015ecb_enc_loop6_enter: | 398 L$013ecb_enc_loop6_enter: |
402 call __aesni_encrypt6 | 399 call __aesni_encrypt6 |
403 mov edx,ebp | 400 mov edx,ebp |
404 mov ecx,ebx | 401 mov ecx,ebx |
405 sub eax,96 | 402 sub eax,96 |
406 » jnc» NEAR L$016ecb_enc_loop6 | 403 » jnc» NEAR L$014ecb_enc_loop6 |
407 movups [edi],xmm2 | 404 movups [edi],xmm2 |
408 movups [16+edi],xmm3 | 405 movups [16+edi],xmm3 |
409 movups [32+edi],xmm4 | 406 movups [32+edi],xmm4 |
410 movups [48+edi],xmm5 | 407 movups [48+edi],xmm5 |
411 movups [64+edi],xmm6 | 408 movups [64+edi],xmm6 |
412 movups [80+edi],xmm7 | 409 movups [80+edi],xmm7 |
413 lea edi,[96+edi] | 410 lea edi,[96+edi] |
414 add eax,96 | 411 add eax,96 |
415 » jz» NEAR L$012ecb_ret | 412 » jz» NEAR L$010ecb_ret |
416 L$014ecb_enc_tail: | 413 L$012ecb_enc_tail: |
417 movups xmm2,[esi] | 414 movups xmm2,[esi] |
418 cmp eax,32 | 415 cmp eax,32 |
419 » jb» NEAR L$017ecb_enc_one | 416 » jb» NEAR L$015ecb_enc_one |
420 movups xmm3,[16+esi] | 417 movups xmm3,[16+esi] |
421 » je» NEAR L$018ecb_enc_two | 418 » je» NEAR L$016ecb_enc_two |
422 movups xmm4,[32+esi] | 419 movups xmm4,[32+esi] |
423 cmp eax,64 | 420 cmp eax,64 |
424 » jb» NEAR L$019ecb_enc_three | 421 » jb» NEAR L$017ecb_enc_three |
425 movups xmm5,[48+esi] | 422 movups xmm5,[48+esi] |
426 » je» NEAR L$020ecb_enc_four | 423 » je» NEAR L$018ecb_enc_four |
427 movups xmm6,[64+esi] | 424 movups xmm6,[64+esi] |
428 xorps xmm7,xmm7 | 425 xorps xmm7,xmm7 |
429 call __aesni_encrypt6 | 426 call __aesni_encrypt6 |
430 movups [edi],xmm2 | 427 movups [edi],xmm2 |
431 movups [16+edi],xmm3 | 428 movups [16+edi],xmm3 |
432 movups [32+edi],xmm4 | 429 movups [32+edi],xmm4 |
433 movups [48+edi],xmm5 | 430 movups [48+edi],xmm5 |
434 movups [64+edi],xmm6 | 431 movups [64+edi],xmm6 |
435 » jmp» NEAR L$012ecb_ret | 432 » jmp» NEAR L$010ecb_ret |
436 align 16 | 433 align 16 |
437 L$017ecb_enc_one: | 434 L$015ecb_enc_one: |
438 movups xmm0,[edx] | 435 movups xmm0,[edx] |
439 movups xmm1,[16+edx] | 436 movups xmm1,[16+edx] |
440 lea edx,[32+edx] | 437 lea edx,[32+edx] |
441 xorps xmm2,xmm0 | 438 xorps xmm2,xmm0 |
442 L$021enc1_loop_3: | 439 L$019enc1_loop_3: |
443 db 102,15,56,220,209 | 440 db 102,15,56,220,209 |
444 dec ecx | 441 dec ecx |
445 movups xmm1,[edx] | 442 movups xmm1,[edx] |
446 lea edx,[16+edx] | 443 lea edx,[16+edx] |
447 » jnz» NEAR L$021enc1_loop_3 | 444 » jnz» NEAR L$019enc1_loop_3 |
448 db 102,15,56,221,209 | 445 db 102,15,56,221,209 |
449 movups [edi],xmm2 | 446 movups [edi],xmm2 |
450 » jmp» NEAR L$012ecb_ret | 447 » jmp» NEAR L$010ecb_ret |
451 align 16 | 448 align 16 |
452 L$018ecb_enc_two: | 449 L$016ecb_enc_two: |
453 call __aesni_encrypt2 | 450 call __aesni_encrypt2 |
454 movups [edi],xmm2 | 451 movups [edi],xmm2 |
455 movups [16+edi],xmm3 | 452 movups [16+edi],xmm3 |
456 » jmp» NEAR L$012ecb_ret | 453 » jmp» NEAR L$010ecb_ret |
457 align 16 | 454 align 16 |
458 L$019ecb_enc_three: | 455 L$017ecb_enc_three: |
459 call __aesni_encrypt3 | 456 call __aesni_encrypt3 |
460 movups [edi],xmm2 | 457 movups [edi],xmm2 |
461 movups [16+edi],xmm3 | 458 movups [16+edi],xmm3 |
462 movups [32+edi],xmm4 | 459 movups [32+edi],xmm4 |
463 » jmp» NEAR L$012ecb_ret | 460 » jmp» NEAR L$010ecb_ret |
464 align 16 | 461 align 16 |
465 L$020ecb_enc_four: | 462 L$018ecb_enc_four: |
466 call __aesni_encrypt4 | 463 call __aesni_encrypt4 |
467 movups [edi],xmm2 | 464 movups [edi],xmm2 |
468 movups [16+edi],xmm3 | 465 movups [16+edi],xmm3 |
469 movups [32+edi],xmm4 | 466 movups [32+edi],xmm4 |
470 movups [48+edi],xmm5 | 467 movups [48+edi],xmm5 |
471 » jmp» NEAR L$012ecb_ret | 468 » jmp» NEAR L$010ecb_ret |
472 align 16 | 469 align 16 |
473 L$013ecb_decrypt: | 470 L$011ecb_decrypt: |
474 mov ebp,edx | 471 mov ebp,edx |
475 mov ebx,ecx | 472 mov ebx,ecx |
476 cmp eax,96 | 473 cmp eax,96 |
477 » jb» NEAR L$022ecb_dec_tail | 474 » jb» NEAR L$020ecb_dec_tail |
478 movdqu xmm2,[esi] | 475 movdqu xmm2,[esi] |
479 movdqu xmm3,[16+esi] | 476 movdqu xmm3,[16+esi] |
480 movdqu xmm4,[32+esi] | 477 movdqu xmm4,[32+esi] |
481 movdqu xmm5,[48+esi] | 478 movdqu xmm5,[48+esi] |
482 movdqu xmm6,[64+esi] | 479 movdqu xmm6,[64+esi] |
483 movdqu xmm7,[80+esi] | 480 movdqu xmm7,[80+esi] |
484 lea esi,[96+esi] | 481 lea esi,[96+esi] |
485 sub eax,96 | 482 sub eax,96 |
486 » jmp» NEAR L$023ecb_dec_loop6_enter | 483 » jmp» NEAR L$021ecb_dec_loop6_enter |
487 align 16 | 484 align 16 |
488 L$024ecb_dec_loop6: | 485 L$022ecb_dec_loop6: |
489 movups [edi],xmm2 | 486 movups [edi],xmm2 |
490 movdqu xmm2,[esi] | 487 movdqu xmm2,[esi] |
491 movups [16+edi],xmm3 | 488 movups [16+edi],xmm3 |
492 movdqu xmm3,[16+esi] | 489 movdqu xmm3,[16+esi] |
493 movups [32+edi],xmm4 | 490 movups [32+edi],xmm4 |
494 movdqu xmm4,[32+esi] | 491 movdqu xmm4,[32+esi] |
495 movups [48+edi],xmm5 | 492 movups [48+edi],xmm5 |
496 movdqu xmm5,[48+esi] | 493 movdqu xmm5,[48+esi] |
497 movups [64+edi],xmm6 | 494 movups [64+edi],xmm6 |
498 movdqu xmm6,[64+esi] | 495 movdqu xmm6,[64+esi] |
499 movups [80+edi],xmm7 | 496 movups [80+edi],xmm7 |
500 lea edi,[96+edi] | 497 lea edi,[96+edi] |
501 movdqu xmm7,[80+esi] | 498 movdqu xmm7,[80+esi] |
502 lea esi,[96+esi] | 499 lea esi,[96+esi] |
503 L$023ecb_dec_loop6_enter: | 500 L$021ecb_dec_loop6_enter: |
504 call __aesni_decrypt6 | 501 call __aesni_decrypt6 |
505 mov edx,ebp | 502 mov edx,ebp |
506 mov ecx,ebx | 503 mov ecx,ebx |
507 sub eax,96 | 504 sub eax,96 |
508 » jnc» NEAR L$024ecb_dec_loop6 | 505 » jnc» NEAR L$022ecb_dec_loop6 |
509 movups [edi],xmm2 | 506 movups [edi],xmm2 |
510 movups [16+edi],xmm3 | 507 movups [16+edi],xmm3 |
511 movups [32+edi],xmm4 | 508 movups [32+edi],xmm4 |
512 movups [48+edi],xmm5 | 509 movups [48+edi],xmm5 |
513 movups [64+edi],xmm6 | 510 movups [64+edi],xmm6 |
514 movups [80+edi],xmm7 | 511 movups [80+edi],xmm7 |
515 lea edi,[96+edi] | 512 lea edi,[96+edi] |
516 add eax,96 | 513 add eax,96 |
517 » jz» NEAR L$012ecb_ret | 514 » jz» NEAR L$010ecb_ret |
518 L$022ecb_dec_tail: | 515 L$020ecb_dec_tail: |
519 movups xmm2,[esi] | 516 movups xmm2,[esi] |
520 cmp eax,32 | 517 cmp eax,32 |
521 » jb» NEAR L$025ecb_dec_one | 518 » jb» NEAR L$023ecb_dec_one |
522 movups xmm3,[16+esi] | 519 movups xmm3,[16+esi] |
523 » je» NEAR L$026ecb_dec_two | 520 » je» NEAR L$024ecb_dec_two |
524 movups xmm4,[32+esi] | 521 movups xmm4,[32+esi] |
525 cmp eax,64 | 522 cmp eax,64 |
526 » jb» NEAR L$027ecb_dec_three | 523 » jb» NEAR L$025ecb_dec_three |
527 movups xmm5,[48+esi] | 524 movups xmm5,[48+esi] |
528 » je» NEAR L$028ecb_dec_four | 525 » je» NEAR L$026ecb_dec_four |
529 movups xmm6,[64+esi] | 526 movups xmm6,[64+esi] |
530 xorps xmm7,xmm7 | 527 xorps xmm7,xmm7 |
531 call __aesni_decrypt6 | 528 call __aesni_decrypt6 |
532 movups [edi],xmm2 | 529 movups [edi],xmm2 |
533 movups [16+edi],xmm3 | 530 movups [16+edi],xmm3 |
534 movups [32+edi],xmm4 | 531 movups [32+edi],xmm4 |
535 movups [48+edi],xmm5 | 532 movups [48+edi],xmm5 |
536 movups [64+edi],xmm6 | 533 movups [64+edi],xmm6 |
537 » jmp» NEAR L$012ecb_ret | 534 » jmp» NEAR L$010ecb_ret |
538 align 16 | 535 align 16 |
539 L$025ecb_dec_one: | 536 L$023ecb_dec_one: |
540 movups xmm0,[edx] | 537 movups xmm0,[edx] |
541 movups xmm1,[16+edx] | 538 movups xmm1,[16+edx] |
542 lea edx,[32+edx] | 539 lea edx,[32+edx] |
543 xorps xmm2,xmm0 | 540 xorps xmm2,xmm0 |
544 L$029dec1_loop_4: | 541 L$027dec1_loop_4: |
545 db 102,15,56,222,209 | 542 db 102,15,56,222,209 |
546 dec ecx | 543 dec ecx |
547 movups xmm1,[edx] | 544 movups xmm1,[edx] |
548 lea edx,[16+edx] | 545 lea edx,[16+edx] |
549 » jnz» NEAR L$029dec1_loop_4 | 546 » jnz» NEAR L$027dec1_loop_4 |
550 db 102,15,56,223,209 | 547 db 102,15,56,223,209 |
551 movups [edi],xmm2 | 548 movups [edi],xmm2 |
552 » jmp» NEAR L$012ecb_ret | 549 » jmp» NEAR L$010ecb_ret |
553 align 16 | 550 align 16 |
554 L$026ecb_dec_two: | 551 L$024ecb_dec_two: |
555 call __aesni_decrypt2 | 552 call __aesni_decrypt2 |
556 movups [edi],xmm2 | 553 movups [edi],xmm2 |
557 movups [16+edi],xmm3 | 554 movups [16+edi],xmm3 |
558 » jmp» NEAR L$012ecb_ret | 555 » jmp» NEAR L$010ecb_ret |
559 align 16 | 556 align 16 |
560 L$027ecb_dec_three: | 557 L$025ecb_dec_three: |
561 call __aesni_decrypt3 | 558 call __aesni_decrypt3 |
562 movups [edi],xmm2 | 559 movups [edi],xmm2 |
563 movups [16+edi],xmm3 | 560 movups [16+edi],xmm3 |
564 movups [32+edi],xmm4 | 561 movups [32+edi],xmm4 |
565 » jmp» NEAR L$012ecb_ret | 562 » jmp» NEAR L$010ecb_ret |
566 align 16 | 563 align 16 |
567 L$028ecb_dec_four: | 564 L$026ecb_dec_four: |
568 call __aesni_decrypt4 | 565 call __aesni_decrypt4 |
569 movups [edi],xmm2 | 566 movups [edi],xmm2 |
570 movups [16+edi],xmm3 | 567 movups [16+edi],xmm3 |
571 movups [32+edi],xmm4 | 568 movups [32+edi],xmm4 |
572 movups [48+edi],xmm5 | 569 movups [48+edi],xmm5 |
573 L$012ecb_ret: | 570 L$010ecb_ret: |
574 » pxor» xmm0,xmm0 | |
575 » pxor» xmm1,xmm1 | |
576 » pxor» xmm2,xmm2 | |
577 » pxor» xmm3,xmm3 | |
578 » pxor» xmm4,xmm4 | |
579 » pxor» xmm5,xmm5 | |
580 » pxor» xmm6,xmm6 | |
581 » pxor» xmm7,xmm7 | |
582 pop edi | 571 pop edi |
583 pop esi | 572 pop esi |
584 pop ebx | 573 pop ebx |
585 pop ebp | 574 pop ebp |
586 ret | 575 ret |
587 global _aesni_ccm64_encrypt_blocks | 576 global _aesni_ccm64_encrypt_blocks |
588 align 16 | 577 align 16 |
589 _aesni_ccm64_encrypt_blocks: | 578 _aesni_ccm64_encrypt_blocks: |
590 L$_aesni_ccm64_encrypt_blocks_begin: | 579 L$_aesni_ccm64_encrypt_blocks_begin: |
591 push ebp | 580 push ebp |
(...skipping 24 matching lines...) Expand all Loading... |
616 mov DWORD [24+esp],ebp | 605 mov DWORD [24+esp],ebp |
617 mov DWORD [28+esp],ebp | 606 mov DWORD [28+esp],ebp |
618 shl ecx,4 | 607 shl ecx,4 |
619 mov ebx,16 | 608 mov ebx,16 |
620 lea ebp,[edx] | 609 lea ebp,[edx] |
621 movdqa xmm5,[esp] | 610 movdqa xmm5,[esp] |
622 movdqa xmm2,xmm7 | 611 movdqa xmm2,xmm7 |
623 lea edx,[32+ecx*1+edx] | 612 lea edx,[32+ecx*1+edx] |
624 sub ebx,ecx | 613 sub ebx,ecx |
625 db 102,15,56,0,253 | 614 db 102,15,56,0,253 |
626 L$030ccm64_enc_outer: | 615 L$028ccm64_enc_outer: |
627 movups xmm0,[ebp] | 616 movups xmm0,[ebp] |
628 mov ecx,ebx | 617 mov ecx,ebx |
629 movups xmm6,[esi] | 618 movups xmm6,[esi] |
630 xorps xmm2,xmm0 | 619 xorps xmm2,xmm0 |
631 movups xmm1,[16+ebp] | 620 movups xmm1,[16+ebp] |
632 xorps xmm0,xmm6 | 621 xorps xmm0,xmm6 |
633 xorps xmm3,xmm0 | 622 xorps xmm3,xmm0 |
634 movups xmm0,[32+ebp] | 623 movups xmm0,[32+ebp] |
635 L$031ccm64_enc2_loop: | 624 L$029ccm64_enc2_loop: |
636 db 102,15,56,220,209 | 625 db 102,15,56,220,209 |
637 db 102,15,56,220,217 | 626 db 102,15,56,220,217 |
638 movups xmm1,[ecx*1+edx] | 627 movups xmm1,[ecx*1+edx] |
639 add ecx,32 | 628 add ecx,32 |
640 db 102,15,56,220,208 | 629 db 102,15,56,220,208 |
641 db 102,15,56,220,216 | 630 db 102,15,56,220,216 |
642 movups xmm0,[ecx*1+edx-16] | 631 movups xmm0,[ecx*1+edx-16] |
643 » jnz» NEAR L$031ccm64_enc2_loop | 632 » jnz» NEAR L$029ccm64_enc2_loop |
644 db 102,15,56,220,209 | 633 db 102,15,56,220,209 |
645 db 102,15,56,220,217 | 634 db 102,15,56,220,217 |
646 paddq xmm7,[16+esp] | 635 paddq xmm7,[16+esp] |
647 dec eax | 636 dec eax |
648 db 102,15,56,221,208 | 637 db 102,15,56,221,208 |
649 db 102,15,56,221,216 | 638 db 102,15,56,221,216 |
650 lea esi,[16+esi] | 639 lea esi,[16+esi] |
651 xorps xmm6,xmm2 | 640 xorps xmm6,xmm2 |
652 movdqa xmm2,xmm7 | 641 movdqa xmm2,xmm7 |
653 movups [edi],xmm6 | 642 movups [edi],xmm6 |
654 db 102,15,56,0,213 | 643 db 102,15,56,0,213 |
655 lea edi,[16+edi] | 644 lea edi,[16+edi] |
656 » jnz» NEAR L$030ccm64_enc_outer | 645 » jnz» NEAR L$028ccm64_enc_outer |
657 mov esp,DWORD [48+esp] | 646 mov esp,DWORD [48+esp] |
658 mov edi,DWORD [40+esp] | 647 mov edi,DWORD [40+esp] |
659 movups [edi],xmm3 | 648 movups [edi],xmm3 |
660 pxor xmm0,xmm0 | |
661 pxor xmm1,xmm1 | |
662 pxor xmm2,xmm2 | |
663 pxor xmm3,xmm3 | |
664 pxor xmm4,xmm4 | |
665 pxor xmm5,xmm5 | |
666 pxor xmm6,xmm6 | |
667 pxor xmm7,xmm7 | |
668 pop edi | 649 pop edi |
669 pop esi | 650 pop esi |
670 pop ebx | 651 pop ebx |
671 pop ebp | 652 pop ebp |
672 ret | 653 ret |
673 global _aesni_ccm64_decrypt_blocks | 654 global _aesni_ccm64_decrypt_blocks |
674 align 16 | 655 align 16 |
675 _aesni_ccm64_decrypt_blocks: | 656 _aesni_ccm64_decrypt_blocks: |
676 L$_aesni_ccm64_decrypt_blocks_begin: | 657 L$_aesni_ccm64_decrypt_blocks_begin: |
677 push ebp | 658 push ebp |
(...skipping 25 matching lines...) Expand all Loading... |
703 mov DWORD [28+esp],ebp | 684 mov DWORD [28+esp],ebp |
704 movdqa xmm5,[esp] | 685 movdqa xmm5,[esp] |
705 movdqa xmm2,xmm7 | 686 movdqa xmm2,xmm7 |
706 mov ebp,edx | 687 mov ebp,edx |
707 mov ebx,ecx | 688 mov ebx,ecx |
708 db 102,15,56,0,253 | 689 db 102,15,56,0,253 |
709 movups xmm0,[edx] | 690 movups xmm0,[edx] |
710 movups xmm1,[16+edx] | 691 movups xmm1,[16+edx] |
711 lea edx,[32+edx] | 692 lea edx,[32+edx] |
712 xorps xmm2,xmm0 | 693 xorps xmm2,xmm0 |
713 L$032enc1_loop_5: | 694 L$030enc1_loop_5: |
714 db 102,15,56,220,209 | 695 db 102,15,56,220,209 |
715 dec ecx | 696 dec ecx |
716 movups xmm1,[edx] | 697 movups xmm1,[edx] |
717 lea edx,[16+edx] | 698 lea edx,[16+edx] |
718 » jnz» NEAR L$032enc1_loop_5 | 699 » jnz» NEAR L$030enc1_loop_5 |
719 db 102,15,56,221,209 | 700 db 102,15,56,221,209 |
720 shl ebx,4 | 701 shl ebx,4 |
721 mov ecx,16 | 702 mov ecx,16 |
722 movups xmm6,[esi] | 703 movups xmm6,[esi] |
723 paddq xmm7,[16+esp] | 704 paddq xmm7,[16+esp] |
724 lea esi,[16+esi] | 705 lea esi,[16+esi] |
725 sub ecx,ebx | 706 sub ecx,ebx |
726 lea edx,[32+ebx*1+ebp] | 707 lea edx,[32+ebx*1+ebp] |
727 mov ebx,ecx | 708 mov ebx,ecx |
728 » jmp» NEAR L$033ccm64_dec_outer | 709 » jmp» NEAR L$031ccm64_dec_outer |
729 align 16 | 710 align 16 |
730 L$033ccm64_dec_outer: | 711 L$031ccm64_dec_outer: |
731 xorps xmm6,xmm2 | 712 xorps xmm6,xmm2 |
732 movdqa xmm2,xmm7 | 713 movdqa xmm2,xmm7 |
733 movups [edi],xmm6 | 714 movups [edi],xmm6 |
734 lea edi,[16+edi] | 715 lea edi,[16+edi] |
735 db 102,15,56,0,213 | 716 db 102,15,56,0,213 |
736 sub eax,1 | 717 sub eax,1 |
737 » jz» NEAR L$034ccm64_dec_break | 718 » jz» NEAR L$032ccm64_dec_break |
738 movups xmm0,[ebp] | 719 movups xmm0,[ebp] |
739 mov ecx,ebx | 720 mov ecx,ebx |
740 movups xmm1,[16+ebp] | 721 movups xmm1,[16+ebp] |
741 xorps xmm6,xmm0 | 722 xorps xmm6,xmm0 |
742 xorps xmm2,xmm0 | 723 xorps xmm2,xmm0 |
743 xorps xmm3,xmm6 | 724 xorps xmm3,xmm6 |
744 movups xmm0,[32+ebp] | 725 movups xmm0,[32+ebp] |
745 L$035ccm64_dec2_loop: | 726 L$033ccm64_dec2_loop: |
746 db 102,15,56,220,209 | 727 db 102,15,56,220,209 |
747 db 102,15,56,220,217 | 728 db 102,15,56,220,217 |
748 movups xmm1,[ecx*1+edx] | 729 movups xmm1,[ecx*1+edx] |
749 add ecx,32 | 730 add ecx,32 |
750 db 102,15,56,220,208 | 731 db 102,15,56,220,208 |
751 db 102,15,56,220,216 | 732 db 102,15,56,220,216 |
752 movups xmm0,[ecx*1+edx-16] | 733 movups xmm0,[ecx*1+edx-16] |
753 » jnz» NEAR L$035ccm64_dec2_loop | 734 » jnz» NEAR L$033ccm64_dec2_loop |
754 movups xmm6,[esi] | 735 movups xmm6,[esi] |
755 paddq xmm7,[16+esp] | 736 paddq xmm7,[16+esp] |
756 db 102,15,56,220,209 | 737 db 102,15,56,220,209 |
757 db 102,15,56,220,217 | 738 db 102,15,56,220,217 |
758 db 102,15,56,221,208 | 739 db 102,15,56,221,208 |
759 db 102,15,56,221,216 | 740 db 102,15,56,221,216 |
760 lea esi,[16+esi] | 741 lea esi,[16+esi] |
761 » jmp» NEAR L$033ccm64_dec_outer | 742 » jmp» NEAR L$031ccm64_dec_outer |
762 align 16 | 743 align 16 |
763 L$034ccm64_dec_break: | 744 L$032ccm64_dec_break: |
764 mov ecx,DWORD [240+ebp] | 745 mov ecx,DWORD [240+ebp] |
765 mov edx,ebp | 746 mov edx,ebp |
766 movups xmm0,[edx] | 747 movups xmm0,[edx] |
767 movups xmm1,[16+edx] | 748 movups xmm1,[16+edx] |
768 xorps xmm6,xmm0 | 749 xorps xmm6,xmm0 |
769 lea edx,[32+edx] | 750 lea edx,[32+edx] |
770 xorps xmm3,xmm6 | 751 xorps xmm3,xmm6 |
771 L$036enc1_loop_6: | 752 L$034enc1_loop_6: |
772 db 102,15,56,220,217 | 753 db 102,15,56,220,217 |
773 dec ecx | 754 dec ecx |
774 movups xmm1,[edx] | 755 movups xmm1,[edx] |
775 lea edx,[16+edx] | 756 lea edx,[16+edx] |
776 » jnz» NEAR L$036enc1_loop_6 | 757 » jnz» NEAR L$034enc1_loop_6 |
777 db 102,15,56,221,217 | 758 db 102,15,56,221,217 |
778 mov esp,DWORD [48+esp] | 759 mov esp,DWORD [48+esp] |
779 mov edi,DWORD [40+esp] | 760 mov edi,DWORD [40+esp] |
780 movups [edi],xmm3 | 761 movups [edi],xmm3 |
781 pxor xmm0,xmm0 | |
782 pxor xmm1,xmm1 | |
783 pxor xmm2,xmm2 | |
784 pxor xmm3,xmm3 | |
785 pxor xmm4,xmm4 | |
786 pxor xmm5,xmm5 | |
787 pxor xmm6,xmm6 | |
788 pxor xmm7,xmm7 | |
789 pop edi | 762 pop edi |
790 pop esi | 763 pop esi |
791 pop ebx | 764 pop ebx |
792 pop ebp | 765 pop ebp |
793 ret | 766 ret |
794 global _aesni_ctr32_encrypt_blocks | 767 global _aesni_ctr32_encrypt_blocks |
795 align 16 | 768 align 16 |
796 _aesni_ctr32_encrypt_blocks: | 769 _aesni_ctr32_encrypt_blocks: |
797 L$_aesni_ctr32_encrypt_blocks_begin: | 770 L$_aesni_ctr32_encrypt_blocks_begin: |
798 push ebp | 771 push ebp |
799 push ebx | 772 push ebx |
800 push esi | 773 push esi |
801 push edi | 774 push edi |
802 mov esi,DWORD [20+esp] | 775 mov esi,DWORD [20+esp] |
803 mov edi,DWORD [24+esp] | 776 mov edi,DWORD [24+esp] |
804 mov eax,DWORD [28+esp] | 777 mov eax,DWORD [28+esp] |
805 mov edx,DWORD [32+esp] | 778 mov edx,DWORD [32+esp] |
806 mov ebx,DWORD [36+esp] | 779 mov ebx,DWORD [36+esp] |
807 mov ebp,esp | 780 mov ebp,esp |
808 sub esp,88 | 781 sub esp,88 |
809 and esp,-16 | 782 and esp,-16 |
810 mov DWORD [80+esp],ebp | 783 mov DWORD [80+esp],ebp |
811 cmp eax,1 | 784 cmp eax,1 |
812 » je» NEAR L$037ctr32_one_shortcut | 785 » je» NEAR L$035ctr32_one_shortcut |
813 movdqu xmm7,[ebx] | 786 movdqu xmm7,[ebx] |
814 mov DWORD [esp],202182159 | 787 mov DWORD [esp],202182159 |
815 mov DWORD [4+esp],134810123 | 788 mov DWORD [4+esp],134810123 |
816 mov DWORD [8+esp],67438087 | 789 mov DWORD [8+esp],67438087 |
817 mov DWORD [12+esp],66051 | 790 mov DWORD [12+esp],66051 |
818 mov ecx,6 | 791 mov ecx,6 |
819 xor ebp,ebp | 792 xor ebp,ebp |
820 mov DWORD [16+esp],ecx | 793 mov DWORD [16+esp],ecx |
821 mov DWORD [20+esp],ecx | 794 mov DWORD [20+esp],ecx |
822 mov DWORD [24+esp],ecx | 795 mov DWORD [24+esp],ecx |
(...skipping 17 matching lines...) Expand all Loading... |
840 inc ebp | 813 inc ebp |
841 db 102,15,58,34,205,2 | 814 db 102,15,58,34,205,2 |
842 movdqa [48+esp],xmm0 | 815 movdqa [48+esp],xmm0 |
843 db 102,15,56,0,194 | 816 db 102,15,56,0,194 |
844 movdqu xmm6,[edx] | 817 movdqu xmm6,[edx] |
845 movdqa [64+esp],xmm1 | 818 movdqa [64+esp],xmm1 |
846 db 102,15,56,0,202 | 819 db 102,15,56,0,202 |
847 pshufd xmm2,xmm0,192 | 820 pshufd xmm2,xmm0,192 |
848 pshufd xmm3,xmm0,128 | 821 pshufd xmm3,xmm0,128 |
849 cmp eax,6 | 822 cmp eax,6 |
850 » jb» NEAR L$038ctr32_tail | 823 » jb» NEAR L$036ctr32_tail |
851 pxor xmm7,xmm6 | 824 pxor xmm7,xmm6 |
852 shl ecx,4 | 825 shl ecx,4 |
853 mov ebx,16 | 826 mov ebx,16 |
854 movdqa [32+esp],xmm7 | 827 movdqa [32+esp],xmm7 |
855 mov ebp,edx | 828 mov ebp,edx |
856 sub ebx,ecx | 829 sub ebx,ecx |
857 lea edx,[32+ecx*1+edx] | 830 lea edx,[32+ecx*1+edx] |
858 sub eax,6 | 831 sub eax,6 |
859 » jmp» NEAR L$039ctr32_loop6 | 832 » jmp» NEAR L$037ctr32_loop6 |
860 align 16 | 833 align 16 |
861 L$039ctr32_loop6: | 834 L$037ctr32_loop6: |
862 pshufd xmm4,xmm0,64 | 835 pshufd xmm4,xmm0,64 |
863 movdqa xmm0,[32+esp] | 836 movdqa xmm0,[32+esp] |
864 pshufd xmm5,xmm1,192 | 837 pshufd xmm5,xmm1,192 |
865 pxor xmm2,xmm0 | 838 pxor xmm2,xmm0 |
866 pshufd xmm6,xmm1,128 | 839 pshufd xmm6,xmm1,128 |
867 pxor xmm3,xmm0 | 840 pxor xmm3,xmm0 |
868 pshufd xmm7,xmm1,64 | 841 pshufd xmm7,xmm1,64 |
869 movups xmm1,[16+ebp] | 842 movups xmm1,[16+ebp] |
870 pxor xmm4,xmm0 | 843 pxor xmm4,xmm0 |
871 pxor xmm5,xmm0 | 844 pxor xmm5,xmm0 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 movups [48+edi],xmm5 | 878 movups [48+edi],xmm5 |
906 xorps xmm7,xmm3 | 879 xorps xmm7,xmm3 |
907 movdqa [64+esp],xmm1 | 880 movdqa [64+esp],xmm1 |
908 db 102,15,56,0,202 | 881 db 102,15,56,0,202 |
909 movups [64+edi],xmm6 | 882 movups [64+edi],xmm6 |
910 pshufd xmm2,xmm0,192 | 883 pshufd xmm2,xmm0,192 |
911 movups [80+edi],xmm7 | 884 movups [80+edi],xmm7 |
912 lea edi,[96+edi] | 885 lea edi,[96+edi] |
913 pshufd xmm3,xmm0,128 | 886 pshufd xmm3,xmm0,128 |
914 sub eax,6 | 887 sub eax,6 |
915 » jnc» NEAR L$039ctr32_loop6 | 888 » jnc» NEAR L$037ctr32_loop6 |
916 add eax,6 | 889 add eax,6 |
917 » jz» NEAR L$040ctr32_ret | 890 » jz» NEAR L$038ctr32_ret |
918 movdqu xmm7,[ebp] | 891 movdqu xmm7,[ebp] |
919 mov edx,ebp | 892 mov edx,ebp |
920 pxor xmm7,[32+esp] | 893 pxor xmm7,[32+esp] |
921 mov ecx,DWORD [240+ebp] | 894 mov ecx,DWORD [240+ebp] |
922 L$038ctr32_tail: | 895 L$036ctr32_tail: |
923 por xmm2,xmm7 | 896 por xmm2,xmm7 |
924 cmp eax,2 | 897 cmp eax,2 |
925 » jb» NEAR L$041ctr32_one | 898 » jb» NEAR L$039ctr32_one |
926 pshufd xmm4,xmm0,64 | 899 pshufd xmm4,xmm0,64 |
927 por xmm3,xmm7 | 900 por xmm3,xmm7 |
928 » je» NEAR L$042ctr32_two | 901 » je» NEAR L$040ctr32_two |
929 pshufd xmm5,xmm1,192 | 902 pshufd xmm5,xmm1,192 |
930 por xmm4,xmm7 | 903 por xmm4,xmm7 |
931 cmp eax,4 | 904 cmp eax,4 |
932 » jb» NEAR L$043ctr32_three | 905 » jb» NEAR L$041ctr32_three |
933 pshufd xmm6,xmm1,128 | 906 pshufd xmm6,xmm1,128 |
934 por xmm5,xmm7 | 907 por xmm5,xmm7 |
935 » je» NEAR L$044ctr32_four | 908 » je» NEAR L$042ctr32_four |
936 por xmm6,xmm7 | 909 por xmm6,xmm7 |
937 call __aesni_encrypt6 | 910 call __aesni_encrypt6 |
938 movups xmm1,[esi] | 911 movups xmm1,[esi] |
939 movups xmm0,[16+esi] | 912 movups xmm0,[16+esi] |
940 xorps xmm2,xmm1 | 913 xorps xmm2,xmm1 |
941 movups xmm1,[32+esi] | 914 movups xmm1,[32+esi] |
942 xorps xmm3,xmm0 | 915 xorps xmm3,xmm0 |
943 movups xmm0,[48+esi] | 916 movups xmm0,[48+esi] |
944 xorps xmm4,xmm1 | 917 xorps xmm4,xmm1 |
945 movups xmm1,[64+esi] | 918 movups xmm1,[64+esi] |
946 xorps xmm5,xmm0 | 919 xorps xmm5,xmm0 |
947 movups [edi],xmm2 | 920 movups [edi],xmm2 |
948 xorps xmm6,xmm1 | 921 xorps xmm6,xmm1 |
949 movups [16+edi],xmm3 | 922 movups [16+edi],xmm3 |
950 movups [32+edi],xmm4 | 923 movups [32+edi],xmm4 |
951 movups [48+edi],xmm5 | 924 movups [48+edi],xmm5 |
952 movups [64+edi],xmm6 | 925 movups [64+edi],xmm6 |
953 » jmp» NEAR L$040ctr32_ret | 926 » jmp» NEAR L$038ctr32_ret |
954 align 16 | 927 align 16 |
955 L$037ctr32_one_shortcut: | 928 L$035ctr32_one_shortcut: |
956 movups xmm2,[ebx] | 929 movups xmm2,[ebx] |
957 mov ecx,DWORD [240+edx] | 930 mov ecx,DWORD [240+edx] |
958 L$041ctr32_one: | 931 L$039ctr32_one: |
959 movups xmm0,[edx] | 932 movups xmm0,[edx] |
960 movups xmm1,[16+edx] | 933 movups xmm1,[16+edx] |
961 lea edx,[32+edx] | 934 lea edx,[32+edx] |
962 xorps xmm2,xmm0 | 935 xorps xmm2,xmm0 |
963 L$045enc1_loop_7: | 936 L$043enc1_loop_7: |
964 db 102,15,56,220,209 | 937 db 102,15,56,220,209 |
965 dec ecx | 938 dec ecx |
966 movups xmm1,[edx] | 939 movups xmm1,[edx] |
967 lea edx,[16+edx] | 940 lea edx,[16+edx] |
968 » jnz» NEAR L$045enc1_loop_7 | 941 » jnz» NEAR L$043enc1_loop_7 |
969 db 102,15,56,221,209 | 942 db 102,15,56,221,209 |
970 movups xmm6,[esi] | 943 movups xmm6,[esi] |
971 xorps xmm6,xmm2 | 944 xorps xmm6,xmm2 |
972 movups [edi],xmm6 | 945 movups [edi],xmm6 |
973 » jmp» NEAR L$040ctr32_ret | 946 » jmp» NEAR L$038ctr32_ret |
974 align 16 | 947 align 16 |
975 L$042ctr32_two: | 948 L$040ctr32_two: |
976 call __aesni_encrypt2 | 949 call __aesni_encrypt2 |
977 movups xmm5,[esi] | 950 movups xmm5,[esi] |
978 movups xmm6,[16+esi] | 951 movups xmm6,[16+esi] |
979 xorps xmm2,xmm5 | 952 xorps xmm2,xmm5 |
980 xorps xmm3,xmm6 | 953 xorps xmm3,xmm6 |
981 movups [edi],xmm2 | 954 movups [edi],xmm2 |
982 movups [16+edi],xmm3 | 955 movups [16+edi],xmm3 |
983 » jmp» NEAR L$040ctr32_ret | 956 » jmp» NEAR L$038ctr32_ret |
984 align 16 | 957 align 16 |
985 L$043ctr32_three: | 958 L$041ctr32_three: |
986 call __aesni_encrypt3 | 959 call __aesni_encrypt3 |
987 movups xmm5,[esi] | 960 movups xmm5,[esi] |
988 movups xmm6,[16+esi] | 961 movups xmm6,[16+esi] |
989 xorps xmm2,xmm5 | 962 xorps xmm2,xmm5 |
990 movups xmm7,[32+esi] | 963 movups xmm7,[32+esi] |
991 xorps xmm3,xmm6 | 964 xorps xmm3,xmm6 |
992 movups [edi],xmm2 | 965 movups [edi],xmm2 |
993 xorps xmm4,xmm7 | 966 xorps xmm4,xmm7 |
994 movups [16+edi],xmm3 | 967 movups [16+edi],xmm3 |
995 movups [32+edi],xmm4 | 968 movups [32+edi],xmm4 |
996 » jmp» NEAR L$040ctr32_ret | 969 » jmp» NEAR L$038ctr32_ret |
997 align 16 | 970 align 16 |
998 L$044ctr32_four: | 971 L$042ctr32_four: |
999 call __aesni_encrypt4 | 972 call __aesni_encrypt4 |
1000 movups xmm6,[esi] | 973 movups xmm6,[esi] |
1001 movups xmm7,[16+esi] | 974 movups xmm7,[16+esi] |
1002 movups xmm1,[32+esi] | 975 movups xmm1,[32+esi] |
1003 xorps xmm2,xmm6 | 976 xorps xmm2,xmm6 |
1004 movups xmm0,[48+esi] | 977 movups xmm0,[48+esi] |
1005 xorps xmm3,xmm7 | 978 xorps xmm3,xmm7 |
1006 movups [edi],xmm2 | 979 movups [edi],xmm2 |
1007 xorps xmm4,xmm1 | 980 xorps xmm4,xmm1 |
1008 movups [16+edi],xmm3 | 981 movups [16+edi],xmm3 |
1009 xorps xmm5,xmm0 | 982 xorps xmm5,xmm0 |
1010 movups [32+edi],xmm4 | 983 movups [32+edi],xmm4 |
1011 movups [48+edi],xmm5 | 984 movups [48+edi],xmm5 |
1012 L$040ctr32_ret: | 985 L$038ctr32_ret: |
1013 » pxor» xmm0,xmm0 | |
1014 » pxor» xmm1,xmm1 | |
1015 » pxor» xmm2,xmm2 | |
1016 » pxor» xmm3,xmm3 | |
1017 » pxor» xmm4,xmm4 | |
1018 » movdqa» [32+esp],xmm0 | |
1019 » pxor» xmm5,xmm5 | |
1020 » movdqa» [48+esp],xmm0 | |
1021 » pxor» xmm6,xmm6 | |
1022 » movdqa» [64+esp],xmm0 | |
1023 » pxor» xmm7,xmm7 | |
1024 mov esp,DWORD [80+esp] | 986 mov esp,DWORD [80+esp] |
1025 pop edi | 987 pop edi |
1026 pop esi | 988 pop esi |
1027 pop ebx | 989 pop ebx |
1028 pop ebp | 990 pop ebp |
1029 ret | 991 ret |
1030 global _aesni_xts_encrypt | 992 global _aesni_xts_encrypt |
1031 align 16 | 993 align 16 |
1032 _aesni_xts_encrypt: | 994 _aesni_xts_encrypt: |
1033 L$_aesni_xts_encrypt_begin: | 995 L$_aesni_xts_encrypt_begin: |
1034 push ebp | 996 push ebp |
1035 push ebx | 997 push ebx |
1036 push esi | 998 push esi |
1037 push edi | 999 push edi |
1038 mov edx,DWORD [36+esp] | 1000 mov edx,DWORD [36+esp] |
1039 mov esi,DWORD [40+esp] | 1001 mov esi,DWORD [40+esp] |
1040 mov ecx,DWORD [240+edx] | 1002 mov ecx,DWORD [240+edx] |
1041 movups xmm2,[esi] | 1003 movups xmm2,[esi] |
1042 movups xmm0,[edx] | 1004 movups xmm0,[edx] |
1043 movups xmm1,[16+edx] | 1005 movups xmm1,[16+edx] |
1044 lea edx,[32+edx] | 1006 lea edx,[32+edx] |
1045 xorps xmm2,xmm0 | 1007 xorps xmm2,xmm0 |
1046 L$046enc1_loop_8: | 1008 L$044enc1_loop_8: |
1047 db 102,15,56,220,209 | 1009 db 102,15,56,220,209 |
1048 dec ecx | 1010 dec ecx |
1049 movups xmm1,[edx] | 1011 movups xmm1,[edx] |
1050 lea edx,[16+edx] | 1012 lea edx,[16+edx] |
1051 » jnz» NEAR L$046enc1_loop_8 | 1013 » jnz» NEAR L$044enc1_loop_8 |
1052 db 102,15,56,221,209 | 1014 db 102,15,56,221,209 |
1053 mov esi,DWORD [20+esp] | 1015 mov esi,DWORD [20+esp] |
1054 mov edi,DWORD [24+esp] | 1016 mov edi,DWORD [24+esp] |
1055 mov eax,DWORD [28+esp] | 1017 mov eax,DWORD [28+esp] |
1056 mov edx,DWORD [32+esp] | 1018 mov edx,DWORD [32+esp] |
1057 mov ebp,esp | 1019 mov ebp,esp |
1058 sub esp,120 | 1020 sub esp,120 |
1059 mov ecx,DWORD [240+edx] | 1021 mov ecx,DWORD [240+edx] |
1060 and esp,-16 | 1022 and esp,-16 |
1061 mov DWORD [96+esp],135 | 1023 mov DWORD [96+esp],135 |
1062 mov DWORD [100+esp],0 | 1024 mov DWORD [100+esp],0 |
1063 mov DWORD [104+esp],1 | 1025 mov DWORD [104+esp],1 |
1064 mov DWORD [108+esp],0 | 1026 mov DWORD [108+esp],0 |
1065 mov DWORD [112+esp],eax | 1027 mov DWORD [112+esp],eax |
1066 mov DWORD [116+esp],ebp | 1028 mov DWORD [116+esp],ebp |
1067 movdqa xmm1,xmm2 | 1029 movdqa xmm1,xmm2 |
1068 pxor xmm0,xmm0 | 1030 pxor xmm0,xmm0 |
1069 movdqa xmm3,[96+esp] | 1031 movdqa xmm3,[96+esp] |
1070 pcmpgtd xmm0,xmm1 | 1032 pcmpgtd xmm0,xmm1 |
1071 and eax,-16 | 1033 and eax,-16 |
1072 mov ebp,edx | 1034 mov ebp,edx |
1073 mov ebx,ecx | 1035 mov ebx,ecx |
1074 sub eax,96 | 1036 sub eax,96 |
1075 » jc» NEAR L$047xts_enc_short | 1037 » jc» NEAR L$045xts_enc_short |
1076 shl ecx,4 | 1038 shl ecx,4 |
1077 mov ebx,16 | 1039 mov ebx,16 |
1078 sub ebx,ecx | 1040 sub ebx,ecx |
1079 lea edx,[32+ecx*1+edx] | 1041 lea edx,[32+ecx*1+edx] |
1080 » jmp» NEAR L$048xts_enc_loop6 | 1042 » jmp» NEAR L$046xts_enc_loop6 |
1081 align 16 | 1043 align 16 |
1082 L$048xts_enc_loop6: | 1044 L$046xts_enc_loop6: |
1083 pshufd xmm2,xmm0,19 | 1045 pshufd xmm2,xmm0,19 |
1084 pxor xmm0,xmm0 | 1046 pxor xmm0,xmm0 |
1085 movdqa [esp],xmm1 | 1047 movdqa [esp],xmm1 |
1086 paddq xmm1,xmm1 | 1048 paddq xmm1,xmm1 |
1087 pand xmm2,xmm3 | 1049 pand xmm2,xmm3 |
1088 pcmpgtd xmm0,xmm1 | 1050 pcmpgtd xmm0,xmm1 |
1089 pxor xmm1,xmm2 | 1051 pxor xmm1,xmm2 |
1090 pshufd xmm2,xmm0,19 | 1052 pshufd xmm2,xmm0,19 |
1091 pxor xmm0,xmm0 | 1053 pxor xmm0,xmm0 |
1092 movdqa [16+esp],xmm1 | 1054 movdqa [16+esp],xmm1 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1161 pshufd xmm2,xmm0,19 | 1123 pshufd xmm2,xmm0,19 |
1162 movups [80+edi],xmm7 | 1124 movups [80+edi],xmm7 |
1163 lea edi,[96+edi] | 1125 lea edi,[96+edi] |
1164 movdqa xmm3,[96+esp] | 1126 movdqa xmm3,[96+esp] |
1165 pxor xmm0,xmm0 | 1127 pxor xmm0,xmm0 |
1166 paddq xmm1,xmm1 | 1128 paddq xmm1,xmm1 |
1167 pand xmm2,xmm3 | 1129 pand xmm2,xmm3 |
1168 pcmpgtd xmm0,xmm1 | 1130 pcmpgtd xmm0,xmm1 |
1169 pxor xmm1,xmm2 | 1131 pxor xmm1,xmm2 |
1170 sub eax,96 | 1132 sub eax,96 |
1171 » jnc» NEAR L$048xts_enc_loop6 | 1133 » jnc» NEAR L$046xts_enc_loop6 |
1172 mov ecx,DWORD [240+ebp] | 1134 mov ecx,DWORD [240+ebp] |
1173 mov edx,ebp | 1135 mov edx,ebp |
1174 mov ebx,ecx | 1136 mov ebx,ecx |
1175 L$047xts_enc_short: | 1137 L$045xts_enc_short: |
1176 add eax,96 | 1138 add eax,96 |
1177 » jz» NEAR L$049xts_enc_done6x | 1139 » jz» NEAR L$047xts_enc_done6x |
1178 movdqa xmm5,xmm1 | 1140 movdqa xmm5,xmm1 |
1179 cmp eax,32 | 1141 cmp eax,32 |
1180 » jb» NEAR L$050xts_enc_one | 1142 » jb» NEAR L$048xts_enc_one |
1181 pshufd xmm2,xmm0,19 | 1143 pshufd xmm2,xmm0,19 |
1182 pxor xmm0,xmm0 | 1144 pxor xmm0,xmm0 |
1183 paddq xmm1,xmm1 | 1145 paddq xmm1,xmm1 |
1184 pand xmm2,xmm3 | 1146 pand xmm2,xmm3 |
1185 pcmpgtd xmm0,xmm1 | 1147 pcmpgtd xmm0,xmm1 |
1186 pxor xmm1,xmm2 | 1148 pxor xmm1,xmm2 |
1187 » je» NEAR L$051xts_enc_two | 1149 » je» NEAR L$049xts_enc_two |
1188 pshufd xmm2,xmm0,19 | 1150 pshufd xmm2,xmm0,19 |
1189 pxor xmm0,xmm0 | 1151 pxor xmm0,xmm0 |
1190 movdqa xmm6,xmm1 | 1152 movdqa xmm6,xmm1 |
1191 paddq xmm1,xmm1 | 1153 paddq xmm1,xmm1 |
1192 pand xmm2,xmm3 | 1154 pand xmm2,xmm3 |
1193 pcmpgtd xmm0,xmm1 | 1155 pcmpgtd xmm0,xmm1 |
1194 pxor xmm1,xmm2 | 1156 pxor xmm1,xmm2 |
1195 cmp eax,64 | 1157 cmp eax,64 |
1196 » jb» NEAR L$052xts_enc_three | 1158 » jb» NEAR L$050xts_enc_three |
1197 pshufd xmm2,xmm0,19 | 1159 pshufd xmm2,xmm0,19 |
1198 pxor xmm0,xmm0 | 1160 pxor xmm0,xmm0 |
1199 movdqa xmm7,xmm1 | 1161 movdqa xmm7,xmm1 |
1200 paddq xmm1,xmm1 | 1162 paddq xmm1,xmm1 |
1201 pand xmm2,xmm3 | 1163 pand xmm2,xmm3 |
1202 pcmpgtd xmm0,xmm1 | 1164 pcmpgtd xmm0,xmm1 |
1203 pxor xmm1,xmm2 | 1165 pxor xmm1,xmm2 |
1204 movdqa [esp],xmm5 | 1166 movdqa [esp],xmm5 |
1205 movdqa [16+esp],xmm6 | 1167 movdqa [16+esp],xmm6 |
1206 » je» NEAR L$053xts_enc_four | 1168 » je» NEAR L$051xts_enc_four |
1207 movdqa [32+esp],xmm7 | 1169 movdqa [32+esp],xmm7 |
1208 pshufd xmm7,xmm0,19 | 1170 pshufd xmm7,xmm0,19 |
1209 movdqa [48+esp],xmm1 | 1171 movdqa [48+esp],xmm1 |
1210 paddq xmm1,xmm1 | 1172 paddq xmm1,xmm1 |
1211 pand xmm7,xmm3 | 1173 pand xmm7,xmm3 |
1212 pxor xmm7,xmm1 | 1174 pxor xmm7,xmm1 |
1213 movdqu xmm2,[esi] | 1175 movdqu xmm2,[esi] |
1214 movdqu xmm3,[16+esi] | 1176 movdqu xmm3,[16+esi] |
1215 movdqu xmm4,[32+esi] | 1177 movdqu xmm4,[32+esi] |
1216 pxor xmm2,[esp] | 1178 pxor xmm2,[esp] |
(...skipping 11 matching lines...) Expand all Loading... |
1228 xorps xmm3,[16+esp] | 1190 xorps xmm3,[16+esp] |
1229 xorps xmm4,[32+esp] | 1191 xorps xmm4,[32+esp] |
1230 movups [edi],xmm2 | 1192 movups [edi],xmm2 |
1231 xorps xmm5,[48+esp] | 1193 xorps xmm5,[48+esp] |
1232 movups [16+edi],xmm3 | 1194 movups [16+edi],xmm3 |
1233 xorps xmm6,xmm1 | 1195 xorps xmm6,xmm1 |
1234 movups [32+edi],xmm4 | 1196 movups [32+edi],xmm4 |
1235 movups [48+edi],xmm5 | 1197 movups [48+edi],xmm5 |
1236 movups [64+edi],xmm6 | 1198 movups [64+edi],xmm6 |
1237 lea edi,[80+edi] | 1199 lea edi,[80+edi] |
1238 » jmp» NEAR L$054xts_enc_done | 1200 » jmp» NEAR L$052xts_enc_done |
1239 align 16 | 1201 align 16 |
1240 L$050xts_enc_one: | 1202 L$048xts_enc_one: |
1241 movups xmm2,[esi] | 1203 movups xmm2,[esi] |
1242 lea esi,[16+esi] | 1204 lea esi,[16+esi] |
1243 xorps xmm2,xmm5 | 1205 xorps xmm2,xmm5 |
1244 movups xmm0,[edx] | 1206 movups xmm0,[edx] |
1245 movups xmm1,[16+edx] | 1207 movups xmm1,[16+edx] |
1246 lea edx,[32+edx] | 1208 lea edx,[32+edx] |
1247 xorps xmm2,xmm0 | 1209 xorps xmm2,xmm0 |
1248 L$055enc1_loop_9: | 1210 L$053enc1_loop_9: |
1249 db 102,15,56,220,209 | 1211 db 102,15,56,220,209 |
1250 dec ecx | 1212 dec ecx |
1251 movups xmm1,[edx] | 1213 movups xmm1,[edx] |
1252 lea edx,[16+edx] | 1214 lea edx,[16+edx] |
1253 » jnz» NEAR L$055enc1_loop_9 | 1215 » jnz» NEAR L$053enc1_loop_9 |
1254 db 102,15,56,221,209 | 1216 db 102,15,56,221,209 |
1255 xorps xmm2,xmm5 | 1217 xorps xmm2,xmm5 |
1256 movups [edi],xmm2 | 1218 movups [edi],xmm2 |
1257 lea edi,[16+edi] | 1219 lea edi,[16+edi] |
1258 movdqa xmm1,xmm5 | 1220 movdqa xmm1,xmm5 |
1259 » jmp» NEAR L$054xts_enc_done | 1221 » jmp» NEAR L$052xts_enc_done |
1260 align 16 | 1222 align 16 |
1261 L$051xts_enc_two: | 1223 L$049xts_enc_two: |
1262 movaps xmm6,xmm1 | 1224 movaps xmm6,xmm1 |
1263 movups xmm2,[esi] | 1225 movups xmm2,[esi] |
1264 movups xmm3,[16+esi] | 1226 movups xmm3,[16+esi] |
1265 lea esi,[32+esi] | 1227 lea esi,[32+esi] |
1266 xorps xmm2,xmm5 | 1228 xorps xmm2,xmm5 |
1267 xorps xmm3,xmm6 | 1229 xorps xmm3,xmm6 |
1268 call __aesni_encrypt2 | 1230 call __aesni_encrypt2 |
1269 xorps xmm2,xmm5 | 1231 xorps xmm2,xmm5 |
1270 xorps xmm3,xmm6 | 1232 xorps xmm3,xmm6 |
1271 movups [edi],xmm2 | 1233 movups [edi],xmm2 |
1272 movups [16+edi],xmm3 | 1234 movups [16+edi],xmm3 |
1273 lea edi,[32+edi] | 1235 lea edi,[32+edi] |
1274 movdqa xmm1,xmm6 | 1236 movdqa xmm1,xmm6 |
1275 » jmp» NEAR L$054xts_enc_done | 1237 » jmp» NEAR L$052xts_enc_done |
1276 align 16 | 1238 align 16 |
1277 L$052xts_enc_three: | 1239 L$050xts_enc_three: |
1278 movaps xmm7,xmm1 | 1240 movaps xmm7,xmm1 |
1279 movups xmm2,[esi] | 1241 movups xmm2,[esi] |
1280 movups xmm3,[16+esi] | 1242 movups xmm3,[16+esi] |
1281 movups xmm4,[32+esi] | 1243 movups xmm4,[32+esi] |
1282 lea esi,[48+esi] | 1244 lea esi,[48+esi] |
1283 xorps xmm2,xmm5 | 1245 xorps xmm2,xmm5 |
1284 xorps xmm3,xmm6 | 1246 xorps xmm3,xmm6 |
1285 xorps xmm4,xmm7 | 1247 xorps xmm4,xmm7 |
1286 call __aesni_encrypt3 | 1248 call __aesni_encrypt3 |
1287 xorps xmm2,xmm5 | 1249 xorps xmm2,xmm5 |
1288 xorps xmm3,xmm6 | 1250 xorps xmm3,xmm6 |
1289 xorps xmm4,xmm7 | 1251 xorps xmm4,xmm7 |
1290 movups [edi],xmm2 | 1252 movups [edi],xmm2 |
1291 movups [16+edi],xmm3 | 1253 movups [16+edi],xmm3 |
1292 movups [32+edi],xmm4 | 1254 movups [32+edi],xmm4 |
1293 lea edi,[48+edi] | 1255 lea edi,[48+edi] |
1294 movdqa xmm1,xmm7 | 1256 movdqa xmm1,xmm7 |
1295 » jmp» NEAR L$054xts_enc_done | 1257 » jmp» NEAR L$052xts_enc_done |
1296 align 16 | 1258 align 16 |
1297 L$053xts_enc_four: | 1259 L$051xts_enc_four: |
1298 movaps xmm6,xmm1 | 1260 movaps xmm6,xmm1 |
1299 movups xmm2,[esi] | 1261 movups xmm2,[esi] |
1300 movups xmm3,[16+esi] | 1262 movups xmm3,[16+esi] |
1301 movups xmm4,[32+esi] | 1263 movups xmm4,[32+esi] |
1302 xorps xmm2,[esp] | 1264 xorps xmm2,[esp] |
1303 movups xmm5,[48+esi] | 1265 movups xmm5,[48+esi] |
1304 lea esi,[64+esi] | 1266 lea esi,[64+esi] |
1305 xorps xmm3,[16+esp] | 1267 xorps xmm3,[16+esp] |
1306 xorps xmm4,xmm7 | 1268 xorps xmm4,xmm7 |
1307 xorps xmm5,xmm6 | 1269 xorps xmm5,xmm6 |
1308 call __aesni_encrypt4 | 1270 call __aesni_encrypt4 |
1309 xorps xmm2,[esp] | 1271 xorps xmm2,[esp] |
1310 xorps xmm3,[16+esp] | 1272 xorps xmm3,[16+esp] |
1311 xorps xmm4,xmm7 | 1273 xorps xmm4,xmm7 |
1312 movups [edi],xmm2 | 1274 movups [edi],xmm2 |
1313 xorps xmm5,xmm6 | 1275 xorps xmm5,xmm6 |
1314 movups [16+edi],xmm3 | 1276 movups [16+edi],xmm3 |
1315 movups [32+edi],xmm4 | 1277 movups [32+edi],xmm4 |
1316 movups [48+edi],xmm5 | 1278 movups [48+edi],xmm5 |
1317 lea edi,[64+edi] | 1279 lea edi,[64+edi] |
1318 movdqa xmm1,xmm6 | 1280 movdqa xmm1,xmm6 |
1319 » jmp» NEAR L$054xts_enc_done | 1281 » jmp» NEAR L$052xts_enc_done |
1320 align 16 | 1282 align 16 |
1321 L$049xts_enc_done6x: | 1283 L$047xts_enc_done6x: |
1322 mov eax,DWORD [112+esp] | 1284 mov eax,DWORD [112+esp] |
1323 and eax,15 | 1285 and eax,15 |
1324 » jz» NEAR L$056xts_enc_ret | 1286 » jz» NEAR L$054xts_enc_ret |
1325 movdqa xmm5,xmm1 | 1287 movdqa xmm5,xmm1 |
1326 mov DWORD [112+esp],eax | 1288 mov DWORD [112+esp],eax |
1327 » jmp» NEAR L$057xts_enc_steal | 1289 » jmp» NEAR L$055xts_enc_steal |
1328 align 16 | 1290 align 16 |
1329 L$054xts_enc_done: | 1291 L$052xts_enc_done: |
1330 mov eax,DWORD [112+esp] | 1292 mov eax,DWORD [112+esp] |
1331 pxor xmm0,xmm0 | 1293 pxor xmm0,xmm0 |
1332 and eax,15 | 1294 and eax,15 |
1333 » jz» NEAR L$056xts_enc_ret | 1295 » jz» NEAR L$054xts_enc_ret |
1334 pcmpgtd xmm0,xmm1 | 1296 pcmpgtd xmm0,xmm1 |
1335 mov DWORD [112+esp],eax | 1297 mov DWORD [112+esp],eax |
1336 pshufd xmm5,xmm0,19 | 1298 pshufd xmm5,xmm0,19 |
1337 paddq xmm1,xmm1 | 1299 paddq xmm1,xmm1 |
1338 pand xmm5,[96+esp] | 1300 pand xmm5,[96+esp] |
1339 pxor xmm5,xmm1 | 1301 pxor xmm5,xmm1 |
1340 L$057xts_enc_steal: | 1302 L$055xts_enc_steal: |
1341 movzx ecx,BYTE [esi] | 1303 movzx ecx,BYTE [esi] |
1342 movzx edx,BYTE [edi-16] | 1304 movzx edx,BYTE [edi-16] |
1343 lea esi,[1+esi] | 1305 lea esi,[1+esi] |
1344 mov BYTE [edi-16],cl | 1306 mov BYTE [edi-16],cl |
1345 mov BYTE [edi],dl | 1307 mov BYTE [edi],dl |
1346 lea edi,[1+edi] | 1308 lea edi,[1+edi] |
1347 sub eax,1 | 1309 sub eax,1 |
1348 » jnz» NEAR L$057xts_enc_steal | 1310 » jnz» NEAR L$055xts_enc_steal |
1349 sub edi,DWORD [112+esp] | 1311 sub edi,DWORD [112+esp] |
1350 mov edx,ebp | 1312 mov edx,ebp |
1351 mov ecx,ebx | 1313 mov ecx,ebx |
1352 movups xmm2,[edi-16] | 1314 movups xmm2,[edi-16] |
1353 xorps xmm2,xmm5 | 1315 xorps xmm2,xmm5 |
1354 movups xmm0,[edx] | 1316 movups xmm0,[edx] |
1355 movups xmm1,[16+edx] | 1317 movups xmm1,[16+edx] |
1356 lea edx,[32+edx] | 1318 lea edx,[32+edx] |
1357 xorps xmm2,xmm0 | 1319 xorps xmm2,xmm0 |
1358 L$058enc1_loop_10: | 1320 L$056enc1_loop_10: |
1359 db 102,15,56,220,209 | 1321 db 102,15,56,220,209 |
1360 dec ecx | 1322 dec ecx |
1361 movups xmm1,[edx] | 1323 movups xmm1,[edx] |
1362 lea edx,[16+edx] | 1324 lea edx,[16+edx] |
1363 » jnz» NEAR L$058enc1_loop_10 | 1325 » jnz» NEAR L$056enc1_loop_10 |
1364 db 102,15,56,221,209 | 1326 db 102,15,56,221,209 |
1365 xorps xmm2,xmm5 | 1327 xorps xmm2,xmm5 |
1366 movups [edi-16],xmm2 | 1328 movups [edi-16],xmm2 |
1367 L$056xts_enc_ret: | 1329 L$054xts_enc_ret: |
1368 » pxor» xmm0,xmm0 | |
1369 » pxor» xmm1,xmm1 | |
1370 » pxor» xmm2,xmm2 | |
1371 » movdqa» [esp],xmm0 | |
1372 » pxor» xmm3,xmm3 | |
1373 » movdqa» [16+esp],xmm0 | |
1374 » pxor» xmm4,xmm4 | |
1375 » movdqa» [32+esp],xmm0 | |
1376 » pxor» xmm5,xmm5 | |
1377 » movdqa» [48+esp],xmm0 | |
1378 » pxor» xmm6,xmm6 | |
1379 » movdqa» [64+esp],xmm0 | |
1380 » pxor» xmm7,xmm7 | |
1381 » movdqa» [80+esp],xmm0 | |
1382 mov esp,DWORD [116+esp] | 1330 mov esp,DWORD [116+esp] |
1383 pop edi | 1331 pop edi |
1384 pop esi | 1332 pop esi |
1385 pop ebx | 1333 pop ebx |
1386 pop ebp | 1334 pop ebp |
1387 ret | 1335 ret |
1388 global _aesni_xts_decrypt | 1336 global _aesni_xts_decrypt |
1389 align 16 | 1337 align 16 |
1390 _aesni_xts_decrypt: | 1338 _aesni_xts_decrypt: |
1391 L$_aesni_xts_decrypt_begin: | 1339 L$_aesni_xts_decrypt_begin: |
1392 push ebp | 1340 push ebp |
1393 push ebx | 1341 push ebx |
1394 push esi | 1342 push esi |
1395 push edi | 1343 push edi |
1396 mov edx,DWORD [36+esp] | 1344 mov edx,DWORD [36+esp] |
1397 mov esi,DWORD [40+esp] | 1345 mov esi,DWORD [40+esp] |
1398 mov ecx,DWORD [240+edx] | 1346 mov ecx,DWORD [240+edx] |
1399 movups xmm2,[esi] | 1347 movups xmm2,[esi] |
1400 movups xmm0,[edx] | 1348 movups xmm0,[edx] |
1401 movups xmm1,[16+edx] | 1349 movups xmm1,[16+edx] |
1402 lea edx,[32+edx] | 1350 lea edx,[32+edx] |
1403 xorps xmm2,xmm0 | 1351 xorps xmm2,xmm0 |
1404 L$059enc1_loop_11: | 1352 L$057enc1_loop_11: |
1405 db 102,15,56,220,209 | 1353 db 102,15,56,220,209 |
1406 dec ecx | 1354 dec ecx |
1407 movups xmm1,[edx] | 1355 movups xmm1,[edx] |
1408 lea edx,[16+edx] | 1356 lea edx,[16+edx] |
1409 » jnz» NEAR L$059enc1_loop_11 | 1357 » jnz» NEAR L$057enc1_loop_11 |
1410 db 102,15,56,221,209 | 1358 db 102,15,56,221,209 |
1411 mov esi,DWORD [20+esp] | 1359 mov esi,DWORD [20+esp] |
1412 mov edi,DWORD [24+esp] | 1360 mov edi,DWORD [24+esp] |
1413 mov eax,DWORD [28+esp] | 1361 mov eax,DWORD [28+esp] |
1414 mov edx,DWORD [32+esp] | 1362 mov edx,DWORD [32+esp] |
1415 mov ebp,esp | 1363 mov ebp,esp |
1416 sub esp,120 | 1364 sub esp,120 |
1417 and esp,-16 | 1365 and esp,-16 |
1418 xor ebx,ebx | 1366 xor ebx,ebx |
1419 test eax,15 | 1367 test eax,15 |
1420 setnz bl | 1368 setnz bl |
1421 shl ebx,4 | 1369 shl ebx,4 |
1422 sub eax,ebx | 1370 sub eax,ebx |
1423 mov DWORD [96+esp],135 | 1371 mov DWORD [96+esp],135 |
1424 mov DWORD [100+esp],0 | 1372 mov DWORD [100+esp],0 |
1425 mov DWORD [104+esp],1 | 1373 mov DWORD [104+esp],1 |
1426 mov DWORD [108+esp],0 | 1374 mov DWORD [108+esp],0 |
1427 mov DWORD [112+esp],eax | 1375 mov DWORD [112+esp],eax |
1428 mov DWORD [116+esp],ebp | 1376 mov DWORD [116+esp],ebp |
1429 mov ecx,DWORD [240+edx] | 1377 mov ecx,DWORD [240+edx] |
1430 mov ebp,edx | 1378 mov ebp,edx |
1431 mov ebx,ecx | 1379 mov ebx,ecx |
1432 movdqa xmm1,xmm2 | 1380 movdqa xmm1,xmm2 |
1433 pxor xmm0,xmm0 | 1381 pxor xmm0,xmm0 |
1434 movdqa xmm3,[96+esp] | 1382 movdqa xmm3,[96+esp] |
1435 pcmpgtd xmm0,xmm1 | 1383 pcmpgtd xmm0,xmm1 |
1436 and eax,-16 | 1384 and eax,-16 |
1437 sub eax,96 | 1385 sub eax,96 |
1438 » jc» NEAR L$060xts_dec_short | 1386 » jc» NEAR L$058xts_dec_short |
1439 shl ecx,4 | 1387 shl ecx,4 |
1440 mov ebx,16 | 1388 mov ebx,16 |
1441 sub ebx,ecx | 1389 sub ebx,ecx |
1442 lea edx,[32+ecx*1+edx] | 1390 lea edx,[32+ecx*1+edx] |
1443 » jmp» NEAR L$061xts_dec_loop6 | 1391 » jmp» NEAR L$059xts_dec_loop6 |
1444 align 16 | 1392 align 16 |
1445 L$061xts_dec_loop6: | 1393 L$059xts_dec_loop6: |
1446 pshufd xmm2,xmm0,19 | 1394 pshufd xmm2,xmm0,19 |
1447 pxor xmm0,xmm0 | 1395 pxor xmm0,xmm0 |
1448 movdqa [esp],xmm1 | 1396 movdqa [esp],xmm1 |
1449 paddq xmm1,xmm1 | 1397 paddq xmm1,xmm1 |
1450 pand xmm2,xmm3 | 1398 pand xmm2,xmm3 |
1451 pcmpgtd xmm0,xmm1 | 1399 pcmpgtd xmm0,xmm1 |
1452 pxor xmm1,xmm2 | 1400 pxor xmm1,xmm2 |
1453 pshufd xmm2,xmm0,19 | 1401 pshufd xmm2,xmm0,19 |
1454 pxor xmm0,xmm0 | 1402 pxor xmm0,xmm0 |
1455 movdqa [16+esp],xmm1 | 1403 movdqa [16+esp],xmm1 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1524 pshufd xmm2,xmm0,19 | 1472 pshufd xmm2,xmm0,19 |
1525 movups [80+edi],xmm7 | 1473 movups [80+edi],xmm7 |
1526 lea edi,[96+edi] | 1474 lea edi,[96+edi] |
1527 movdqa xmm3,[96+esp] | 1475 movdqa xmm3,[96+esp] |
1528 pxor xmm0,xmm0 | 1476 pxor xmm0,xmm0 |
1529 paddq xmm1,xmm1 | 1477 paddq xmm1,xmm1 |
1530 pand xmm2,xmm3 | 1478 pand xmm2,xmm3 |
1531 pcmpgtd xmm0,xmm1 | 1479 pcmpgtd xmm0,xmm1 |
1532 pxor xmm1,xmm2 | 1480 pxor xmm1,xmm2 |
1533 sub eax,96 | 1481 sub eax,96 |
1534 » jnc» NEAR L$061xts_dec_loop6 | 1482 » jnc» NEAR L$059xts_dec_loop6 |
1535 mov ecx,DWORD [240+ebp] | 1483 mov ecx,DWORD [240+ebp] |
1536 mov edx,ebp | 1484 mov edx,ebp |
1537 mov ebx,ecx | 1485 mov ebx,ecx |
1538 L$060xts_dec_short: | 1486 L$058xts_dec_short: |
1539 add eax,96 | 1487 add eax,96 |
1540 » jz» NEAR L$062xts_dec_done6x | 1488 » jz» NEAR L$060xts_dec_done6x |
1541 movdqa xmm5,xmm1 | 1489 movdqa xmm5,xmm1 |
1542 cmp eax,32 | 1490 cmp eax,32 |
1543 » jb» NEAR L$063xts_dec_one | 1491 » jb» NEAR L$061xts_dec_one |
1544 pshufd xmm2,xmm0,19 | 1492 pshufd xmm2,xmm0,19 |
1545 pxor xmm0,xmm0 | 1493 pxor xmm0,xmm0 |
1546 paddq xmm1,xmm1 | 1494 paddq xmm1,xmm1 |
1547 pand xmm2,xmm3 | 1495 pand xmm2,xmm3 |
1548 pcmpgtd xmm0,xmm1 | 1496 pcmpgtd xmm0,xmm1 |
1549 pxor xmm1,xmm2 | 1497 pxor xmm1,xmm2 |
1550 » je» NEAR L$064xts_dec_two | 1498 » je» NEAR L$062xts_dec_two |
1551 pshufd xmm2,xmm0,19 | 1499 pshufd xmm2,xmm0,19 |
1552 pxor xmm0,xmm0 | 1500 pxor xmm0,xmm0 |
1553 movdqa xmm6,xmm1 | 1501 movdqa xmm6,xmm1 |
1554 paddq xmm1,xmm1 | 1502 paddq xmm1,xmm1 |
1555 pand xmm2,xmm3 | 1503 pand xmm2,xmm3 |
1556 pcmpgtd xmm0,xmm1 | 1504 pcmpgtd xmm0,xmm1 |
1557 pxor xmm1,xmm2 | 1505 pxor xmm1,xmm2 |
1558 cmp eax,64 | 1506 cmp eax,64 |
1559 » jb» NEAR L$065xts_dec_three | 1507 » jb» NEAR L$063xts_dec_three |
1560 pshufd xmm2,xmm0,19 | 1508 pshufd xmm2,xmm0,19 |
1561 pxor xmm0,xmm0 | 1509 pxor xmm0,xmm0 |
1562 movdqa xmm7,xmm1 | 1510 movdqa xmm7,xmm1 |
1563 paddq xmm1,xmm1 | 1511 paddq xmm1,xmm1 |
1564 pand xmm2,xmm3 | 1512 pand xmm2,xmm3 |
1565 pcmpgtd xmm0,xmm1 | 1513 pcmpgtd xmm0,xmm1 |
1566 pxor xmm1,xmm2 | 1514 pxor xmm1,xmm2 |
1567 movdqa [esp],xmm5 | 1515 movdqa [esp],xmm5 |
1568 movdqa [16+esp],xmm6 | 1516 movdqa [16+esp],xmm6 |
1569 » je» NEAR L$066xts_dec_four | 1517 » je» NEAR L$064xts_dec_four |
1570 movdqa [32+esp],xmm7 | 1518 movdqa [32+esp],xmm7 |
1571 pshufd xmm7,xmm0,19 | 1519 pshufd xmm7,xmm0,19 |
1572 movdqa [48+esp],xmm1 | 1520 movdqa [48+esp],xmm1 |
1573 paddq xmm1,xmm1 | 1521 paddq xmm1,xmm1 |
1574 pand xmm7,xmm3 | 1522 pand xmm7,xmm3 |
1575 pxor xmm7,xmm1 | 1523 pxor xmm7,xmm1 |
1576 movdqu xmm2,[esi] | 1524 movdqu xmm2,[esi] |
1577 movdqu xmm3,[16+esi] | 1525 movdqu xmm3,[16+esi] |
1578 movdqu xmm4,[32+esi] | 1526 movdqu xmm4,[32+esi] |
1579 pxor xmm2,[esp] | 1527 pxor xmm2,[esp] |
(...skipping 11 matching lines...) Expand all Loading... |
1591 xorps xmm3,[16+esp] | 1539 xorps xmm3,[16+esp] |
1592 xorps xmm4,[32+esp] | 1540 xorps xmm4,[32+esp] |
1593 movups [edi],xmm2 | 1541 movups [edi],xmm2 |
1594 xorps xmm5,[48+esp] | 1542 xorps xmm5,[48+esp] |
1595 movups [16+edi],xmm3 | 1543 movups [16+edi],xmm3 |
1596 xorps xmm6,xmm1 | 1544 xorps xmm6,xmm1 |
1597 movups [32+edi],xmm4 | 1545 movups [32+edi],xmm4 |
1598 movups [48+edi],xmm5 | 1546 movups [48+edi],xmm5 |
1599 movups [64+edi],xmm6 | 1547 movups [64+edi],xmm6 |
1600 lea edi,[80+edi] | 1548 lea edi,[80+edi] |
1601 » jmp» NEAR L$067xts_dec_done | 1549 » jmp» NEAR L$065xts_dec_done |
1602 align 16 | 1550 align 16 |
1603 L$063xts_dec_one: | 1551 L$061xts_dec_one: |
1604 movups xmm2,[esi] | 1552 movups xmm2,[esi] |
1605 lea esi,[16+esi] | 1553 lea esi,[16+esi] |
1606 xorps xmm2,xmm5 | 1554 xorps xmm2,xmm5 |
1607 movups xmm0,[edx] | 1555 movups xmm0,[edx] |
1608 movups xmm1,[16+edx] | 1556 movups xmm1,[16+edx] |
1609 lea edx,[32+edx] | 1557 lea edx,[32+edx] |
1610 xorps xmm2,xmm0 | 1558 xorps xmm2,xmm0 |
1611 L$068dec1_loop_12: | 1559 L$066dec1_loop_12: |
1612 db 102,15,56,222,209 | 1560 db 102,15,56,222,209 |
1613 dec ecx | 1561 dec ecx |
1614 movups xmm1,[edx] | 1562 movups xmm1,[edx] |
1615 lea edx,[16+edx] | 1563 lea edx,[16+edx] |
1616 » jnz» NEAR L$068dec1_loop_12 | 1564 » jnz» NEAR L$066dec1_loop_12 |
1617 db 102,15,56,223,209 | 1565 db 102,15,56,223,209 |
1618 xorps xmm2,xmm5 | 1566 xorps xmm2,xmm5 |
1619 movups [edi],xmm2 | 1567 movups [edi],xmm2 |
1620 lea edi,[16+edi] | 1568 lea edi,[16+edi] |
1621 movdqa xmm1,xmm5 | 1569 movdqa xmm1,xmm5 |
1622 » jmp» NEAR L$067xts_dec_done | 1570 » jmp» NEAR L$065xts_dec_done |
1623 align 16 | 1571 align 16 |
1624 L$064xts_dec_two: | 1572 L$062xts_dec_two: |
1625 movaps xmm6,xmm1 | 1573 movaps xmm6,xmm1 |
1626 movups xmm2,[esi] | 1574 movups xmm2,[esi] |
1627 movups xmm3,[16+esi] | 1575 movups xmm3,[16+esi] |
1628 lea esi,[32+esi] | 1576 lea esi,[32+esi] |
1629 xorps xmm2,xmm5 | 1577 xorps xmm2,xmm5 |
1630 xorps xmm3,xmm6 | 1578 xorps xmm3,xmm6 |
1631 call __aesni_decrypt2 | 1579 call __aesni_decrypt2 |
1632 xorps xmm2,xmm5 | 1580 xorps xmm2,xmm5 |
1633 xorps xmm3,xmm6 | 1581 xorps xmm3,xmm6 |
1634 movups [edi],xmm2 | 1582 movups [edi],xmm2 |
1635 movups [16+edi],xmm3 | 1583 movups [16+edi],xmm3 |
1636 lea edi,[32+edi] | 1584 lea edi,[32+edi] |
1637 movdqa xmm1,xmm6 | 1585 movdqa xmm1,xmm6 |
1638 » jmp» NEAR L$067xts_dec_done | 1586 » jmp» NEAR L$065xts_dec_done |
1639 align 16 | 1587 align 16 |
1640 L$065xts_dec_three: | 1588 L$063xts_dec_three: |
1641 movaps xmm7,xmm1 | 1589 movaps xmm7,xmm1 |
1642 movups xmm2,[esi] | 1590 movups xmm2,[esi] |
1643 movups xmm3,[16+esi] | 1591 movups xmm3,[16+esi] |
1644 movups xmm4,[32+esi] | 1592 movups xmm4,[32+esi] |
1645 lea esi,[48+esi] | 1593 lea esi,[48+esi] |
1646 xorps xmm2,xmm5 | 1594 xorps xmm2,xmm5 |
1647 xorps xmm3,xmm6 | 1595 xorps xmm3,xmm6 |
1648 xorps xmm4,xmm7 | 1596 xorps xmm4,xmm7 |
1649 call __aesni_decrypt3 | 1597 call __aesni_decrypt3 |
1650 xorps xmm2,xmm5 | 1598 xorps xmm2,xmm5 |
1651 xorps xmm3,xmm6 | 1599 xorps xmm3,xmm6 |
1652 xorps xmm4,xmm7 | 1600 xorps xmm4,xmm7 |
1653 movups [edi],xmm2 | 1601 movups [edi],xmm2 |
1654 movups [16+edi],xmm3 | 1602 movups [16+edi],xmm3 |
1655 movups [32+edi],xmm4 | 1603 movups [32+edi],xmm4 |
1656 lea edi,[48+edi] | 1604 lea edi,[48+edi] |
1657 movdqa xmm1,xmm7 | 1605 movdqa xmm1,xmm7 |
1658 » jmp» NEAR L$067xts_dec_done | 1606 » jmp» NEAR L$065xts_dec_done |
1659 align 16 | 1607 align 16 |
1660 L$066xts_dec_four: | 1608 L$064xts_dec_four: |
1661 movaps xmm6,xmm1 | 1609 movaps xmm6,xmm1 |
1662 movups xmm2,[esi] | 1610 movups xmm2,[esi] |
1663 movups xmm3,[16+esi] | 1611 movups xmm3,[16+esi] |
1664 movups xmm4,[32+esi] | 1612 movups xmm4,[32+esi] |
1665 xorps xmm2,[esp] | 1613 xorps xmm2,[esp] |
1666 movups xmm5,[48+esi] | 1614 movups xmm5,[48+esi] |
1667 lea esi,[64+esi] | 1615 lea esi,[64+esi] |
1668 xorps xmm3,[16+esp] | 1616 xorps xmm3,[16+esp] |
1669 xorps xmm4,xmm7 | 1617 xorps xmm4,xmm7 |
1670 xorps xmm5,xmm6 | 1618 xorps xmm5,xmm6 |
1671 call __aesni_decrypt4 | 1619 call __aesni_decrypt4 |
1672 xorps xmm2,[esp] | 1620 xorps xmm2,[esp] |
1673 xorps xmm3,[16+esp] | 1621 xorps xmm3,[16+esp] |
1674 xorps xmm4,xmm7 | 1622 xorps xmm4,xmm7 |
1675 movups [edi],xmm2 | 1623 movups [edi],xmm2 |
1676 xorps xmm5,xmm6 | 1624 xorps xmm5,xmm6 |
1677 movups [16+edi],xmm3 | 1625 movups [16+edi],xmm3 |
1678 movups [32+edi],xmm4 | 1626 movups [32+edi],xmm4 |
1679 movups [48+edi],xmm5 | 1627 movups [48+edi],xmm5 |
1680 lea edi,[64+edi] | 1628 lea edi,[64+edi] |
1681 movdqa xmm1,xmm6 | 1629 movdqa xmm1,xmm6 |
1682 » jmp» NEAR L$067xts_dec_done | 1630 » jmp» NEAR L$065xts_dec_done |
1683 align 16 | 1631 align 16 |
1684 L$062xts_dec_done6x: | 1632 L$060xts_dec_done6x: |
1685 mov eax,DWORD [112+esp] | 1633 mov eax,DWORD [112+esp] |
1686 and eax,15 | 1634 and eax,15 |
1687 » jz» NEAR L$069xts_dec_ret | 1635 » jz» NEAR L$067xts_dec_ret |
1688 mov DWORD [112+esp],eax | 1636 mov DWORD [112+esp],eax |
1689 » jmp» NEAR L$070xts_dec_only_one_more | 1637 » jmp» NEAR L$068xts_dec_only_one_more |
1690 align 16 | 1638 align 16 |
1691 L$067xts_dec_done: | 1639 L$065xts_dec_done: |
1692 mov eax,DWORD [112+esp] | 1640 mov eax,DWORD [112+esp] |
1693 pxor xmm0,xmm0 | 1641 pxor xmm0,xmm0 |
1694 and eax,15 | 1642 and eax,15 |
1695 » jz» NEAR L$069xts_dec_ret | 1643 » jz» NEAR L$067xts_dec_ret |
1696 pcmpgtd xmm0,xmm1 | 1644 pcmpgtd xmm0,xmm1 |
1697 mov DWORD [112+esp],eax | 1645 mov DWORD [112+esp],eax |
1698 pshufd xmm2,xmm0,19 | 1646 pshufd xmm2,xmm0,19 |
1699 pxor xmm0,xmm0 | 1647 pxor xmm0,xmm0 |
1700 movdqa xmm3,[96+esp] | 1648 movdqa xmm3,[96+esp] |
1701 paddq xmm1,xmm1 | 1649 paddq xmm1,xmm1 |
1702 pand xmm2,xmm3 | 1650 pand xmm2,xmm3 |
1703 pcmpgtd xmm0,xmm1 | 1651 pcmpgtd xmm0,xmm1 |
1704 pxor xmm1,xmm2 | 1652 pxor xmm1,xmm2 |
1705 L$070xts_dec_only_one_more: | 1653 L$068xts_dec_only_one_more: |
1706 pshufd xmm5,xmm0,19 | 1654 pshufd xmm5,xmm0,19 |
1707 movdqa xmm6,xmm1 | 1655 movdqa xmm6,xmm1 |
1708 paddq xmm1,xmm1 | 1656 paddq xmm1,xmm1 |
1709 pand xmm5,xmm3 | 1657 pand xmm5,xmm3 |
1710 pxor xmm5,xmm1 | 1658 pxor xmm5,xmm1 |
1711 mov edx,ebp | 1659 mov edx,ebp |
1712 mov ecx,ebx | 1660 mov ecx,ebx |
1713 movups xmm2,[esi] | 1661 movups xmm2,[esi] |
1714 xorps xmm2,xmm5 | 1662 xorps xmm2,xmm5 |
1715 movups xmm0,[edx] | 1663 movups xmm0,[edx] |
1716 movups xmm1,[16+edx] | 1664 movups xmm1,[16+edx] |
1717 lea edx,[32+edx] | 1665 lea edx,[32+edx] |
1718 xorps xmm2,xmm0 | 1666 xorps xmm2,xmm0 |
1719 L$071dec1_loop_13: | 1667 L$069dec1_loop_13: |
1720 db 102,15,56,222,209 | 1668 db 102,15,56,222,209 |
1721 dec ecx | 1669 dec ecx |
1722 movups xmm1,[edx] | 1670 movups xmm1,[edx] |
1723 lea edx,[16+edx] | 1671 lea edx,[16+edx] |
1724 » jnz» NEAR L$071dec1_loop_13 | 1672 » jnz» NEAR L$069dec1_loop_13 |
1725 db 102,15,56,223,209 | 1673 db 102,15,56,223,209 |
1726 xorps xmm2,xmm5 | 1674 xorps xmm2,xmm5 |
1727 movups [edi],xmm2 | 1675 movups [edi],xmm2 |
1728 L$072xts_dec_steal: | 1676 L$070xts_dec_steal: |
1729 movzx ecx,BYTE [16+esi] | 1677 movzx ecx,BYTE [16+esi] |
1730 movzx edx,BYTE [edi] | 1678 movzx edx,BYTE [edi] |
1731 lea esi,[1+esi] | 1679 lea esi,[1+esi] |
1732 mov BYTE [edi],cl | 1680 mov BYTE [edi],cl |
1733 mov BYTE [16+edi],dl | 1681 mov BYTE [16+edi],dl |
1734 lea edi,[1+edi] | 1682 lea edi,[1+edi] |
1735 sub eax,1 | 1683 sub eax,1 |
1736 » jnz» NEAR L$072xts_dec_steal | 1684 » jnz» NEAR L$070xts_dec_steal |
1737 sub edi,DWORD [112+esp] | 1685 sub edi,DWORD [112+esp] |
1738 mov edx,ebp | 1686 mov edx,ebp |
1739 mov ecx,ebx | 1687 mov ecx,ebx |
1740 movups xmm2,[edi] | 1688 movups xmm2,[edi] |
1741 xorps xmm2,xmm6 | 1689 xorps xmm2,xmm6 |
1742 movups xmm0,[edx] | 1690 movups xmm0,[edx] |
1743 movups xmm1,[16+edx] | 1691 movups xmm1,[16+edx] |
1744 lea edx,[32+edx] | 1692 lea edx,[32+edx] |
1745 xorps xmm2,xmm0 | 1693 xorps xmm2,xmm0 |
1746 L$073dec1_loop_14: | 1694 L$071dec1_loop_14: |
1747 db 102,15,56,222,209 | 1695 db 102,15,56,222,209 |
1748 dec ecx | 1696 dec ecx |
1749 movups xmm1,[edx] | 1697 movups xmm1,[edx] |
1750 lea edx,[16+edx] | 1698 lea edx,[16+edx] |
1751 » jnz» NEAR L$073dec1_loop_14 | 1699 » jnz» NEAR L$071dec1_loop_14 |
1752 db 102,15,56,223,209 | 1700 db 102,15,56,223,209 |
1753 xorps xmm2,xmm6 | 1701 xorps xmm2,xmm6 |
1754 movups [edi],xmm2 | 1702 movups [edi],xmm2 |
1755 L$069xts_dec_ret: | 1703 L$067xts_dec_ret: |
1756 » pxor» xmm0,xmm0 | |
1757 » pxor» xmm1,xmm1 | |
1758 » pxor» xmm2,xmm2 | |
1759 » movdqa» [esp],xmm0 | |
1760 » pxor» xmm3,xmm3 | |
1761 » movdqa» [16+esp],xmm0 | |
1762 » pxor» xmm4,xmm4 | |
1763 » movdqa» [32+esp],xmm0 | |
1764 » pxor» xmm5,xmm5 | |
1765 » movdqa» [48+esp],xmm0 | |
1766 » pxor» xmm6,xmm6 | |
1767 » movdqa» [64+esp],xmm0 | |
1768 » pxor» xmm7,xmm7 | |
1769 » movdqa» [80+esp],xmm0 | |
1770 mov esp,DWORD [116+esp] | 1704 mov esp,DWORD [116+esp] |
1771 pop edi | 1705 pop edi |
1772 pop esi | 1706 pop esi |
1773 pop ebx | 1707 pop ebx |
1774 pop ebp | 1708 pop ebp |
1775 ret | 1709 ret |
1776 global _aesni_cbc_encrypt | 1710 global _aesni_cbc_encrypt |
1777 align 16 | 1711 align 16 |
1778 _aesni_cbc_encrypt: | 1712 _aesni_cbc_encrypt: |
1779 L$_aesni_cbc_encrypt_begin: | 1713 L$_aesni_cbc_encrypt_begin: |
1780 push ebp | 1714 push ebp |
1781 push ebx | 1715 push ebx |
1782 push esi | 1716 push esi |
1783 push edi | 1717 push edi |
1784 mov esi,DWORD [20+esp] | 1718 mov esi,DWORD [20+esp] |
1785 mov ebx,esp | 1719 mov ebx,esp |
1786 mov edi,DWORD [24+esp] | 1720 mov edi,DWORD [24+esp] |
1787 sub ebx,24 | 1721 sub ebx,24 |
1788 mov eax,DWORD [28+esp] | 1722 mov eax,DWORD [28+esp] |
1789 and ebx,-16 | 1723 and ebx,-16 |
1790 mov edx,DWORD [32+esp] | 1724 mov edx,DWORD [32+esp] |
1791 mov ebp,DWORD [36+esp] | 1725 mov ebp,DWORD [36+esp] |
1792 test eax,eax | 1726 test eax,eax |
1793 » jz» NEAR L$074cbc_abort | 1727 » jz» NEAR L$072cbc_abort |
1794 cmp DWORD [40+esp],0 | 1728 cmp DWORD [40+esp],0 |
1795 xchg ebx,esp | 1729 xchg ebx,esp |
1796 movups xmm7,[ebp] | 1730 movups xmm7,[ebp] |
1797 mov ecx,DWORD [240+edx] | 1731 mov ecx,DWORD [240+edx] |
1798 mov ebp,edx | 1732 mov ebp,edx |
1799 mov DWORD [16+esp],ebx | 1733 mov DWORD [16+esp],ebx |
1800 mov ebx,ecx | 1734 mov ebx,ecx |
1801 » je» NEAR L$075cbc_decrypt | 1735 » je» NEAR L$073cbc_decrypt |
1802 movaps xmm2,xmm7 | 1736 movaps xmm2,xmm7 |
1803 cmp eax,16 | 1737 cmp eax,16 |
1804 » jb» NEAR L$076cbc_enc_tail | 1738 » jb» NEAR L$074cbc_enc_tail |
1805 sub eax,16 | 1739 sub eax,16 |
1806 » jmp» NEAR L$077cbc_enc_loop | 1740 » jmp» NEAR L$075cbc_enc_loop |
1807 align 16 | 1741 align 16 |
1808 L$077cbc_enc_loop: | 1742 L$075cbc_enc_loop: |
1809 movups xmm7,[esi] | 1743 movups xmm7,[esi] |
1810 lea esi,[16+esi] | 1744 lea esi,[16+esi] |
1811 movups xmm0,[edx] | 1745 movups xmm0,[edx] |
1812 movups xmm1,[16+edx] | 1746 movups xmm1,[16+edx] |
1813 xorps xmm7,xmm0 | 1747 xorps xmm7,xmm0 |
1814 lea edx,[32+edx] | 1748 lea edx,[32+edx] |
1815 xorps xmm2,xmm7 | 1749 xorps xmm2,xmm7 |
1816 L$078enc1_loop_15: | 1750 L$076enc1_loop_15: |
1817 db 102,15,56,220,209 | 1751 db 102,15,56,220,209 |
1818 dec ecx | 1752 dec ecx |
1819 movups xmm1,[edx] | 1753 movups xmm1,[edx] |
1820 lea edx,[16+edx] | 1754 lea edx,[16+edx] |
1821 » jnz» NEAR L$078enc1_loop_15 | 1755 » jnz» NEAR L$076enc1_loop_15 |
1822 db 102,15,56,221,209 | 1756 db 102,15,56,221,209 |
1823 mov ecx,ebx | 1757 mov ecx,ebx |
1824 mov edx,ebp | 1758 mov edx,ebp |
1825 movups [edi],xmm2 | 1759 movups [edi],xmm2 |
1826 lea edi,[16+edi] | 1760 lea edi,[16+edi] |
1827 sub eax,16 | 1761 sub eax,16 |
1828 » jnc» NEAR L$077cbc_enc_loop | 1762 » jnc» NEAR L$075cbc_enc_loop |
1829 add eax,16 | 1763 add eax,16 |
1830 » jnz» NEAR L$076cbc_enc_tail | 1764 » jnz» NEAR L$074cbc_enc_tail |
1831 movaps xmm7,xmm2 | 1765 movaps xmm7,xmm2 |
1832 » pxor» xmm2,xmm2 | 1766 » jmp» NEAR L$077cbc_ret |
1833 » jmp» NEAR L$079cbc_ret | 1767 L$074cbc_enc_tail: |
1834 L$076cbc_enc_tail: | |
1835 mov ecx,eax | 1768 mov ecx,eax |
1836 dd 2767451785 | 1769 dd 2767451785 |
1837 mov ecx,16 | 1770 mov ecx,16 |
1838 sub ecx,eax | 1771 sub ecx,eax |
1839 xor eax,eax | 1772 xor eax,eax |
1840 dd 2868115081 | 1773 dd 2868115081 |
1841 lea edi,[edi-16] | 1774 lea edi,[edi-16] |
1842 mov ecx,ebx | 1775 mov ecx,ebx |
1843 mov esi,edi | 1776 mov esi,edi |
1844 mov edx,ebp | 1777 mov edx,ebp |
1845 » jmp» NEAR L$077cbc_enc_loop | 1778 » jmp» NEAR L$075cbc_enc_loop |
1846 align 16 | 1779 align 16 |
1847 L$075cbc_decrypt: | 1780 L$073cbc_decrypt: |
1848 cmp eax,80 | 1781 cmp eax,80 |
1849 » jbe» NEAR L$080cbc_dec_tail | 1782 » jbe» NEAR L$078cbc_dec_tail |
1850 movaps [esp],xmm7 | 1783 movaps [esp],xmm7 |
1851 sub eax,80 | 1784 sub eax,80 |
1852 » jmp» NEAR L$081cbc_dec_loop6_enter | 1785 » jmp» NEAR L$079cbc_dec_loop6_enter |
1853 align 16 | 1786 align 16 |
1854 L$082cbc_dec_loop6: | 1787 L$080cbc_dec_loop6: |
1855 movaps [esp],xmm0 | 1788 movaps [esp],xmm0 |
1856 movups [edi],xmm7 | 1789 movups [edi],xmm7 |
1857 lea edi,[16+edi] | 1790 lea edi,[16+edi] |
1858 L$081cbc_dec_loop6_enter: | 1791 L$079cbc_dec_loop6_enter: |
1859 movdqu xmm2,[esi] | 1792 movdqu xmm2,[esi] |
1860 movdqu xmm3,[16+esi] | 1793 movdqu xmm3,[16+esi] |
1861 movdqu xmm4,[32+esi] | 1794 movdqu xmm4,[32+esi] |
1862 movdqu xmm5,[48+esi] | 1795 movdqu xmm5,[48+esi] |
1863 movdqu xmm6,[64+esi] | 1796 movdqu xmm6,[64+esi] |
1864 movdqu xmm7,[80+esi] | 1797 movdqu xmm7,[80+esi] |
1865 call __aesni_decrypt6 | 1798 call __aesni_decrypt6 |
1866 movups xmm1,[esi] | 1799 movups xmm1,[esi] |
1867 movups xmm0,[16+esi] | 1800 movups xmm0,[16+esi] |
1868 xorps xmm2,[esp] | 1801 xorps xmm2,[esp] |
1869 xorps xmm3,xmm1 | 1802 xorps xmm3,xmm1 |
1870 movups xmm1,[32+esi] | 1803 movups xmm1,[32+esi] |
1871 xorps xmm4,xmm0 | 1804 xorps xmm4,xmm0 |
1872 movups xmm0,[48+esi] | 1805 movups xmm0,[48+esi] |
1873 xorps xmm5,xmm1 | 1806 xorps xmm5,xmm1 |
1874 movups xmm1,[64+esi] | 1807 movups xmm1,[64+esi] |
1875 xorps xmm6,xmm0 | 1808 xorps xmm6,xmm0 |
1876 movups xmm0,[80+esi] | 1809 movups xmm0,[80+esi] |
1877 xorps xmm7,xmm1 | 1810 xorps xmm7,xmm1 |
1878 movups [edi],xmm2 | 1811 movups [edi],xmm2 |
1879 movups [16+edi],xmm3 | 1812 movups [16+edi],xmm3 |
1880 lea esi,[96+esi] | 1813 lea esi,[96+esi] |
1881 movups [32+edi],xmm4 | 1814 movups [32+edi],xmm4 |
1882 mov ecx,ebx | 1815 mov ecx,ebx |
1883 movups [48+edi],xmm5 | 1816 movups [48+edi],xmm5 |
1884 mov edx,ebp | 1817 mov edx,ebp |
1885 movups [64+edi],xmm6 | 1818 movups [64+edi],xmm6 |
1886 lea edi,[80+edi] | 1819 lea edi,[80+edi] |
1887 sub eax,96 | 1820 sub eax,96 |
1888 » ja» NEAR L$082cbc_dec_loop6 | 1821 » ja» NEAR L$080cbc_dec_loop6 |
1889 movaps xmm2,xmm7 | 1822 movaps xmm2,xmm7 |
1890 movaps xmm7,xmm0 | 1823 movaps xmm7,xmm0 |
1891 add eax,80 | 1824 add eax,80 |
1892 » jle» NEAR L$083cbc_dec_clear_tail_collected | 1825 » jle» NEAR L$081cbc_dec_tail_collected |
1893 movups [edi],xmm2 | 1826 movups [edi],xmm2 |
1894 lea edi,[16+edi] | 1827 lea edi,[16+edi] |
1895 L$080cbc_dec_tail: | 1828 L$078cbc_dec_tail: |
1896 movups xmm2,[esi] | 1829 movups xmm2,[esi] |
1897 movaps xmm6,xmm2 | 1830 movaps xmm6,xmm2 |
1898 cmp eax,16 | 1831 cmp eax,16 |
1899 » jbe» NEAR L$084cbc_dec_one | 1832 » jbe» NEAR L$082cbc_dec_one |
1900 movups xmm3,[16+esi] | 1833 movups xmm3,[16+esi] |
1901 movaps xmm5,xmm3 | 1834 movaps xmm5,xmm3 |
1902 cmp eax,32 | 1835 cmp eax,32 |
1903 » jbe» NEAR L$085cbc_dec_two | 1836 » jbe» NEAR L$083cbc_dec_two |
1904 movups xmm4,[32+esi] | 1837 movups xmm4,[32+esi] |
1905 cmp eax,48 | 1838 cmp eax,48 |
1906 » jbe» NEAR L$086cbc_dec_three | 1839 » jbe» NEAR L$084cbc_dec_three |
1907 movups xmm5,[48+esi] | 1840 movups xmm5,[48+esi] |
1908 cmp eax,64 | 1841 cmp eax,64 |
1909 » jbe» NEAR L$087cbc_dec_four | 1842 » jbe» NEAR L$085cbc_dec_four |
1910 movups xmm6,[64+esi] | 1843 movups xmm6,[64+esi] |
1911 movaps [esp],xmm7 | 1844 movaps [esp],xmm7 |
1912 movups xmm2,[esi] | 1845 movups xmm2,[esi] |
1913 xorps xmm7,xmm7 | 1846 xorps xmm7,xmm7 |
1914 call __aesni_decrypt6 | 1847 call __aesni_decrypt6 |
1915 movups xmm1,[esi] | 1848 movups xmm1,[esi] |
1916 movups xmm0,[16+esi] | 1849 movups xmm0,[16+esi] |
1917 xorps xmm2,[esp] | 1850 xorps xmm2,[esp] |
1918 xorps xmm3,xmm1 | 1851 xorps xmm3,xmm1 |
1919 movups xmm1,[32+esi] | 1852 movups xmm1,[32+esi] |
1920 xorps xmm4,xmm0 | 1853 xorps xmm4,xmm0 |
1921 movups xmm0,[48+esi] | 1854 movups xmm0,[48+esi] |
1922 xorps xmm5,xmm1 | 1855 xorps xmm5,xmm1 |
1923 movups xmm7,[64+esi] | 1856 movups xmm7,[64+esi] |
1924 xorps xmm6,xmm0 | 1857 xorps xmm6,xmm0 |
1925 movups [edi],xmm2 | 1858 movups [edi],xmm2 |
1926 movups [16+edi],xmm3 | 1859 movups [16+edi],xmm3 |
1927 pxor xmm3,xmm3 | |
1928 movups [32+edi],xmm4 | 1860 movups [32+edi],xmm4 |
1929 pxor xmm4,xmm4 | |
1930 movups [48+edi],xmm5 | 1861 movups [48+edi],xmm5 |
1931 pxor xmm5,xmm5 | |
1932 lea edi,[64+edi] | 1862 lea edi,[64+edi] |
1933 movaps xmm2,xmm6 | 1863 movaps xmm2,xmm6 |
1934 pxor xmm6,xmm6 | |
1935 sub eax,80 | 1864 sub eax,80 |
1936 » jmp» NEAR L$088cbc_dec_tail_collected | 1865 » jmp» NEAR L$081cbc_dec_tail_collected |
1937 align 16 | 1866 align 16 |
1938 L$084cbc_dec_one: | 1867 L$082cbc_dec_one: |
1939 movups xmm0,[edx] | 1868 movups xmm0,[edx] |
1940 movups xmm1,[16+edx] | 1869 movups xmm1,[16+edx] |
1941 lea edx,[32+edx] | 1870 lea edx,[32+edx] |
1942 xorps xmm2,xmm0 | 1871 xorps xmm2,xmm0 |
1943 L$089dec1_loop_16: | 1872 L$086dec1_loop_16: |
1944 db 102,15,56,222,209 | 1873 db 102,15,56,222,209 |
1945 dec ecx | 1874 dec ecx |
1946 movups xmm1,[edx] | 1875 movups xmm1,[edx] |
1947 lea edx,[16+edx] | 1876 lea edx,[16+edx] |
1948 » jnz» NEAR L$089dec1_loop_16 | 1877 » jnz» NEAR L$086dec1_loop_16 |
1949 db 102,15,56,223,209 | 1878 db 102,15,56,223,209 |
1950 xorps xmm2,xmm7 | 1879 xorps xmm2,xmm7 |
1951 movaps xmm7,xmm6 | 1880 movaps xmm7,xmm6 |
1952 sub eax,16 | 1881 sub eax,16 |
1953 » jmp» NEAR L$088cbc_dec_tail_collected | 1882 » jmp» NEAR L$081cbc_dec_tail_collected |
1954 align 16 | 1883 align 16 |
1955 L$085cbc_dec_two: | 1884 L$083cbc_dec_two: |
1956 call __aesni_decrypt2 | 1885 call __aesni_decrypt2 |
1957 xorps xmm2,xmm7 | 1886 xorps xmm2,xmm7 |
1958 xorps xmm3,xmm6 | 1887 xorps xmm3,xmm6 |
1959 movups [edi],xmm2 | 1888 movups [edi],xmm2 |
1960 movaps xmm2,xmm3 | 1889 movaps xmm2,xmm3 |
1961 pxor xmm3,xmm3 | |
1962 lea edi,[16+edi] | 1890 lea edi,[16+edi] |
1963 movaps xmm7,xmm5 | 1891 movaps xmm7,xmm5 |
1964 sub eax,32 | 1892 sub eax,32 |
1965 » jmp» NEAR L$088cbc_dec_tail_collected | 1893 » jmp» NEAR L$081cbc_dec_tail_collected |
1966 align 16 | 1894 align 16 |
1967 L$086cbc_dec_three: | 1895 L$084cbc_dec_three: |
1968 call __aesni_decrypt3 | 1896 call __aesni_decrypt3 |
1969 xorps xmm2,xmm7 | 1897 xorps xmm2,xmm7 |
1970 xorps xmm3,xmm6 | 1898 xorps xmm3,xmm6 |
1971 xorps xmm4,xmm5 | 1899 xorps xmm4,xmm5 |
1972 movups [edi],xmm2 | 1900 movups [edi],xmm2 |
1973 movaps xmm2,xmm4 | 1901 movaps xmm2,xmm4 |
1974 pxor xmm4,xmm4 | |
1975 movups [16+edi],xmm3 | 1902 movups [16+edi],xmm3 |
1976 pxor xmm3,xmm3 | |
1977 lea edi,[32+edi] | 1903 lea edi,[32+edi] |
1978 movups xmm7,[32+esi] | 1904 movups xmm7,[32+esi] |
1979 sub eax,48 | 1905 sub eax,48 |
1980 » jmp» NEAR L$088cbc_dec_tail_collected | 1906 » jmp» NEAR L$081cbc_dec_tail_collected |
1981 align 16 | 1907 align 16 |
1982 L$087cbc_dec_four: | 1908 L$085cbc_dec_four: |
1983 call __aesni_decrypt4 | 1909 call __aesni_decrypt4 |
1984 movups xmm1,[16+esi] | 1910 movups xmm1,[16+esi] |
1985 movups xmm0,[32+esi] | 1911 movups xmm0,[32+esi] |
1986 xorps xmm2,xmm7 | 1912 xorps xmm2,xmm7 |
1987 movups xmm7,[48+esi] | 1913 movups xmm7,[48+esi] |
1988 xorps xmm3,xmm6 | 1914 xorps xmm3,xmm6 |
1989 movups [edi],xmm2 | 1915 movups [edi],xmm2 |
1990 xorps xmm4,xmm1 | 1916 xorps xmm4,xmm1 |
1991 movups [16+edi],xmm3 | 1917 movups [16+edi],xmm3 |
1992 pxor xmm3,xmm3 | |
1993 xorps xmm5,xmm0 | 1918 xorps xmm5,xmm0 |
1994 movups [32+edi],xmm4 | 1919 movups [32+edi],xmm4 |
1995 pxor xmm4,xmm4 | |
1996 lea edi,[48+edi] | 1920 lea edi,[48+edi] |
1997 movaps xmm2,xmm5 | 1921 movaps xmm2,xmm5 |
1998 pxor xmm5,xmm5 | |
1999 sub eax,64 | 1922 sub eax,64 |
2000 » jmp» NEAR L$088cbc_dec_tail_collected | 1923 L$081cbc_dec_tail_collected: |
| 1924 » and» eax,15 |
| 1925 » jnz» NEAR L$087cbc_dec_tail_partial |
| 1926 » movups» [edi],xmm2 |
| 1927 » jmp» NEAR L$077cbc_ret |
2001 align 16 | 1928 align 16 |
2002 L$083cbc_dec_clear_tail_collected: | 1929 L$087cbc_dec_tail_partial: |
2003 » pxor» xmm3,xmm3 | |
2004 » pxor» xmm4,xmm4 | |
2005 » pxor» xmm5,xmm5 | |
2006 » pxor» xmm6,xmm6 | |
2007 L$088cbc_dec_tail_collected: | |
2008 » and» eax,15 | |
2009 » jnz» NEAR L$090cbc_dec_tail_partial | |
2010 » movups» [edi],xmm2 | |
2011 » pxor» xmm0,xmm0 | |
2012 » jmp» NEAR L$079cbc_ret | |
2013 align» 16 | |
2014 L$090cbc_dec_tail_partial: | |
2015 movaps [esp],xmm2 | 1930 movaps [esp],xmm2 |
2016 pxor xmm0,xmm0 | |
2017 mov ecx,16 | 1931 mov ecx,16 |
2018 mov esi,esp | 1932 mov esi,esp |
2019 sub ecx,eax | 1933 sub ecx,eax |
2020 dd 2767451785 | 1934 dd 2767451785 |
2021 » movdqa» [esp],xmm2 | 1935 L$077cbc_ret: |
2022 L$079cbc_ret: | |
2023 mov esp,DWORD [16+esp] | 1936 mov esp,DWORD [16+esp] |
2024 mov ebp,DWORD [36+esp] | 1937 mov ebp,DWORD [36+esp] |
2025 pxor xmm2,xmm2 | |
2026 pxor xmm1,xmm1 | |
2027 movups [ebp],xmm7 | 1938 movups [ebp],xmm7 |
2028 » pxor» xmm7,xmm7 | 1939 L$072cbc_abort: |
2029 L$074cbc_abort: | |
2030 pop edi | 1940 pop edi |
2031 pop esi | 1941 pop esi |
2032 pop ebx | 1942 pop ebx |
2033 pop ebp | 1943 pop ebp |
2034 ret | 1944 ret |
2035 align 16 | 1945 align 16 |
2036 __aesni_set_encrypt_key: | 1946 __aesni_set_encrypt_key: |
2037 push ebp | |
2038 push ebx | |
2039 test eax,eax | 1947 test eax,eax |
2040 » jz» NEAR L$091bad_pointer | 1948 » jz» NEAR L$088bad_pointer |
2041 test edx,edx | 1949 test edx,edx |
2042 » jz» NEAR L$091bad_pointer | 1950 » jz» NEAR L$088bad_pointer |
2043 » call» L$092pic | |
2044 L$092pic: | |
2045 » pop» ebx | |
2046 » lea» ebx,[(L$key_const-L$092pic)+ebx] | |
2047 » lea» ebp,[_OPENSSL_ia32cap_P] | |
2048 movups xmm0,[eax] | 1951 movups xmm0,[eax] |
2049 xorps xmm4,xmm4 | 1952 xorps xmm4,xmm4 |
2050 mov ebp,DWORD [4+ebp] | |
2051 lea edx,[16+edx] | 1953 lea edx,[16+edx] |
2052 and ebp,268437504 | |
2053 cmp ecx,256 | 1954 cmp ecx,256 |
2054 » je» NEAR L$09314rounds | 1955 » je» NEAR L$08914rounds |
2055 cmp ecx,192 | 1956 cmp ecx,192 |
2056 » je» NEAR L$09412rounds | 1957 » je» NEAR L$09012rounds |
2057 cmp ecx,128 | 1958 cmp ecx,128 |
2058 » jne» NEAR L$095bad_keybits | 1959 » jne» NEAR L$091bad_keybits |
2059 align 16 | 1960 align 16 |
2060 L$09610rounds: | 1961 L$09210rounds: |
2061 » cmp» ebp,268435456 | |
2062 » je» NEAR L$09710rounds_alt | |
2063 mov ecx,9 | 1962 mov ecx,9 |
2064 movups [edx-16],xmm0 | 1963 movups [edx-16],xmm0 |
2065 db 102,15,58,223,200,1 | 1964 db 102,15,58,223,200,1 |
2066 » call» L$098key_128_cold | 1965 » call» L$093key_128_cold |
2067 db 102,15,58,223,200,2 | 1966 db 102,15,58,223,200,2 |
2068 » call» L$099key_128 | 1967 » call» L$094key_128 |
2069 db 102,15,58,223,200,4 | 1968 db 102,15,58,223,200,4 |
2070 » call» L$099key_128 | 1969 » call» L$094key_128 |
2071 db 102,15,58,223,200,8 | 1970 db 102,15,58,223,200,8 |
2072 » call» L$099key_128 | 1971 » call» L$094key_128 |
2073 db 102,15,58,223,200,16 | 1972 db 102,15,58,223,200,16 |
2074 » call» L$099key_128 | 1973 » call» L$094key_128 |
2075 db 102,15,58,223,200,32 | 1974 db 102,15,58,223,200,32 |
2076 » call» L$099key_128 | 1975 » call» L$094key_128 |
2077 db 102,15,58,223,200,64 | 1976 db 102,15,58,223,200,64 |
2078 » call» L$099key_128 | 1977 » call» L$094key_128 |
2079 db 102,15,58,223,200,128 | 1978 db 102,15,58,223,200,128 |
2080 » call» L$099key_128 | 1979 » call» L$094key_128 |
2081 db 102,15,58,223,200,27 | 1980 db 102,15,58,223,200,27 |
2082 » call» L$099key_128 | 1981 » call» L$094key_128 |
2083 db 102,15,58,223,200,54 | 1982 db 102,15,58,223,200,54 |
2084 » call» L$099key_128 | 1983 » call» L$094key_128 |
2085 movups [edx],xmm0 | 1984 movups [edx],xmm0 |
2086 mov DWORD [80+edx],ecx | 1985 mov DWORD [80+edx],ecx |
2087 » jmp» NEAR L$100good_key | 1986 » xor» eax,eax |
| 1987 » ret |
2088 align 16 | 1988 align 16 |
2089 L$099key_128: | 1989 L$094key_128: |
2090 movups [edx],xmm0 | 1990 movups [edx],xmm0 |
2091 lea edx,[16+edx] | 1991 lea edx,[16+edx] |
2092 L$098key_128_cold: | 1992 L$093key_128_cold: |
2093 shufps xmm4,xmm0,16 | 1993 shufps xmm4,xmm0,16 |
2094 xorps xmm0,xmm4 | 1994 xorps xmm0,xmm4 |
2095 shufps xmm4,xmm0,140 | 1995 shufps xmm4,xmm0,140 |
2096 xorps xmm0,xmm4 | 1996 xorps xmm0,xmm4 |
2097 shufps xmm1,xmm1,255 | 1997 shufps xmm1,xmm1,255 |
2098 xorps xmm0,xmm1 | 1998 xorps xmm0,xmm1 |
2099 ret | 1999 ret |
2100 align 16 | 2000 align 16 |
2101 L$09710rounds_alt: | 2001 L$09012rounds: |
2102 » movdqa» xmm5,[ebx] | |
2103 » mov» ecx,8 | |
2104 » movdqa» xmm4,[32+ebx] | |
2105 » movdqa» xmm2,xmm0 | |
2106 » movdqu» [edx-16],xmm0 | |
2107 L$101loop_key128: | |
2108 db» 102,15,56,0,197 | |
2109 db» 102,15,56,221,196 | |
2110 » pslld» xmm4,1 | |
2111 » lea» edx,[16+edx] | |
2112 » movdqa» xmm3,xmm2 | |
2113 » pslldq» xmm2,4 | |
2114 » pxor» xmm3,xmm2 | |
2115 » pslldq» xmm2,4 | |
2116 » pxor» xmm3,xmm2 | |
2117 » pslldq» xmm2,4 | |
2118 » pxor» xmm2,xmm3 | |
2119 » pxor» xmm0,xmm2 | |
2120 » movdqu» [edx-16],xmm0 | |
2121 » movdqa» xmm2,xmm0 | |
2122 » dec» ecx | |
2123 » jnz» NEAR L$101loop_key128 | |
2124 » movdqa» xmm4,[48+ebx] | |
2125 db» 102,15,56,0,197 | |
2126 db» 102,15,56,221,196 | |
2127 » pslld» xmm4,1 | |
2128 » movdqa» xmm3,xmm2 | |
2129 » pslldq» xmm2,4 | |
2130 » pxor» xmm3,xmm2 | |
2131 » pslldq» xmm2,4 | |
2132 » pxor» xmm3,xmm2 | |
2133 » pslldq» xmm2,4 | |
2134 » pxor» xmm2,xmm3 | |
2135 » pxor» xmm0,xmm2 | |
2136 » movdqu» [edx],xmm0 | |
2137 » movdqa» xmm2,xmm0 | |
2138 db» 102,15,56,0,197 | |
2139 db» 102,15,56,221,196 | |
2140 » movdqa» xmm3,xmm2 | |
2141 » pslldq» xmm2,4 | |
2142 » pxor» xmm3,xmm2 | |
2143 » pslldq» xmm2,4 | |
2144 » pxor» xmm3,xmm2 | |
2145 » pslldq» xmm2,4 | |
2146 » pxor» xmm2,xmm3 | |
2147 » pxor» xmm0,xmm2 | |
2148 » movdqu» [16+edx],xmm0 | |
2149 » mov» ecx,9 | |
2150 » mov» DWORD [96+edx],ecx | |
2151 » jmp» NEAR L$100good_key | |
2152 align» 16 | |
2153 L$09412rounds: | |
2154 movq xmm2,[16+eax] | 2002 movq xmm2,[16+eax] |
2155 cmp ebp,268435456 | |
2156 je NEAR L$10212rounds_alt | |
2157 mov ecx,11 | 2003 mov ecx,11 |
2158 movups [edx-16],xmm0 | 2004 movups [edx-16],xmm0 |
2159 db 102,15,58,223,202,1 | 2005 db 102,15,58,223,202,1 |
2160 » call» L$103key_192a_cold | 2006 » call» L$095key_192a_cold |
2161 db 102,15,58,223,202,2 | 2007 db 102,15,58,223,202,2 |
2162 » call» L$104key_192b | 2008 » call» L$096key_192b |
2163 db 102,15,58,223,202,4 | 2009 db 102,15,58,223,202,4 |
2164 » call» L$105key_192a | 2010 » call» L$097key_192a |
2165 db 102,15,58,223,202,8 | 2011 db 102,15,58,223,202,8 |
2166 » call» L$104key_192b | 2012 » call» L$096key_192b |
2167 db 102,15,58,223,202,16 | 2013 db 102,15,58,223,202,16 |
2168 » call» L$105key_192a | 2014 » call» L$097key_192a |
2169 db 102,15,58,223,202,32 | 2015 db 102,15,58,223,202,32 |
2170 » call» L$104key_192b | 2016 » call» L$096key_192b |
2171 db 102,15,58,223,202,64 | 2017 db 102,15,58,223,202,64 |
2172 » call» L$105key_192a | 2018 » call» L$097key_192a |
2173 db 102,15,58,223,202,128 | 2019 db 102,15,58,223,202,128 |
2174 » call» L$104key_192b | 2020 » call» L$096key_192b |
2175 movups [edx],xmm0 | 2021 movups [edx],xmm0 |
2176 mov DWORD [48+edx],ecx | 2022 mov DWORD [48+edx],ecx |
2177 » jmp» NEAR L$100good_key | 2023 » xor» eax,eax |
| 2024 » ret |
2178 align 16 | 2025 align 16 |
2179 L$105key_192a: | 2026 L$097key_192a: |
2180 movups [edx],xmm0 | 2027 movups [edx],xmm0 |
2181 lea edx,[16+edx] | 2028 lea edx,[16+edx] |
2182 align 16 | 2029 align 16 |
2183 L$103key_192a_cold: | 2030 L$095key_192a_cold: |
2184 movaps xmm5,xmm2 | 2031 movaps xmm5,xmm2 |
2185 L$106key_192b_warm: | 2032 L$098key_192b_warm: |
2186 shufps xmm4,xmm0,16 | 2033 shufps xmm4,xmm0,16 |
2187 movdqa xmm3,xmm2 | 2034 movdqa xmm3,xmm2 |
2188 xorps xmm0,xmm4 | 2035 xorps xmm0,xmm4 |
2189 shufps xmm4,xmm0,140 | 2036 shufps xmm4,xmm0,140 |
2190 pslldq xmm3,4 | 2037 pslldq xmm3,4 |
2191 xorps xmm0,xmm4 | 2038 xorps xmm0,xmm4 |
2192 pshufd xmm1,xmm1,85 | 2039 pshufd xmm1,xmm1,85 |
2193 pxor xmm2,xmm3 | 2040 pxor xmm2,xmm3 |
2194 pxor xmm0,xmm1 | 2041 pxor xmm0,xmm1 |
2195 pshufd xmm3,xmm0,255 | 2042 pshufd xmm3,xmm0,255 |
2196 pxor xmm2,xmm3 | 2043 pxor xmm2,xmm3 |
2197 ret | 2044 ret |
2198 align 16 | 2045 align 16 |
2199 L$104key_192b: | 2046 L$096key_192b: |
2200 movaps xmm3,xmm0 | 2047 movaps xmm3,xmm0 |
2201 shufps xmm5,xmm0,68 | 2048 shufps xmm5,xmm0,68 |
2202 movups [edx],xmm5 | 2049 movups [edx],xmm5 |
2203 shufps xmm3,xmm2,78 | 2050 shufps xmm3,xmm2,78 |
2204 movups [16+edx],xmm3 | 2051 movups [16+edx],xmm3 |
2205 lea edx,[32+edx] | 2052 lea edx,[32+edx] |
2206 » jmp» NEAR L$106key_192b_warm | 2053 » jmp» NEAR L$098key_192b_warm |
2207 align 16 | 2054 align 16 |
2208 L$10212rounds_alt: | 2055 L$08914rounds: |
2209 » movdqa» xmm5,[16+ebx] | |
2210 » movdqa» xmm4,[32+ebx] | |
2211 » mov» ecx,8 | |
2212 » movdqu» [edx-16],xmm0 | |
2213 L$107loop_key192: | |
2214 » movq» [edx],xmm2 | |
2215 » movdqa» xmm1,xmm2 | |
2216 db» 102,15,56,0,213 | |
2217 db» 102,15,56,221,212 | |
2218 » pslld» xmm4,1 | |
2219 » lea» edx,[24+edx] | |
2220 » movdqa» xmm3,xmm0 | |
2221 » pslldq» xmm0,4 | |
2222 » pxor» xmm3,xmm0 | |
2223 » pslldq» xmm0,4 | |
2224 » pxor» xmm3,xmm0 | |
2225 » pslldq» xmm0,4 | |
2226 » pxor» xmm0,xmm3 | |
2227 » pshufd» xmm3,xmm0,255 | |
2228 » pxor» xmm3,xmm1 | |
2229 » pslldq» xmm1,4 | |
2230 » pxor» xmm3,xmm1 | |
2231 » pxor» xmm0,xmm2 | |
2232 » pxor» xmm2,xmm3 | |
2233 » movdqu» [edx-16],xmm0 | |
2234 » dec» ecx | |
2235 » jnz» NEAR L$107loop_key192 | |
2236 » mov» ecx,11 | |
2237 » mov» DWORD [32+edx],ecx | |
2238 » jmp» NEAR L$100good_key | |
2239 align» 16 | |
2240 L$09314rounds: | |
2241 movups xmm2,[16+eax] | 2056 movups xmm2,[16+eax] |
| 2057 mov ecx,13 |
2242 lea edx,[16+edx] | 2058 lea edx,[16+edx] |
2243 cmp ebp,268435456 | |
2244 je NEAR L$10814rounds_alt | |
2245 mov ecx,13 | |
2246 movups [edx-32],xmm0 | 2059 movups [edx-32],xmm0 |
2247 movups [edx-16],xmm2 | 2060 movups [edx-16],xmm2 |
2248 db 102,15,58,223,202,1 | 2061 db 102,15,58,223,202,1 |
2249 » call» L$109key_256a_cold | 2062 » call» L$099key_256a_cold |
2250 db 102,15,58,223,200,1 | 2063 db 102,15,58,223,200,1 |
2251 » call» L$110key_256b | 2064 » call» L$100key_256b |
2252 db 102,15,58,223,202,2 | 2065 db 102,15,58,223,202,2 |
2253 » call» L$111key_256a | 2066 » call» L$101key_256a |
2254 db 102,15,58,223,200,2 | 2067 db 102,15,58,223,200,2 |
2255 » call» L$110key_256b | 2068 » call» L$100key_256b |
2256 db 102,15,58,223,202,4 | 2069 db 102,15,58,223,202,4 |
2257 » call» L$111key_256a | 2070 » call» L$101key_256a |
2258 db 102,15,58,223,200,4 | 2071 db 102,15,58,223,200,4 |
2259 » call» L$110key_256b | 2072 » call» L$100key_256b |
2260 db 102,15,58,223,202,8 | 2073 db 102,15,58,223,202,8 |
2261 » call» L$111key_256a | 2074 » call» L$101key_256a |
2262 db 102,15,58,223,200,8 | 2075 db 102,15,58,223,200,8 |
2263 » call» L$110key_256b | 2076 » call» L$100key_256b |
2264 db 102,15,58,223,202,16 | 2077 db 102,15,58,223,202,16 |
2265 » call» L$111key_256a | 2078 » call» L$101key_256a |
2266 db 102,15,58,223,200,16 | 2079 db 102,15,58,223,200,16 |
2267 » call» L$110key_256b | 2080 » call» L$100key_256b |
2268 db 102,15,58,223,202,32 | 2081 db 102,15,58,223,202,32 |
2269 » call» L$111key_256a | 2082 » call» L$101key_256a |
2270 db 102,15,58,223,200,32 | 2083 db 102,15,58,223,200,32 |
2271 » call» L$110key_256b | 2084 » call» L$100key_256b |
2272 db 102,15,58,223,202,64 | 2085 db 102,15,58,223,202,64 |
2273 » call» L$111key_256a | 2086 » call» L$101key_256a |
2274 movups [edx],xmm0 | 2087 movups [edx],xmm0 |
2275 mov DWORD [16+edx],ecx | 2088 mov DWORD [16+edx],ecx |
2276 xor eax,eax | 2089 xor eax,eax |
2277 » jmp» NEAR L$100good_key | 2090 » ret |
2278 align 16 | 2091 align 16 |
2279 L$111key_256a: | 2092 L$101key_256a: |
2280 movups [edx],xmm2 | 2093 movups [edx],xmm2 |
2281 lea edx,[16+edx] | 2094 lea edx,[16+edx] |
2282 L$109key_256a_cold: | 2095 L$099key_256a_cold: |
2283 shufps xmm4,xmm0,16 | 2096 shufps xmm4,xmm0,16 |
2284 xorps xmm0,xmm4 | 2097 xorps xmm0,xmm4 |
2285 shufps xmm4,xmm0,140 | 2098 shufps xmm4,xmm0,140 |
2286 xorps xmm0,xmm4 | 2099 xorps xmm0,xmm4 |
2287 shufps xmm1,xmm1,255 | 2100 shufps xmm1,xmm1,255 |
2288 xorps xmm0,xmm1 | 2101 xorps xmm0,xmm1 |
2289 ret | 2102 ret |
2290 align 16 | 2103 align 16 |
2291 L$110key_256b: | 2104 L$100key_256b: |
2292 movups [edx],xmm0 | 2105 movups [edx],xmm0 |
2293 lea edx,[16+edx] | 2106 lea edx,[16+edx] |
2294 shufps xmm4,xmm2,16 | 2107 shufps xmm4,xmm2,16 |
2295 xorps xmm2,xmm4 | 2108 xorps xmm2,xmm4 |
2296 shufps xmm4,xmm2,140 | 2109 shufps xmm4,xmm2,140 |
2297 xorps xmm2,xmm4 | 2110 xorps xmm2,xmm4 |
2298 shufps xmm1,xmm1,170 | 2111 shufps xmm1,xmm1,170 |
2299 xorps xmm2,xmm1 | 2112 xorps xmm2,xmm1 |
2300 ret | 2113 ret |
2301 align» 16 | 2114 align» 4 |
2302 L$10814rounds_alt: | 2115 L$088bad_pointer: |
2303 » movdqa» xmm5,[ebx] | 2116 » mov» eax,-1 |
2304 » movdqa» xmm4,[32+ebx] | |
2305 » mov» ecx,7 | |
2306 » movdqu» [edx-32],xmm0 | |
2307 » movdqa» xmm1,xmm2 | |
2308 » movdqu» [edx-16],xmm2 | |
2309 L$112loop_key256: | |
2310 db» 102,15,56,0,213 | |
2311 db» 102,15,56,221,212 | |
2312 » movdqa» xmm3,xmm0 | |
2313 » pslldq» xmm0,4 | |
2314 » pxor» xmm3,xmm0 | |
2315 » pslldq» xmm0,4 | |
2316 » pxor» xmm3,xmm0 | |
2317 » pslldq» xmm0,4 | |
2318 » pxor» xmm0,xmm3 | |
2319 » pslld» xmm4,1 | |
2320 » pxor» xmm0,xmm2 | |
2321 » movdqu» [edx],xmm0 | |
2322 » dec» ecx | |
2323 » jz» NEAR L$113done_key256 | |
2324 » pshufd» xmm2,xmm0,255 | |
2325 » pxor» xmm3,xmm3 | |
2326 db» 102,15,56,221,211 | |
2327 » movdqa» xmm3,xmm1 | |
2328 » pslldq» xmm1,4 | |
2329 » pxor» xmm3,xmm1 | |
2330 » pslldq» xmm1,4 | |
2331 » pxor» xmm3,xmm1 | |
2332 » pslldq» xmm1,4 | |
2333 » pxor» xmm1,xmm3 | |
2334 » pxor» xmm2,xmm1 | |
2335 » movdqu» [16+edx],xmm2 | |
2336 » lea» edx,[32+edx] | |
2337 » movdqa» xmm1,xmm2 | |
2338 » jmp» NEAR L$112loop_key256 | |
2339 L$113done_key256: | |
2340 » mov» ecx,13 | |
2341 » mov» DWORD [16+edx],ecx | |
2342 L$100good_key: | |
2343 » pxor» xmm0,xmm0 | |
2344 » pxor» xmm1,xmm1 | |
2345 » pxor» xmm2,xmm2 | |
2346 » pxor» xmm3,xmm3 | |
2347 » pxor» xmm4,xmm4 | |
2348 » pxor» xmm5,xmm5 | |
2349 » xor» eax,eax | |
2350 » pop» ebx | |
2351 » pop» ebp | |
2352 ret | 2117 ret |
2353 align 4 | 2118 align 4 |
2354 L$091bad_pointer: | 2119 L$091bad_keybits: |
2355 » mov» eax,-1 | |
2356 » pop» ebx | |
2357 » pop» ebp | |
2358 » ret | |
2359 align» 4 | |
2360 L$095bad_keybits: | |
2361 » pxor» xmm0,xmm0 | |
2362 mov eax,-2 | 2120 mov eax,-2 |
2363 pop ebx | |
2364 pop ebp | |
2365 ret | 2121 ret |
2366 global _aesni_set_encrypt_key | 2122 global _aesni_set_encrypt_key |
2367 align 16 | 2123 align 16 |
2368 _aesni_set_encrypt_key: | 2124 _aesni_set_encrypt_key: |
2369 L$_aesni_set_encrypt_key_begin: | 2125 L$_aesni_set_encrypt_key_begin: |
2370 mov eax,DWORD [4+esp] | 2126 mov eax,DWORD [4+esp] |
2371 mov ecx,DWORD [8+esp] | 2127 mov ecx,DWORD [8+esp] |
2372 mov edx,DWORD [12+esp] | 2128 mov edx,DWORD [12+esp] |
2373 call __aesni_set_encrypt_key | 2129 call __aesni_set_encrypt_key |
2374 ret | 2130 ret |
2375 global _aesni_set_decrypt_key | 2131 global _aesni_set_decrypt_key |
2376 align 16 | 2132 align 16 |
2377 _aesni_set_decrypt_key: | 2133 _aesni_set_decrypt_key: |
2378 L$_aesni_set_decrypt_key_begin: | 2134 L$_aesni_set_decrypt_key_begin: |
2379 mov eax,DWORD [4+esp] | 2135 mov eax,DWORD [4+esp] |
2380 mov ecx,DWORD [8+esp] | 2136 mov ecx,DWORD [8+esp] |
2381 mov edx,DWORD [12+esp] | 2137 mov edx,DWORD [12+esp] |
2382 call __aesni_set_encrypt_key | 2138 call __aesni_set_encrypt_key |
2383 mov edx,DWORD [12+esp] | 2139 mov edx,DWORD [12+esp] |
2384 shl ecx,4 | 2140 shl ecx,4 |
2385 test eax,eax | 2141 test eax,eax |
2386 » jnz» NEAR L$114dec_key_ret | 2142 » jnz» NEAR L$102dec_key_ret |
2387 lea eax,[16+ecx*1+edx] | 2143 lea eax,[16+ecx*1+edx] |
2388 movups xmm0,[edx] | 2144 movups xmm0,[edx] |
2389 movups xmm1,[eax] | 2145 movups xmm1,[eax] |
2390 movups [eax],xmm0 | 2146 movups [eax],xmm0 |
2391 movups [edx],xmm1 | 2147 movups [edx],xmm1 |
2392 lea edx,[16+edx] | 2148 lea edx,[16+edx] |
2393 lea eax,[eax-16] | 2149 lea eax,[eax-16] |
2394 L$115dec_key_inverse: | 2150 L$103dec_key_inverse: |
2395 movups xmm0,[edx] | 2151 movups xmm0,[edx] |
2396 movups xmm1,[eax] | 2152 movups xmm1,[eax] |
2397 db 102,15,56,219,192 | 2153 db 102,15,56,219,192 |
2398 db 102,15,56,219,201 | 2154 db 102,15,56,219,201 |
2399 lea edx,[16+edx] | 2155 lea edx,[16+edx] |
2400 lea eax,[eax-16] | 2156 lea eax,[eax-16] |
2401 movups [16+eax],xmm0 | 2157 movups [16+eax],xmm0 |
2402 movups [edx-16],xmm1 | 2158 movups [edx-16],xmm1 |
2403 cmp eax,edx | 2159 cmp eax,edx |
2404 » ja» NEAR L$115dec_key_inverse | 2160 » ja» NEAR L$103dec_key_inverse |
2405 movups xmm0,[edx] | 2161 movups xmm0,[edx] |
2406 db 102,15,56,219,192 | 2162 db 102,15,56,219,192 |
2407 movups [edx],xmm0 | 2163 movups [edx],xmm0 |
2408 pxor xmm0,xmm0 | |
2409 pxor xmm1,xmm1 | |
2410 xor eax,eax | 2164 xor eax,eax |
2411 L$114dec_key_ret: | 2165 L$102dec_key_ret: |
2412 ret | 2166 ret |
2413 align 64 | |
2414 L$key_const: | |
2415 dd 202313229,202313229,202313229,202313229 | |
2416 dd 67569157,67569157,67569157,67569157 | |
2417 dd 1,1,1,1 | |
2418 dd 27,27,27,27 | |
2419 db 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69 | 2167 db 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69 |
2420 db 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83 | 2168 db 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83 |
2421 db 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 | 2169 db 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 |
2422 db 115,108,46,111,114,103,62,0 | 2170 db 115,108,46,111,114,103,62,0 |
2423 segment .bss | |
2424 common _OPENSSL_ia32cap_P 16 | |
OLD | NEW |