OLD | NEW |
1 OPTION» DOTNAME | 1 default»rel |
2 .text$» SEGMENT ALIGN(256) 'CODE' | 2 %define XMMWORD |
| 3 %define YMMWORD |
| 4 %define ZMMWORD |
| 5 section».text code align=64 |
3 | 6 |
4 EXTERN» asm_AES_encrypt:NEAR | 7 |
5 EXTERN» asm_AES_decrypt:NEAR | 8 EXTERN» asm_AES_encrypt |
| 9 EXTERN» asm_AES_decrypt |
6 | 10 |
7 | 11 |
8 ALIGN 64 | 12 ALIGN 64 |
9 _bsaes_encrypt8»PROC PRIVATE | 13 _bsaes_encrypt8: |
10 » lea» r11,QWORD PTR[$L$BS0] | 14 » lea» r11,[$L$BS0] |
11 | 15 |
12 » movdqa» xmm8,XMMWORD PTR[rax] | 16 » movdqa» xmm8,XMMWORD[rax] |
13 » lea» rax,QWORD PTR[16+rax] | 17 » lea» rax,[16+rax] |
14 » movdqa» xmm7,XMMWORD PTR[80+r11] | 18 » movdqa» xmm7,XMMWORD[80+r11] |
15 pxor xmm15,xmm8 | 19 pxor xmm15,xmm8 |
16 pxor xmm0,xmm8 | 20 pxor xmm0,xmm8 |
17 pxor xmm1,xmm8 | 21 pxor xmm1,xmm8 |
18 pxor xmm2,xmm8 | 22 pxor xmm2,xmm8 |
19 DB 102,68,15,56,0,255 | 23 DB 102,68,15,56,0,255 |
20 DB 102,15,56,0,199 | 24 DB 102,15,56,0,199 |
21 pxor xmm3,xmm8 | 25 pxor xmm3,xmm8 |
22 pxor xmm4,xmm8 | 26 pxor xmm4,xmm8 |
23 DB 102,15,56,0,207 | 27 DB 102,15,56,0,207 |
24 DB 102,15,56,0,215 | 28 DB 102,15,56,0,215 |
25 pxor xmm5,xmm8 | 29 pxor xmm5,xmm8 |
26 pxor xmm6,xmm8 | 30 pxor xmm6,xmm8 |
27 DB 102,15,56,0,223 | 31 DB 102,15,56,0,223 |
28 DB 102,15,56,0,231 | 32 DB 102,15,56,0,231 |
29 DB 102,15,56,0,239 | 33 DB 102,15,56,0,239 |
30 DB 102,15,56,0,247 | 34 DB 102,15,56,0,247 |
31 _bsaes_encrypt8_bitslice:: | 35 _bsaes_encrypt8_bitslice: |
32 » movdqa» xmm7,XMMWORD PTR[r11] | 36 » movdqa» xmm7,XMMWORD[r11] |
33 » movdqa» xmm8,XMMWORD PTR[16+r11] | 37 » movdqa» xmm8,XMMWORD[16+r11] |
34 movdqa xmm9,xmm5 | 38 movdqa xmm9,xmm5 |
35 psrlq xmm5,1 | 39 psrlq xmm5,1 |
36 movdqa xmm10,xmm3 | 40 movdqa xmm10,xmm3 |
37 psrlq xmm3,1 | 41 psrlq xmm3,1 |
38 pxor xmm5,xmm6 | 42 pxor xmm5,xmm6 |
39 pxor xmm3,xmm4 | 43 pxor xmm3,xmm4 |
40 pand xmm5,xmm7 | 44 pand xmm5,xmm7 |
41 pand xmm3,xmm7 | 45 pand xmm3,xmm7 |
42 pxor xmm6,xmm5 | 46 pxor xmm6,xmm5 |
43 psllq xmm5,1 | 47 psllq xmm5,1 |
44 pxor xmm4,xmm3 | 48 pxor xmm4,xmm3 |
45 psllq xmm3,1 | 49 psllq xmm3,1 |
46 pxor xmm5,xmm9 | 50 pxor xmm5,xmm9 |
47 pxor xmm3,xmm10 | 51 pxor xmm3,xmm10 |
48 movdqa xmm9,xmm1 | 52 movdqa xmm9,xmm1 |
49 psrlq xmm1,1 | 53 psrlq xmm1,1 |
50 movdqa xmm10,xmm15 | 54 movdqa xmm10,xmm15 |
51 psrlq xmm15,1 | 55 psrlq xmm15,1 |
52 pxor xmm1,xmm2 | 56 pxor xmm1,xmm2 |
53 pxor xmm15,xmm0 | 57 pxor xmm15,xmm0 |
54 pand xmm1,xmm7 | 58 pand xmm1,xmm7 |
55 pand xmm15,xmm7 | 59 pand xmm15,xmm7 |
56 pxor xmm2,xmm1 | 60 pxor xmm2,xmm1 |
57 psllq xmm1,1 | 61 psllq xmm1,1 |
58 pxor xmm0,xmm15 | 62 pxor xmm0,xmm15 |
59 psllq xmm15,1 | 63 psllq xmm15,1 |
60 pxor xmm1,xmm9 | 64 pxor xmm1,xmm9 |
61 pxor xmm15,xmm10 | 65 pxor xmm15,xmm10 |
62 » movdqa» xmm7,XMMWORD PTR[32+r11] | 66 » movdqa» xmm7,XMMWORD[32+r11] |
63 movdqa xmm9,xmm4 | 67 movdqa xmm9,xmm4 |
64 psrlq xmm4,2 | 68 psrlq xmm4,2 |
65 movdqa xmm10,xmm3 | 69 movdqa xmm10,xmm3 |
66 psrlq xmm3,2 | 70 psrlq xmm3,2 |
67 pxor xmm4,xmm6 | 71 pxor xmm4,xmm6 |
68 pxor xmm3,xmm5 | 72 pxor xmm3,xmm5 |
69 pand xmm4,xmm8 | 73 pand xmm4,xmm8 |
70 pand xmm3,xmm8 | 74 pand xmm3,xmm8 |
71 pxor xmm6,xmm4 | 75 pxor xmm6,xmm4 |
72 psllq xmm4,2 | 76 psllq xmm4,2 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 pxor xmm15,xmm3 | 114 pxor xmm15,xmm3 |
111 pand xmm0,xmm7 | 115 pand xmm0,xmm7 |
112 pand xmm15,xmm7 | 116 pand xmm15,xmm7 |
113 pxor xmm4,xmm0 | 117 pxor xmm4,xmm0 |
114 psllq xmm0,4 | 118 psllq xmm0,4 |
115 pxor xmm3,xmm15 | 119 pxor xmm3,xmm15 |
116 psllq xmm15,4 | 120 psllq xmm15,4 |
117 pxor xmm0,xmm9 | 121 pxor xmm0,xmm9 |
118 pxor xmm15,xmm10 | 122 pxor xmm15,xmm10 |
119 dec r10d | 123 dec r10d |
120 » jmp» $L$enc_sbox | 124 » jmp» NEAR $L$enc_sbox |
121 ALIGN 16 | 125 ALIGN 16 |
122 $L$enc_loop:: | 126 $L$enc_loop: |
123 » pxor» xmm15,XMMWORD PTR[rax] | 127 » pxor» xmm15,XMMWORD[rax] |
124 » pxor» xmm0,XMMWORD PTR[16+rax] | 128 » pxor» xmm0,XMMWORD[16+rax] |
125 » pxor» xmm1,XMMWORD PTR[32+rax] | 129 » pxor» xmm1,XMMWORD[32+rax] |
126 » pxor» xmm2,XMMWORD PTR[48+rax] | 130 » pxor» xmm2,XMMWORD[48+rax] |
127 DB 102,68,15,56,0,255 | 131 DB 102,68,15,56,0,255 |
128 DB 102,15,56,0,199 | 132 DB 102,15,56,0,199 |
129 » pxor» xmm3,XMMWORD PTR[64+rax] | 133 » pxor» xmm3,XMMWORD[64+rax] |
130 » pxor» xmm4,XMMWORD PTR[80+rax] | 134 » pxor» xmm4,XMMWORD[80+rax] |
131 DB 102,15,56,0,207 | 135 DB 102,15,56,0,207 |
132 DB 102,15,56,0,215 | 136 DB 102,15,56,0,215 |
133 » pxor» xmm5,XMMWORD PTR[96+rax] | 137 » pxor» xmm5,XMMWORD[96+rax] |
134 » pxor» xmm6,XMMWORD PTR[112+rax] | 138 » pxor» xmm6,XMMWORD[112+rax] |
135 DB 102,15,56,0,223 | 139 DB 102,15,56,0,223 |
136 DB 102,15,56,0,231 | 140 DB 102,15,56,0,231 |
137 DB 102,15,56,0,239 | 141 DB 102,15,56,0,239 |
138 DB 102,15,56,0,247 | 142 DB 102,15,56,0,247 |
139 » lea» rax,QWORD PTR[128+rax] | 143 » lea» rax,[128+rax] |
140 $L$enc_sbox:: | 144 $L$enc_sbox: |
141 pxor xmm4,xmm5 | 145 pxor xmm4,xmm5 |
142 pxor xmm1,xmm0 | 146 pxor xmm1,xmm0 |
143 pxor xmm2,xmm15 | 147 pxor xmm2,xmm15 |
144 pxor xmm5,xmm1 | 148 pxor xmm5,xmm1 |
145 pxor xmm4,xmm15 | 149 pxor xmm4,xmm15 |
146 | 150 |
147 pxor xmm5,xmm2 | 151 pxor xmm5,xmm2 |
148 pxor xmm2,xmm6 | 152 pxor xmm2,xmm6 |
149 pxor xmm6,xmm4 | 153 pxor xmm6,xmm4 |
150 pxor xmm2,xmm3 | 154 pxor xmm2,xmm3 |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 pxor xmm15,xmm0 | 321 pxor xmm15,xmm0 |
318 | 322 |
319 pxor xmm0,xmm4 | 323 pxor xmm0,xmm4 |
320 pxor xmm4,xmm1 | 324 pxor xmm4,xmm1 |
321 pxor xmm1,xmm2 | 325 pxor xmm1,xmm2 |
322 pxor xmm2,xmm4 | 326 pxor xmm2,xmm4 |
323 pxor xmm3,xmm4 | 327 pxor xmm3,xmm4 |
324 | 328 |
325 pxor xmm5,xmm2 | 329 pxor xmm5,xmm2 |
326 dec r10d | 330 dec r10d |
327 » jl» $L$enc_done | 331 » jl» NEAR $L$enc_done |
328 » pshufd» xmm7,xmm15,093h | 332 » pshufd» xmm7,xmm15,0x93 |
329 » pshufd» xmm8,xmm0,093h | 333 » pshufd» xmm8,xmm0,0x93 |
330 pxor xmm15,xmm7 | 334 pxor xmm15,xmm7 |
331 » pshufd» xmm9,xmm3,093h | 335 » pshufd» xmm9,xmm3,0x93 |
332 pxor xmm0,xmm8 | 336 pxor xmm0,xmm8 |
333 » pshufd» xmm10,xmm5,093h | 337 » pshufd» xmm10,xmm5,0x93 |
334 pxor xmm3,xmm9 | 338 pxor xmm3,xmm9 |
335 » pshufd» xmm11,xmm2,093h | 339 » pshufd» xmm11,xmm2,0x93 |
336 pxor xmm5,xmm10 | 340 pxor xmm5,xmm10 |
337 » pshufd» xmm12,xmm6,093h | 341 » pshufd» xmm12,xmm6,0x93 |
338 pxor xmm2,xmm11 | 342 pxor xmm2,xmm11 |
339 » pshufd» xmm13,xmm1,093h | 343 » pshufd» xmm13,xmm1,0x93 |
340 pxor xmm6,xmm12 | 344 pxor xmm6,xmm12 |
341 » pshufd» xmm14,xmm4,093h | 345 » pshufd» xmm14,xmm4,0x93 |
342 pxor xmm1,xmm13 | 346 pxor xmm1,xmm13 |
343 pxor xmm4,xmm14 | 347 pxor xmm4,xmm14 |
344 | 348 |
345 pxor xmm8,xmm15 | 349 pxor xmm8,xmm15 |
346 pxor xmm7,xmm4 | 350 pxor xmm7,xmm4 |
347 pxor xmm8,xmm4 | 351 pxor xmm8,xmm4 |
348 » pshufd» xmm15,xmm15,04Eh | 352 » pshufd» xmm15,xmm15,0x4E |
349 pxor xmm9,xmm0 | 353 pxor xmm9,xmm0 |
350 » pshufd» xmm0,xmm0,04Eh | 354 » pshufd» xmm0,xmm0,0x4E |
351 pxor xmm12,xmm2 | 355 pxor xmm12,xmm2 |
352 pxor xmm15,xmm7 | 356 pxor xmm15,xmm7 |
353 pxor xmm13,xmm6 | 357 pxor xmm13,xmm6 |
354 pxor xmm0,xmm8 | 358 pxor xmm0,xmm8 |
355 pxor xmm11,xmm5 | 359 pxor xmm11,xmm5 |
356 » pshufd» xmm7,xmm2,04Eh | 360 » pshufd» xmm7,xmm2,0x4E |
357 pxor xmm14,xmm1 | 361 pxor xmm14,xmm1 |
358 » pshufd» xmm8,xmm6,04Eh | 362 » pshufd» xmm8,xmm6,0x4E |
359 pxor xmm10,xmm3 | 363 pxor xmm10,xmm3 |
360 » pshufd» xmm2,xmm5,04Eh | 364 » pshufd» xmm2,xmm5,0x4E |
361 pxor xmm10,xmm4 | 365 pxor xmm10,xmm4 |
362 » pshufd» xmm6,xmm4,04Eh | 366 » pshufd» xmm6,xmm4,0x4E |
363 pxor xmm11,xmm4 | 367 pxor xmm11,xmm4 |
364 » pshufd» xmm5,xmm1,04Eh | 368 » pshufd» xmm5,xmm1,0x4E |
365 pxor xmm7,xmm11 | 369 pxor xmm7,xmm11 |
366 » pshufd» xmm1,xmm3,04Eh | 370 » pshufd» xmm1,xmm3,0x4E |
367 pxor xmm8,xmm12 | 371 pxor xmm8,xmm12 |
368 pxor xmm2,xmm10 | 372 pxor xmm2,xmm10 |
369 pxor xmm6,xmm14 | 373 pxor xmm6,xmm14 |
370 pxor xmm5,xmm13 | 374 pxor xmm5,xmm13 |
371 movdqa xmm3,xmm7 | 375 movdqa xmm3,xmm7 |
372 pxor xmm1,xmm9 | 376 pxor xmm1,xmm9 |
373 movdqa xmm4,xmm8 | 377 movdqa xmm4,xmm8 |
374 » movdqa» xmm7,XMMWORD PTR[48+r11] | 378 » movdqa» xmm7,XMMWORD[48+r11] |
375 » jnz» $L$enc_loop | 379 » jnz» NEAR $L$enc_loop |
376 » movdqa» xmm7,XMMWORD PTR[64+r11] | 380 » movdqa» xmm7,XMMWORD[64+r11] |
377 » jmp» $L$enc_loop | 381 » jmp» NEAR $L$enc_loop |
378 ALIGN 16 | 382 ALIGN 16 |
379 $L$enc_done:: | 383 $L$enc_done: |
380 » movdqa» xmm7,XMMWORD PTR[r11] | 384 » movdqa» xmm7,XMMWORD[r11] |
381 » movdqa» xmm8,XMMWORD PTR[16+r11] | 385 » movdqa» xmm8,XMMWORD[16+r11] |
382 movdqa xmm9,xmm1 | 386 movdqa xmm9,xmm1 |
383 psrlq xmm1,1 | 387 psrlq xmm1,1 |
384 movdqa xmm10,xmm2 | 388 movdqa xmm10,xmm2 |
385 psrlq xmm2,1 | 389 psrlq xmm2,1 |
386 pxor xmm1,xmm4 | 390 pxor xmm1,xmm4 |
387 pxor xmm2,xmm6 | 391 pxor xmm2,xmm6 |
388 pand xmm1,xmm7 | 392 pand xmm1,xmm7 |
389 pand xmm2,xmm7 | 393 pand xmm2,xmm7 |
390 pxor xmm4,xmm1 | 394 pxor xmm4,xmm1 |
391 psllq xmm1,1 | 395 psllq xmm1,1 |
392 pxor xmm6,xmm2 | 396 pxor xmm6,xmm2 |
393 psllq xmm2,1 | 397 psllq xmm2,1 |
394 pxor xmm1,xmm9 | 398 pxor xmm1,xmm9 |
395 pxor xmm2,xmm10 | 399 pxor xmm2,xmm10 |
396 movdqa xmm9,xmm3 | 400 movdqa xmm9,xmm3 |
397 psrlq xmm3,1 | 401 psrlq xmm3,1 |
398 movdqa xmm10,xmm15 | 402 movdqa xmm10,xmm15 |
399 psrlq xmm15,1 | 403 psrlq xmm15,1 |
400 pxor xmm3,xmm5 | 404 pxor xmm3,xmm5 |
401 pxor xmm15,xmm0 | 405 pxor xmm15,xmm0 |
402 pand xmm3,xmm7 | 406 pand xmm3,xmm7 |
403 pand xmm15,xmm7 | 407 pand xmm15,xmm7 |
404 pxor xmm5,xmm3 | 408 pxor xmm5,xmm3 |
405 psllq xmm3,1 | 409 psllq xmm3,1 |
406 pxor xmm0,xmm15 | 410 pxor xmm0,xmm15 |
407 psllq xmm15,1 | 411 psllq xmm15,1 |
408 pxor xmm3,xmm9 | 412 pxor xmm3,xmm9 |
409 pxor xmm15,xmm10 | 413 pxor xmm15,xmm10 |
410 » movdqa» xmm7,XMMWORD PTR[32+r11] | 414 » movdqa» xmm7,XMMWORD[32+r11] |
411 movdqa xmm9,xmm6 | 415 movdqa xmm9,xmm6 |
412 psrlq xmm6,2 | 416 psrlq xmm6,2 |
413 movdqa xmm10,xmm2 | 417 movdqa xmm10,xmm2 |
414 psrlq xmm2,2 | 418 psrlq xmm2,2 |
415 pxor xmm6,xmm4 | 419 pxor xmm6,xmm4 |
416 pxor xmm2,xmm1 | 420 pxor xmm2,xmm1 |
417 pand xmm6,xmm8 | 421 pand xmm6,xmm8 |
418 pand xmm2,xmm8 | 422 pand xmm2,xmm8 |
419 pxor xmm4,xmm6 | 423 pxor xmm4,xmm6 |
420 psllq xmm6,2 | 424 psllq xmm6,2 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 pxor xmm0,xmm6 | 461 pxor xmm0,xmm6 |
458 pxor xmm15,xmm2 | 462 pxor xmm15,xmm2 |
459 pand xmm0,xmm7 | 463 pand xmm0,xmm7 |
460 pand xmm15,xmm7 | 464 pand xmm15,xmm7 |
461 pxor xmm6,xmm0 | 465 pxor xmm6,xmm0 |
462 psllq xmm0,4 | 466 psllq xmm0,4 |
463 pxor xmm2,xmm15 | 467 pxor xmm2,xmm15 |
464 psllq xmm15,4 | 468 psllq xmm15,4 |
465 pxor xmm0,xmm9 | 469 pxor xmm0,xmm9 |
466 pxor xmm15,xmm10 | 470 pxor xmm15,xmm10 |
467 » movdqa» xmm7,XMMWORD PTR[rax] | 471 » movdqa» xmm7,XMMWORD[rax] |
468 pxor xmm3,xmm7 | 472 pxor xmm3,xmm7 |
469 pxor xmm5,xmm7 | 473 pxor xmm5,xmm7 |
470 pxor xmm2,xmm7 | 474 pxor xmm2,xmm7 |
471 pxor xmm6,xmm7 | 475 pxor xmm6,xmm7 |
472 pxor xmm1,xmm7 | 476 pxor xmm1,xmm7 |
473 pxor xmm4,xmm7 | 477 pxor xmm4,xmm7 |
474 pxor xmm15,xmm7 | 478 pxor xmm15,xmm7 |
475 pxor xmm0,xmm7 | 479 pxor xmm0,xmm7 |
476 DB 0F3h,0C3h ;repret | 480 DB 0F3h,0C3h ;repret |
477 _bsaes_encrypt8»ENDP | 481 |
478 | 482 |
479 | 483 |
480 ALIGN 64 | 484 ALIGN 64 |
481 _bsaes_decrypt8»PROC PRIVATE | 485 _bsaes_decrypt8: |
482 » lea» r11,QWORD PTR[$L$BS0] | 486 » lea» r11,[$L$BS0] |
483 | 487 |
484 » movdqa» xmm8,XMMWORD PTR[rax] | 488 » movdqa» xmm8,XMMWORD[rax] |
485 » lea» rax,QWORD PTR[16+rax] | 489 » lea» rax,[16+rax] |
486 » movdqa» xmm7,XMMWORD PTR[((-48))+r11] | 490 » movdqa» xmm7,XMMWORD[((-48))+r11] |
487 pxor xmm15,xmm8 | 491 pxor xmm15,xmm8 |
488 pxor xmm0,xmm8 | 492 pxor xmm0,xmm8 |
489 pxor xmm1,xmm8 | 493 pxor xmm1,xmm8 |
490 pxor xmm2,xmm8 | 494 pxor xmm2,xmm8 |
491 DB 102,68,15,56,0,255 | 495 DB 102,68,15,56,0,255 |
492 DB 102,15,56,0,199 | 496 DB 102,15,56,0,199 |
493 pxor xmm3,xmm8 | 497 pxor xmm3,xmm8 |
494 pxor xmm4,xmm8 | 498 pxor xmm4,xmm8 |
495 DB 102,15,56,0,207 | 499 DB 102,15,56,0,207 |
496 DB 102,15,56,0,215 | 500 DB 102,15,56,0,215 |
497 pxor xmm5,xmm8 | 501 pxor xmm5,xmm8 |
498 pxor xmm6,xmm8 | 502 pxor xmm6,xmm8 |
499 DB 102,15,56,0,223 | 503 DB 102,15,56,0,223 |
500 DB 102,15,56,0,231 | 504 DB 102,15,56,0,231 |
501 DB 102,15,56,0,239 | 505 DB 102,15,56,0,239 |
502 DB 102,15,56,0,247 | 506 DB 102,15,56,0,247 |
503 » movdqa» xmm7,XMMWORD PTR[r11] | 507 » movdqa» xmm7,XMMWORD[r11] |
504 » movdqa» xmm8,XMMWORD PTR[16+r11] | 508 » movdqa» xmm8,XMMWORD[16+r11] |
505 movdqa xmm9,xmm5 | 509 movdqa xmm9,xmm5 |
506 psrlq xmm5,1 | 510 psrlq xmm5,1 |
507 movdqa xmm10,xmm3 | 511 movdqa xmm10,xmm3 |
508 psrlq xmm3,1 | 512 psrlq xmm3,1 |
509 pxor xmm5,xmm6 | 513 pxor xmm5,xmm6 |
510 pxor xmm3,xmm4 | 514 pxor xmm3,xmm4 |
511 pand xmm5,xmm7 | 515 pand xmm5,xmm7 |
512 pand xmm3,xmm7 | 516 pand xmm3,xmm7 |
513 pxor xmm6,xmm5 | 517 pxor xmm6,xmm5 |
514 psllq xmm5,1 | 518 psllq xmm5,1 |
515 pxor xmm4,xmm3 | 519 pxor xmm4,xmm3 |
516 psllq xmm3,1 | 520 psllq xmm3,1 |
517 pxor xmm5,xmm9 | 521 pxor xmm5,xmm9 |
518 pxor xmm3,xmm10 | 522 pxor xmm3,xmm10 |
519 movdqa xmm9,xmm1 | 523 movdqa xmm9,xmm1 |
520 psrlq xmm1,1 | 524 psrlq xmm1,1 |
521 movdqa xmm10,xmm15 | 525 movdqa xmm10,xmm15 |
522 psrlq xmm15,1 | 526 psrlq xmm15,1 |
523 pxor xmm1,xmm2 | 527 pxor xmm1,xmm2 |
524 pxor xmm15,xmm0 | 528 pxor xmm15,xmm0 |
525 pand xmm1,xmm7 | 529 pand xmm1,xmm7 |
526 pand xmm15,xmm7 | 530 pand xmm15,xmm7 |
527 pxor xmm2,xmm1 | 531 pxor xmm2,xmm1 |
528 psllq xmm1,1 | 532 psllq xmm1,1 |
529 pxor xmm0,xmm15 | 533 pxor xmm0,xmm15 |
530 psllq xmm15,1 | 534 psllq xmm15,1 |
531 pxor xmm1,xmm9 | 535 pxor xmm1,xmm9 |
532 pxor xmm15,xmm10 | 536 pxor xmm15,xmm10 |
533 » movdqa» xmm7,XMMWORD PTR[32+r11] | 537 » movdqa» xmm7,XMMWORD[32+r11] |
534 movdqa xmm9,xmm4 | 538 movdqa xmm9,xmm4 |
535 psrlq xmm4,2 | 539 psrlq xmm4,2 |
536 movdqa xmm10,xmm3 | 540 movdqa xmm10,xmm3 |
537 psrlq xmm3,2 | 541 psrlq xmm3,2 |
538 pxor xmm4,xmm6 | 542 pxor xmm4,xmm6 |
539 pxor xmm3,xmm5 | 543 pxor xmm3,xmm5 |
540 pand xmm4,xmm8 | 544 pand xmm4,xmm8 |
541 pand xmm3,xmm8 | 545 pand xmm3,xmm8 |
542 pxor xmm6,xmm4 | 546 pxor xmm6,xmm4 |
543 psllq xmm4,2 | 547 psllq xmm4,2 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
581 pxor xmm15,xmm3 | 585 pxor xmm15,xmm3 |
582 pand xmm0,xmm7 | 586 pand xmm0,xmm7 |
583 pand xmm15,xmm7 | 587 pand xmm15,xmm7 |
584 pxor xmm4,xmm0 | 588 pxor xmm4,xmm0 |
585 psllq xmm0,4 | 589 psllq xmm0,4 |
586 pxor xmm3,xmm15 | 590 pxor xmm3,xmm15 |
587 psllq xmm15,4 | 591 psllq xmm15,4 |
588 pxor xmm0,xmm9 | 592 pxor xmm0,xmm9 |
589 pxor xmm15,xmm10 | 593 pxor xmm15,xmm10 |
590 dec r10d | 594 dec r10d |
591 » jmp» $L$dec_sbox | 595 » jmp» NEAR $L$dec_sbox |
592 ALIGN 16 | 596 ALIGN 16 |
593 $L$dec_loop:: | 597 $L$dec_loop: |
594 » pxor» xmm15,XMMWORD PTR[rax] | 598 » pxor» xmm15,XMMWORD[rax] |
595 » pxor» xmm0,XMMWORD PTR[16+rax] | 599 » pxor» xmm0,XMMWORD[16+rax] |
596 » pxor» xmm1,XMMWORD PTR[32+rax] | 600 » pxor» xmm1,XMMWORD[32+rax] |
597 » pxor» xmm2,XMMWORD PTR[48+rax] | 601 » pxor» xmm2,XMMWORD[48+rax] |
598 DB 102,68,15,56,0,255 | 602 DB 102,68,15,56,0,255 |
599 DB 102,15,56,0,199 | 603 DB 102,15,56,0,199 |
600 » pxor» xmm3,XMMWORD PTR[64+rax] | 604 » pxor» xmm3,XMMWORD[64+rax] |
601 » pxor» xmm4,XMMWORD PTR[80+rax] | 605 » pxor» xmm4,XMMWORD[80+rax] |
602 DB 102,15,56,0,207 | 606 DB 102,15,56,0,207 |
603 DB 102,15,56,0,215 | 607 DB 102,15,56,0,215 |
604 » pxor» xmm5,XMMWORD PTR[96+rax] | 608 » pxor» xmm5,XMMWORD[96+rax] |
605 » pxor» xmm6,XMMWORD PTR[112+rax] | 609 » pxor» xmm6,XMMWORD[112+rax] |
606 DB 102,15,56,0,223 | 610 DB 102,15,56,0,223 |
607 DB 102,15,56,0,231 | 611 DB 102,15,56,0,231 |
608 DB 102,15,56,0,239 | 612 DB 102,15,56,0,239 |
609 DB 102,15,56,0,247 | 613 DB 102,15,56,0,247 |
610 » lea» rax,QWORD PTR[128+rax] | 614 » lea» rax,[128+rax] |
611 $L$dec_sbox:: | 615 $L$dec_sbox: |
612 pxor xmm2,xmm3 | 616 pxor xmm2,xmm3 |
613 | 617 |
614 pxor xmm3,xmm6 | 618 pxor xmm3,xmm6 |
615 pxor xmm1,xmm6 | 619 pxor xmm1,xmm6 |
616 pxor xmm5,xmm3 | 620 pxor xmm5,xmm3 |
617 pxor xmm6,xmm5 | 621 pxor xmm6,xmm5 |
618 pxor xmm0,xmm6 | 622 pxor xmm0,xmm6 |
619 | 623 |
620 pxor xmm15,xmm0 | 624 pxor xmm15,xmm0 |
621 pxor xmm1,xmm4 | 625 pxor xmm1,xmm4 |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
788 pxor xmm3,xmm1 | 792 pxor xmm3,xmm1 |
789 pxor xmm6,xmm15 | 793 pxor xmm6,xmm15 |
790 pxor xmm3,xmm4 | 794 pxor xmm3,xmm4 |
791 pxor xmm2,xmm5 | 795 pxor xmm2,xmm5 |
792 pxor xmm5,xmm0 | 796 pxor xmm5,xmm0 |
793 pxor xmm2,xmm3 | 797 pxor xmm2,xmm3 |
794 | 798 |
795 pxor xmm3,xmm15 | 799 pxor xmm3,xmm15 |
796 pxor xmm6,xmm2 | 800 pxor xmm6,xmm2 |
797 dec r10d | 801 dec r10d |
798 » jl» $L$dec_done | 802 » jl» NEAR $L$dec_done |
799 | 803 |
800 » pshufd» xmm7,xmm15,04Eh | 804 » pshufd» xmm7,xmm15,0x4E |
801 » pshufd» xmm13,xmm2,04Eh | 805 » pshufd» xmm13,xmm2,0x4E |
802 pxor xmm7,xmm15 | 806 pxor xmm7,xmm15 |
803 » pshufd» xmm14,xmm4,04Eh | 807 » pshufd» xmm14,xmm4,0x4E |
804 pxor xmm13,xmm2 | 808 pxor xmm13,xmm2 |
805 » pshufd» xmm8,xmm0,04Eh | 809 » pshufd» xmm8,xmm0,0x4E |
806 pxor xmm14,xmm4 | 810 pxor xmm14,xmm4 |
807 » pshufd» xmm9,xmm5,04Eh | 811 » pshufd» xmm9,xmm5,0x4E |
808 pxor xmm8,xmm0 | 812 pxor xmm8,xmm0 |
809 » pshufd» xmm10,xmm3,04Eh | 813 » pshufd» xmm10,xmm3,0x4E |
810 pxor xmm9,xmm5 | 814 pxor xmm9,xmm5 |
811 pxor xmm15,xmm13 | 815 pxor xmm15,xmm13 |
812 pxor xmm0,xmm13 | 816 pxor xmm0,xmm13 |
813 » pshufd» xmm11,xmm1,04Eh | 817 » pshufd» xmm11,xmm1,0x4E |
814 pxor xmm10,xmm3 | 818 pxor xmm10,xmm3 |
815 pxor xmm5,xmm7 | 819 pxor xmm5,xmm7 |
816 pxor xmm3,xmm8 | 820 pxor xmm3,xmm8 |
817 » pshufd» xmm12,xmm6,04Eh | 821 » pshufd» xmm12,xmm6,0x4E |
818 pxor xmm11,xmm1 | 822 pxor xmm11,xmm1 |
819 pxor xmm0,xmm14 | 823 pxor xmm0,xmm14 |
820 pxor xmm1,xmm9 | 824 pxor xmm1,xmm9 |
821 pxor xmm12,xmm6 | 825 pxor xmm12,xmm6 |
822 | 826 |
823 pxor xmm5,xmm14 | 827 pxor xmm5,xmm14 |
824 pxor xmm3,xmm13 | 828 pxor xmm3,xmm13 |
825 pxor xmm1,xmm13 | 829 pxor xmm1,xmm13 |
826 pxor xmm6,xmm10 | 830 pxor xmm6,xmm10 |
827 pxor xmm2,xmm11 | 831 pxor xmm2,xmm11 |
828 pxor xmm1,xmm14 | 832 pxor xmm1,xmm14 |
829 pxor xmm6,xmm14 | 833 pxor xmm6,xmm14 |
830 pxor xmm4,xmm12 | 834 pxor xmm4,xmm12 |
831 » pshufd» xmm7,xmm15,093h | 835 » pshufd» xmm7,xmm15,0x93 |
832 » pshufd» xmm8,xmm0,093h | 836 » pshufd» xmm8,xmm0,0x93 |
833 pxor xmm15,xmm7 | 837 pxor xmm15,xmm7 |
834 » pshufd» xmm9,xmm5,093h | 838 » pshufd» xmm9,xmm5,0x93 |
835 pxor xmm0,xmm8 | 839 pxor xmm0,xmm8 |
836 » pshufd» xmm10,xmm3,093h | 840 » pshufd» xmm10,xmm3,0x93 |
837 pxor xmm5,xmm9 | 841 pxor xmm5,xmm9 |
838 » pshufd» xmm11,xmm1,093h | 842 » pshufd» xmm11,xmm1,0x93 |
839 pxor xmm3,xmm10 | 843 pxor xmm3,xmm10 |
840 » pshufd» xmm12,xmm6,093h | 844 » pshufd» xmm12,xmm6,0x93 |
841 pxor xmm1,xmm11 | 845 pxor xmm1,xmm11 |
842 » pshufd» xmm13,xmm2,093h | 846 » pshufd» xmm13,xmm2,0x93 |
843 pxor xmm6,xmm12 | 847 pxor xmm6,xmm12 |
844 » pshufd» xmm14,xmm4,093h | 848 » pshufd» xmm14,xmm4,0x93 |
845 pxor xmm2,xmm13 | 849 pxor xmm2,xmm13 |
846 pxor xmm4,xmm14 | 850 pxor xmm4,xmm14 |
847 | 851 |
848 pxor xmm8,xmm15 | 852 pxor xmm8,xmm15 |
849 pxor xmm7,xmm4 | 853 pxor xmm7,xmm4 |
850 pxor xmm8,xmm4 | 854 pxor xmm8,xmm4 |
851 » pshufd» xmm15,xmm15,04Eh | 855 » pshufd» xmm15,xmm15,0x4E |
852 pxor xmm9,xmm0 | 856 pxor xmm9,xmm0 |
853 » pshufd» xmm0,xmm0,04Eh | 857 » pshufd» xmm0,xmm0,0x4E |
854 pxor xmm12,xmm1 | 858 pxor xmm12,xmm1 |
855 pxor xmm15,xmm7 | 859 pxor xmm15,xmm7 |
856 pxor xmm13,xmm6 | 860 pxor xmm13,xmm6 |
857 pxor xmm0,xmm8 | 861 pxor xmm0,xmm8 |
858 pxor xmm11,xmm3 | 862 pxor xmm11,xmm3 |
859 » pshufd» xmm7,xmm1,04Eh | 863 » pshufd» xmm7,xmm1,0x4E |
860 pxor xmm14,xmm2 | 864 pxor xmm14,xmm2 |
861 » pshufd» xmm8,xmm6,04Eh | 865 » pshufd» xmm8,xmm6,0x4E |
862 pxor xmm10,xmm5 | 866 pxor xmm10,xmm5 |
863 » pshufd» xmm1,xmm3,04Eh | 867 » pshufd» xmm1,xmm3,0x4E |
864 pxor xmm10,xmm4 | 868 pxor xmm10,xmm4 |
865 » pshufd» xmm6,xmm4,04Eh | 869 » pshufd» xmm6,xmm4,0x4E |
866 pxor xmm11,xmm4 | 870 pxor xmm11,xmm4 |
867 » pshufd» xmm3,xmm2,04Eh | 871 » pshufd» xmm3,xmm2,0x4E |
868 pxor xmm7,xmm11 | 872 pxor xmm7,xmm11 |
869 » pshufd» xmm2,xmm5,04Eh | 873 » pshufd» xmm2,xmm5,0x4E |
870 pxor xmm8,xmm12 | 874 pxor xmm8,xmm12 |
871 pxor xmm10,xmm1 | 875 pxor xmm10,xmm1 |
872 pxor xmm6,xmm14 | 876 pxor xmm6,xmm14 |
873 pxor xmm13,xmm3 | 877 pxor xmm13,xmm3 |
874 movdqa xmm3,xmm7 | 878 movdqa xmm3,xmm7 |
875 pxor xmm2,xmm9 | 879 pxor xmm2,xmm9 |
876 movdqa xmm5,xmm13 | 880 movdqa xmm5,xmm13 |
877 movdqa xmm4,xmm8 | 881 movdqa xmm4,xmm8 |
878 movdqa xmm1,xmm2 | 882 movdqa xmm1,xmm2 |
879 movdqa xmm2,xmm10 | 883 movdqa xmm2,xmm10 |
880 » movdqa» xmm7,XMMWORD PTR[((-16))+r11] | 884 » movdqa» xmm7,XMMWORD[((-16))+r11] |
881 » jnz» $L$dec_loop | 885 » jnz» NEAR $L$dec_loop |
882 » movdqa» xmm7,XMMWORD PTR[((-32))+r11] | 886 » movdqa» xmm7,XMMWORD[((-32))+r11] |
883 » jmp» $L$dec_loop | 887 » jmp» NEAR $L$dec_loop |
884 ALIGN 16 | 888 ALIGN 16 |
885 $L$dec_done:: | 889 $L$dec_done: |
886 » movdqa» xmm7,XMMWORD PTR[r11] | 890 » movdqa» xmm7,XMMWORD[r11] |
887 » movdqa» xmm8,XMMWORD PTR[16+r11] | 891 » movdqa» xmm8,XMMWORD[16+r11] |
888 movdqa xmm9,xmm2 | 892 movdqa xmm9,xmm2 |
889 psrlq xmm2,1 | 893 psrlq xmm2,1 |
890 movdqa xmm10,xmm1 | 894 movdqa xmm10,xmm1 |
891 psrlq xmm1,1 | 895 psrlq xmm1,1 |
892 pxor xmm2,xmm4 | 896 pxor xmm2,xmm4 |
893 pxor xmm1,xmm6 | 897 pxor xmm1,xmm6 |
894 pand xmm2,xmm7 | 898 pand xmm2,xmm7 |
895 pand xmm1,xmm7 | 899 pand xmm1,xmm7 |
896 pxor xmm4,xmm2 | 900 pxor xmm4,xmm2 |
897 psllq xmm2,1 | 901 psllq xmm2,1 |
898 pxor xmm6,xmm1 | 902 pxor xmm6,xmm1 |
899 psllq xmm1,1 | 903 psllq xmm1,1 |
900 pxor xmm2,xmm9 | 904 pxor xmm2,xmm9 |
901 pxor xmm1,xmm10 | 905 pxor xmm1,xmm10 |
902 movdqa xmm9,xmm5 | 906 movdqa xmm9,xmm5 |
903 psrlq xmm5,1 | 907 psrlq xmm5,1 |
904 movdqa xmm10,xmm15 | 908 movdqa xmm10,xmm15 |
905 psrlq xmm15,1 | 909 psrlq xmm15,1 |
906 pxor xmm5,xmm3 | 910 pxor xmm5,xmm3 |
907 pxor xmm15,xmm0 | 911 pxor xmm15,xmm0 |
908 pand xmm5,xmm7 | 912 pand xmm5,xmm7 |
909 pand xmm15,xmm7 | 913 pand xmm15,xmm7 |
910 pxor xmm3,xmm5 | 914 pxor xmm3,xmm5 |
911 psllq xmm5,1 | 915 psllq xmm5,1 |
912 pxor xmm0,xmm15 | 916 pxor xmm0,xmm15 |
913 psllq xmm15,1 | 917 psllq xmm15,1 |
914 pxor xmm5,xmm9 | 918 pxor xmm5,xmm9 |
915 pxor xmm15,xmm10 | 919 pxor xmm15,xmm10 |
916 » movdqa» xmm7,XMMWORD PTR[32+r11] | 920 » movdqa» xmm7,XMMWORD[32+r11] |
917 movdqa xmm9,xmm6 | 921 movdqa xmm9,xmm6 |
918 psrlq xmm6,2 | 922 psrlq xmm6,2 |
919 movdqa xmm10,xmm1 | 923 movdqa xmm10,xmm1 |
920 psrlq xmm1,2 | 924 psrlq xmm1,2 |
921 pxor xmm6,xmm4 | 925 pxor xmm6,xmm4 |
922 pxor xmm1,xmm2 | 926 pxor xmm1,xmm2 |
923 pand xmm6,xmm8 | 927 pand xmm6,xmm8 |
924 pand xmm1,xmm8 | 928 pand xmm1,xmm8 |
925 pxor xmm4,xmm6 | 929 pxor xmm4,xmm6 |
926 psllq xmm6,2 | 930 psllq xmm6,2 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
963 pxor xmm0,xmm6 | 967 pxor xmm0,xmm6 |
964 pxor xmm15,xmm1 | 968 pxor xmm15,xmm1 |
965 pand xmm0,xmm7 | 969 pand xmm0,xmm7 |
966 pand xmm15,xmm7 | 970 pand xmm15,xmm7 |
967 pxor xmm6,xmm0 | 971 pxor xmm6,xmm0 |
968 psllq xmm0,4 | 972 psllq xmm0,4 |
969 pxor xmm1,xmm15 | 973 pxor xmm1,xmm15 |
970 psllq xmm15,4 | 974 psllq xmm15,4 |
971 pxor xmm0,xmm9 | 975 pxor xmm0,xmm9 |
972 pxor xmm15,xmm10 | 976 pxor xmm15,xmm10 |
973 » movdqa» xmm7,XMMWORD PTR[rax] | 977 » movdqa» xmm7,XMMWORD[rax] |
974 pxor xmm5,xmm7 | 978 pxor xmm5,xmm7 |
975 pxor xmm3,xmm7 | 979 pxor xmm3,xmm7 |
976 pxor xmm1,xmm7 | 980 pxor xmm1,xmm7 |
977 pxor xmm6,xmm7 | 981 pxor xmm6,xmm7 |
978 pxor xmm2,xmm7 | 982 pxor xmm2,xmm7 |
979 pxor xmm4,xmm7 | 983 pxor xmm4,xmm7 |
980 pxor xmm15,xmm7 | 984 pxor xmm15,xmm7 |
981 pxor xmm0,xmm7 | 985 pxor xmm0,xmm7 |
982 DB 0F3h,0C3h ;repret | 986 DB 0F3h,0C3h ;repret |
983 _bsaes_decrypt8»ENDP | 987 |
984 | 988 |
985 ALIGN 16 | 989 ALIGN 16 |
986 _bsaes_key_convert» PROC PRIVATE | 990 _bsaes_key_convert: |
987 » lea» r11,QWORD PTR[$L$masks] | 991 » lea» r11,[$L$masks] |
988 » movdqu» xmm7,XMMWORD PTR[rcx] | 992 » movdqu» xmm7,XMMWORD[rcx] |
989 » lea» rcx,QWORD PTR[16+rcx] | 993 » lea» rcx,[16+rcx] |
990 » movdqa» xmm0,XMMWORD PTR[r11] | 994 » movdqa» xmm0,XMMWORD[r11] |
991 » movdqa» xmm1,XMMWORD PTR[16+r11] | 995 » movdqa» xmm1,XMMWORD[16+r11] |
992 » movdqa» xmm2,XMMWORD PTR[32+r11] | 996 » movdqa» xmm2,XMMWORD[32+r11] |
993 » movdqa» xmm3,XMMWORD PTR[48+r11] | 997 » movdqa» xmm3,XMMWORD[48+r11] |
994 » movdqa» xmm4,XMMWORD PTR[64+r11] | 998 » movdqa» xmm4,XMMWORD[64+r11] |
995 pcmpeqd xmm5,xmm5 | 999 pcmpeqd xmm5,xmm5 |
996 | 1000 |
997 » movdqu» xmm6,XMMWORD PTR[rcx] | 1001 » movdqu» xmm6,XMMWORD[rcx] |
998 » movdqa» XMMWORD PTR[rax],xmm7 | 1002 » movdqa» XMMWORD[rax],xmm7 |
999 » lea» rax,QWORD PTR[16+rax] | 1003 » lea» rax,[16+rax] |
1000 dec r10d | 1004 dec r10d |
1001 » jmp» $L$key_loop | 1005 » jmp» NEAR $L$key_loop |
1002 ALIGN 16 | 1006 ALIGN 16 |
1003 $L$key_loop:: | 1007 $L$key_loop: |
1004 DB 102,15,56,0,244 | 1008 DB 102,15,56,0,244 |
1005 | 1009 |
1006 movdqa xmm8,xmm0 | 1010 movdqa xmm8,xmm0 |
1007 movdqa xmm9,xmm1 | 1011 movdqa xmm9,xmm1 |
1008 | 1012 |
1009 pand xmm8,xmm6 | 1013 pand xmm8,xmm6 |
1010 pand xmm9,xmm6 | 1014 pand xmm9,xmm6 |
1011 movdqa xmm10,xmm2 | 1015 movdqa xmm10,xmm2 |
1012 pcmpeqb xmm8,xmm0 | 1016 pcmpeqb xmm8,xmm0 |
1013 psllq xmm0,4 | 1017 psllq xmm0,4 |
(...skipping 10 matching lines...) Expand all Loading... |
1024 pcmpeqb xmm11,xmm3 | 1028 pcmpeqb xmm11,xmm3 |
1025 psllq xmm3,4 | 1029 psllq xmm3,4 |
1026 | 1030 |
1027 movdqa xmm14,xmm2 | 1031 movdqa xmm14,xmm2 |
1028 movdqa xmm15,xmm3 | 1032 movdqa xmm15,xmm3 |
1029 pxor xmm8,xmm5 | 1033 pxor xmm8,xmm5 |
1030 pxor xmm9,xmm5 | 1034 pxor xmm9,xmm5 |
1031 | 1035 |
1032 pand xmm12,xmm6 | 1036 pand xmm12,xmm6 |
1033 pand xmm13,xmm6 | 1037 pand xmm13,xmm6 |
1034 » movdqa» XMMWORD PTR[rax],xmm8 | 1038 » movdqa» XMMWORD[rax],xmm8 |
1035 pcmpeqb xmm12,xmm0 | 1039 pcmpeqb xmm12,xmm0 |
1036 psrlq xmm0,4 | 1040 psrlq xmm0,4 |
1037 » movdqa» XMMWORD PTR[16+rax],xmm9 | 1041 » movdqa» XMMWORD[16+rax],xmm9 |
1038 pcmpeqb xmm13,xmm1 | 1042 pcmpeqb xmm13,xmm1 |
1039 psrlq xmm1,4 | 1043 psrlq xmm1,4 |
1040 » lea» rcx,QWORD PTR[16+rcx] | 1044 » lea» rcx,[16+rcx] |
1041 | 1045 |
1042 pand xmm14,xmm6 | 1046 pand xmm14,xmm6 |
1043 pand xmm15,xmm6 | 1047 pand xmm15,xmm6 |
1044 » movdqa» XMMWORD PTR[32+rax],xmm10 | 1048 » movdqa» XMMWORD[32+rax],xmm10 |
1045 pcmpeqb xmm14,xmm2 | 1049 pcmpeqb xmm14,xmm2 |
1046 psrlq xmm2,4 | 1050 psrlq xmm2,4 |
1047 » movdqa» XMMWORD PTR[48+rax],xmm11 | 1051 » movdqa» XMMWORD[48+rax],xmm11 |
1048 pcmpeqb xmm15,xmm3 | 1052 pcmpeqb xmm15,xmm3 |
1049 psrlq xmm3,4 | 1053 psrlq xmm3,4 |
1050 » movdqu» xmm6,XMMWORD PTR[rcx] | 1054 » movdqu» xmm6,XMMWORD[rcx] |
1051 | 1055 |
1052 pxor xmm13,xmm5 | 1056 pxor xmm13,xmm5 |
1053 pxor xmm14,xmm5 | 1057 pxor xmm14,xmm5 |
1054 » movdqa» XMMWORD PTR[64+rax],xmm12 | 1058 » movdqa» XMMWORD[64+rax],xmm12 |
1055 » movdqa» XMMWORD PTR[80+rax],xmm13 | 1059 » movdqa» XMMWORD[80+rax],xmm13 |
1056 » movdqa» XMMWORD PTR[96+rax],xmm14 | 1060 » movdqa» XMMWORD[96+rax],xmm14 |
1057 » movdqa» XMMWORD PTR[112+rax],xmm15 | 1061 » movdqa» XMMWORD[112+rax],xmm15 |
1058 » lea» rax,QWORD PTR[128+rax] | 1062 » lea» rax,[128+rax] |
1059 dec r10d | 1063 dec r10d |
1060 » jnz» $L$key_loop | 1064 » jnz» NEAR $L$key_loop |
1061 | 1065 |
1062 » movdqa» xmm7,XMMWORD PTR[80+r11] | 1066 » movdqa» xmm7,XMMWORD[80+r11] |
1063 | 1067 |
1064 DB 0F3h,0C3h ;repret | 1068 DB 0F3h,0C3h ;repret |
1065 _bsaes_key_convert» ENDP | 1069 |
1066 EXTERN» asm_AES_cbc_encrypt:NEAR | 1070 EXTERN» asm_AES_cbc_encrypt |
1067 PUBLIC» bsaes_cbc_encrypt | 1071 global» bsaes_cbc_encrypt |
1068 | 1072 |
1069 ALIGN 16 | 1073 ALIGN 16 |
1070 bsaes_cbc_encrypt» PROC PUBLIC | 1074 bsaes_cbc_encrypt: |
1071 » mov» r11d,DWORD PTR[48+rsp] | 1075 » mov» r11d,DWORD[48+rsp] |
1072 cmp r11d,0 | 1076 cmp r11d,0 |
1073 » jne» asm_AES_cbc_encrypt | 1077 » jne» NEAR asm_AES_cbc_encrypt |
1074 cmp r8,128 | 1078 cmp r8,128 |
1075 » jb» asm_AES_cbc_encrypt | 1079 » jb» NEAR asm_AES_cbc_encrypt |
1076 | 1080 |
1077 mov rax,rsp | 1081 mov rax,rsp |
1078 $L$cbc_dec_prologue:: | 1082 $L$cbc_dec_prologue: |
1079 push rbp | 1083 push rbp |
1080 push rbx | 1084 push rbx |
1081 push r12 | 1085 push r12 |
1082 push r13 | 1086 push r13 |
1083 push r14 | 1087 push r14 |
1084 push r15 | 1088 push r15 |
1085 » lea» rsp,QWORD PTR[((-72))+rsp] | 1089 » lea» rsp,[((-72))+rsp] |
1086 » mov» r10,QWORD PTR[160+rsp] | 1090 » mov» r10,QWORD[160+rsp] |
1087 » lea» rsp,QWORD PTR[((-160))+rsp] | 1091 » lea» rsp,[((-160))+rsp] |
1088 » movaps» XMMWORD PTR[64+rsp],xmm6 | 1092 » movaps» XMMWORD[64+rsp],xmm6 |
1089 » movaps» XMMWORD PTR[80+rsp],xmm7 | 1093 » movaps» XMMWORD[80+rsp],xmm7 |
1090 » movaps» XMMWORD PTR[96+rsp],xmm8 | 1094 » movaps» XMMWORD[96+rsp],xmm8 |
1091 » movaps» XMMWORD PTR[112+rsp],xmm9 | 1095 » movaps» XMMWORD[112+rsp],xmm9 |
1092 » movaps» XMMWORD PTR[128+rsp],xmm10 | 1096 » movaps» XMMWORD[128+rsp],xmm10 |
1093 » movaps» XMMWORD PTR[144+rsp],xmm11 | 1097 » movaps» XMMWORD[144+rsp],xmm11 |
1094 » movaps» XMMWORD PTR[160+rsp],xmm12 | 1098 » movaps» XMMWORD[160+rsp],xmm12 |
1095 » movaps» XMMWORD PTR[176+rsp],xmm13 | 1099 » movaps» XMMWORD[176+rsp],xmm13 |
1096 » movaps» XMMWORD PTR[192+rsp],xmm14 | 1100 » movaps» XMMWORD[192+rsp],xmm14 |
1097 » movaps» XMMWORD PTR[208+rsp],xmm15 | 1101 » movaps» XMMWORD[208+rsp],xmm15 |
1098 $L$cbc_dec_body:: | 1102 $L$cbc_dec_body: |
1099 mov rbp,rsp | 1103 mov rbp,rsp |
1100 » mov» eax,DWORD PTR[240+r9] | 1104 » mov» eax,DWORD[240+r9] |
1101 mov r12,rcx | 1105 mov r12,rcx |
1102 mov r13,rdx | 1106 mov r13,rdx |
1103 mov r14,r8 | 1107 mov r14,r8 |
1104 mov r15,r9 | 1108 mov r15,r9 |
1105 mov rbx,r10 | 1109 mov rbx,r10 |
1106 shr r14,4 | 1110 shr r14,4 |
1107 | 1111 |
1108 mov edx,eax | 1112 mov edx,eax |
1109 shl rax,7 | 1113 shl rax,7 |
1110 sub rax,96 | 1114 sub rax,96 |
1111 sub rsp,rax | 1115 sub rsp,rax |
1112 | 1116 |
1113 mov rax,rsp | 1117 mov rax,rsp |
1114 mov rcx,r15 | 1118 mov rcx,r15 |
1115 mov r10d,edx | 1119 mov r10d,edx |
1116 call _bsaes_key_convert | 1120 call _bsaes_key_convert |
1117 » pxor» xmm7,XMMWORD PTR[rsp] | 1121 » pxor» xmm7,XMMWORD[rsp] |
1118 » movdqa» XMMWORD PTR[rax],xmm6 | 1122 » movdqa» XMMWORD[rax],xmm6 |
1119 » movdqa» XMMWORD PTR[rsp],xmm7 | 1123 » movdqa» XMMWORD[rsp],xmm7 |
1120 | 1124 |
1121 » movdqu» xmm14,XMMWORD PTR[rbx] | 1125 » movdqu» xmm14,XMMWORD[rbx] |
1122 sub r14,8 | 1126 sub r14,8 |
1123 $L$cbc_dec_loop:: | 1127 $L$cbc_dec_loop: |
1124 » movdqu» xmm15,XMMWORD PTR[r12] | 1128 » movdqu» xmm15,XMMWORD[r12] |
1125 » movdqu» xmm0,XMMWORD PTR[16+r12] | 1129 » movdqu» xmm0,XMMWORD[16+r12] |
1126 » movdqu» xmm1,XMMWORD PTR[32+r12] | 1130 » movdqu» xmm1,XMMWORD[32+r12] |
1127 » movdqu» xmm2,XMMWORD PTR[48+r12] | 1131 » movdqu» xmm2,XMMWORD[48+r12] |
1128 » movdqu» xmm3,XMMWORD PTR[64+r12] | 1132 » movdqu» xmm3,XMMWORD[64+r12] |
1129 » movdqu» xmm4,XMMWORD PTR[80+r12] | 1133 » movdqu» xmm4,XMMWORD[80+r12] |
1130 mov rax,rsp | 1134 mov rax,rsp |
1131 » movdqu» xmm5,XMMWORD PTR[96+r12] | 1135 » movdqu» xmm5,XMMWORD[96+r12] |
1132 mov r10d,edx | 1136 mov r10d,edx |
1133 » movdqu» xmm6,XMMWORD PTR[112+r12] | 1137 » movdqu» xmm6,XMMWORD[112+r12] |
1134 » movdqa» XMMWORD PTR[32+rbp],xmm14 | 1138 » movdqa» XMMWORD[32+rbp],xmm14 |
1135 | 1139 |
1136 » call» _bsaes_decrypt8 | 1140 » call» _bsaes_decrypt8 |
1137 | 1141 |
1138 » pxor» xmm15,XMMWORD PTR[32+rbp] | 1142 » pxor» xmm15,XMMWORD[32+rbp] |
1139 » movdqu» xmm7,XMMWORD PTR[r12] | 1143 » movdqu» xmm7,XMMWORD[r12] |
1140 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1144 » movdqu» xmm8,XMMWORD[16+r12] |
1141 » pxor» xmm0,xmm7 | 1145 » pxor» xmm0,xmm7 |
1142 » movdqu» xmm9,XMMWORD PTR[32+r12] | 1146 » movdqu» xmm9,XMMWORD[32+r12] |
1143 » pxor» xmm5,xmm8 | 1147 » pxor» xmm5,xmm8 |
1144 » movdqu» xmm10,XMMWORD PTR[48+r12] | 1148 » movdqu» xmm10,XMMWORD[48+r12] |
1145 » pxor» xmm3,xmm9 | 1149 » pxor» xmm3,xmm9 |
1146 » movdqu» xmm11,XMMWORD PTR[64+r12] | 1150 » movdqu» xmm11,XMMWORD[64+r12] |
1147 » pxor» xmm1,xmm10 | 1151 » pxor» xmm1,xmm10 |
1148 » movdqu» xmm12,XMMWORD PTR[80+r12] | 1152 » movdqu» xmm12,XMMWORD[80+r12] |
1149 pxor xmm6,xmm11 | 1153 pxor xmm6,xmm11 |
1150 » movdqu» xmm13,XMMWORD PTR[96+r12] | 1154 » movdqu» xmm13,XMMWORD[96+r12] |
1151 pxor xmm2,xmm12 | 1155 pxor xmm2,xmm12 |
1152 » movdqu» xmm14,XMMWORD PTR[112+r12] | 1156 » movdqu» xmm14,XMMWORD[112+r12] |
1153 pxor xmm4,xmm13 | 1157 pxor xmm4,xmm13 |
1154 » movdqu» XMMWORD PTR[r13],xmm15 | 1158 » movdqu» XMMWORD[r13],xmm15 |
1155 » lea» r12,QWORD PTR[128+r12] | 1159 » lea» r12,[128+r12] |
1156 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1160 » movdqu» XMMWORD[16+r13],xmm0 |
1157 » movdqu» XMMWORD PTR[32+r13],xmm5 | 1161 » movdqu» XMMWORD[32+r13],xmm5 |
1158 » movdqu» XMMWORD PTR[48+r13],xmm3 | 1162 » movdqu» XMMWORD[48+r13],xmm3 |
1159 » movdqu» XMMWORD PTR[64+r13],xmm1 | 1163 » movdqu» XMMWORD[64+r13],xmm1 |
1160 » movdqu» XMMWORD PTR[80+r13],xmm6 | 1164 » movdqu» XMMWORD[80+r13],xmm6 |
1161 » movdqu» XMMWORD PTR[96+r13],xmm2 | 1165 » movdqu» XMMWORD[96+r13],xmm2 |
1162 » movdqu» XMMWORD PTR[112+r13],xmm4 | 1166 » movdqu» XMMWORD[112+r13],xmm4 |
1163 » lea» r13,QWORD PTR[128+r13] | 1167 » lea» r13,[128+r13] |
1164 sub r14,8 | 1168 sub r14,8 |
1165 » jnc» $L$cbc_dec_loop | 1169 » jnc» NEAR $L$cbc_dec_loop |
1166 | 1170 |
1167 add r14,8 | 1171 add r14,8 |
1168 » jz» $L$cbc_dec_done | 1172 » jz» NEAR $L$cbc_dec_done |
1169 | 1173 |
1170 » movdqu» xmm15,XMMWORD PTR[r12] | 1174 » movdqu» xmm15,XMMWORD[r12] |
1171 mov rax,rsp | 1175 mov rax,rsp |
1172 mov r10d,edx | 1176 mov r10d,edx |
1173 cmp r14,2 | 1177 cmp r14,2 |
1174 » jb» $L$cbc_dec_one | 1178 » jb» NEAR $L$cbc_dec_one |
1175 » movdqu» xmm0,XMMWORD PTR[16+r12] | 1179 » movdqu» xmm0,XMMWORD[16+r12] |
1176 » je» $L$cbc_dec_two | 1180 » je» NEAR $L$cbc_dec_two |
1177 » movdqu» xmm1,XMMWORD PTR[32+r12] | 1181 » movdqu» xmm1,XMMWORD[32+r12] |
1178 cmp r14,4 | 1182 cmp r14,4 |
1179 » jb» $L$cbc_dec_three | 1183 » jb» NEAR $L$cbc_dec_three |
1180 » movdqu» xmm2,XMMWORD PTR[48+r12] | 1184 » movdqu» xmm2,XMMWORD[48+r12] |
1181 » je» $L$cbc_dec_four | 1185 » je» NEAR $L$cbc_dec_four |
1182 » movdqu» xmm3,XMMWORD PTR[64+r12] | 1186 » movdqu» xmm3,XMMWORD[64+r12] |
1183 cmp r14,6 | 1187 cmp r14,6 |
1184 » jb» $L$cbc_dec_five | 1188 » jb» NEAR $L$cbc_dec_five |
1185 » movdqu» xmm4,XMMWORD PTR[80+r12] | 1189 » movdqu» xmm4,XMMWORD[80+r12] |
1186 » je» $L$cbc_dec_six | 1190 » je» NEAR $L$cbc_dec_six |
1187 » movdqu» xmm5,XMMWORD PTR[96+r12] | 1191 » movdqu» xmm5,XMMWORD[96+r12] |
1188 » movdqa» XMMWORD PTR[32+rbp],xmm14 | 1192 » movdqa» XMMWORD[32+rbp],xmm14 |
1189 » call» _bsaes_decrypt8 | 1193 » call» _bsaes_decrypt8 |
1190 » pxor» xmm15,XMMWORD PTR[32+rbp] | 1194 » pxor» xmm15,XMMWORD[32+rbp] |
1191 » movdqu» xmm7,XMMWORD PTR[r12] | 1195 » movdqu» xmm7,XMMWORD[r12] |
1192 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1196 » movdqu» xmm8,XMMWORD[16+r12] |
1193 » pxor» xmm0,xmm7 | 1197 » pxor» xmm0,xmm7 |
1194 » movdqu» xmm9,XMMWORD PTR[32+r12] | 1198 » movdqu» xmm9,XMMWORD[32+r12] |
1195 » pxor» xmm5,xmm8 | 1199 » pxor» xmm5,xmm8 |
1196 » movdqu» xmm10,XMMWORD PTR[48+r12] | 1200 » movdqu» xmm10,XMMWORD[48+r12] |
1197 » pxor» xmm3,xmm9 | 1201 » pxor» xmm3,xmm9 |
1198 » movdqu» xmm11,XMMWORD PTR[64+r12] | 1202 » movdqu» xmm11,XMMWORD[64+r12] |
1199 » pxor» xmm1,xmm10 | 1203 » pxor» xmm1,xmm10 |
1200 » movdqu» xmm12,XMMWORD PTR[80+r12] | 1204 » movdqu» xmm12,XMMWORD[80+r12] |
1201 pxor xmm6,xmm11 | 1205 pxor xmm6,xmm11 |
1202 » movdqu» xmm14,XMMWORD PTR[96+r12] | 1206 » movdqu» xmm14,XMMWORD[96+r12] |
1203 pxor xmm2,xmm12 | 1207 pxor xmm2,xmm12 |
1204 » movdqu» XMMWORD PTR[r13],xmm15 | 1208 » movdqu» XMMWORD[r13],xmm15 |
1205 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1209 » movdqu» XMMWORD[16+r13],xmm0 |
1206 » movdqu» XMMWORD PTR[32+r13],xmm5 | 1210 » movdqu» XMMWORD[32+r13],xmm5 |
1207 » movdqu» XMMWORD PTR[48+r13],xmm3 | 1211 » movdqu» XMMWORD[48+r13],xmm3 |
1208 » movdqu» XMMWORD PTR[64+r13],xmm1 | 1212 » movdqu» XMMWORD[64+r13],xmm1 |
1209 » movdqu» XMMWORD PTR[80+r13],xmm6 | 1213 » movdqu» XMMWORD[80+r13],xmm6 |
1210 » movdqu» XMMWORD PTR[96+r13],xmm2 | 1214 » movdqu» XMMWORD[96+r13],xmm2 |
1211 » jmp» $L$cbc_dec_done | 1215 » jmp» NEAR $L$cbc_dec_done |
1212 ALIGN» 16 | 1216 ALIGN» 16 |
1213 $L$cbc_dec_six:: | 1217 $L$cbc_dec_six: |
1214 » movdqa» XMMWORD PTR[32+rbp],xmm14 | 1218 » movdqa» XMMWORD[32+rbp],xmm14 |
1215 » call» _bsaes_decrypt8 | 1219 » call» _bsaes_decrypt8 |
1216 » pxor» xmm15,XMMWORD PTR[32+rbp] | 1220 » pxor» xmm15,XMMWORD[32+rbp] |
1217 » movdqu» xmm7,XMMWORD PTR[r12] | 1221 » movdqu» xmm7,XMMWORD[r12] |
1218 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1222 » movdqu» xmm8,XMMWORD[16+r12] |
1219 » pxor» xmm0,xmm7 | 1223 » pxor» xmm0,xmm7 |
1220 » movdqu» xmm9,XMMWORD PTR[32+r12] | 1224 » movdqu» xmm9,XMMWORD[32+r12] |
1221 » pxor» xmm5,xmm8 | 1225 » pxor» xmm5,xmm8 |
1222 » movdqu» xmm10,XMMWORD PTR[48+r12] | 1226 » movdqu» xmm10,XMMWORD[48+r12] |
1223 » pxor» xmm3,xmm9 | 1227 » pxor» xmm3,xmm9 |
1224 » movdqu» xmm11,XMMWORD PTR[64+r12] | 1228 » movdqu» xmm11,XMMWORD[64+r12] |
1225 » pxor» xmm1,xmm10 | 1229 » pxor» xmm1,xmm10 |
1226 » movdqu» xmm14,XMMWORD PTR[80+r12] | 1230 » movdqu» xmm14,XMMWORD[80+r12] |
1227 pxor xmm6,xmm11 | 1231 pxor xmm6,xmm11 |
1228 » movdqu» XMMWORD PTR[r13],xmm15 | 1232 » movdqu» XMMWORD[r13],xmm15 |
1229 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1233 » movdqu» XMMWORD[16+r13],xmm0 |
1230 » movdqu» XMMWORD PTR[32+r13],xmm5 | 1234 » movdqu» XMMWORD[32+r13],xmm5 |
1231 » movdqu» XMMWORD PTR[48+r13],xmm3 | 1235 » movdqu» XMMWORD[48+r13],xmm3 |
1232 » movdqu» XMMWORD PTR[64+r13],xmm1 | 1236 » movdqu» XMMWORD[64+r13],xmm1 |
1233 » movdqu» XMMWORD PTR[80+r13],xmm6 | 1237 » movdqu» XMMWORD[80+r13],xmm6 |
1234 » jmp» $L$cbc_dec_done | 1238 » jmp» NEAR $L$cbc_dec_done |
1235 ALIGN» 16 | 1239 ALIGN» 16 |
1236 $L$cbc_dec_five:: | 1240 $L$cbc_dec_five: |
1237 » movdqa» XMMWORD PTR[32+rbp],xmm14 | 1241 » movdqa» XMMWORD[32+rbp],xmm14 |
1238 » call» _bsaes_decrypt8 | 1242 » call» _bsaes_decrypt8 |
1239 » pxor» xmm15,XMMWORD PTR[32+rbp] | 1243 » pxor» xmm15,XMMWORD[32+rbp] |
1240 » movdqu» xmm7,XMMWORD PTR[r12] | 1244 » movdqu» xmm7,XMMWORD[r12] |
1241 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1245 » movdqu» xmm8,XMMWORD[16+r12] |
1242 » pxor» xmm0,xmm7 | 1246 » pxor» xmm0,xmm7 |
1243 » movdqu» xmm9,XMMWORD PTR[32+r12] | 1247 » movdqu» xmm9,XMMWORD[32+r12] |
1244 » pxor» xmm5,xmm8 | 1248 » pxor» xmm5,xmm8 |
1245 » movdqu» xmm10,XMMWORD PTR[48+r12] | 1249 » movdqu» xmm10,XMMWORD[48+r12] |
1246 » pxor» xmm3,xmm9 | 1250 » pxor» xmm3,xmm9 |
1247 » movdqu» xmm14,XMMWORD PTR[64+r12] | 1251 » movdqu» xmm14,XMMWORD[64+r12] |
1248 » pxor» xmm1,xmm10 | 1252 » pxor» xmm1,xmm10 |
1249 » movdqu» XMMWORD PTR[r13],xmm15 | 1253 » movdqu» XMMWORD[r13],xmm15 |
1250 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1254 » movdqu» XMMWORD[16+r13],xmm0 |
1251 » movdqu» XMMWORD PTR[32+r13],xmm5 | 1255 » movdqu» XMMWORD[32+r13],xmm5 |
1252 » movdqu» XMMWORD PTR[48+r13],xmm3 | 1256 » movdqu» XMMWORD[48+r13],xmm3 |
1253 » movdqu» XMMWORD PTR[64+r13],xmm1 | 1257 » movdqu» XMMWORD[64+r13],xmm1 |
1254 » jmp» $L$cbc_dec_done | 1258 » jmp» NEAR $L$cbc_dec_done |
1255 ALIGN» 16 | 1259 ALIGN» 16 |
1256 $L$cbc_dec_four:: | 1260 $L$cbc_dec_four: |
1257 » movdqa» XMMWORD PTR[32+rbp],xmm14 | 1261 » movdqa» XMMWORD[32+rbp],xmm14 |
1258 » call» _bsaes_decrypt8 | 1262 » call» _bsaes_decrypt8 |
1259 » pxor» xmm15,XMMWORD PTR[32+rbp] | 1263 » pxor» xmm15,XMMWORD[32+rbp] |
1260 » movdqu» xmm7,XMMWORD PTR[r12] | 1264 » movdqu» xmm7,XMMWORD[r12] |
1261 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1265 » movdqu» xmm8,XMMWORD[16+r12] |
1262 » pxor» xmm0,xmm7 | 1266 » pxor» xmm0,xmm7 |
1263 » movdqu» xmm9,XMMWORD PTR[32+r12] | 1267 » movdqu» xmm9,XMMWORD[32+r12] |
1264 » pxor» xmm5,xmm8 | 1268 » pxor» xmm5,xmm8 |
1265 » movdqu» xmm14,XMMWORD PTR[48+r12] | 1269 » movdqu» xmm14,XMMWORD[48+r12] |
1266 » pxor» xmm3,xmm9 | 1270 » pxor» xmm3,xmm9 |
1267 » movdqu» XMMWORD PTR[r13],xmm15 | 1271 » movdqu» XMMWORD[r13],xmm15 |
1268 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1272 » movdqu» XMMWORD[16+r13],xmm0 |
1269 » movdqu» XMMWORD PTR[32+r13],xmm5 | 1273 » movdqu» XMMWORD[32+r13],xmm5 |
1270 » movdqu» XMMWORD PTR[48+r13],xmm3 | 1274 » movdqu» XMMWORD[48+r13],xmm3 |
1271 » jmp» $L$cbc_dec_done | 1275 » jmp» NEAR $L$cbc_dec_done |
1272 ALIGN» 16 | 1276 ALIGN» 16 |
1273 $L$cbc_dec_three:: | 1277 $L$cbc_dec_three: |
1274 » movdqa» XMMWORD PTR[32+rbp],xmm14 | 1278 » movdqa» XMMWORD[32+rbp],xmm14 |
1275 » call» _bsaes_decrypt8 | 1279 » call» _bsaes_decrypt8 |
1276 » pxor» xmm15,XMMWORD PTR[32+rbp] | 1280 » pxor» xmm15,XMMWORD[32+rbp] |
1277 » movdqu» xmm7,XMMWORD PTR[r12] | 1281 » movdqu» xmm7,XMMWORD[r12] |
1278 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1282 » movdqu» xmm8,XMMWORD[16+r12] |
1279 » pxor» xmm0,xmm7 | 1283 » pxor» xmm0,xmm7 |
1280 » movdqu» xmm14,XMMWORD PTR[32+r12] | 1284 » movdqu» xmm14,XMMWORD[32+r12] |
1281 » pxor» xmm5,xmm8 | 1285 » pxor» xmm5,xmm8 |
1282 » movdqu» XMMWORD PTR[r13],xmm15 | 1286 » movdqu» XMMWORD[r13],xmm15 |
1283 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1287 » movdqu» XMMWORD[16+r13],xmm0 |
1284 » movdqu» XMMWORD PTR[32+r13],xmm5 | 1288 » movdqu» XMMWORD[32+r13],xmm5 |
1285 » jmp» $L$cbc_dec_done | 1289 » jmp» NEAR $L$cbc_dec_done |
1286 ALIGN» 16 | 1290 ALIGN» 16 |
1287 $L$cbc_dec_two:: | 1291 $L$cbc_dec_two: |
1288 » movdqa» XMMWORD PTR[32+rbp],xmm14 | 1292 » movdqa» XMMWORD[32+rbp],xmm14 |
1289 » call» _bsaes_decrypt8 | 1293 » call» _bsaes_decrypt8 |
1290 » pxor» xmm15,XMMWORD PTR[32+rbp] | 1294 » pxor» xmm15,XMMWORD[32+rbp] |
1291 » movdqu» xmm7,XMMWORD PTR[r12] | 1295 » movdqu» xmm7,XMMWORD[r12] |
1292 » movdqu» xmm14,XMMWORD PTR[16+r12] | 1296 » movdqu» xmm14,XMMWORD[16+r12] |
1293 » pxor» xmm0,xmm7 | 1297 » pxor» xmm0,xmm7 |
1294 » movdqu» XMMWORD PTR[r13],xmm15 | 1298 » movdqu» XMMWORD[r13],xmm15 |
1295 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1299 » movdqu» XMMWORD[16+r13],xmm0 |
1296 » jmp» $L$cbc_dec_done | 1300 » jmp» NEAR $L$cbc_dec_done |
1297 ALIGN» 16 | 1301 ALIGN» 16 |
1298 $L$cbc_dec_one:: | 1302 $L$cbc_dec_one: |
1299 » lea» rcx,QWORD PTR[r12] | 1303 » lea» rcx,[r12] |
1300 » lea» rdx,QWORD PTR[32+rbp] | 1304 » lea» rdx,[32+rbp] |
1301 » lea» r8,QWORD PTR[r15] | 1305 » lea» r8,[r15] |
1302 call asm_AES_decrypt | 1306 call asm_AES_decrypt |
1303 » pxor» xmm14,XMMWORD PTR[32+rbp] | 1307 » pxor» xmm14,XMMWORD[32+rbp] |
1304 » movdqu» XMMWORD PTR[r13],xmm14 | 1308 » movdqu» XMMWORD[r13],xmm14 |
1305 movdqa xmm14,xmm15 | 1309 movdqa xmm14,xmm15 |
1306 | 1310 |
1307 $L$cbc_dec_done:: | 1311 $L$cbc_dec_done: |
1308 » movdqu» XMMWORD PTR[rbx],xmm14 | 1312 » movdqu» XMMWORD[rbx],xmm14 |
1309 » lea» rax,QWORD PTR[rsp] | 1313 » lea» rax,[rsp] |
1310 pxor xmm0,xmm0 | 1314 pxor xmm0,xmm0 |
1311 $L$cbc_dec_bzero:: | 1315 $L$cbc_dec_bzero: |
1312 » movdqa» XMMWORD PTR[rax],xmm0 | 1316 » movdqa» XMMWORD[rax],xmm0 |
1313 » movdqa» XMMWORD PTR[16+rax],xmm0 | 1317 » movdqa» XMMWORD[16+rax],xmm0 |
1314 » lea» rax,QWORD PTR[32+rax] | 1318 » lea» rax,[32+rax] |
1315 cmp rbp,rax | 1319 cmp rbp,rax |
1316 » ja» $L$cbc_dec_bzero | 1320 » ja» NEAR $L$cbc_dec_bzero |
1317 | 1321 |
1318 » lea» rsp,QWORD PTR[rbp] | 1322 » lea» rsp,[rbp] |
1319 » movaps» xmm6,XMMWORD PTR[64+rbp] | 1323 » movaps» xmm6,XMMWORD[64+rbp] |
1320 » movaps» xmm7,XMMWORD PTR[80+rbp] | 1324 » movaps» xmm7,XMMWORD[80+rbp] |
1321 » movaps» xmm8,XMMWORD PTR[96+rbp] | 1325 » movaps» xmm8,XMMWORD[96+rbp] |
1322 » movaps» xmm9,XMMWORD PTR[112+rbp] | 1326 » movaps» xmm9,XMMWORD[112+rbp] |
1323 » movaps» xmm10,XMMWORD PTR[128+rbp] | 1327 » movaps» xmm10,XMMWORD[128+rbp] |
1324 » movaps» xmm11,XMMWORD PTR[144+rbp] | 1328 » movaps» xmm11,XMMWORD[144+rbp] |
1325 » movaps» xmm12,XMMWORD PTR[160+rbp] | 1329 » movaps» xmm12,XMMWORD[160+rbp] |
1326 » movaps» xmm13,XMMWORD PTR[176+rbp] | 1330 » movaps» xmm13,XMMWORD[176+rbp] |
1327 » movaps» xmm14,XMMWORD PTR[192+rbp] | 1331 » movaps» xmm14,XMMWORD[192+rbp] |
1328 » movaps» xmm15,XMMWORD PTR[208+rbp] | 1332 » movaps» xmm15,XMMWORD[208+rbp] |
1329 » lea» rsp,QWORD PTR[160+rbp] | 1333 » lea» rsp,[160+rbp] |
1330 » mov» r15,QWORD PTR[72+rsp] | 1334 » mov» r15,QWORD[72+rsp] |
1331 » mov» r14,QWORD PTR[80+rsp] | 1335 » mov» r14,QWORD[80+rsp] |
1332 » mov» r13,QWORD PTR[88+rsp] | 1336 » mov» r13,QWORD[88+rsp] |
1333 » mov» r12,QWORD PTR[96+rsp] | 1337 » mov» r12,QWORD[96+rsp] |
1334 » mov» rbx,QWORD PTR[104+rsp] | 1338 » mov» rbx,QWORD[104+rsp] |
1335 » mov» rax,QWORD PTR[112+rsp] | 1339 » mov» rax,QWORD[112+rsp] |
1336 » lea» rsp,QWORD PTR[120+rsp] | 1340 » lea» rsp,[120+rsp] |
1337 mov rbp,rax | 1341 mov rbp,rax |
1338 $L$cbc_dec_epilogue:: | 1342 $L$cbc_dec_epilogue: |
1339 DB 0F3h,0C3h ;repret | 1343 DB 0F3h,0C3h ;repret |
1340 bsaes_cbc_encrypt» ENDP | 1344 |
1341 | 1345 |
1342 PUBLIC» bsaes_ctr32_encrypt_blocks | 1346 global» bsaes_ctr32_encrypt_blocks |
1343 | 1347 |
1344 ALIGN» 16 | 1348 ALIGN» 16 |
1345 bsaes_ctr32_encrypt_blocks» PROC PUBLIC | 1349 bsaes_ctr32_encrypt_blocks: |
1346 mov rax,rsp | 1350 mov rax,rsp |
1347 $L$ctr_enc_prologue:: | 1351 $L$ctr_enc_prologue: |
1348 push rbp | 1352 push rbp |
1349 push rbx | 1353 push rbx |
1350 push r12 | 1354 push r12 |
1351 push r13 | 1355 push r13 |
1352 push r14 | 1356 push r14 |
1353 push r15 | 1357 push r15 |
1354 » lea» rsp,QWORD PTR[((-72))+rsp] | 1358 » lea» rsp,[((-72))+rsp] |
1355 » mov» r10,QWORD PTR[160+rsp] | 1359 » mov» r10,QWORD[160+rsp] |
1356 » lea» rsp,QWORD PTR[((-160))+rsp] | 1360 » lea» rsp,[((-160))+rsp] |
1357 » movaps» XMMWORD PTR[64+rsp],xmm6 | 1361 » movaps» XMMWORD[64+rsp],xmm6 |
1358 » movaps» XMMWORD PTR[80+rsp],xmm7 | 1362 » movaps» XMMWORD[80+rsp],xmm7 |
1359 » movaps» XMMWORD PTR[96+rsp],xmm8 | 1363 » movaps» XMMWORD[96+rsp],xmm8 |
1360 » movaps» XMMWORD PTR[112+rsp],xmm9 | 1364 » movaps» XMMWORD[112+rsp],xmm9 |
1361 » movaps» XMMWORD PTR[128+rsp],xmm10 | 1365 » movaps» XMMWORD[128+rsp],xmm10 |
1362 » movaps» XMMWORD PTR[144+rsp],xmm11 | 1366 » movaps» XMMWORD[144+rsp],xmm11 |
1363 » movaps» XMMWORD PTR[160+rsp],xmm12 | 1367 » movaps» XMMWORD[160+rsp],xmm12 |
1364 » movaps» XMMWORD PTR[176+rsp],xmm13 | 1368 » movaps» XMMWORD[176+rsp],xmm13 |
1365 » movaps» XMMWORD PTR[192+rsp],xmm14 | 1369 » movaps» XMMWORD[192+rsp],xmm14 |
1366 » movaps» XMMWORD PTR[208+rsp],xmm15 | 1370 » movaps» XMMWORD[208+rsp],xmm15 |
1367 $L$ctr_enc_body:: | 1371 $L$ctr_enc_body: |
1368 mov rbp,rsp | 1372 mov rbp,rsp |
1369 » movdqu» xmm0,XMMWORD PTR[r10] | 1373 » movdqu» xmm0,XMMWORD[r10] |
1370 » mov» eax,DWORD PTR[240+r9] | 1374 » mov» eax,DWORD[240+r9] |
1371 mov r12,rcx | 1375 mov r12,rcx |
1372 mov r13,rdx | 1376 mov r13,rdx |
1373 mov r14,r8 | 1377 mov r14,r8 |
1374 mov r15,r9 | 1378 mov r15,r9 |
1375 » movdqa» XMMWORD PTR[32+rbp],xmm0 | 1379 » movdqa» XMMWORD[32+rbp],xmm0 |
1376 cmp r8,8 | 1380 cmp r8,8 |
1377 » jb» $L$ctr_enc_short | 1381 » jb» NEAR $L$ctr_enc_short |
1378 | 1382 |
1379 mov ebx,eax | 1383 mov ebx,eax |
1380 shl rax,7 | 1384 shl rax,7 |
1381 sub rax,96 | 1385 sub rax,96 |
1382 sub rsp,rax | 1386 sub rsp,rax |
1383 | 1387 |
1384 mov rax,rsp | 1388 mov rax,rsp |
1385 mov rcx,r15 | 1389 mov rcx,r15 |
1386 mov r10d,ebx | 1390 mov r10d,ebx |
1387 call _bsaes_key_convert | 1391 call _bsaes_key_convert |
1388 pxor xmm7,xmm6 | 1392 pxor xmm7,xmm6 |
1389 » movdqa» XMMWORD PTR[rax],xmm7 | 1393 » movdqa» XMMWORD[rax],xmm7 |
1390 | 1394 |
1391 » movdqa» xmm8,XMMWORD PTR[rsp] | 1395 » movdqa» xmm8,XMMWORD[rsp] |
1392 » lea» r11,QWORD PTR[$L$ADD1] | 1396 » lea» r11,[$L$ADD1] |
1393 » movdqa» xmm15,XMMWORD PTR[32+rbp] | 1397 » movdqa» xmm15,XMMWORD[32+rbp] |
1394 » movdqa» xmm7,XMMWORD PTR[((-32))+r11] | 1398 » movdqa» xmm7,XMMWORD[((-32))+r11] |
1395 DB 102,68,15,56,0,199 | 1399 DB 102,68,15,56,0,199 |
1396 DB 102,68,15,56,0,255 | 1400 DB 102,68,15,56,0,255 |
1397 » movdqa» XMMWORD PTR[rsp],xmm8 | 1401 » movdqa» XMMWORD[rsp],xmm8 |
1398 » jmp» $L$ctr_enc_loop | 1402 » jmp» NEAR $L$ctr_enc_loop |
1399 ALIGN 16 | 1403 ALIGN 16 |
1400 $L$ctr_enc_loop:: | 1404 $L$ctr_enc_loop: |
1401 » movdqa» XMMWORD PTR[32+rbp],xmm15 | 1405 » movdqa» XMMWORD[32+rbp],xmm15 |
1402 movdqa xmm0,xmm15 | 1406 movdqa xmm0,xmm15 |
1403 movdqa xmm1,xmm15 | 1407 movdqa xmm1,xmm15 |
1404 » paddd» xmm0,XMMWORD PTR[r11] | 1408 » paddd» xmm0,XMMWORD[r11] |
1405 movdqa xmm2,xmm15 | 1409 movdqa xmm2,xmm15 |
1406 » paddd» xmm1,XMMWORD PTR[16+r11] | 1410 » paddd» xmm1,XMMWORD[16+r11] |
1407 movdqa xmm3,xmm15 | 1411 movdqa xmm3,xmm15 |
1408 » paddd» xmm2,XMMWORD PTR[32+r11] | 1412 » paddd» xmm2,XMMWORD[32+r11] |
1409 movdqa xmm4,xmm15 | 1413 movdqa xmm4,xmm15 |
1410 » paddd» xmm3,XMMWORD PTR[48+r11] | 1414 » paddd» xmm3,XMMWORD[48+r11] |
1411 movdqa xmm5,xmm15 | 1415 movdqa xmm5,xmm15 |
1412 » paddd» xmm4,XMMWORD PTR[64+r11] | 1416 » paddd» xmm4,XMMWORD[64+r11] |
1413 movdqa xmm6,xmm15 | 1417 movdqa xmm6,xmm15 |
1414 » paddd» xmm5,XMMWORD PTR[80+r11] | 1418 » paddd» xmm5,XMMWORD[80+r11] |
1415 » paddd» xmm6,XMMWORD PTR[96+r11] | 1419 » paddd» xmm6,XMMWORD[96+r11] |
1416 | 1420 |
1417 | 1421 |
1418 | 1422 |
1419 » movdqa» xmm8,XMMWORD PTR[rsp] | 1423 » movdqa» xmm8,XMMWORD[rsp] |
1420 » lea» rax,QWORD PTR[16+rsp] | 1424 » lea» rax,[16+rsp] |
1421 » movdqa» xmm7,XMMWORD PTR[((-16))+r11] | 1425 » movdqa» xmm7,XMMWORD[((-16))+r11] |
1422 pxor xmm15,xmm8 | 1426 pxor xmm15,xmm8 |
1423 pxor xmm0,xmm8 | 1427 pxor xmm0,xmm8 |
1424 pxor xmm1,xmm8 | 1428 pxor xmm1,xmm8 |
1425 pxor xmm2,xmm8 | 1429 pxor xmm2,xmm8 |
1426 DB 102,68,15,56,0,255 | 1430 DB 102,68,15,56,0,255 |
1427 DB 102,15,56,0,199 | 1431 DB 102,15,56,0,199 |
1428 pxor xmm3,xmm8 | 1432 pxor xmm3,xmm8 |
1429 pxor xmm4,xmm8 | 1433 pxor xmm4,xmm8 |
1430 DB 102,15,56,0,207 | 1434 DB 102,15,56,0,207 |
1431 DB 102,15,56,0,215 | 1435 DB 102,15,56,0,215 |
1432 pxor xmm5,xmm8 | 1436 pxor xmm5,xmm8 |
1433 pxor xmm6,xmm8 | 1437 pxor xmm6,xmm8 |
1434 DB 102,15,56,0,223 | 1438 DB 102,15,56,0,223 |
1435 DB 102,15,56,0,231 | 1439 DB 102,15,56,0,231 |
1436 DB 102,15,56,0,239 | 1440 DB 102,15,56,0,239 |
1437 DB 102,15,56,0,247 | 1441 DB 102,15,56,0,247 |
1438 » lea» r11,QWORD PTR[$L$BS0] | 1442 » lea» r11,[$L$BS0] |
1439 mov r10d,ebx | 1443 mov r10d,ebx |
1440 | 1444 |
1441 call _bsaes_encrypt8_bitslice | 1445 call _bsaes_encrypt8_bitslice |
1442 | 1446 |
1443 sub r14,8 | 1447 sub r14,8 |
1444 » jc» $L$ctr_enc_loop_done | 1448 » jc» NEAR $L$ctr_enc_loop_done |
1445 | 1449 |
1446 » movdqu» xmm7,XMMWORD PTR[r12] | 1450 » movdqu» xmm7,XMMWORD[r12] |
1447 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1451 » movdqu» xmm8,XMMWORD[16+r12] |
1448 » movdqu» xmm9,XMMWORD PTR[32+r12] | 1452 » movdqu» xmm9,XMMWORD[32+r12] |
1449 » movdqu» xmm10,XMMWORD PTR[48+r12] | 1453 » movdqu» xmm10,XMMWORD[48+r12] |
1450 » movdqu» xmm11,XMMWORD PTR[64+r12] | 1454 » movdqu» xmm11,XMMWORD[64+r12] |
1451 » movdqu» xmm12,XMMWORD PTR[80+r12] | 1455 » movdqu» xmm12,XMMWORD[80+r12] |
1452 » movdqu» xmm13,XMMWORD PTR[96+r12] | 1456 » movdqu» xmm13,XMMWORD[96+r12] |
1453 » movdqu» xmm14,XMMWORD PTR[112+r12] | 1457 » movdqu» xmm14,XMMWORD[112+r12] |
1454 » lea» r12,QWORD PTR[128+r12] | 1458 » lea» r12,[128+r12] |
1455 pxor xmm7,xmm15 | 1459 pxor xmm7,xmm15 |
1456 » movdqa» xmm15,XMMWORD PTR[32+rbp] | 1460 » movdqa» xmm15,XMMWORD[32+rbp] |
1457 pxor xmm0,xmm8 | 1461 pxor xmm0,xmm8 |
1458 » movdqu» XMMWORD PTR[r13],xmm7 | 1462 » movdqu» XMMWORD[r13],xmm7 |
1459 pxor xmm3,xmm9 | 1463 pxor xmm3,xmm9 |
1460 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1464 » movdqu» XMMWORD[16+r13],xmm0 |
1461 pxor xmm5,xmm10 | 1465 pxor xmm5,xmm10 |
1462 » movdqu» XMMWORD PTR[32+r13],xmm3 | 1466 » movdqu» XMMWORD[32+r13],xmm3 |
1463 pxor xmm2,xmm11 | 1467 pxor xmm2,xmm11 |
1464 » movdqu» XMMWORD PTR[48+r13],xmm5 | 1468 » movdqu» XMMWORD[48+r13],xmm5 |
1465 pxor xmm6,xmm12 | 1469 pxor xmm6,xmm12 |
1466 » movdqu» XMMWORD PTR[64+r13],xmm2 | 1470 » movdqu» XMMWORD[64+r13],xmm2 |
1467 pxor xmm1,xmm13 | 1471 pxor xmm1,xmm13 |
1468 » movdqu» XMMWORD PTR[80+r13],xmm6 | 1472 » movdqu» XMMWORD[80+r13],xmm6 |
1469 pxor xmm4,xmm14 | 1473 pxor xmm4,xmm14 |
1470 » movdqu» XMMWORD PTR[96+r13],xmm1 | 1474 » movdqu» XMMWORD[96+r13],xmm1 |
1471 » lea» r11,QWORD PTR[$L$ADD1] | 1475 » lea» r11,[$L$ADD1] |
1472 » movdqu» XMMWORD PTR[112+r13],xmm4 | 1476 » movdqu» XMMWORD[112+r13],xmm4 |
1473 » lea» r13,QWORD PTR[128+r13] | 1477 » lea» r13,[128+r13] |
1474 » paddd» xmm15,XMMWORD PTR[112+r11] | 1478 » paddd» xmm15,XMMWORD[112+r11] |
1475 » jnz» $L$ctr_enc_loop | 1479 » jnz» NEAR $L$ctr_enc_loop |
1476 | 1480 |
1477 » jmp» $L$ctr_enc_done | 1481 » jmp» NEAR $L$ctr_enc_done |
1478 ALIGN 16 | 1482 ALIGN 16 |
1479 $L$ctr_enc_loop_done:: | 1483 $L$ctr_enc_loop_done: |
1480 add r14,8 | 1484 add r14,8 |
1481 » movdqu» xmm7,XMMWORD PTR[r12] | 1485 » movdqu» xmm7,XMMWORD[r12] |
1482 pxor xmm15,xmm7 | 1486 pxor xmm15,xmm7 |
1483 » movdqu» XMMWORD PTR[r13],xmm15 | 1487 » movdqu» XMMWORD[r13],xmm15 |
1484 cmp r14,2 | 1488 cmp r14,2 |
1485 » jb» $L$ctr_enc_done | 1489 » jb» NEAR $L$ctr_enc_done |
1486 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1490 » movdqu» xmm8,XMMWORD[16+r12] |
1487 pxor xmm0,xmm8 | 1491 pxor xmm0,xmm8 |
1488 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1492 » movdqu» XMMWORD[16+r13],xmm0 |
1489 » je» $L$ctr_enc_done | 1493 » je» NEAR $L$ctr_enc_done |
1490 » movdqu» xmm9,XMMWORD PTR[32+r12] | 1494 » movdqu» xmm9,XMMWORD[32+r12] |
1491 pxor xmm3,xmm9 | 1495 pxor xmm3,xmm9 |
1492 » movdqu» XMMWORD PTR[32+r13],xmm3 | 1496 » movdqu» XMMWORD[32+r13],xmm3 |
1493 cmp r14,4 | 1497 cmp r14,4 |
1494 » jb» $L$ctr_enc_done | 1498 » jb» NEAR $L$ctr_enc_done |
1495 » movdqu» xmm10,XMMWORD PTR[48+r12] | 1499 » movdqu» xmm10,XMMWORD[48+r12] |
1496 pxor xmm5,xmm10 | 1500 pxor xmm5,xmm10 |
1497 » movdqu» XMMWORD PTR[48+r13],xmm5 | 1501 » movdqu» XMMWORD[48+r13],xmm5 |
1498 » je» $L$ctr_enc_done | 1502 » je» NEAR $L$ctr_enc_done |
1499 » movdqu» xmm11,XMMWORD PTR[64+r12] | 1503 » movdqu» xmm11,XMMWORD[64+r12] |
1500 pxor xmm2,xmm11 | 1504 pxor xmm2,xmm11 |
1501 » movdqu» XMMWORD PTR[64+r13],xmm2 | 1505 » movdqu» XMMWORD[64+r13],xmm2 |
1502 cmp r14,6 | 1506 cmp r14,6 |
1503 » jb» $L$ctr_enc_done | 1507 » jb» NEAR $L$ctr_enc_done |
1504 » movdqu» xmm12,XMMWORD PTR[80+r12] | 1508 » movdqu» xmm12,XMMWORD[80+r12] |
1505 pxor xmm6,xmm12 | 1509 pxor xmm6,xmm12 |
1506 » movdqu» XMMWORD PTR[80+r13],xmm6 | 1510 » movdqu» XMMWORD[80+r13],xmm6 |
1507 » je» $L$ctr_enc_done | 1511 » je» NEAR $L$ctr_enc_done |
1508 » movdqu» xmm13,XMMWORD PTR[96+r12] | 1512 » movdqu» xmm13,XMMWORD[96+r12] |
1509 pxor xmm1,xmm13 | 1513 pxor xmm1,xmm13 |
1510 » movdqu» XMMWORD PTR[96+r13],xmm1 | 1514 » movdqu» XMMWORD[96+r13],xmm1 |
1511 » jmp» $L$ctr_enc_done | 1515 » jmp» NEAR $L$ctr_enc_done |
1512 | 1516 |
1513 ALIGN 16 | 1517 ALIGN 16 |
1514 $L$ctr_enc_short:: | 1518 $L$ctr_enc_short: |
1515 » lea» rcx,QWORD PTR[32+rbp] | 1519 » lea» rcx,[32+rbp] |
1516 » lea» rdx,QWORD PTR[48+rbp] | 1520 » lea» rdx,[48+rbp] |
1517 » lea» r8,QWORD PTR[r15] | 1521 » lea» r8,[r15] |
1518 call asm_AES_encrypt | 1522 call asm_AES_encrypt |
1519 » movdqu» xmm0,XMMWORD PTR[r12] | 1523 » movdqu» xmm0,XMMWORD[r12] |
1520 » lea» r12,QWORD PTR[16+r12] | 1524 » lea» r12,[16+r12] |
1521 » mov» eax,DWORD PTR[44+rbp] | 1525 » mov» eax,DWORD[44+rbp] |
1522 bswap eax | 1526 bswap eax |
1523 » pxor» xmm0,XMMWORD PTR[48+rbp] | 1527 » pxor» xmm0,XMMWORD[48+rbp] |
1524 inc eax | 1528 inc eax |
1525 » movdqu» XMMWORD PTR[r13],xmm0 | 1529 » movdqu» XMMWORD[r13],xmm0 |
1526 bswap eax | 1530 bswap eax |
1527 » lea» r13,QWORD PTR[16+r13] | 1531 » lea» r13,[16+r13] |
1528 » mov» DWORD PTR[44+rsp],eax | 1532 » mov» DWORD[44+rsp],eax |
1529 dec r14 | 1533 dec r14 |
1530 » jnz» $L$ctr_enc_short | 1534 » jnz» NEAR $L$ctr_enc_short |
1531 | 1535 |
1532 $L$ctr_enc_done:: | 1536 $L$ctr_enc_done: |
1533 » lea» rax,QWORD PTR[rsp] | 1537 » lea» rax,[rsp] |
1534 pxor xmm0,xmm0 | 1538 pxor xmm0,xmm0 |
1535 $L$ctr_enc_bzero:: | 1539 $L$ctr_enc_bzero: |
1536 » movdqa» XMMWORD PTR[rax],xmm0 | 1540 » movdqa» XMMWORD[rax],xmm0 |
1537 » movdqa» XMMWORD PTR[16+rax],xmm0 | 1541 » movdqa» XMMWORD[16+rax],xmm0 |
1538 » lea» rax,QWORD PTR[32+rax] | 1542 » lea» rax,[32+rax] |
1539 cmp rbp,rax | 1543 cmp rbp,rax |
1540 » ja» $L$ctr_enc_bzero | 1544 » ja» NEAR $L$ctr_enc_bzero |
1541 | 1545 |
1542 » lea» rsp,QWORD PTR[rbp] | 1546 » lea» rsp,[rbp] |
1543 » movaps» xmm6,XMMWORD PTR[64+rbp] | 1547 » movaps» xmm6,XMMWORD[64+rbp] |
1544 » movaps» xmm7,XMMWORD PTR[80+rbp] | 1548 » movaps» xmm7,XMMWORD[80+rbp] |
1545 » movaps» xmm8,XMMWORD PTR[96+rbp] | 1549 » movaps» xmm8,XMMWORD[96+rbp] |
1546 » movaps» xmm9,XMMWORD PTR[112+rbp] | 1550 » movaps» xmm9,XMMWORD[112+rbp] |
1547 » movaps» xmm10,XMMWORD PTR[128+rbp] | 1551 » movaps» xmm10,XMMWORD[128+rbp] |
1548 » movaps» xmm11,XMMWORD PTR[144+rbp] | 1552 » movaps» xmm11,XMMWORD[144+rbp] |
1549 » movaps» xmm12,XMMWORD PTR[160+rbp] | 1553 » movaps» xmm12,XMMWORD[160+rbp] |
1550 » movaps» xmm13,XMMWORD PTR[176+rbp] | 1554 » movaps» xmm13,XMMWORD[176+rbp] |
1551 » movaps» xmm14,XMMWORD PTR[192+rbp] | 1555 » movaps» xmm14,XMMWORD[192+rbp] |
1552 » movaps» xmm15,XMMWORD PTR[208+rbp] | 1556 » movaps» xmm15,XMMWORD[208+rbp] |
1553 » lea» rsp,QWORD PTR[160+rbp] | 1557 » lea» rsp,[160+rbp] |
1554 » mov» r15,QWORD PTR[72+rsp] | 1558 » mov» r15,QWORD[72+rsp] |
1555 » mov» r14,QWORD PTR[80+rsp] | 1559 » mov» r14,QWORD[80+rsp] |
1556 » mov» r13,QWORD PTR[88+rsp] | 1560 » mov» r13,QWORD[88+rsp] |
1557 » mov» r12,QWORD PTR[96+rsp] | 1561 » mov» r12,QWORD[96+rsp] |
1558 » mov» rbx,QWORD PTR[104+rsp] | 1562 » mov» rbx,QWORD[104+rsp] |
1559 » mov» rax,QWORD PTR[112+rsp] | 1563 » mov» rax,QWORD[112+rsp] |
1560 » lea» rsp,QWORD PTR[120+rsp] | 1564 » lea» rsp,[120+rsp] |
1561 mov rbp,rax | 1565 mov rbp,rax |
1562 $L$ctr_enc_epilogue:: | 1566 $L$ctr_enc_epilogue: |
1563 DB 0F3h,0C3h ;repret | 1567 DB 0F3h,0C3h ;repret |
1564 bsaes_ctr32_encrypt_blocks» ENDP | 1568 |
1565 PUBLIC» bsaes_xts_encrypt | 1569 global» bsaes_xts_encrypt |
1566 | 1570 |
1567 ALIGN 16 | 1571 ALIGN 16 |
1568 bsaes_xts_encrypt» PROC PUBLIC | 1572 bsaes_xts_encrypt: |
1569 mov rax,rsp | 1573 mov rax,rsp |
1570 $L$xts_enc_prologue:: | 1574 $L$xts_enc_prologue: |
1571 push rbp | 1575 push rbp |
1572 push rbx | 1576 push rbx |
1573 push r12 | 1577 push r12 |
1574 push r13 | 1578 push r13 |
1575 push r14 | 1579 push r14 |
1576 push r15 | 1580 push r15 |
1577 » lea» rsp,QWORD PTR[((-72))+rsp] | 1581 » lea» rsp,[((-72))+rsp] |
1578 » mov» r10,QWORD PTR[160+rsp] | 1582 » mov» r10,QWORD[160+rsp] |
1579 » mov» r11,QWORD PTR[168+rsp] | 1583 » mov» r11,QWORD[168+rsp] |
1580 » lea» rsp,QWORD PTR[((-160))+rsp] | 1584 » lea» rsp,[((-160))+rsp] |
1581 » movaps» XMMWORD PTR[64+rsp],xmm6 | 1585 » movaps» XMMWORD[64+rsp],xmm6 |
1582 » movaps» XMMWORD PTR[80+rsp],xmm7 | 1586 » movaps» XMMWORD[80+rsp],xmm7 |
1583 » movaps» XMMWORD PTR[96+rsp],xmm8 | 1587 » movaps» XMMWORD[96+rsp],xmm8 |
1584 » movaps» XMMWORD PTR[112+rsp],xmm9 | 1588 » movaps» XMMWORD[112+rsp],xmm9 |
1585 » movaps» XMMWORD PTR[128+rsp],xmm10 | 1589 » movaps» XMMWORD[128+rsp],xmm10 |
1586 » movaps» XMMWORD PTR[144+rsp],xmm11 | 1590 » movaps» XMMWORD[144+rsp],xmm11 |
1587 » movaps» XMMWORD PTR[160+rsp],xmm12 | 1591 » movaps» XMMWORD[160+rsp],xmm12 |
1588 » movaps» XMMWORD PTR[176+rsp],xmm13 | 1592 » movaps» XMMWORD[176+rsp],xmm13 |
1589 » movaps» XMMWORD PTR[192+rsp],xmm14 | 1593 » movaps» XMMWORD[192+rsp],xmm14 |
1590 » movaps» XMMWORD PTR[208+rsp],xmm15 | 1594 » movaps» XMMWORD[208+rsp],xmm15 |
1591 $L$xts_enc_body:: | 1595 $L$xts_enc_body: |
1592 mov rbp,rsp | 1596 mov rbp,rsp |
1593 mov r12,rcx | 1597 mov r12,rcx |
1594 mov r13,rdx | 1598 mov r13,rdx |
1595 mov r14,r8 | 1599 mov r14,r8 |
1596 mov r15,r9 | 1600 mov r15,r9 |
1597 | 1601 |
1598 » lea» rcx,QWORD PTR[r11] | 1602 » lea» rcx,[r11] |
1599 » lea» rdx,QWORD PTR[32+rbp] | 1603 » lea» rdx,[32+rbp] |
1600 » lea» r8,QWORD PTR[r10] | 1604 » lea» r8,[r10] |
1601 call asm_AES_encrypt | 1605 call asm_AES_encrypt |
1602 | 1606 |
1603 » mov» eax,DWORD PTR[240+r15] | 1607 » mov» eax,DWORD[240+r15] |
1604 mov rbx,r14 | 1608 mov rbx,r14 |
1605 | 1609 |
1606 mov edx,eax | 1610 mov edx,eax |
1607 shl rax,7 | 1611 shl rax,7 |
1608 sub rax,96 | 1612 sub rax,96 |
1609 sub rsp,rax | 1613 sub rsp,rax |
1610 | 1614 |
1611 mov rax,rsp | 1615 mov rax,rsp |
1612 mov rcx,r15 | 1616 mov rcx,r15 |
1613 mov r10d,edx | 1617 mov r10d,edx |
1614 call _bsaes_key_convert | 1618 call _bsaes_key_convert |
1615 pxor xmm7,xmm6 | 1619 pxor xmm7,xmm6 |
1616 » movdqa» XMMWORD PTR[rax],xmm7 | 1620 » movdqa» XMMWORD[rax],xmm7 |
1617 | 1621 |
1618 and r14,-16 | 1622 and r14,-16 |
1619 » sub» rsp,080h | 1623 » sub» rsp,0x80 |
1620 » movdqa» xmm6,XMMWORD PTR[32+rbp] | 1624 » movdqa» xmm6,XMMWORD[32+rbp] |
1621 | 1625 |
1622 » pxor» xmm14,xmm14 | 1626 » pxor» xmm14,xmm14 |
1623 » movdqa» xmm12,XMMWORD PTR[$L$xts_magic] | 1627 » movdqa» xmm12,XMMWORD[$L$xts_magic] |
1624 » pcmpgtd»xmm14,xmm6 | 1628 » pcmpgtd»xmm14,xmm6 |
1625 | 1629 |
1626 » sub» r14,080h | 1630 » sub» r14,0x80 |
1627 » jc» $L$xts_enc_short | 1631 » jc» NEAR $L$xts_enc_short |
1628 » jmp» $L$xts_enc_loop | 1632 » jmp» NEAR $L$xts_enc_loop |
1629 | 1633 |
1630 ALIGN» 16 | 1634 ALIGN» 16 |
1631 $L$xts_enc_loop:: | 1635 $L$xts_enc_loop: |
1632 » pshufd» xmm13,xmm14,013h | 1636 » pshufd» xmm13,xmm14,0x13 |
1633 pxor xmm14,xmm14 | 1637 pxor xmm14,xmm14 |
1634 movdqa xmm15,xmm6 | 1638 movdqa xmm15,xmm6 |
1635 » movdqa» XMMWORD PTR[rsp],xmm6 | 1639 » movdqa» XMMWORD[rsp],xmm6 |
1636 » paddq» xmm6,xmm6 | 1640 » paddq» xmm6,xmm6 |
1637 » pand» xmm13,xmm12 | 1641 » pand» xmm13,xmm12 |
1638 » pcmpgtd»xmm14,xmm6 | 1642 » pcmpgtd»xmm14,xmm6 |
1639 » pxor» xmm6,xmm13 | 1643 » pxor» xmm6,xmm13 |
1640 » pshufd» xmm13,xmm14,013h | 1644 » pshufd» xmm13,xmm14,0x13 |
1641 pxor xmm14,xmm14 | 1645 pxor xmm14,xmm14 |
1642 movdqa xmm0,xmm6 | 1646 movdqa xmm0,xmm6 |
1643 » movdqa» XMMWORD PTR[16+rsp],xmm6 | 1647 » movdqa» XMMWORD[16+rsp],xmm6 |
1644 » paddq» xmm6,xmm6 | 1648 » paddq» xmm6,xmm6 |
1645 » pand» xmm13,xmm12 | 1649 » pand» xmm13,xmm12 |
1646 » pcmpgtd»xmm14,xmm6 | 1650 » pcmpgtd»xmm14,xmm6 |
1647 » pxor» xmm6,xmm13 | 1651 » pxor» xmm6,xmm13 |
1648 » movdqu» xmm7,XMMWORD PTR[r12] | 1652 » movdqu» xmm7,XMMWORD[r12] |
1649 » pshufd» xmm13,xmm14,013h | 1653 » pshufd» xmm13,xmm14,0x13 |
1650 pxor xmm14,xmm14 | 1654 pxor xmm14,xmm14 |
1651 movdqa xmm1,xmm6 | 1655 movdqa xmm1,xmm6 |
1652 » movdqa» XMMWORD PTR[32+rsp],xmm6 | 1656 » movdqa» XMMWORD[32+rsp],xmm6 |
1653 » paddq» xmm6,xmm6 | 1657 » paddq» xmm6,xmm6 |
1654 » pand» xmm13,xmm12 | 1658 » pand» xmm13,xmm12 |
1655 » pcmpgtd»xmm14,xmm6 | 1659 » pcmpgtd»xmm14,xmm6 |
1656 » pxor» xmm6,xmm13 | 1660 » pxor» xmm6,xmm13 |
1657 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1661 » movdqu» xmm8,XMMWORD[16+r12] |
1658 pxor xmm15,xmm7 | 1662 pxor xmm15,xmm7 |
1659 » pshufd» xmm13,xmm14,013h | 1663 » pshufd» xmm13,xmm14,0x13 |
1660 pxor xmm14,xmm14 | 1664 pxor xmm14,xmm14 |
1661 movdqa xmm2,xmm6 | 1665 movdqa xmm2,xmm6 |
1662 » movdqa» XMMWORD PTR[48+rsp],xmm6 | 1666 » movdqa» XMMWORD[48+rsp],xmm6 |
1663 » paddq» xmm6,xmm6 | 1667 » paddq» xmm6,xmm6 |
1664 » pand» xmm13,xmm12 | 1668 » pand» xmm13,xmm12 |
1665 » pcmpgtd»xmm14,xmm6 | 1669 » pcmpgtd»xmm14,xmm6 |
1666 » pxor» xmm6,xmm13 | 1670 » pxor» xmm6,xmm13 |
1667 » movdqu» xmm9,XMMWORD PTR[32+r12] | 1671 » movdqu» xmm9,XMMWORD[32+r12] |
1668 pxor xmm0,xmm8 | 1672 pxor xmm0,xmm8 |
1669 » pshufd» xmm13,xmm14,013h | 1673 » pshufd» xmm13,xmm14,0x13 |
1670 pxor xmm14,xmm14 | 1674 pxor xmm14,xmm14 |
1671 movdqa xmm3,xmm6 | 1675 movdqa xmm3,xmm6 |
1672 » movdqa» XMMWORD PTR[64+rsp],xmm6 | 1676 » movdqa» XMMWORD[64+rsp],xmm6 |
1673 » paddq» xmm6,xmm6 | 1677 » paddq» xmm6,xmm6 |
1674 » pand» xmm13,xmm12 | 1678 » pand» xmm13,xmm12 |
1675 » pcmpgtd»xmm14,xmm6 | 1679 » pcmpgtd»xmm14,xmm6 |
1676 » pxor» xmm6,xmm13 | 1680 » pxor» xmm6,xmm13 |
1677 » movdqu» xmm10,XMMWORD PTR[48+r12] | 1681 » movdqu» xmm10,XMMWORD[48+r12] |
1678 pxor xmm1,xmm9 | 1682 pxor xmm1,xmm9 |
1679 » pshufd» xmm13,xmm14,013h | 1683 » pshufd» xmm13,xmm14,0x13 |
1680 pxor xmm14,xmm14 | 1684 pxor xmm14,xmm14 |
1681 movdqa xmm4,xmm6 | 1685 movdqa xmm4,xmm6 |
1682 » movdqa» XMMWORD PTR[80+rsp],xmm6 | 1686 » movdqa» XMMWORD[80+rsp],xmm6 |
1683 » paddq» xmm6,xmm6 | 1687 » paddq» xmm6,xmm6 |
1684 » pand» xmm13,xmm12 | 1688 » pand» xmm13,xmm12 |
1685 » pcmpgtd»xmm14,xmm6 | 1689 » pcmpgtd»xmm14,xmm6 |
1686 » pxor» xmm6,xmm13 | 1690 » pxor» xmm6,xmm13 |
1687 » movdqu» xmm11,XMMWORD PTR[64+r12] | 1691 » movdqu» xmm11,XMMWORD[64+r12] |
1688 pxor xmm2,xmm10 | 1692 pxor xmm2,xmm10 |
1689 » pshufd» xmm13,xmm14,013h | 1693 » pshufd» xmm13,xmm14,0x13 |
1690 pxor xmm14,xmm14 | 1694 pxor xmm14,xmm14 |
1691 movdqa xmm5,xmm6 | 1695 movdqa xmm5,xmm6 |
1692 » movdqa» XMMWORD PTR[96+rsp],xmm6 | 1696 » movdqa» XMMWORD[96+rsp],xmm6 |
1693 » paddq» xmm6,xmm6 | 1697 » paddq» xmm6,xmm6 |
1694 » pand» xmm13,xmm12 | 1698 » pand» xmm13,xmm12 |
1695 » pcmpgtd»xmm14,xmm6 | 1699 » pcmpgtd»xmm14,xmm6 |
1696 » pxor» xmm6,xmm13 | 1700 » pxor» xmm6,xmm13 |
1697 » movdqu» xmm12,XMMWORD PTR[80+r12] | 1701 » movdqu» xmm12,XMMWORD[80+r12] |
1698 pxor xmm3,xmm11 | 1702 pxor xmm3,xmm11 |
1699 » movdqu» xmm13,XMMWORD PTR[96+r12] | 1703 » movdqu» xmm13,XMMWORD[96+r12] |
1700 pxor xmm4,xmm12 | 1704 pxor xmm4,xmm12 |
1701 » movdqu» xmm14,XMMWORD PTR[112+r12] | 1705 » movdqu» xmm14,XMMWORD[112+r12] |
1702 » lea» r12,QWORD PTR[128+r12] | 1706 » lea» r12,[128+r12] |
1703 » movdqa» XMMWORD PTR[112+rsp],xmm6 | 1707 » movdqa» XMMWORD[112+rsp],xmm6 |
1704 pxor xmm5,xmm13 | 1708 pxor xmm5,xmm13 |
1705 » lea» rax,QWORD PTR[128+rsp] | 1709 » lea» rax,[128+rsp] |
1706 pxor xmm6,xmm14 | 1710 pxor xmm6,xmm14 |
1707 mov r10d,edx | 1711 mov r10d,edx |
1708 | 1712 |
1709 call _bsaes_encrypt8 | 1713 call _bsaes_encrypt8 |
1710 | 1714 |
1711 » pxor» xmm15,XMMWORD PTR[rsp] | 1715 » pxor» xmm15,XMMWORD[rsp] |
1712 » pxor» xmm0,XMMWORD PTR[16+rsp] | 1716 » pxor» xmm0,XMMWORD[16+rsp] |
1713 » movdqu» XMMWORD PTR[r13],xmm15 | 1717 » movdqu» XMMWORD[r13],xmm15 |
1714 » pxor» xmm3,XMMWORD PTR[32+rsp] | 1718 » pxor» xmm3,XMMWORD[32+rsp] |
1715 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1719 » movdqu» XMMWORD[16+r13],xmm0 |
1716 » pxor» xmm5,XMMWORD PTR[48+rsp] | 1720 » pxor» xmm5,XMMWORD[48+rsp] |
1717 » movdqu» XMMWORD PTR[32+r13],xmm3 | 1721 » movdqu» XMMWORD[32+r13],xmm3 |
1718 » pxor» xmm2,XMMWORD PTR[64+rsp] | 1722 » pxor» xmm2,XMMWORD[64+rsp] |
1719 » movdqu» XMMWORD PTR[48+r13],xmm5 | 1723 » movdqu» XMMWORD[48+r13],xmm5 |
1720 » pxor» xmm6,XMMWORD PTR[80+rsp] | 1724 » pxor» xmm6,XMMWORD[80+rsp] |
1721 » movdqu» XMMWORD PTR[64+r13],xmm2 | 1725 » movdqu» XMMWORD[64+r13],xmm2 |
1722 » pxor» xmm1,XMMWORD PTR[96+rsp] | 1726 » pxor» xmm1,XMMWORD[96+rsp] |
1723 » movdqu» XMMWORD PTR[80+r13],xmm6 | 1727 » movdqu» XMMWORD[80+r13],xmm6 |
1724 » pxor» xmm4,XMMWORD PTR[112+rsp] | 1728 » pxor» xmm4,XMMWORD[112+rsp] |
1725 » movdqu» XMMWORD PTR[96+r13],xmm1 | 1729 » movdqu» XMMWORD[96+r13],xmm1 |
1726 » movdqu» XMMWORD PTR[112+r13],xmm4 | 1730 » movdqu» XMMWORD[112+r13],xmm4 |
1727 » lea» r13,QWORD PTR[128+r13] | 1731 » lea» r13,[128+r13] |
1728 | 1732 |
1729 » movdqa» xmm6,XMMWORD PTR[112+rsp] | 1733 » movdqa» xmm6,XMMWORD[112+rsp] |
1730 » pxor» xmm14,xmm14 | 1734 » pxor» xmm14,xmm14 |
1731 » movdqa» xmm12,XMMWORD PTR[$L$xts_magic] | 1735 » movdqa» xmm12,XMMWORD[$L$xts_magic] |
1732 » pcmpgtd»xmm14,xmm6 | 1736 » pcmpgtd»xmm14,xmm6 |
1733 » pshufd» xmm13,xmm14,013h | 1737 » pshufd» xmm13,xmm14,0x13 |
1734 » pxor» xmm14,xmm14 | 1738 » pxor» xmm14,xmm14 |
1735 » paddq» xmm6,xmm6 | 1739 » paddq» xmm6,xmm6 |
1736 » pand» xmm13,xmm12 | 1740 » pand» xmm13,xmm12 |
1737 » pcmpgtd»xmm14,xmm6 | 1741 » pcmpgtd»xmm14,xmm6 |
1738 » pxor» xmm6,xmm13 | 1742 » pxor» xmm6,xmm13 |
1739 | 1743 |
1740 » sub» r14,080h | 1744 » sub» r14,0x80 |
1741 » jnc» $L$xts_enc_loop | 1745 » jnc» NEAR $L$xts_enc_loop |
1742 | 1746 |
1743 $L$xts_enc_short:: | 1747 $L$xts_enc_short: |
1744 » add» r14,080h | 1748 » add» r14,0x80 |
1745 » jz» $L$xts_enc_done | 1749 » jz» NEAR $L$xts_enc_done |
1746 » pshufd» xmm13,xmm14,013h | 1750 » pshufd» xmm13,xmm14,0x13 |
1747 pxor xmm14,xmm14 | 1751 pxor xmm14,xmm14 |
1748 movdqa xmm15,xmm6 | 1752 movdqa xmm15,xmm6 |
1749 » movdqa» XMMWORD PTR[rsp],xmm6 | 1753 » movdqa» XMMWORD[rsp],xmm6 |
1750 » paddq» xmm6,xmm6 | 1754 » paddq» xmm6,xmm6 |
1751 » pand» xmm13,xmm12 | 1755 » pand» xmm13,xmm12 |
1752 » pcmpgtd»xmm14,xmm6 | 1756 » pcmpgtd»xmm14,xmm6 |
1753 » pxor» xmm6,xmm13 | 1757 » pxor» xmm6,xmm13 |
1754 » pshufd» xmm13,xmm14,013h | 1758 » pshufd» xmm13,xmm14,0x13 |
1755 pxor xmm14,xmm14 | 1759 pxor xmm14,xmm14 |
1756 movdqa xmm0,xmm6 | 1760 movdqa xmm0,xmm6 |
1757 » movdqa» XMMWORD PTR[16+rsp],xmm6 | 1761 » movdqa» XMMWORD[16+rsp],xmm6 |
1758 » paddq» xmm6,xmm6 | 1762 » paddq» xmm6,xmm6 |
1759 » pand» xmm13,xmm12 | 1763 » pand» xmm13,xmm12 |
1760 » pcmpgtd»xmm14,xmm6 | 1764 » pcmpgtd»xmm14,xmm6 |
1761 » pxor» xmm6,xmm13 | 1765 » pxor» xmm6,xmm13 |
1762 » movdqu» xmm7,XMMWORD PTR[r12] | 1766 » movdqu» xmm7,XMMWORD[r12] |
1763 cmp r14,16 | 1767 cmp r14,16 |
1764 » je» $L$xts_enc_1 | 1768 » je» NEAR $L$xts_enc_1 |
1765 » pshufd» xmm13,xmm14,013h | 1769 » pshufd» xmm13,xmm14,0x13 |
1766 pxor xmm14,xmm14 | 1770 pxor xmm14,xmm14 |
1767 movdqa xmm1,xmm6 | 1771 movdqa xmm1,xmm6 |
1768 » movdqa» XMMWORD PTR[32+rsp],xmm6 | 1772 » movdqa» XMMWORD[32+rsp],xmm6 |
1769 » paddq» xmm6,xmm6 | 1773 » paddq» xmm6,xmm6 |
1770 » pand» xmm13,xmm12 | 1774 » pand» xmm13,xmm12 |
1771 » pcmpgtd»xmm14,xmm6 | 1775 » pcmpgtd»xmm14,xmm6 |
1772 » pxor» xmm6,xmm13 | 1776 » pxor» xmm6,xmm13 |
1773 » movdqu» xmm8,XMMWORD PTR[16+r12] | 1777 » movdqu» xmm8,XMMWORD[16+r12] |
1774 cmp r14,32 | 1778 cmp r14,32 |
1775 » je» $L$xts_enc_2 | 1779 » je» NEAR $L$xts_enc_2 |
1776 pxor xmm15,xmm7 | 1780 pxor xmm15,xmm7 |
1777 » pshufd» xmm13,xmm14,013h | 1781 » pshufd» xmm13,xmm14,0x13 |
1778 pxor xmm14,xmm14 | 1782 pxor xmm14,xmm14 |
1779 movdqa xmm2,xmm6 | 1783 movdqa xmm2,xmm6 |
1780 » movdqa» XMMWORD PTR[48+rsp],xmm6 | 1784 » movdqa» XMMWORD[48+rsp],xmm6 |
1781 » paddq» xmm6,xmm6 | 1785 » paddq» xmm6,xmm6 |
1782 » pand» xmm13,xmm12 | 1786 » pand» xmm13,xmm12 |
1783 » pcmpgtd»xmm14,xmm6 | 1787 » pcmpgtd»xmm14,xmm6 |
1784 » pxor» xmm6,xmm13 | 1788 » pxor» xmm6,xmm13 |
1785 » movdqu» xmm9,XMMWORD PTR[32+r12] | 1789 » movdqu» xmm9,XMMWORD[32+r12] |
1786 cmp r14,48 | 1790 cmp r14,48 |
1787 » je» $L$xts_enc_3 | 1791 » je» NEAR $L$xts_enc_3 |
1788 pxor xmm0,xmm8 | 1792 pxor xmm0,xmm8 |
1789 » pshufd» xmm13,xmm14,013h | 1793 » pshufd» xmm13,xmm14,0x13 |
1790 pxor xmm14,xmm14 | 1794 pxor xmm14,xmm14 |
1791 movdqa xmm3,xmm6 | 1795 movdqa xmm3,xmm6 |
1792 » movdqa» XMMWORD PTR[64+rsp],xmm6 | 1796 » movdqa» XMMWORD[64+rsp],xmm6 |
1793 » paddq» xmm6,xmm6 | 1797 » paddq» xmm6,xmm6 |
1794 » pand» xmm13,xmm12 | 1798 » pand» xmm13,xmm12 |
1795 » pcmpgtd»xmm14,xmm6 | 1799 » pcmpgtd»xmm14,xmm6 |
1796 » pxor» xmm6,xmm13 | 1800 » pxor» xmm6,xmm13 |
1797 » movdqu» xmm10,XMMWORD PTR[48+r12] | 1801 » movdqu» xmm10,XMMWORD[48+r12] |
1798 cmp r14,64 | 1802 cmp r14,64 |
1799 » je» $L$xts_enc_4 | 1803 » je» NEAR $L$xts_enc_4 |
1800 pxor xmm1,xmm9 | 1804 pxor xmm1,xmm9 |
1801 » pshufd» xmm13,xmm14,013h | 1805 » pshufd» xmm13,xmm14,0x13 |
1802 pxor xmm14,xmm14 | 1806 pxor xmm14,xmm14 |
1803 movdqa xmm4,xmm6 | 1807 movdqa xmm4,xmm6 |
1804 » movdqa» XMMWORD PTR[80+rsp],xmm6 | 1808 » movdqa» XMMWORD[80+rsp],xmm6 |
1805 » paddq» xmm6,xmm6 | 1809 » paddq» xmm6,xmm6 |
1806 » pand» xmm13,xmm12 | 1810 » pand» xmm13,xmm12 |
1807 » pcmpgtd»xmm14,xmm6 | 1811 » pcmpgtd»xmm14,xmm6 |
1808 » pxor» xmm6,xmm13 | 1812 » pxor» xmm6,xmm13 |
1809 » movdqu» xmm11,XMMWORD PTR[64+r12] | 1813 » movdqu» xmm11,XMMWORD[64+r12] |
1810 cmp r14,80 | 1814 cmp r14,80 |
1811 » je» $L$xts_enc_5 | 1815 » je» NEAR $L$xts_enc_5 |
1812 pxor xmm2,xmm10 | 1816 pxor xmm2,xmm10 |
1813 » pshufd» xmm13,xmm14,013h | 1817 » pshufd» xmm13,xmm14,0x13 |
1814 pxor xmm14,xmm14 | 1818 pxor xmm14,xmm14 |
1815 movdqa xmm5,xmm6 | 1819 movdqa xmm5,xmm6 |
1816 » movdqa» XMMWORD PTR[96+rsp],xmm6 | 1820 » movdqa» XMMWORD[96+rsp],xmm6 |
1817 » paddq» xmm6,xmm6 | 1821 » paddq» xmm6,xmm6 |
1818 » pand» xmm13,xmm12 | 1822 » pand» xmm13,xmm12 |
1819 » pcmpgtd»xmm14,xmm6 | 1823 » pcmpgtd»xmm14,xmm6 |
1820 » pxor» xmm6,xmm13 | 1824 » pxor» xmm6,xmm13 |
1821 » movdqu» xmm12,XMMWORD PTR[80+r12] | 1825 » movdqu» xmm12,XMMWORD[80+r12] |
1822 cmp r14,96 | 1826 cmp r14,96 |
1823 » je» $L$xts_enc_6 | 1827 » je» NEAR $L$xts_enc_6 |
1824 pxor xmm3,xmm11 | 1828 pxor xmm3,xmm11 |
1825 » movdqu» xmm13,XMMWORD PTR[96+r12] | 1829 » movdqu» xmm13,XMMWORD[96+r12] |
1826 pxor xmm4,xmm12 | 1830 pxor xmm4,xmm12 |
1827 » movdqa» XMMWORD PTR[112+rsp],xmm6 | 1831 » movdqa» XMMWORD[112+rsp],xmm6 |
1828 » lea» r12,QWORD PTR[112+r12] | 1832 » lea» r12,[112+r12] |
1829 pxor xmm5,xmm13 | 1833 pxor xmm5,xmm13 |
1830 » lea» rax,QWORD PTR[128+rsp] | 1834 » lea» rax,[128+rsp] |
1831 » mov» r10d,edx | 1835 » mov» r10d,edx |
1832 | 1836 |
1833 » call» _bsaes_encrypt8 | 1837 » call» _bsaes_encrypt8 |
1834 | 1838 |
1835 » pxor» xmm15,XMMWORD PTR[rsp] | 1839 » pxor» xmm15,XMMWORD[rsp] |
1836 » pxor» xmm0,XMMWORD PTR[16+rsp] | 1840 » pxor» xmm0,XMMWORD[16+rsp] |
1837 » movdqu» XMMWORD PTR[r13],xmm15 | 1841 » movdqu» XMMWORD[r13],xmm15 |
1838 » pxor» xmm3,XMMWORD PTR[32+rsp] | 1842 » pxor» xmm3,XMMWORD[32+rsp] |
1839 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1843 » movdqu» XMMWORD[16+r13],xmm0 |
1840 » pxor» xmm5,XMMWORD PTR[48+rsp] | 1844 » pxor» xmm5,XMMWORD[48+rsp] |
1841 » movdqu» XMMWORD PTR[32+r13],xmm3 | 1845 » movdqu» XMMWORD[32+r13],xmm3 |
1842 » pxor» xmm2,XMMWORD PTR[64+rsp] | 1846 » pxor» xmm2,XMMWORD[64+rsp] |
1843 » movdqu» XMMWORD PTR[48+r13],xmm5 | 1847 » movdqu» XMMWORD[48+r13],xmm5 |
1844 » pxor» xmm6,XMMWORD PTR[80+rsp] | 1848 » pxor» xmm6,XMMWORD[80+rsp] |
1845 » movdqu» XMMWORD PTR[64+r13],xmm2 | 1849 » movdqu» XMMWORD[64+r13],xmm2 |
1846 » pxor» xmm1,XMMWORD PTR[96+rsp] | 1850 » pxor» xmm1,XMMWORD[96+rsp] |
1847 » movdqu» XMMWORD PTR[80+r13],xmm6 | 1851 » movdqu» XMMWORD[80+r13],xmm6 |
1848 » movdqu» XMMWORD PTR[96+r13],xmm1 | 1852 » movdqu» XMMWORD[96+r13],xmm1 |
1849 » lea» r13,QWORD PTR[112+r13] | 1853 » lea» r13,[112+r13] |
1850 | 1854 |
1851 » movdqa» xmm6,XMMWORD PTR[112+rsp] | 1855 » movdqa» xmm6,XMMWORD[112+rsp] |
1852 » jmp» $L$xts_enc_done | 1856 » jmp» NEAR $L$xts_enc_done |
1853 ALIGN» 16 | 1857 ALIGN» 16 |
1854 $L$xts_enc_6:: | 1858 $L$xts_enc_6: |
1855 pxor xmm3,xmm11 | 1859 pxor xmm3,xmm11 |
1856 » lea» r12,QWORD PTR[96+r12] | 1860 » lea» r12,[96+r12] |
1857 pxor xmm4,xmm12 | 1861 pxor xmm4,xmm12 |
1858 » lea» rax,QWORD PTR[128+rsp] | 1862 » lea» rax,[128+rsp] |
1859 » mov» r10d,edx | 1863 » mov» r10d,edx |
1860 | 1864 |
1861 » call» _bsaes_encrypt8 | 1865 » call» _bsaes_encrypt8 |
1862 | 1866 |
1863 » pxor» xmm15,XMMWORD PTR[rsp] | 1867 » pxor» xmm15,XMMWORD[rsp] |
1864 » pxor» xmm0,XMMWORD PTR[16+rsp] | 1868 » pxor» xmm0,XMMWORD[16+rsp] |
1865 » movdqu» XMMWORD PTR[r13],xmm15 | 1869 » movdqu» XMMWORD[r13],xmm15 |
1866 » pxor» xmm3,XMMWORD PTR[32+rsp] | 1870 » pxor» xmm3,XMMWORD[32+rsp] |
1867 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1871 » movdqu» XMMWORD[16+r13],xmm0 |
1868 » pxor» xmm5,XMMWORD PTR[48+rsp] | 1872 » pxor» xmm5,XMMWORD[48+rsp] |
1869 » movdqu» XMMWORD PTR[32+r13],xmm3 | 1873 » movdqu» XMMWORD[32+r13],xmm3 |
1870 » pxor» xmm2,XMMWORD PTR[64+rsp] | 1874 » pxor» xmm2,XMMWORD[64+rsp] |
1871 » movdqu» XMMWORD PTR[48+r13],xmm5 | 1875 » movdqu» XMMWORD[48+r13],xmm5 |
1872 » pxor» xmm6,XMMWORD PTR[80+rsp] | 1876 » pxor» xmm6,XMMWORD[80+rsp] |
1873 » movdqu» XMMWORD PTR[64+r13],xmm2 | 1877 » movdqu» XMMWORD[64+r13],xmm2 |
1874 » movdqu» XMMWORD PTR[80+r13],xmm6 | 1878 » movdqu» XMMWORD[80+r13],xmm6 |
1875 » lea» r13,QWORD PTR[96+r13] | 1879 » lea» r13,[96+r13] |
1876 | 1880 |
1877 » movdqa» xmm6,XMMWORD PTR[96+rsp] | 1881 » movdqa» xmm6,XMMWORD[96+rsp] |
1878 » jmp» $L$xts_enc_done | 1882 » jmp» NEAR $L$xts_enc_done |
1879 ALIGN» 16 | 1883 ALIGN» 16 |
1880 $L$xts_enc_5:: | 1884 $L$xts_enc_5: |
1881 pxor xmm2,xmm10 | 1885 pxor xmm2,xmm10 |
1882 » lea» r12,QWORD PTR[80+r12] | 1886 » lea» r12,[80+r12] |
1883 pxor xmm3,xmm11 | 1887 pxor xmm3,xmm11 |
1884 » lea» rax,QWORD PTR[128+rsp] | 1888 » lea» rax,[128+rsp] |
1885 » mov» r10d,edx | 1889 » mov» r10d,edx |
1886 | 1890 |
1887 » call» _bsaes_encrypt8 | 1891 » call» _bsaes_encrypt8 |
1888 | 1892 |
1889 » pxor» xmm15,XMMWORD PTR[rsp] | 1893 » pxor» xmm15,XMMWORD[rsp] |
1890 » pxor» xmm0,XMMWORD PTR[16+rsp] | 1894 » pxor» xmm0,XMMWORD[16+rsp] |
1891 » movdqu» XMMWORD PTR[r13],xmm15 | 1895 » movdqu» XMMWORD[r13],xmm15 |
1892 » pxor» xmm3,XMMWORD PTR[32+rsp] | 1896 » pxor» xmm3,XMMWORD[32+rsp] |
1893 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1897 » movdqu» XMMWORD[16+r13],xmm0 |
1894 » pxor» xmm5,XMMWORD PTR[48+rsp] | 1898 » pxor» xmm5,XMMWORD[48+rsp] |
1895 » movdqu» XMMWORD PTR[32+r13],xmm3 | 1899 » movdqu» XMMWORD[32+r13],xmm3 |
1896 » pxor» xmm2,XMMWORD PTR[64+rsp] | 1900 » pxor» xmm2,XMMWORD[64+rsp] |
1897 » movdqu» XMMWORD PTR[48+r13],xmm5 | 1901 » movdqu» XMMWORD[48+r13],xmm5 |
1898 » movdqu» XMMWORD PTR[64+r13],xmm2 | 1902 » movdqu» XMMWORD[64+r13],xmm2 |
1899 » lea» r13,QWORD PTR[80+r13] | 1903 » lea» r13,[80+r13] |
1900 | 1904 |
1901 » movdqa» xmm6,XMMWORD PTR[80+rsp] | 1905 » movdqa» xmm6,XMMWORD[80+rsp] |
1902 » jmp» $L$xts_enc_done | 1906 » jmp» NEAR $L$xts_enc_done |
1903 ALIGN» 16 | 1907 ALIGN» 16 |
1904 $L$xts_enc_4:: | 1908 $L$xts_enc_4: |
1905 pxor xmm1,xmm9 | 1909 pxor xmm1,xmm9 |
1906 » lea» r12,QWORD PTR[64+r12] | 1910 » lea» r12,[64+r12] |
1907 pxor xmm2,xmm10 | 1911 pxor xmm2,xmm10 |
1908 » lea» rax,QWORD PTR[128+rsp] | 1912 » lea» rax,[128+rsp] |
1909 » mov» r10d,edx | 1913 » mov» r10d,edx |
1910 | 1914 |
1911 » call» _bsaes_encrypt8 | 1915 » call» _bsaes_encrypt8 |
1912 | 1916 |
1913 » pxor» xmm15,XMMWORD PTR[rsp] | 1917 » pxor» xmm15,XMMWORD[rsp] |
1914 » pxor» xmm0,XMMWORD PTR[16+rsp] | 1918 » pxor» xmm0,XMMWORD[16+rsp] |
1915 » movdqu» XMMWORD PTR[r13],xmm15 | 1919 » movdqu» XMMWORD[r13],xmm15 |
1916 » pxor» xmm3,XMMWORD PTR[32+rsp] | 1920 » pxor» xmm3,XMMWORD[32+rsp] |
1917 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1921 » movdqu» XMMWORD[16+r13],xmm0 |
1918 » pxor» xmm5,XMMWORD PTR[48+rsp] | 1922 » pxor» xmm5,XMMWORD[48+rsp] |
1919 » movdqu» XMMWORD PTR[32+r13],xmm3 | 1923 » movdqu» XMMWORD[32+r13],xmm3 |
1920 » movdqu» XMMWORD PTR[48+r13],xmm5 | 1924 » movdqu» XMMWORD[48+r13],xmm5 |
1921 » lea» r13,QWORD PTR[64+r13] | 1925 » lea» r13,[64+r13] |
1922 | 1926 |
1923 » movdqa» xmm6,XMMWORD PTR[64+rsp] | 1927 » movdqa» xmm6,XMMWORD[64+rsp] |
1924 » jmp» $L$xts_enc_done | 1928 » jmp» NEAR $L$xts_enc_done |
1925 ALIGN» 16 | 1929 ALIGN» 16 |
1926 $L$xts_enc_3:: | 1930 $L$xts_enc_3: |
1927 pxor xmm0,xmm8 | 1931 pxor xmm0,xmm8 |
1928 » lea» r12,QWORD PTR[48+r12] | 1932 » lea» r12,[48+r12] |
1929 pxor xmm1,xmm9 | 1933 pxor xmm1,xmm9 |
1930 » lea» rax,QWORD PTR[128+rsp] | 1934 » lea» rax,[128+rsp] |
1931 » mov» r10d,edx | 1935 » mov» r10d,edx |
1932 | 1936 |
1933 » call» _bsaes_encrypt8 | 1937 » call» _bsaes_encrypt8 |
1934 | 1938 |
1935 » pxor» xmm15,XMMWORD PTR[rsp] | 1939 » pxor» xmm15,XMMWORD[rsp] |
1936 » pxor» xmm0,XMMWORD PTR[16+rsp] | 1940 » pxor» xmm0,XMMWORD[16+rsp] |
1937 » movdqu» XMMWORD PTR[r13],xmm15 | 1941 » movdqu» XMMWORD[r13],xmm15 |
1938 » pxor» xmm3,XMMWORD PTR[32+rsp] | 1942 » pxor» xmm3,XMMWORD[32+rsp] |
1939 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1943 » movdqu» XMMWORD[16+r13],xmm0 |
1940 » movdqu» XMMWORD PTR[32+r13],xmm3 | 1944 » movdqu» XMMWORD[32+r13],xmm3 |
1941 » lea» r13,QWORD PTR[48+r13] | 1945 » lea» r13,[48+r13] |
1942 | 1946 |
1943 » movdqa» xmm6,XMMWORD PTR[48+rsp] | 1947 » movdqa» xmm6,XMMWORD[48+rsp] |
1944 » jmp» $L$xts_enc_done | 1948 » jmp» NEAR $L$xts_enc_done |
1945 ALIGN» 16 | 1949 ALIGN» 16 |
1946 $L$xts_enc_2:: | 1950 $L$xts_enc_2: |
1947 pxor xmm15,xmm7 | 1951 pxor xmm15,xmm7 |
1948 » lea» r12,QWORD PTR[32+r12] | 1952 » lea» r12,[32+r12] |
1949 pxor xmm0,xmm8 | 1953 pxor xmm0,xmm8 |
1950 » lea» rax,QWORD PTR[128+rsp] | 1954 » lea» rax,[128+rsp] |
1951 » mov» r10d,edx | 1955 » mov» r10d,edx |
1952 | 1956 |
1953 » call» _bsaes_encrypt8 | 1957 » call» _bsaes_encrypt8 |
1954 | 1958 |
1955 » pxor» xmm15,XMMWORD PTR[rsp] | 1959 » pxor» xmm15,XMMWORD[rsp] |
1956 » pxor» xmm0,XMMWORD PTR[16+rsp] | 1960 » pxor» xmm0,XMMWORD[16+rsp] |
1957 » movdqu» XMMWORD PTR[r13],xmm15 | 1961 » movdqu» XMMWORD[r13],xmm15 |
1958 » movdqu» XMMWORD PTR[16+r13],xmm0 | 1962 » movdqu» XMMWORD[16+r13],xmm0 |
1959 » lea» r13,QWORD PTR[32+r13] | 1963 » lea» r13,[32+r13] |
1960 | 1964 |
1961 » movdqa» xmm6,XMMWORD PTR[32+rsp] | 1965 » movdqa» xmm6,XMMWORD[32+rsp] |
1962 » jmp» $L$xts_enc_done | 1966 » jmp» NEAR $L$xts_enc_done |
1963 ALIGN» 16 | 1967 ALIGN» 16 |
1964 $L$xts_enc_1:: | 1968 $L$xts_enc_1: |
1965 pxor xmm7,xmm15 | 1969 pxor xmm7,xmm15 |
1966 » lea» r12,QWORD PTR[16+r12] | 1970 » lea» r12,[16+r12] |
1967 » movdqa» XMMWORD PTR[32+rbp],xmm7 | 1971 » movdqa» XMMWORD[32+rbp],xmm7 |
1968 » lea» rcx,QWORD PTR[32+rbp] | 1972 » lea» rcx,[32+rbp] |
1969 » lea» rdx,QWORD PTR[32+rbp] | 1973 » lea» rdx,[32+rbp] |
1970 » lea» r8,QWORD PTR[r15] | 1974 » lea» r8,[r15] |
1971 call asm_AES_encrypt | 1975 call asm_AES_encrypt |
1972 » pxor» xmm15,XMMWORD PTR[32+rbp] | 1976 » pxor» xmm15,XMMWORD[32+rbp] |
1973 | 1977 |
1974 | 1978 |
1975 | 1979 |
1976 | 1980 |
1977 | 1981 |
1978 » movdqu» XMMWORD PTR[r13],xmm15 | 1982 » movdqu» XMMWORD[r13],xmm15 |
1979 » lea» r13,QWORD PTR[16+r13] | 1983 » lea» r13,[16+r13] |
1980 | 1984 |
1981 » movdqa» xmm6,XMMWORD PTR[16+rsp] | 1985 » movdqa» xmm6,XMMWORD[16+rsp] |
1982 | 1986 |
1983 $L$xts_enc_done:: | 1987 $L$xts_enc_done: |
1984 and ebx,15 | 1988 and ebx,15 |
1985 » jz» $L$xts_enc_ret | 1989 » jz» NEAR $L$xts_enc_ret |
1986 mov rdx,r13 | 1990 mov rdx,r13 |
1987 | 1991 |
1988 $L$xts_enc_steal:: | 1992 $L$xts_enc_steal: |
1989 » movzx» eax,BYTE PTR[r12] | 1993 » movzx» eax,BYTE[r12] |
1990 » movzx» ecx,BYTE PTR[((-16))+rdx] | 1994 » movzx» ecx,BYTE[((-16))+rdx] |
1991 » lea» r12,QWORD PTR[1+r12] | 1995 » lea» r12,[1+r12] |
1992 » mov» BYTE PTR[((-16))+rdx],al | 1996 » mov» BYTE[((-16))+rdx],al |
1993 » mov» BYTE PTR[rdx],cl | 1997 » mov» BYTE[rdx],cl |
1994 » lea» rdx,QWORD PTR[1+rdx] | 1998 » lea» rdx,[1+rdx] |
1995 sub ebx,1 | 1999 sub ebx,1 |
1996 » jnz» $L$xts_enc_steal | 2000 » jnz» NEAR $L$xts_enc_steal |
1997 | 2001 |
1998 » movdqu» xmm15,XMMWORD PTR[((-16))+r13] | 2002 » movdqu» xmm15,XMMWORD[((-16))+r13] |
1999 » lea» rcx,QWORD PTR[32+rbp] | 2003 » lea» rcx,[32+rbp] |
2000 pxor xmm15,xmm6 | 2004 pxor xmm15,xmm6 |
2001 » lea» rdx,QWORD PTR[32+rbp] | 2005 » lea» rdx,[32+rbp] |
2002 » movdqa» XMMWORD PTR[32+rbp],xmm15 | 2006 » movdqa» XMMWORD[32+rbp],xmm15 |
2003 » lea» r8,QWORD PTR[r15] | 2007 » lea» r8,[r15] |
2004 call asm_AES_encrypt | 2008 call asm_AES_encrypt |
2005 » pxor» xmm6,XMMWORD PTR[32+rbp] | 2009 » pxor» xmm6,XMMWORD[32+rbp] |
2006 » movdqu» XMMWORD PTR[(-16)+r13],xmm6 | 2010 » movdqu» XMMWORD[(-16)+r13],xmm6 |
2007 | 2011 |
2008 $L$xts_enc_ret:: | 2012 $L$xts_enc_ret: |
2009 » lea» rax,QWORD PTR[rsp] | 2013 » lea» rax,[rsp] |
2010 pxor xmm0,xmm0 | 2014 pxor xmm0,xmm0 |
2011 $L$xts_enc_bzero:: | 2015 $L$xts_enc_bzero: |
2012 » movdqa» XMMWORD PTR[rax],xmm0 | 2016 » movdqa» XMMWORD[rax],xmm0 |
2013 » movdqa» XMMWORD PTR[16+rax],xmm0 | 2017 » movdqa» XMMWORD[16+rax],xmm0 |
2014 » lea» rax,QWORD PTR[32+rax] | 2018 » lea» rax,[32+rax] |
2015 cmp rbp,rax | 2019 cmp rbp,rax |
2016 » ja» $L$xts_enc_bzero | 2020 » ja» NEAR $L$xts_enc_bzero |
2017 | 2021 |
2018 » lea» rsp,QWORD PTR[rbp] | 2022 » lea» rsp,[rbp] |
2019 » movaps» xmm6,XMMWORD PTR[64+rbp] | 2023 » movaps» xmm6,XMMWORD[64+rbp] |
2020 » movaps» xmm7,XMMWORD PTR[80+rbp] | 2024 » movaps» xmm7,XMMWORD[80+rbp] |
2021 » movaps» xmm8,XMMWORD PTR[96+rbp] | 2025 » movaps» xmm8,XMMWORD[96+rbp] |
2022 » movaps» xmm9,XMMWORD PTR[112+rbp] | 2026 » movaps» xmm9,XMMWORD[112+rbp] |
2023 » movaps» xmm10,XMMWORD PTR[128+rbp] | 2027 » movaps» xmm10,XMMWORD[128+rbp] |
2024 » movaps» xmm11,XMMWORD PTR[144+rbp] | 2028 » movaps» xmm11,XMMWORD[144+rbp] |
2025 » movaps» xmm12,XMMWORD PTR[160+rbp] | 2029 » movaps» xmm12,XMMWORD[160+rbp] |
2026 » movaps» xmm13,XMMWORD PTR[176+rbp] | 2030 » movaps» xmm13,XMMWORD[176+rbp] |
2027 » movaps» xmm14,XMMWORD PTR[192+rbp] | 2031 » movaps» xmm14,XMMWORD[192+rbp] |
2028 » movaps» xmm15,XMMWORD PTR[208+rbp] | 2032 » movaps» xmm15,XMMWORD[208+rbp] |
2029 » lea» rsp,QWORD PTR[160+rbp] | 2033 » lea» rsp,[160+rbp] |
2030 » mov» r15,QWORD PTR[72+rsp] | 2034 » mov» r15,QWORD[72+rsp] |
2031 » mov» r14,QWORD PTR[80+rsp] | 2035 » mov» r14,QWORD[80+rsp] |
2032 » mov» r13,QWORD PTR[88+rsp] | 2036 » mov» r13,QWORD[88+rsp] |
2033 » mov» r12,QWORD PTR[96+rsp] | 2037 » mov» r12,QWORD[96+rsp] |
2034 » mov» rbx,QWORD PTR[104+rsp] | 2038 » mov» rbx,QWORD[104+rsp] |
2035 » mov» rax,QWORD PTR[112+rsp] | 2039 » mov» rax,QWORD[112+rsp] |
2036 » lea» rsp,QWORD PTR[120+rsp] | 2040 » lea» rsp,[120+rsp] |
2037 mov rbp,rax | 2041 mov rbp,rax |
2038 $L$xts_enc_epilogue:: | 2042 $L$xts_enc_epilogue: |
2039 DB 0F3h,0C3h ;repret | 2043 DB 0F3h,0C3h ;repret |
2040 bsaes_xts_encrypt» ENDP | 2044 |
2041 | 2045 |
2042 PUBLIC» bsaes_xts_decrypt | 2046 global» bsaes_xts_decrypt |
2043 | 2047 |
2044 ALIGN» 16 | 2048 ALIGN» 16 |
2045 bsaes_xts_decrypt» PROC PUBLIC | 2049 bsaes_xts_decrypt: |
2046 mov rax,rsp | 2050 mov rax,rsp |
2047 $L$xts_dec_prologue:: | 2051 $L$xts_dec_prologue: |
2048 push rbp | 2052 push rbp |
2049 push rbx | 2053 push rbx |
2050 push r12 | 2054 push r12 |
2051 push r13 | 2055 push r13 |
2052 push r14 | 2056 push r14 |
2053 push r15 | 2057 push r15 |
2054 » lea» rsp,QWORD PTR[((-72))+rsp] | 2058 » lea» rsp,[((-72))+rsp] |
2055 » mov» r10,QWORD PTR[160+rsp] | 2059 » mov» r10,QWORD[160+rsp] |
2056 » mov» r11,QWORD PTR[168+rsp] | 2060 » mov» r11,QWORD[168+rsp] |
2057 » lea» rsp,QWORD PTR[((-160))+rsp] | 2061 » lea» rsp,[((-160))+rsp] |
2058 » movaps» XMMWORD PTR[64+rsp],xmm6 | 2062 » movaps» XMMWORD[64+rsp],xmm6 |
2059 » movaps» XMMWORD PTR[80+rsp],xmm7 | 2063 » movaps» XMMWORD[80+rsp],xmm7 |
2060 » movaps» XMMWORD PTR[96+rsp],xmm8 | 2064 » movaps» XMMWORD[96+rsp],xmm8 |
2061 » movaps» XMMWORD PTR[112+rsp],xmm9 | 2065 » movaps» XMMWORD[112+rsp],xmm9 |
2062 » movaps» XMMWORD PTR[128+rsp],xmm10 | 2066 » movaps» XMMWORD[128+rsp],xmm10 |
2063 » movaps» XMMWORD PTR[144+rsp],xmm11 | 2067 » movaps» XMMWORD[144+rsp],xmm11 |
2064 » movaps» XMMWORD PTR[160+rsp],xmm12 | 2068 » movaps» XMMWORD[160+rsp],xmm12 |
2065 » movaps» XMMWORD PTR[176+rsp],xmm13 | 2069 » movaps» XMMWORD[176+rsp],xmm13 |
2066 » movaps» XMMWORD PTR[192+rsp],xmm14 | 2070 » movaps» XMMWORD[192+rsp],xmm14 |
2067 » movaps» XMMWORD PTR[208+rsp],xmm15 | 2071 » movaps» XMMWORD[208+rsp],xmm15 |
2068 $L$xts_dec_body:: | 2072 $L$xts_dec_body: |
2069 mov rbp,rsp | 2073 mov rbp,rsp |
2070 mov r12,rcx | 2074 mov r12,rcx |
2071 mov r13,rdx | 2075 mov r13,rdx |
2072 mov r14,r8 | 2076 mov r14,r8 |
2073 mov r15,r9 | 2077 mov r15,r9 |
2074 | 2078 |
2075 » lea» rcx,QWORD PTR[r11] | 2079 » lea» rcx,[r11] |
2076 » lea» rdx,QWORD PTR[32+rbp] | 2080 » lea» rdx,[32+rbp] |
2077 » lea» r8,QWORD PTR[r10] | 2081 » lea» r8,[r10] |
2078 call asm_AES_encrypt | 2082 call asm_AES_encrypt |
2079 | 2083 |
2080 » mov» eax,DWORD PTR[240+r15] | 2084 » mov» eax,DWORD[240+r15] |
2081 mov rbx,r14 | 2085 mov rbx,r14 |
2082 | 2086 |
2083 mov edx,eax | 2087 mov edx,eax |
2084 shl rax,7 | 2088 shl rax,7 |
2085 sub rax,96 | 2089 sub rax,96 |
2086 sub rsp,rax | 2090 sub rsp,rax |
2087 | 2091 |
2088 mov rax,rsp | 2092 mov rax,rsp |
2089 mov rcx,r15 | 2093 mov rcx,r15 |
2090 mov r10d,edx | 2094 mov r10d,edx |
2091 call _bsaes_key_convert | 2095 call _bsaes_key_convert |
2092 » pxor» xmm7,XMMWORD PTR[rsp] | 2096 » pxor» xmm7,XMMWORD[rsp] |
2093 » movdqa» XMMWORD PTR[rax],xmm6 | 2097 » movdqa» XMMWORD[rax],xmm6 |
2094 » movdqa» XMMWORD PTR[rsp],xmm7 | 2098 » movdqa» XMMWORD[rsp],xmm7 |
2095 | 2099 |
2096 xor eax,eax | 2100 xor eax,eax |
2097 and r14,-16 | 2101 and r14,-16 |
2098 test ebx,15 | 2102 test ebx,15 |
2099 setnz al | 2103 setnz al |
2100 shl rax,4 | 2104 shl rax,4 |
2101 sub r14,rax | 2105 sub r14,rax |
2102 | 2106 |
2103 » sub» rsp,080h | 2107 » sub» rsp,0x80 |
2104 » movdqa» xmm6,XMMWORD PTR[32+rbp] | 2108 » movdqa» xmm6,XMMWORD[32+rbp] |
2105 | 2109 |
2106 » pxor» xmm14,xmm14 | 2110 » pxor» xmm14,xmm14 |
2107 » movdqa» xmm12,XMMWORD PTR[$L$xts_magic] | 2111 » movdqa» xmm12,XMMWORD[$L$xts_magic] |
2108 » pcmpgtd»xmm14,xmm6 | 2112 » pcmpgtd»xmm14,xmm6 |
2109 | 2113 |
2110 » sub» r14,080h | 2114 » sub» r14,0x80 |
2111 » jc» $L$xts_dec_short | 2115 » jc» NEAR $L$xts_dec_short |
2112 » jmp» $L$xts_dec_loop | 2116 » jmp» NEAR $L$xts_dec_loop |
2113 | 2117 |
2114 ALIGN» 16 | 2118 ALIGN» 16 |
2115 $L$xts_dec_loop:: | 2119 $L$xts_dec_loop: |
2116 » pshufd» xmm13,xmm14,013h | 2120 » pshufd» xmm13,xmm14,0x13 |
2117 pxor xmm14,xmm14 | 2121 pxor xmm14,xmm14 |
2118 movdqa xmm15,xmm6 | 2122 movdqa xmm15,xmm6 |
2119 » movdqa» XMMWORD PTR[rsp],xmm6 | 2123 » movdqa» XMMWORD[rsp],xmm6 |
2120 » paddq» xmm6,xmm6 | 2124 » paddq» xmm6,xmm6 |
2121 » pand» xmm13,xmm12 | 2125 » pand» xmm13,xmm12 |
2122 » pcmpgtd»xmm14,xmm6 | 2126 » pcmpgtd»xmm14,xmm6 |
2123 » pxor» xmm6,xmm13 | 2127 » pxor» xmm6,xmm13 |
2124 » pshufd» xmm13,xmm14,013h | 2128 » pshufd» xmm13,xmm14,0x13 |
2125 pxor xmm14,xmm14 | 2129 pxor xmm14,xmm14 |
2126 movdqa xmm0,xmm6 | 2130 movdqa xmm0,xmm6 |
2127 » movdqa» XMMWORD PTR[16+rsp],xmm6 | 2131 » movdqa» XMMWORD[16+rsp],xmm6 |
2128 » paddq» xmm6,xmm6 | 2132 » paddq» xmm6,xmm6 |
2129 » pand» xmm13,xmm12 | 2133 » pand» xmm13,xmm12 |
2130 » pcmpgtd»xmm14,xmm6 | 2134 » pcmpgtd»xmm14,xmm6 |
2131 » pxor» xmm6,xmm13 | 2135 » pxor» xmm6,xmm13 |
2132 » movdqu» xmm7,XMMWORD PTR[r12] | 2136 » movdqu» xmm7,XMMWORD[r12] |
2133 » pshufd» xmm13,xmm14,013h | 2137 » pshufd» xmm13,xmm14,0x13 |
2134 pxor xmm14,xmm14 | 2138 pxor xmm14,xmm14 |
2135 movdqa xmm1,xmm6 | 2139 movdqa xmm1,xmm6 |
2136 » movdqa» XMMWORD PTR[32+rsp],xmm6 | 2140 » movdqa» XMMWORD[32+rsp],xmm6 |
2137 » paddq» xmm6,xmm6 | 2141 » paddq» xmm6,xmm6 |
2138 » pand» xmm13,xmm12 | 2142 » pand» xmm13,xmm12 |
2139 » pcmpgtd»xmm14,xmm6 | 2143 » pcmpgtd»xmm14,xmm6 |
2140 » pxor» xmm6,xmm13 | 2144 » pxor» xmm6,xmm13 |
2141 » movdqu» xmm8,XMMWORD PTR[16+r12] | 2145 » movdqu» xmm8,XMMWORD[16+r12] |
2142 pxor xmm15,xmm7 | 2146 pxor xmm15,xmm7 |
2143 » pshufd» xmm13,xmm14,013h | 2147 » pshufd» xmm13,xmm14,0x13 |
2144 pxor xmm14,xmm14 | 2148 pxor xmm14,xmm14 |
2145 movdqa xmm2,xmm6 | 2149 movdqa xmm2,xmm6 |
2146 » movdqa» XMMWORD PTR[48+rsp],xmm6 | 2150 » movdqa» XMMWORD[48+rsp],xmm6 |
2147 » paddq» xmm6,xmm6 | 2151 » paddq» xmm6,xmm6 |
2148 » pand» xmm13,xmm12 | 2152 » pand» xmm13,xmm12 |
2149 » pcmpgtd»xmm14,xmm6 | 2153 » pcmpgtd»xmm14,xmm6 |
2150 » pxor» xmm6,xmm13 | 2154 » pxor» xmm6,xmm13 |
2151 » movdqu» xmm9,XMMWORD PTR[32+r12] | 2155 » movdqu» xmm9,XMMWORD[32+r12] |
2152 pxor xmm0,xmm8 | 2156 pxor xmm0,xmm8 |
2153 » pshufd» xmm13,xmm14,013h | 2157 » pshufd» xmm13,xmm14,0x13 |
2154 pxor xmm14,xmm14 | 2158 pxor xmm14,xmm14 |
2155 movdqa xmm3,xmm6 | 2159 movdqa xmm3,xmm6 |
2156 » movdqa» XMMWORD PTR[64+rsp],xmm6 | 2160 » movdqa» XMMWORD[64+rsp],xmm6 |
2157 » paddq» xmm6,xmm6 | 2161 » paddq» xmm6,xmm6 |
2158 » pand» xmm13,xmm12 | 2162 » pand» xmm13,xmm12 |
2159 » pcmpgtd»xmm14,xmm6 | 2163 » pcmpgtd»xmm14,xmm6 |
2160 » pxor» xmm6,xmm13 | 2164 » pxor» xmm6,xmm13 |
2161 » movdqu» xmm10,XMMWORD PTR[48+r12] | 2165 » movdqu» xmm10,XMMWORD[48+r12] |
2162 pxor xmm1,xmm9 | 2166 pxor xmm1,xmm9 |
2163 » pshufd» xmm13,xmm14,013h | 2167 » pshufd» xmm13,xmm14,0x13 |
2164 pxor xmm14,xmm14 | 2168 pxor xmm14,xmm14 |
2165 movdqa xmm4,xmm6 | 2169 movdqa xmm4,xmm6 |
2166 » movdqa» XMMWORD PTR[80+rsp],xmm6 | 2170 » movdqa» XMMWORD[80+rsp],xmm6 |
2167 » paddq» xmm6,xmm6 | 2171 » paddq» xmm6,xmm6 |
2168 » pand» xmm13,xmm12 | 2172 » pand» xmm13,xmm12 |
2169 » pcmpgtd»xmm14,xmm6 | 2173 » pcmpgtd»xmm14,xmm6 |
2170 » pxor» xmm6,xmm13 | 2174 » pxor» xmm6,xmm13 |
2171 » movdqu» xmm11,XMMWORD PTR[64+r12] | 2175 » movdqu» xmm11,XMMWORD[64+r12] |
2172 pxor xmm2,xmm10 | 2176 pxor xmm2,xmm10 |
2173 » pshufd» xmm13,xmm14,013h | 2177 » pshufd» xmm13,xmm14,0x13 |
2174 pxor xmm14,xmm14 | 2178 pxor xmm14,xmm14 |
2175 movdqa xmm5,xmm6 | 2179 movdqa xmm5,xmm6 |
2176 » movdqa» XMMWORD PTR[96+rsp],xmm6 | 2180 » movdqa» XMMWORD[96+rsp],xmm6 |
2177 » paddq» xmm6,xmm6 | 2181 » paddq» xmm6,xmm6 |
2178 » pand» xmm13,xmm12 | 2182 » pand» xmm13,xmm12 |
2179 » pcmpgtd»xmm14,xmm6 | 2183 » pcmpgtd»xmm14,xmm6 |
2180 » pxor» xmm6,xmm13 | 2184 » pxor» xmm6,xmm13 |
2181 » movdqu» xmm12,XMMWORD PTR[80+r12] | 2185 » movdqu» xmm12,XMMWORD[80+r12] |
2182 pxor xmm3,xmm11 | 2186 pxor xmm3,xmm11 |
2183 » movdqu» xmm13,XMMWORD PTR[96+r12] | 2187 » movdqu» xmm13,XMMWORD[96+r12] |
2184 pxor xmm4,xmm12 | 2188 pxor xmm4,xmm12 |
2185 » movdqu» xmm14,XMMWORD PTR[112+r12] | 2189 » movdqu» xmm14,XMMWORD[112+r12] |
2186 » lea» r12,QWORD PTR[128+r12] | 2190 » lea» r12,[128+r12] |
2187 » movdqa» XMMWORD PTR[112+rsp],xmm6 | 2191 » movdqa» XMMWORD[112+rsp],xmm6 |
2188 pxor xmm5,xmm13 | 2192 pxor xmm5,xmm13 |
2189 » lea» rax,QWORD PTR[128+rsp] | 2193 » lea» rax,[128+rsp] |
2190 pxor xmm6,xmm14 | 2194 pxor xmm6,xmm14 |
2191 mov r10d,edx | 2195 mov r10d,edx |
2192 | 2196 |
2193 call _bsaes_decrypt8 | 2197 call _bsaes_decrypt8 |
2194 | 2198 |
2195 » pxor» xmm15,XMMWORD PTR[rsp] | 2199 » pxor» xmm15,XMMWORD[rsp] |
2196 » pxor» xmm0,XMMWORD PTR[16+rsp] | 2200 » pxor» xmm0,XMMWORD[16+rsp] |
2197 » movdqu» XMMWORD PTR[r13],xmm15 | 2201 » movdqu» XMMWORD[r13],xmm15 |
2198 » pxor» xmm5,XMMWORD PTR[32+rsp] | 2202 » pxor» xmm5,XMMWORD[32+rsp] |
2199 » movdqu» XMMWORD PTR[16+r13],xmm0 | 2203 » movdqu» XMMWORD[16+r13],xmm0 |
2200 » pxor» xmm3,XMMWORD PTR[48+rsp] | 2204 » pxor» xmm3,XMMWORD[48+rsp] |
2201 » movdqu» XMMWORD PTR[32+r13],xmm5 | 2205 » movdqu» XMMWORD[32+r13],xmm5 |
2202 » pxor» xmm1,XMMWORD PTR[64+rsp] | 2206 » pxor» xmm1,XMMWORD[64+rsp] |
2203 » movdqu» XMMWORD PTR[48+r13],xmm3 | 2207 » movdqu» XMMWORD[48+r13],xmm3 |
2204 » pxor» xmm6,XMMWORD PTR[80+rsp] | 2208 » pxor» xmm6,XMMWORD[80+rsp] |
2205 » movdqu» XMMWORD PTR[64+r13],xmm1 | 2209 » movdqu» XMMWORD[64+r13],xmm1 |
2206 » pxor» xmm2,XMMWORD PTR[96+rsp] | 2210 » pxor» xmm2,XMMWORD[96+rsp] |
2207 » movdqu» XMMWORD PTR[80+r13],xmm6 | 2211 » movdqu» XMMWORD[80+r13],xmm6 |
2208 » pxor» xmm4,XMMWORD PTR[112+rsp] | 2212 » pxor» xmm4,XMMWORD[112+rsp] |
2209 » movdqu» XMMWORD PTR[96+r13],xmm2 | 2213 » movdqu» XMMWORD[96+r13],xmm2 |
2210 » movdqu» XMMWORD PTR[112+r13],xmm4 | 2214 » movdqu» XMMWORD[112+r13],xmm4 |
2211 » lea» r13,QWORD PTR[128+r13] | 2215 » lea» r13,[128+r13] |
2212 | 2216 |
2213 » movdqa» xmm6,XMMWORD PTR[112+rsp] | 2217 » movdqa» xmm6,XMMWORD[112+rsp] |
2214 » pxor» xmm14,xmm14 | 2218 » pxor» xmm14,xmm14 |
2215 » movdqa» xmm12,XMMWORD PTR[$L$xts_magic] | 2219 » movdqa» xmm12,XMMWORD[$L$xts_magic] |
2216 » pcmpgtd»xmm14,xmm6 | 2220 » pcmpgtd»xmm14,xmm6 |
2217 » pshufd» xmm13,xmm14,013h | 2221 » pshufd» xmm13,xmm14,0x13 |
2218 » pxor» xmm14,xmm14 | 2222 » pxor» xmm14,xmm14 |
2219 » paddq» xmm6,xmm6 | 2223 » paddq» xmm6,xmm6 |
2220 » pand» xmm13,xmm12 | 2224 » pand» xmm13,xmm12 |
2221 » pcmpgtd»xmm14,xmm6 | 2225 » pcmpgtd»xmm14,xmm6 |
2222 » pxor» xmm6,xmm13 | 2226 » pxor» xmm6,xmm13 |
2223 | 2227 |
2224 » sub» r14,080h | 2228 » sub» r14,0x80 |
2225 » jnc» $L$xts_dec_loop | 2229 » jnc» NEAR $L$xts_dec_loop |
2226 | 2230 |
2227 $L$xts_dec_short:: | 2231 $L$xts_dec_short: |
2228 » add» r14,080h | 2232 » add» r14,0x80 |
2229 » jz» $L$xts_dec_done | 2233 » jz» NEAR $L$xts_dec_done |
2230 » pshufd» xmm13,xmm14,013h | 2234 » pshufd» xmm13,xmm14,0x13 |
2231 pxor xmm14,xmm14 | 2235 pxor xmm14,xmm14 |
2232 movdqa xmm15,xmm6 | 2236 movdqa xmm15,xmm6 |
2233 » movdqa» XMMWORD PTR[rsp],xmm6 | 2237 » movdqa» XMMWORD[rsp],xmm6 |
2234 » paddq» xmm6,xmm6 | 2238 » paddq» xmm6,xmm6 |
2235 » pand» xmm13,xmm12 | 2239 » pand» xmm13,xmm12 |
2236 » pcmpgtd»xmm14,xmm6 | 2240 » pcmpgtd»xmm14,xmm6 |
2237 » pxor» xmm6,xmm13 | 2241 » pxor» xmm6,xmm13 |
2238 » pshufd» xmm13,xmm14,013h | 2242 » pshufd» xmm13,xmm14,0x13 |
2239 pxor xmm14,xmm14 | 2243 pxor xmm14,xmm14 |
2240 movdqa xmm0,xmm6 | 2244 movdqa xmm0,xmm6 |
2241 » movdqa» XMMWORD PTR[16+rsp],xmm6 | 2245 » movdqa» XMMWORD[16+rsp],xmm6 |
2242 » paddq» xmm6,xmm6 | 2246 » paddq» xmm6,xmm6 |
2243 » pand» xmm13,xmm12 | 2247 » pand» xmm13,xmm12 |
2244 » pcmpgtd»xmm14,xmm6 | 2248 » pcmpgtd»xmm14,xmm6 |
2245 » pxor» xmm6,xmm13 | 2249 » pxor» xmm6,xmm13 |
2246 » movdqu» xmm7,XMMWORD PTR[r12] | 2250 » movdqu» xmm7,XMMWORD[r12] |
2247 cmp r14,16 | 2251 cmp r14,16 |
2248 » je» $L$xts_dec_1 | 2252 » je» NEAR $L$xts_dec_1 |
2249 » pshufd» xmm13,xmm14,013h | 2253 » pshufd» xmm13,xmm14,0x13 |
2250 pxor xmm14,xmm14 | 2254 pxor xmm14,xmm14 |
2251 movdqa xmm1,xmm6 | 2255 movdqa xmm1,xmm6 |
2252 » movdqa» XMMWORD PTR[32+rsp],xmm6 | 2256 » movdqa» XMMWORD[32+rsp],xmm6 |
2253 » paddq» xmm6,xmm6 | 2257 » paddq» xmm6,xmm6 |
2254 » pand» xmm13,xmm12 | 2258 » pand» xmm13,xmm12 |
2255 » pcmpgtd»xmm14,xmm6 | 2259 » pcmpgtd»xmm14,xmm6 |
2256 » pxor» xmm6,xmm13 | 2260 » pxor» xmm6,xmm13 |
2257 » movdqu» xmm8,XMMWORD PTR[16+r12] | 2261 » movdqu» xmm8,XMMWORD[16+r12] |
2258 cmp r14,32 | 2262 cmp r14,32 |
2259 » je» $L$xts_dec_2 | 2263 » je» NEAR $L$xts_dec_2 |
2260 pxor xmm15,xmm7 | 2264 pxor xmm15,xmm7 |
2261 » pshufd» xmm13,xmm14,013h | 2265 » pshufd» xmm13,xmm14,0x13 |
2262 pxor xmm14,xmm14 | 2266 pxor xmm14,xmm14 |
2263 movdqa xmm2,xmm6 | 2267 movdqa xmm2,xmm6 |
2264 » movdqa» XMMWORD PTR[48+rsp],xmm6 | 2268 » movdqa» XMMWORD[48+rsp],xmm6 |
2265 » paddq» xmm6,xmm6 | 2269 » paddq» xmm6,xmm6 |
2266 » pand» xmm13,xmm12 | 2270 » pand» xmm13,xmm12 |
2267 » pcmpgtd»xmm14,xmm6 | 2271 » pcmpgtd»xmm14,xmm6 |
2268 » pxor» xmm6,xmm13 | 2272 » pxor» xmm6,xmm13 |
2269 » movdqu» xmm9,XMMWORD PTR[32+r12] | 2273 » movdqu» xmm9,XMMWORD[32+r12] |
2270 cmp r14,48 | 2274 cmp r14,48 |
2271 » je» $L$xts_dec_3 | 2275 » je» NEAR $L$xts_dec_3 |
2272 pxor xmm0,xmm8 | 2276 pxor xmm0,xmm8 |
2273 » pshufd» xmm13,xmm14,013h | 2277 » pshufd» xmm13,xmm14,0x13 |
2274 pxor xmm14,xmm14 | 2278 pxor xmm14,xmm14 |
2275 movdqa xmm3,xmm6 | 2279 movdqa xmm3,xmm6 |
2276 » movdqa» XMMWORD PTR[64+rsp],xmm6 | 2280 » movdqa» XMMWORD[64+rsp],xmm6 |
2277 » paddq» xmm6,xmm6 | 2281 » paddq» xmm6,xmm6 |
2278 » pand» xmm13,xmm12 | 2282 » pand» xmm13,xmm12 |
2279 » pcmpgtd»xmm14,xmm6 | 2283 » pcmpgtd»xmm14,xmm6 |
2280 » pxor» xmm6,xmm13 | 2284 » pxor» xmm6,xmm13 |
2281 » movdqu» xmm10,XMMWORD PTR[48+r12] | 2285 » movdqu» xmm10,XMMWORD[48+r12] |
2282 cmp r14,64 | 2286 cmp r14,64 |
2283 » je» $L$xts_dec_4 | 2287 » je» NEAR $L$xts_dec_4 |
2284 pxor xmm1,xmm9 | 2288 pxor xmm1,xmm9 |
2285 » pshufd» xmm13,xmm14,013h | 2289 » pshufd» xmm13,xmm14,0x13 |
2286 pxor xmm14,xmm14 | 2290 pxor xmm14,xmm14 |
2287 movdqa xmm4,xmm6 | 2291 movdqa xmm4,xmm6 |
2288 » movdqa» XMMWORD PTR[80+rsp],xmm6 | 2292 » movdqa» XMMWORD[80+rsp],xmm6 |
2289 » paddq» xmm6,xmm6 | 2293 » paddq» xmm6,xmm6 |
2290 » pand» xmm13,xmm12 | 2294 » pand» xmm13,xmm12 |
2291 » pcmpgtd»xmm14,xmm6 | 2295 » pcmpgtd»xmm14,xmm6 |
2292 » pxor» xmm6,xmm13 | 2296 » pxor» xmm6,xmm13 |
2293 » movdqu» xmm11,XMMWORD PTR[64+r12] | 2297 » movdqu» xmm11,XMMWORD[64+r12] |
2294 cmp r14,80 | 2298 cmp r14,80 |
2295 » je» $L$xts_dec_5 | 2299 » je» NEAR $L$xts_dec_5 |
2296 pxor xmm2,xmm10 | 2300 pxor xmm2,xmm10 |
2297 » pshufd» xmm13,xmm14,013h | 2301 » pshufd» xmm13,xmm14,0x13 |
2298 pxor xmm14,xmm14 | 2302 pxor xmm14,xmm14 |
2299 movdqa xmm5,xmm6 | 2303 movdqa xmm5,xmm6 |
2300 » movdqa» XMMWORD PTR[96+rsp],xmm6 | 2304 » movdqa» XMMWORD[96+rsp],xmm6 |
2301 » paddq» xmm6,xmm6 | 2305 » paddq» xmm6,xmm6 |
2302 » pand» xmm13,xmm12 | 2306 » pand» xmm13,xmm12 |
2303 » pcmpgtd»xmm14,xmm6 | 2307 » pcmpgtd»xmm14,xmm6 |
2304 » pxor» xmm6,xmm13 | 2308 » pxor» xmm6,xmm13 |
2305 » movdqu» xmm12,XMMWORD PTR[80+r12] | 2309 » movdqu» xmm12,XMMWORD[80+r12] |
2306 cmp r14,96 | 2310 cmp r14,96 |
2307 » je» $L$xts_dec_6 | 2311 » je» NEAR $L$xts_dec_6 |
2308 pxor xmm3,xmm11 | 2312 pxor xmm3,xmm11 |
2309 » movdqu» xmm13,XMMWORD PTR[96+r12] | 2313 » movdqu» xmm13,XMMWORD[96+r12] |
2310 pxor xmm4,xmm12 | 2314 pxor xmm4,xmm12 |
2311 » movdqa» XMMWORD PTR[112+rsp],xmm6 | 2315 » movdqa» XMMWORD[112+rsp],xmm6 |
2312 » lea» r12,QWORD PTR[112+r12] | 2316 » lea» r12,[112+r12] |
2313 pxor xmm5,xmm13 | 2317 pxor xmm5,xmm13 |
2314 » lea» rax,QWORD PTR[128+rsp] | 2318 » lea» rax,[128+rsp] |
2315 » mov» r10d,edx | 2319 » mov» r10d,edx |
2316 | 2320 |
2317 » call» _bsaes_decrypt8 | 2321 » call» _bsaes_decrypt8 |
2318 | 2322 |
2319 » pxor» xmm15,XMMWORD PTR[rsp] | 2323 » pxor» xmm15,XMMWORD[rsp] |
2320 » pxor» xmm0,XMMWORD PTR[16+rsp] | 2324 » pxor» xmm0,XMMWORD[16+rsp] |
2321 » movdqu» XMMWORD PTR[r13],xmm15 | 2325 » movdqu» XMMWORD[r13],xmm15 |
2322 » pxor» xmm5,XMMWORD PTR[32+rsp] | 2326 » pxor» xmm5,XMMWORD[32+rsp] |
2323 » movdqu» XMMWORD PTR[16+r13],xmm0 | 2327 » movdqu» XMMWORD[16+r13],xmm0 |
2324 » pxor» xmm3,XMMWORD PTR[48+rsp] | 2328 » pxor» xmm3,XMMWORD[48+rsp] |
2325 » movdqu» XMMWORD PTR[32+r13],xmm5 | 2329 » movdqu» XMMWORD[32+r13],xmm5 |
2326 » pxor» xmm1,XMMWORD PTR[64+rsp] | 2330 » pxor» xmm1,XMMWORD[64+rsp] |
2327 » movdqu» XMMWORD PTR[48+r13],xmm3 | 2331 » movdqu» XMMWORD[48+r13],xmm3 |
2328 » pxor» xmm6,XMMWORD PTR[80+rsp] | 2332 » pxor» xmm6,XMMWORD[80+rsp] |
2329 » movdqu» XMMWORD PTR[64+r13],xmm1 | 2333 » movdqu» XMMWORD[64+r13],xmm1 |
2330 » pxor» xmm2,XMMWORD PTR[96+rsp] | 2334 » pxor» xmm2,XMMWORD[96+rsp] |
2331 » movdqu» XMMWORD PTR[80+r13],xmm6 | 2335 » movdqu» XMMWORD[80+r13],xmm6 |
2332 » movdqu» XMMWORD PTR[96+r13],xmm2 | 2336 » movdqu» XMMWORD[96+r13],xmm2 |
2333 » lea» r13,QWORD PTR[112+r13] | 2337 » lea» r13,[112+r13] |
2334 | 2338 |
2335 » movdqa» xmm6,XMMWORD PTR[112+rsp] | 2339 » movdqa» xmm6,XMMWORD[112+rsp] |
2336 » jmp» $L$xts_dec_done | 2340 » jmp» NEAR $L$xts_dec_done |
2337 ALIGN» 16 | 2341 ALIGN» 16 |
2338 $L$xts_dec_6:: | 2342 $L$xts_dec_6: |
2339 pxor xmm3,xmm11 | 2343 pxor xmm3,xmm11 |
2340 » lea» r12,QWORD PTR[96+r12] | 2344 » lea» r12,[96+r12] |
2341 pxor xmm4,xmm12 | 2345 pxor xmm4,xmm12 |
2342 » lea» rax,QWORD PTR[128+rsp] | 2346 » lea» rax,[128+rsp] |
2343 » mov» r10d,edx | 2347 » mov» r10d,edx |
2344 | 2348 |
2345 » call» _bsaes_decrypt8 | 2349 » call» _bsaes_decrypt8 |
2346 | 2350 |
2347 » pxor» xmm15,XMMWORD PTR[rsp] | 2351 » pxor» xmm15,XMMWORD[rsp] |
2348 » pxor» xmm0,XMMWORD PTR[16+rsp] | 2352 » pxor» xmm0,XMMWORD[16+rsp] |
2349 » movdqu» XMMWORD PTR[r13],xmm15 | 2353 » movdqu» XMMWORD[r13],xmm15 |
2350 » pxor» xmm5,XMMWORD PTR[32+rsp] | 2354 » pxor» xmm5,XMMWORD[32+rsp] |
2351 » movdqu» XMMWORD PTR[16+r13],xmm0 | 2355 » movdqu» XMMWORD[16+r13],xmm0 |
2352 » pxor» xmm3,XMMWORD PTR[48+rsp] | 2356 » pxor» xmm3,XMMWORD[48+rsp] |
2353 » movdqu» XMMWORD PTR[32+r13],xmm5 | 2357 » movdqu» XMMWORD[32+r13],xmm5 |
2354 » pxor» xmm1,XMMWORD PTR[64+rsp] | 2358 » pxor» xmm1,XMMWORD[64+rsp] |
2355 » movdqu» XMMWORD PTR[48+r13],xmm3 | 2359 » movdqu» XMMWORD[48+r13],xmm3 |
2356 » pxor» xmm6,XMMWORD PTR[80+rsp] | 2360 » pxor» xmm6,XMMWORD[80+rsp] |
2357 » movdqu» XMMWORD PTR[64+r13],xmm1 | 2361 » movdqu» XMMWORD[64+r13],xmm1 |
2358 » movdqu» XMMWORD PTR[80+r13],xmm6 | 2362 » movdqu» XMMWORD[80+r13],xmm6 |
2359 » lea» r13,QWORD PTR[96+r13] | 2363 » lea» r13,[96+r13] |
2360 | 2364 |
2361 » movdqa» xmm6,XMMWORD PTR[96+rsp] | 2365 » movdqa» xmm6,XMMWORD[96+rsp] |
2362 » jmp» $L$xts_dec_done | 2366 » jmp» NEAR $L$xts_dec_done |
2363 ALIGN» 16 | 2367 ALIGN» 16 |
2364 $L$xts_dec_5:: | 2368 $L$xts_dec_5: |
2365 pxor xmm2,xmm10 | 2369 pxor xmm2,xmm10 |
2366 » lea» r12,QWORD PTR[80+r12] | 2370 » lea» r12,[80+r12] |
2367 pxor xmm3,xmm11 | 2371 pxor xmm3,xmm11 |
2368 » lea» rax,QWORD PTR[128+rsp] | 2372 » lea» rax,[128+rsp] |
2369 » mov» r10d,edx | 2373 » mov» r10d,edx |
2370 | 2374 |
2371 » call» _bsaes_decrypt8 | 2375 » call» _bsaes_decrypt8 |
2372 | 2376 |
2373 » pxor» xmm15,XMMWORD PTR[rsp] | 2377 » pxor» xmm15,XMMWORD[rsp] |
2374 » pxor» xmm0,XMMWORD PTR[16+rsp] | 2378 » pxor» xmm0,XMMWORD[16+rsp] |
2375 » movdqu» XMMWORD PTR[r13],xmm15 | 2379 » movdqu» XMMWORD[r13],xmm15 |
2376 » pxor» xmm5,XMMWORD PTR[32+rsp] | 2380 » pxor» xmm5,XMMWORD[32+rsp] |
2377 » movdqu» XMMWORD PTR[16+r13],xmm0 | 2381 » movdqu» XMMWORD[16+r13],xmm0 |
2378 » pxor» xmm3,XMMWORD PTR[48+rsp] | 2382 » pxor» xmm3,XMMWORD[48+rsp] |
2379 » movdqu» XMMWORD PTR[32+r13],xmm5 | 2383 » movdqu» XMMWORD[32+r13],xmm5 |
2380 » pxor» xmm1,XMMWORD PTR[64+rsp] | 2384 » pxor» xmm1,XMMWORD[64+rsp] |
2381 » movdqu» XMMWORD PTR[48+r13],xmm3 | 2385 » movdqu» XMMWORD[48+r13],xmm3 |
2382 » movdqu» XMMWORD PTR[64+r13],xmm1 | 2386 » movdqu» XMMWORD[64+r13],xmm1 |
2383 » lea» r13,QWORD PTR[80+r13] | 2387 » lea» r13,[80+r13] |
2384 | 2388 |
2385 » movdqa» xmm6,XMMWORD PTR[80+rsp] | 2389 » movdqa» xmm6,XMMWORD[80+rsp] |
2386 » jmp» $L$xts_dec_done | 2390 » jmp» NEAR $L$xts_dec_done |
2387 ALIGN» 16 | 2391 ALIGN» 16 |
2388 $L$xts_dec_4:: | 2392 $L$xts_dec_4: |
2389 pxor xmm1,xmm9 | 2393 pxor xmm1,xmm9 |
2390 » lea» r12,QWORD PTR[64+r12] | 2394 » lea» r12,[64+r12] |
2391 pxor xmm2,xmm10 | 2395 pxor xmm2,xmm10 |
2392 » lea» rax,QWORD PTR[128+rsp] | 2396 » lea» rax,[128+rsp] |
2393 » mov» r10d,edx | 2397 » mov» r10d,edx |
2394 | 2398 |
2395 » call» _bsaes_decrypt8 | 2399 » call» _bsaes_decrypt8 |
2396 | 2400 |
2397 » pxor» xmm15,XMMWORD PTR[rsp] | 2401 » pxor» xmm15,XMMWORD[rsp] |
2398 » pxor» xmm0,XMMWORD PTR[16+rsp] | 2402 » pxor» xmm0,XMMWORD[16+rsp] |
2399 » movdqu» XMMWORD PTR[r13],xmm15 | 2403 » movdqu» XMMWORD[r13],xmm15 |
2400 » pxor» xmm5,XMMWORD PTR[32+rsp] | 2404 » pxor» xmm5,XMMWORD[32+rsp] |
2401 » movdqu» XMMWORD PTR[16+r13],xmm0 | 2405 » movdqu» XMMWORD[16+r13],xmm0 |
2402 » pxor» xmm3,XMMWORD PTR[48+rsp] | 2406 » pxor» xmm3,XMMWORD[48+rsp] |
2403 » movdqu» XMMWORD PTR[32+r13],xmm5 | 2407 » movdqu» XMMWORD[32+r13],xmm5 |
2404 » movdqu» XMMWORD PTR[48+r13],xmm3 | 2408 » movdqu» XMMWORD[48+r13],xmm3 |
2405 » lea» r13,QWORD PTR[64+r13] | 2409 » lea» r13,[64+r13] |
2406 | 2410 |
2407 » movdqa» xmm6,XMMWORD PTR[64+rsp] | 2411 » movdqa» xmm6,XMMWORD[64+rsp] |
2408 » jmp» $L$xts_dec_done | 2412 » jmp» NEAR $L$xts_dec_done |
2409 ALIGN» 16 | 2413 ALIGN» 16 |
2410 $L$xts_dec_3:: | 2414 $L$xts_dec_3: |
2411 pxor xmm0,xmm8 | 2415 pxor xmm0,xmm8 |
2412 » lea» r12,QWORD PTR[48+r12] | 2416 » lea» r12,[48+r12] |
2413 pxor xmm1,xmm9 | 2417 pxor xmm1,xmm9 |
2414 » lea» rax,QWORD PTR[128+rsp] | 2418 » lea» rax,[128+rsp] |
2415 » mov» r10d,edx | 2419 » mov» r10d,edx |
2416 | 2420 |
2417 » call» _bsaes_decrypt8 | 2421 » call» _bsaes_decrypt8 |
2418 | 2422 |
2419 » pxor» xmm15,XMMWORD PTR[rsp] | 2423 » pxor» xmm15,XMMWORD[rsp] |
2420 » pxor» xmm0,XMMWORD PTR[16+rsp] | 2424 » pxor» xmm0,XMMWORD[16+rsp] |
2421 » movdqu» XMMWORD PTR[r13],xmm15 | 2425 » movdqu» XMMWORD[r13],xmm15 |
2422 » pxor» xmm5,XMMWORD PTR[32+rsp] | 2426 » pxor» xmm5,XMMWORD[32+rsp] |
2423 » movdqu» XMMWORD PTR[16+r13],xmm0 | 2427 » movdqu» XMMWORD[16+r13],xmm0 |
2424 » movdqu» XMMWORD PTR[32+r13],xmm5 | 2428 » movdqu» XMMWORD[32+r13],xmm5 |
2425 » lea» r13,QWORD PTR[48+r13] | 2429 » lea» r13,[48+r13] |
2426 | 2430 |
2427 » movdqa» xmm6,XMMWORD PTR[48+rsp] | 2431 » movdqa» xmm6,XMMWORD[48+rsp] |
2428 » jmp» $L$xts_dec_done | 2432 » jmp» NEAR $L$xts_dec_done |
2429 ALIGN» 16 | 2433 ALIGN» 16 |
2430 $L$xts_dec_2:: | 2434 $L$xts_dec_2: |
2431 pxor xmm15,xmm7 | 2435 pxor xmm15,xmm7 |
2432 » lea» r12,QWORD PTR[32+r12] | 2436 » lea» r12,[32+r12] |
2433 pxor xmm0,xmm8 | 2437 pxor xmm0,xmm8 |
2434 » lea» rax,QWORD PTR[128+rsp] | 2438 » lea» rax,[128+rsp] |
2435 » mov» r10d,edx | 2439 » mov» r10d,edx |
2436 | 2440 |
2437 » call» _bsaes_decrypt8 | 2441 » call» _bsaes_decrypt8 |
2438 | 2442 |
2439 » pxor» xmm15,XMMWORD PTR[rsp] | 2443 » pxor» xmm15,XMMWORD[rsp] |
2440 » pxor» xmm0,XMMWORD PTR[16+rsp] | 2444 » pxor» xmm0,XMMWORD[16+rsp] |
2441 » movdqu» XMMWORD PTR[r13],xmm15 | 2445 » movdqu» XMMWORD[r13],xmm15 |
2442 » movdqu» XMMWORD PTR[16+r13],xmm0 | 2446 » movdqu» XMMWORD[16+r13],xmm0 |
2443 » lea» r13,QWORD PTR[32+r13] | 2447 » lea» r13,[32+r13] |
2444 | 2448 |
2445 » movdqa» xmm6,XMMWORD PTR[32+rsp] | 2449 » movdqa» xmm6,XMMWORD[32+rsp] |
2446 » jmp» $L$xts_dec_done | 2450 » jmp» NEAR $L$xts_dec_done |
2447 ALIGN» 16 | 2451 ALIGN» 16 |
2448 $L$xts_dec_1:: | 2452 $L$xts_dec_1: |
2449 pxor xmm7,xmm15 | 2453 pxor xmm7,xmm15 |
2450 » lea» r12,QWORD PTR[16+r12] | 2454 » lea» r12,[16+r12] |
2451 » movdqa» XMMWORD PTR[32+rbp],xmm7 | 2455 » movdqa» XMMWORD[32+rbp],xmm7 |
2452 » lea» rcx,QWORD PTR[32+rbp] | 2456 » lea» rcx,[32+rbp] |
2453 » lea» rdx,QWORD PTR[32+rbp] | 2457 » lea» rdx,[32+rbp] |
2454 » lea» r8,QWORD PTR[r15] | 2458 » lea» r8,[r15] |
2455 call asm_AES_decrypt | 2459 call asm_AES_decrypt |
2456 » pxor» xmm15,XMMWORD PTR[32+rbp] | 2460 » pxor» xmm15,XMMWORD[32+rbp] |
2457 | 2461 |
2458 | 2462 |
2459 | 2463 |
2460 | 2464 |
2461 | 2465 |
2462 » movdqu» XMMWORD PTR[r13],xmm15 | 2466 » movdqu» XMMWORD[r13],xmm15 |
2463 » lea» r13,QWORD PTR[16+r13] | 2467 » lea» r13,[16+r13] |
2464 | 2468 |
2465 » movdqa» xmm6,XMMWORD PTR[16+rsp] | 2469 » movdqa» xmm6,XMMWORD[16+rsp] |
2466 | 2470 |
2467 $L$xts_dec_done:: | 2471 $L$xts_dec_done: |
2468 and ebx,15 | 2472 and ebx,15 |
2469 » jz» $L$xts_dec_ret | 2473 » jz» NEAR $L$xts_dec_ret |
2470 | 2474 |
2471 » pxor» xmm14,xmm14 | 2475 » pxor» xmm14,xmm14 |
2472 » movdqa» xmm12,XMMWORD PTR[$L$xts_magic] | 2476 » movdqa» xmm12,XMMWORD[$L$xts_magic] |
2473 » pcmpgtd»xmm14,xmm6 | 2477 » pcmpgtd»xmm14,xmm6 |
2474 » pshufd» xmm13,xmm14,013h | 2478 » pshufd» xmm13,xmm14,0x13 |
2475 movdqa xmm5,xmm6 | 2479 movdqa xmm5,xmm6 |
2476 paddq xmm6,xmm6 | 2480 paddq xmm6,xmm6 |
2477 pand xmm13,xmm12 | 2481 pand xmm13,xmm12 |
2478 » movdqu» xmm15,XMMWORD PTR[r12] | 2482 » movdqu» xmm15,XMMWORD[r12] |
2479 » pxor» xmm6,xmm13 | 2483 » pxor» xmm6,xmm13 |
2480 | 2484 |
2481 » lea» rcx,QWORD PTR[32+rbp] | 2485 » lea» rcx,[32+rbp] |
2482 pxor xmm15,xmm6 | 2486 pxor xmm15,xmm6 |
2483 » lea» rdx,QWORD PTR[32+rbp] | 2487 » lea» rdx,[32+rbp] |
2484 » movdqa» XMMWORD PTR[32+rbp],xmm15 | 2488 » movdqa» XMMWORD[32+rbp],xmm15 |
2485 » lea» r8,QWORD PTR[r15] | 2489 » lea» r8,[r15] |
2486 call asm_AES_decrypt | 2490 call asm_AES_decrypt |
2487 » pxor» xmm6,XMMWORD PTR[32+rbp] | 2491 » pxor» xmm6,XMMWORD[32+rbp] |
2488 mov rdx,r13 | 2492 mov rdx,r13 |
2489 » movdqu» XMMWORD PTR[r13],xmm6 | 2493 » movdqu» XMMWORD[r13],xmm6 |
2490 | 2494 |
2491 $L$xts_dec_steal:: | 2495 $L$xts_dec_steal: |
2492 » movzx» eax,BYTE PTR[16+r12] | 2496 » movzx» eax,BYTE[16+r12] |
2493 » movzx» ecx,BYTE PTR[rdx] | 2497 » movzx» ecx,BYTE[rdx] |
2494 » lea» r12,QWORD PTR[1+r12] | 2498 » lea» r12,[1+r12] |
2495 » mov» BYTE PTR[rdx],al | 2499 » mov» BYTE[rdx],al |
2496 » mov» BYTE PTR[16+rdx],cl | 2500 » mov» BYTE[16+rdx],cl |
2497 » lea» rdx,QWORD PTR[1+rdx] | 2501 » lea» rdx,[1+rdx] |
2498 sub ebx,1 | 2502 sub ebx,1 |
2499 » jnz» $L$xts_dec_steal | 2503 » jnz» NEAR $L$xts_dec_steal |
2500 | 2504 |
2501 » movdqu» xmm15,XMMWORD PTR[r13] | 2505 » movdqu» xmm15,XMMWORD[r13] |
2502 » lea» rcx,QWORD PTR[32+rbp] | 2506 » lea» rcx,[32+rbp] |
2503 pxor xmm15,xmm5 | 2507 pxor xmm15,xmm5 |
2504 » lea» rdx,QWORD PTR[32+rbp] | 2508 » lea» rdx,[32+rbp] |
2505 » movdqa» XMMWORD PTR[32+rbp],xmm15 | 2509 » movdqa» XMMWORD[32+rbp],xmm15 |
2506 » lea» r8,QWORD PTR[r15] | 2510 » lea» r8,[r15] |
2507 call asm_AES_decrypt | 2511 call asm_AES_decrypt |
2508 » pxor» xmm5,XMMWORD PTR[32+rbp] | 2512 » pxor» xmm5,XMMWORD[32+rbp] |
2509 » movdqu» XMMWORD PTR[r13],xmm5 | 2513 » movdqu» XMMWORD[r13],xmm5 |
2510 | 2514 |
2511 $L$xts_dec_ret:: | 2515 $L$xts_dec_ret: |
2512 » lea» rax,QWORD PTR[rsp] | 2516 » lea» rax,[rsp] |
2513 pxor xmm0,xmm0 | 2517 pxor xmm0,xmm0 |
2514 $L$xts_dec_bzero:: | 2518 $L$xts_dec_bzero: |
2515 » movdqa» XMMWORD PTR[rax],xmm0 | 2519 » movdqa» XMMWORD[rax],xmm0 |
2516 » movdqa» XMMWORD PTR[16+rax],xmm0 | 2520 » movdqa» XMMWORD[16+rax],xmm0 |
2517 » lea» rax,QWORD PTR[32+rax] | 2521 » lea» rax,[32+rax] |
2518 cmp rbp,rax | 2522 cmp rbp,rax |
2519 » ja» $L$xts_dec_bzero | 2523 » ja» NEAR $L$xts_dec_bzero |
2520 | 2524 |
2521 » lea» rsp,QWORD PTR[rbp] | 2525 » lea» rsp,[rbp] |
2522 » movaps» xmm6,XMMWORD PTR[64+rbp] | 2526 » movaps» xmm6,XMMWORD[64+rbp] |
2523 » movaps» xmm7,XMMWORD PTR[80+rbp] | 2527 » movaps» xmm7,XMMWORD[80+rbp] |
2524 » movaps» xmm8,XMMWORD PTR[96+rbp] | 2528 » movaps» xmm8,XMMWORD[96+rbp] |
2525 » movaps» xmm9,XMMWORD PTR[112+rbp] | 2529 » movaps» xmm9,XMMWORD[112+rbp] |
2526 » movaps» xmm10,XMMWORD PTR[128+rbp] | 2530 » movaps» xmm10,XMMWORD[128+rbp] |
2527 » movaps» xmm11,XMMWORD PTR[144+rbp] | 2531 » movaps» xmm11,XMMWORD[144+rbp] |
2528 » movaps» xmm12,XMMWORD PTR[160+rbp] | 2532 » movaps» xmm12,XMMWORD[160+rbp] |
2529 » movaps» xmm13,XMMWORD PTR[176+rbp] | 2533 » movaps» xmm13,XMMWORD[176+rbp] |
2530 » movaps» xmm14,XMMWORD PTR[192+rbp] | 2534 » movaps» xmm14,XMMWORD[192+rbp] |
2531 » movaps» xmm15,XMMWORD PTR[208+rbp] | 2535 » movaps» xmm15,XMMWORD[208+rbp] |
2532 » lea» rsp,QWORD PTR[160+rbp] | 2536 » lea» rsp,[160+rbp] |
2533 » mov» r15,QWORD PTR[72+rsp] | 2537 » mov» r15,QWORD[72+rsp] |
2534 » mov» r14,QWORD PTR[80+rsp] | 2538 » mov» r14,QWORD[80+rsp] |
2535 » mov» r13,QWORD PTR[88+rsp] | 2539 » mov» r13,QWORD[88+rsp] |
2536 » mov» r12,QWORD PTR[96+rsp] | 2540 » mov» r12,QWORD[96+rsp] |
2537 » mov» rbx,QWORD PTR[104+rsp] | 2541 » mov» rbx,QWORD[104+rsp] |
2538 » mov» rax,QWORD PTR[112+rsp] | 2542 » mov» rax,QWORD[112+rsp] |
2539 » lea» rsp,QWORD PTR[120+rsp] | 2543 » lea» rsp,[120+rsp] |
2540 mov rbp,rax | 2544 mov rbp,rax |
2541 $L$xts_dec_epilogue:: | 2545 $L$xts_dec_epilogue: |
2542 DB 0F3h,0C3h ;repret | 2546 DB 0F3h,0C3h ;repret |
2543 bsaes_xts_decrypt» ENDP | 2547 |
2544 | 2548 |
2545 ALIGN 64 | 2549 ALIGN 64 |
2546 _bsaes_const:: | 2550 _bsaes_const: |
2547 $L$M0ISR:: | 2551 $L$M0ISR: |
2548 » DQ» 00a0e0206070b0f03h,00004080c0d010509h | 2552 » DQ» 0x0a0e0206070b0f03,0x0004080c0d010509 |
2549 $L$ISRM0:: | 2553 $L$ISRM0: |
2550 » DQ» 001040b0e0205080fh,00306090c00070a0dh | 2554 » DQ» 0x01040b0e0205080f,0x0306090c00070a0d |
2551 $L$ISR:: | 2555 $L$ISR: |
2552 » DQ» 00504070602010003h,00f0e0d0c080b0a09h | 2556 » DQ» 0x0504070602010003,0x0f0e0d0c080b0a09 |
2553 $L$BS0:: | 2557 $L$BS0: |
2554 » DQ» 05555555555555555h,05555555555555555h | 2558 » DQ» 0x5555555555555555,0x5555555555555555 |
2555 $L$BS1:: | 2559 $L$BS1: |
2556 » DQ» 03333333333333333h,03333333333333333h | 2560 » DQ» 0x3333333333333333,0x3333333333333333 |
2557 $L$BS2:: | 2561 $L$BS2: |
2558 » DQ» 00f0f0f0f0f0f0f0fh,00f0f0f0f0f0f0f0fh | 2562 » DQ» 0x0f0f0f0f0f0f0f0f,0x0f0f0f0f0f0f0f0f |
2559 $L$SR:: | 2563 $L$SR: |
2560 » DQ» 00504070600030201h,00f0e0d0c0a09080bh | 2564 » DQ» 0x0504070600030201,0x0f0e0d0c0a09080b |
2561 $L$SRM0:: | 2565 $L$SRM0: |
2562 » DQ» 00304090e00050a0fh,001060b0c0207080dh | 2566 » DQ» 0x0304090e00050a0f,0x01060b0c0207080d |
2563 $L$M0SR:: | 2567 $L$M0SR: |
2564 » DQ» 00a0e02060f03070bh,00004080c05090d01h | 2568 » DQ» 0x0a0e02060f03070b,0x0004080c05090d01 |
2565 $L$SWPUP:: | 2569 $L$SWPUP: |
2566 » DQ» 00706050403020100h,00c0d0e0f0b0a0908h | 2570 » DQ» 0x0706050403020100,0x0c0d0e0f0b0a0908 |
2567 $L$SWPUPM0SR:: | 2571 $L$SWPUPM0SR: |
2568 » DQ» 00a0d02060c03070bh,00004080f05090e01h | 2572 » DQ» 0x0a0d02060c03070b,0x0004080f05090e01 |
2569 $L$ADD1:: | 2573 $L$ADD1: |
2570 » DQ» 00000000000000000h,00000000100000000h | 2574 » DQ» 0x0000000000000000,0x0000000100000000 |
2571 $L$ADD2:: | 2575 $L$ADD2: |
2572 » DQ» 00000000000000000h,00000000200000000h | 2576 » DQ» 0x0000000000000000,0x0000000200000000 |
2573 $L$ADD3:: | 2577 $L$ADD3: |
2574 » DQ» 00000000000000000h,00000000300000000h | 2578 » DQ» 0x0000000000000000,0x0000000300000000 |
2575 $L$ADD4:: | 2579 $L$ADD4: |
2576 » DQ» 00000000000000000h,00000000400000000h | 2580 » DQ» 0x0000000000000000,0x0000000400000000 |
2577 $L$ADD5:: | 2581 $L$ADD5: |
2578 » DQ» 00000000000000000h,00000000500000000h | 2582 » DQ» 0x0000000000000000,0x0000000500000000 |
2579 $L$ADD6:: | 2583 $L$ADD6: |
2580 » DQ» 00000000000000000h,00000000600000000h | 2584 » DQ» 0x0000000000000000,0x0000000600000000 |
2581 $L$ADD7:: | 2585 $L$ADD7: |
2582 » DQ» 00000000000000000h,00000000700000000h | 2586 » DQ» 0x0000000000000000,0x0000000700000000 |
2583 $L$ADD8:: | 2587 $L$ADD8: |
2584 » DQ» 00000000000000000h,00000000800000000h | 2588 » DQ» 0x0000000000000000,0x0000000800000000 |
2585 $L$xts_magic:: | 2589 $L$xts_magic: |
2586 » DD» 087h,0,1,0 | 2590 » DD» 0x87,0,1,0 |
2587 $L$masks:: | 2591 $L$masks: |
2588 » DQ» 00101010101010101h,00101010101010101h | 2592 » DQ» 0x0101010101010101,0x0101010101010101 |
2589 » DQ» 00202020202020202h,00202020202020202h | 2593 » DQ» 0x0202020202020202,0x0202020202020202 |
2590 » DQ» 00404040404040404h,00404040404040404h | 2594 » DQ» 0x0404040404040404,0x0404040404040404 |
2591 » DQ» 00808080808080808h,00808080808080808h | 2595 » DQ» 0x0808080808080808,0x0808080808080808 |
2592 $L$M0:: | 2596 $L$M0: |
2593 » DQ» 002060a0e03070b0fh,00004080c0105090dh | 2597 » DQ» 0x02060a0e03070b0f,0x0004080c0105090d |
2594 $L$63:: | 2598 $L$63: |
2595 » DQ» 06363636363636363h,06363636363636363h | 2599 » DQ» 0x6363636363636363,0x6363636363636363 |
2596 DB 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102 | 2600 DB 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102 |
2597 DB 111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44 | 2601 DB 111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44 |
2598 DB 32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44 | 2602 DB 32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44 |
2599 DB 32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32 | 2603 DB 32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32 |
2600 DB 65,110,100,121,32,80,111,108,121,97,107,111,118,0 | 2604 DB 65,110,100,121,32,80,111,108,121,97,107,111,118,0 |
2601 ALIGN 64 | 2605 ALIGN 64 |
2602 | 2606 |
2603 EXTERN» __imp_RtlVirtualUnwind:NEAR | 2607 EXTERN» __imp_RtlVirtualUnwind |
2604 | 2608 |
2605 ALIGN 16 | 2609 ALIGN 16 |
2606 se_handler» PROC PRIVATE | 2610 se_handler: |
2607 push rsi | 2611 push rsi |
2608 push rdi | 2612 push rdi |
2609 push rbx | 2613 push rbx |
2610 push rbp | 2614 push rbp |
2611 push r12 | 2615 push r12 |
2612 push r13 | 2616 push r13 |
2613 push r14 | 2617 push r14 |
2614 push r15 | 2618 push r15 |
2615 pushfq | 2619 pushfq |
2616 sub rsp,64 | 2620 sub rsp,64 |
2617 | 2621 |
2618 » mov» rax,QWORD PTR[120+r8] | 2622 » mov» rax,QWORD[120+r8] |
2619 » mov» rbx,QWORD PTR[248+r8] | 2623 » mov» rbx,QWORD[248+r8] |
2620 | 2624 |
2621 » mov» rsi,QWORD PTR[8+r9] | 2625 » mov» rsi,QWORD[8+r9] |
2622 » mov» r11,QWORD PTR[56+r9] | 2626 » mov» r11,QWORD[56+r9] |
2623 | 2627 |
2624 » mov» r10d,DWORD PTR[r11] | 2628 » mov» r10d,DWORD[r11] |
2625 » lea» r10,QWORD PTR[r10*1+rsi] | 2629 » lea» r10,[r10*1+rsi] |
2626 cmp rbx,r10 | 2630 cmp rbx,r10 |
2627 » jb» $L$in_prologue | 2631 » jb» NEAR $L$in_prologue |
2628 | 2632 |
2629 » mov» rax,QWORD PTR[152+r8] | 2633 » mov» rax,QWORD[152+r8] |
2630 | 2634 |
2631 » mov» r10d,DWORD PTR[4+r11] | 2635 » mov» r10d,DWORD[4+r11] |
2632 » lea» r10,QWORD PTR[r10*1+rsi] | 2636 » lea» r10,[r10*1+rsi] |
2633 cmp rbx,r10 | 2637 cmp rbx,r10 |
2634 » jae» $L$in_prologue | 2638 » jae» NEAR $L$in_prologue |
2635 | 2639 |
2636 » mov» rax,QWORD PTR[160+r8] | 2640 » mov» rax,QWORD[160+r8] |
2637 | 2641 |
2638 » lea» rsi,QWORD PTR[64+rax] | 2642 » lea» rsi,[64+rax] |
2639 » lea» rdi,QWORD PTR[512+r8] | 2643 » lea» rdi,[512+r8] |
2640 mov ecx,20 | 2644 mov ecx,20 |
2641 » DD» 0a548f3fch | 2645 » DD» 0xa548f3fc |
2642 » lea» rax,QWORD PTR[160+rax] | 2646 » lea» rax,[160+rax] |
2643 | 2647 |
2644 » mov» rbp,QWORD PTR[112+rax] | 2648 » mov» rbp,QWORD[112+rax] |
2645 » mov» rbx,QWORD PTR[104+rax] | 2649 » mov» rbx,QWORD[104+rax] |
2646 » mov» r12,QWORD PTR[96+rax] | 2650 » mov» r12,QWORD[96+rax] |
2647 » mov» r13,QWORD PTR[88+rax] | 2651 » mov» r13,QWORD[88+rax] |
2648 » mov» r14,QWORD PTR[80+rax] | 2652 » mov» r14,QWORD[80+rax] |
2649 » mov» r15,QWORD PTR[72+rax] | 2653 » mov» r15,QWORD[72+rax] |
2650 » lea» rax,QWORD PTR[120+rax] | 2654 » lea» rax,[120+rax] |
2651 » mov» QWORD PTR[144+r8],rbx | 2655 » mov» QWORD[144+r8],rbx |
2652 » mov» QWORD PTR[160+r8],rbp | 2656 » mov» QWORD[160+r8],rbp |
2653 » mov» QWORD PTR[216+r8],r12 | 2657 » mov» QWORD[216+r8],r12 |
2654 » mov» QWORD PTR[224+r8],r13 | 2658 » mov» QWORD[224+r8],r13 |
2655 » mov» QWORD PTR[232+r8],r14 | 2659 » mov» QWORD[232+r8],r14 |
2656 » mov» QWORD PTR[240+r8],r15 | 2660 » mov» QWORD[240+r8],r15 |
2657 | 2661 |
2658 $L$in_prologue:: | 2662 $L$in_prologue: |
2659 » mov» QWORD PTR[152+r8],rax | 2663 » mov» QWORD[152+r8],rax |
2660 | 2664 |
2661 » mov» rdi,QWORD PTR[40+r9] | 2665 » mov» rdi,QWORD[40+r9] |
2662 mov rsi,r8 | 2666 mov rsi,r8 |
2663 mov ecx,154 | 2667 mov ecx,154 |
2664 » DD» 0a548f3fch | 2668 » DD» 0xa548f3fc |
2665 | 2669 |
2666 mov rsi,r9 | 2670 mov rsi,r9 |
2667 xor rcx,rcx | 2671 xor rcx,rcx |
2668 » mov» rdx,QWORD PTR[8+rsi] | 2672 » mov» rdx,QWORD[8+rsi] |
2669 » mov» r8,QWORD PTR[rsi] | 2673 » mov» r8,QWORD[rsi] |
2670 » mov» r9,QWORD PTR[16+rsi] | 2674 » mov» r9,QWORD[16+rsi] |
2671 » mov» r10,QWORD PTR[40+rsi] | 2675 » mov» r10,QWORD[40+rsi] |
2672 » lea» r11,QWORD PTR[56+rsi] | 2676 » lea» r11,[56+rsi] |
2673 » lea» r12,QWORD PTR[24+rsi] | 2677 » lea» r12,[24+rsi] |
2674 » mov» QWORD PTR[32+rsp],r10 | 2678 » mov» QWORD[32+rsp],r10 |
2675 » mov» QWORD PTR[40+rsp],r11 | 2679 » mov» QWORD[40+rsp],r11 |
2676 » mov» QWORD PTR[48+rsp],r12 | 2680 » mov» QWORD[48+rsp],r12 |
2677 » mov» QWORD PTR[56+rsp],rcx | 2681 » mov» QWORD[56+rsp],rcx |
2678 » call» QWORD PTR[__imp_RtlVirtualUnwind] | 2682 » call» QWORD[__imp_RtlVirtualUnwind] |
2679 | 2683 |
2680 mov eax,1 | 2684 mov eax,1 |
2681 add rsp,64 | 2685 add rsp,64 |
2682 popfq | 2686 popfq |
2683 pop r15 | 2687 pop r15 |
2684 pop r14 | 2688 pop r14 |
2685 pop r13 | 2689 pop r13 |
2686 pop r12 | 2690 pop r12 |
2687 pop rbp | 2691 pop rbp |
2688 pop rbx | 2692 pop rbx |
2689 pop rdi | 2693 pop rdi |
2690 pop rsi | 2694 pop rsi |
2691 DB 0F3h,0C3h ;repret | 2695 DB 0F3h,0C3h ;repret |
2692 se_handler ENDP | |
2693 | 2696 |
2694 .text$» ENDS | 2697 |
2695 .pdata» SEGMENT READONLY ALIGN(4) | 2698 section».pdata rdata align=4 |
2696 ALIGN 4 | 2699 ALIGN 4 |
2697 » DD» imagerel $L$cbc_dec_prologue | 2700 » DD» $L$cbc_dec_prologue wrt ..imagebase |
2698 » DD» imagerel $L$cbc_dec_epilogue | 2701 » DD» $L$cbc_dec_epilogue wrt ..imagebase |
2699 » DD» imagerel $L$cbc_dec_info | 2702 » DD» $L$cbc_dec_info wrt ..imagebase |
2700 | 2703 |
2701 » DD» imagerel $L$ctr_enc_prologue | 2704 » DD» $L$ctr_enc_prologue wrt ..imagebase |
2702 » DD» imagerel $L$ctr_enc_epilogue | 2705 » DD» $L$ctr_enc_epilogue wrt ..imagebase |
2703 » DD» imagerel $L$ctr_enc_info | 2706 » DD» $L$ctr_enc_info wrt ..imagebase |
2704 | 2707 |
2705 » DD» imagerel $L$xts_enc_prologue | 2708 » DD» $L$xts_enc_prologue wrt ..imagebase |
2706 » DD» imagerel $L$xts_enc_epilogue | 2709 » DD» $L$xts_enc_epilogue wrt ..imagebase |
2707 » DD» imagerel $L$xts_enc_info | 2710 » DD» $L$xts_enc_info wrt ..imagebase |
2708 | 2711 |
2709 » DD» imagerel $L$xts_dec_prologue | 2712 » DD» $L$xts_dec_prologue wrt ..imagebase |
2710 » DD» imagerel $L$xts_dec_epilogue | 2713 » DD» $L$xts_dec_epilogue wrt ..imagebase |
2711 » DD» imagerel $L$xts_dec_info | 2714 » DD» $L$xts_dec_info wrt ..imagebase |
2712 | 2715 |
2713 .pdata» ENDS | 2716 section».xdata rdata align=8 |
2714 .xdata» SEGMENT READONLY ALIGN(8) | |
2715 ALIGN 8 | 2717 ALIGN 8 |
2716 $L$cbc_dec_info:: | 2718 $L$cbc_dec_info: |
2717 DB 9,0,0,0 | 2719 DB 9,0,0,0 |
2718 » DD» imagerel se_handler | 2720 » DD» se_handler wrt ..imagebase |
2719 » DD» imagerel $L$cbc_dec_body,imagerel $L$cbc_dec_epilogue | 2721 » DD» $L$cbc_dec_body wrt ..imagebase,$L$cbc_dec_epilogue wrt ..imageb
ase |
2720 $L$ctr_enc_info:: | 2722 $L$ctr_enc_info: |
2721 DB 9,0,0,0 | 2723 DB 9,0,0,0 |
2722 » DD» imagerel se_handler | 2724 » DD» se_handler wrt ..imagebase |
2723 » DD» imagerel $L$ctr_enc_body,imagerel $L$ctr_enc_epilogue | 2725 » DD» $L$ctr_enc_body wrt ..imagebase,$L$ctr_enc_epilogue wrt ..imageb
ase |
2724 $L$xts_enc_info:: | 2726 $L$xts_enc_info: |
2725 DB 9,0,0,0 | 2727 DB 9,0,0,0 |
2726 » DD» imagerel se_handler | 2728 » DD» se_handler wrt ..imagebase |
2727 » DD» imagerel $L$xts_enc_body,imagerel $L$xts_enc_epilogue | 2729 » DD» $L$xts_enc_body wrt ..imagebase,$L$xts_enc_epilogue wrt ..imageb
ase |
2728 $L$xts_dec_info:: | 2730 $L$xts_dec_info: |
2729 DB 9,0,0,0 | 2731 DB 9,0,0,0 |
2730 » DD» imagerel se_handler | 2732 » DD» se_handler wrt ..imagebase |
2731 » DD» imagerel $L$xts_dec_body,imagerel $L$xts_dec_epilogue | 2733 » DD» $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..imageb
ase |
2732 | |
2733 .xdata» ENDS | |
2734 END | |
OLD | NEW |