VirtualBox

source: vbox/trunk/src/libs/openssl-1.1.0g/crypto/genasm-nasm/aesni-mb-x86_64.S@ 69881

Last change on this file since 69881 was 69881, checked in by vboxsync, 7 years ago

Update OpenSSL to 1.1.0g.
bugref:8070: src/libs maintenance

  • Property svn:eol-style set to native
File size: 35.8 KB
Line 
1default rel
2%define XMMWORD
3%define YMMWORD
4%define ZMMWORD
5section .text code align=64
6
7
8EXTERN OPENSSL_ia32cap_P
9
10global aesni_multi_cbc_encrypt
11
12ALIGN 32
13aesni_multi_cbc_encrypt:
14 mov QWORD[8+rsp],rdi ;WIN64 prologue
15 mov QWORD[16+rsp],rsi
16 mov rax,rsp
17$L$SEH_begin_aesni_multi_cbc_encrypt:
18 mov rdi,rcx
19 mov rsi,rdx
20 mov rdx,r8
21
22
23 cmp edx,2
24 jb NEAR $L$enc_non_avx
25 mov ecx,DWORD[((OPENSSL_ia32cap_P+4))]
26 test ecx,268435456
27 jnz NEAR _avx_cbc_enc_shortcut
28 jmp NEAR $L$enc_non_avx
29ALIGN 16
30$L$enc_non_avx:
31 mov rax,rsp
32 push rbx
33 push rbp
34 push r12
35 push r13
36 push r14
37 push r15
38 lea rsp,[((-168))+rsp]
39 movaps XMMWORD[rsp],xmm6
40 movaps XMMWORD[16+rsp],xmm7
41 movaps XMMWORD[32+rsp],xmm8
42 movaps XMMWORD[48+rsp],xmm9
43 movaps XMMWORD[64+rsp],xmm10
44 movaps XMMWORD[80+rsp],xmm11
45 movaps XMMWORD[96+rsp],xmm12
46 movaps XMMWORD[(-104)+rax],xmm13
47 movaps XMMWORD[(-88)+rax],xmm14
48 movaps XMMWORD[(-72)+rax],xmm15
49
50
51
52
53
54
55 sub rsp,48
56 and rsp,-64
57 mov QWORD[16+rsp],rax
58
59$L$enc4x_body:
60 movdqu xmm12,XMMWORD[rsi]
61 lea rsi,[120+rsi]
62 lea rdi,[80+rdi]
63
64$L$enc4x_loop_grande:
65 mov DWORD[24+rsp],edx
66 xor edx,edx
67 mov ecx,DWORD[((-64))+rdi]
68 mov r8,QWORD[((-80))+rdi]
69 cmp ecx,edx
70 mov r12,QWORD[((-72))+rdi]
71 cmovg edx,ecx
72 test ecx,ecx
73 movdqu xmm2,XMMWORD[((-56))+rdi]
74 mov DWORD[32+rsp],ecx
75 cmovle r8,rsp
76 mov ecx,DWORD[((-24))+rdi]
77 mov r9,QWORD[((-40))+rdi]
78 cmp ecx,edx
79 mov r13,QWORD[((-32))+rdi]
80 cmovg edx,ecx
81 test ecx,ecx
82 movdqu xmm3,XMMWORD[((-16))+rdi]
83 mov DWORD[36+rsp],ecx
84 cmovle r9,rsp
85 mov ecx,DWORD[16+rdi]
86 mov r10,QWORD[rdi]
87 cmp ecx,edx
88 mov r14,QWORD[8+rdi]
89 cmovg edx,ecx
90 test ecx,ecx
91 movdqu xmm4,XMMWORD[24+rdi]
92 mov DWORD[40+rsp],ecx
93 cmovle r10,rsp
94 mov ecx,DWORD[56+rdi]
95 mov r11,QWORD[40+rdi]
96 cmp ecx,edx
97 mov r15,QWORD[48+rdi]
98 cmovg edx,ecx
99 test ecx,ecx
100 movdqu xmm5,XMMWORD[64+rdi]
101 mov DWORD[44+rsp],ecx
102 cmovle r11,rsp
103 test edx,edx
104 jz NEAR $L$enc4x_done
105
106 movups xmm1,XMMWORD[((16-120))+rsi]
107 pxor xmm2,xmm12
108 movups xmm0,XMMWORD[((32-120))+rsi]
109 pxor xmm3,xmm12
110 mov eax,DWORD[((240-120))+rsi]
111 pxor xmm4,xmm12
112 movdqu xmm6,XMMWORD[r8]
113 pxor xmm5,xmm12
114 movdqu xmm7,XMMWORD[r9]
115 pxor xmm2,xmm6
116 movdqu xmm8,XMMWORD[r10]
117 pxor xmm3,xmm7
118 movdqu xmm9,XMMWORD[r11]
119 pxor xmm4,xmm8
120 pxor xmm5,xmm9
121 movdqa xmm10,XMMWORD[32+rsp]
122 xor rbx,rbx
123 jmp NEAR $L$oop_enc4x
124
125ALIGN 32
126$L$oop_enc4x:
127 add rbx,16
128 lea rbp,[16+rsp]
129 mov ecx,1
130 sub rbp,rbx
131
132DB 102,15,56,220,209
133 prefetcht0 [31+rbx*1+r8]
134 prefetcht0 [31+rbx*1+r9]
135DB 102,15,56,220,217
136 prefetcht0 [31+rbx*1+r10]
137 prefetcht0 [31+rbx*1+r10]
138DB 102,15,56,220,225
139DB 102,15,56,220,233
140 movups xmm1,XMMWORD[((48-120))+rsi]
141 cmp ecx,DWORD[32+rsp]
142DB 102,15,56,220,208
143DB 102,15,56,220,216
144DB 102,15,56,220,224
145 cmovge r8,rbp
146 cmovg r12,rbp
147DB 102,15,56,220,232
148 movups xmm0,XMMWORD[((-56))+rsi]
149 cmp ecx,DWORD[36+rsp]
150DB 102,15,56,220,209
151DB 102,15,56,220,217
152DB 102,15,56,220,225
153 cmovge r9,rbp
154 cmovg r13,rbp
155DB 102,15,56,220,233
156 movups xmm1,XMMWORD[((-40))+rsi]
157 cmp ecx,DWORD[40+rsp]
158DB 102,15,56,220,208
159DB 102,15,56,220,216
160DB 102,15,56,220,224
161 cmovge r10,rbp
162 cmovg r14,rbp
163DB 102,15,56,220,232
164 movups xmm0,XMMWORD[((-24))+rsi]
165 cmp ecx,DWORD[44+rsp]
166DB 102,15,56,220,209
167DB 102,15,56,220,217
168DB 102,15,56,220,225
169 cmovge r11,rbp
170 cmovg r15,rbp
171DB 102,15,56,220,233
172 movups xmm1,XMMWORD[((-8))+rsi]
173 movdqa xmm11,xmm10
174DB 102,15,56,220,208
175 prefetcht0 [15+rbx*1+r12]
176 prefetcht0 [15+rbx*1+r13]
177DB 102,15,56,220,216
178 prefetcht0 [15+rbx*1+r14]
179 prefetcht0 [15+rbx*1+r15]
180DB 102,15,56,220,224
181DB 102,15,56,220,232
182 movups xmm0,XMMWORD[((128-120))+rsi]
183 pxor xmm12,xmm12
184
185DB 102,15,56,220,209
186 pcmpgtd xmm11,xmm12
187 movdqu xmm12,XMMWORD[((-120))+rsi]
188DB 102,15,56,220,217
189 paddd xmm10,xmm11
190 movdqa XMMWORD[32+rsp],xmm10
191DB 102,15,56,220,225
192DB 102,15,56,220,233
193 movups xmm1,XMMWORD[((144-120))+rsi]
194
195 cmp eax,11
196
197DB 102,15,56,220,208
198DB 102,15,56,220,216
199DB 102,15,56,220,224
200DB 102,15,56,220,232
201 movups xmm0,XMMWORD[((160-120))+rsi]
202
203 jb NEAR $L$enc4x_tail
204
205DB 102,15,56,220,209
206DB 102,15,56,220,217
207DB 102,15,56,220,225
208DB 102,15,56,220,233
209 movups xmm1,XMMWORD[((176-120))+rsi]
210
211DB 102,15,56,220,208
212DB 102,15,56,220,216
213DB 102,15,56,220,224
214DB 102,15,56,220,232
215 movups xmm0,XMMWORD[((192-120))+rsi]
216
217 je NEAR $L$enc4x_tail
218
219DB 102,15,56,220,209
220DB 102,15,56,220,217
221DB 102,15,56,220,225
222DB 102,15,56,220,233
223 movups xmm1,XMMWORD[((208-120))+rsi]
224
225DB 102,15,56,220,208
226DB 102,15,56,220,216
227DB 102,15,56,220,224
228DB 102,15,56,220,232
229 movups xmm0,XMMWORD[((224-120))+rsi]
230 jmp NEAR $L$enc4x_tail
231
232ALIGN 32
233$L$enc4x_tail:
234DB 102,15,56,220,209
235DB 102,15,56,220,217
236DB 102,15,56,220,225
237DB 102,15,56,220,233
238 movdqu xmm6,XMMWORD[rbx*1+r8]
239 movdqu xmm1,XMMWORD[((16-120))+rsi]
240
241DB 102,15,56,221,208
242 movdqu xmm7,XMMWORD[rbx*1+r9]
243 pxor xmm6,xmm12
244DB 102,15,56,221,216
245 movdqu xmm8,XMMWORD[rbx*1+r10]
246 pxor xmm7,xmm12
247DB 102,15,56,221,224
248 movdqu xmm9,XMMWORD[rbx*1+r11]
249 pxor xmm8,xmm12
250DB 102,15,56,221,232
251 movdqu xmm0,XMMWORD[((32-120))+rsi]
252 pxor xmm9,xmm12
253
254 movups XMMWORD[(-16)+rbx*1+r12],xmm2
255 pxor xmm2,xmm6
256 movups XMMWORD[(-16)+rbx*1+r13],xmm3
257 pxor xmm3,xmm7
258 movups XMMWORD[(-16)+rbx*1+r14],xmm4
259 pxor xmm4,xmm8
260 movups XMMWORD[(-16)+rbx*1+r15],xmm5
261 pxor xmm5,xmm9
262
263 dec edx
264 jnz NEAR $L$oop_enc4x
265
266 mov rax,QWORD[16+rsp]
267 mov edx,DWORD[24+rsp]
268
269
270
271
272
273
274
275
276
277
278 lea rdi,[160+rdi]
279 dec edx
280 jnz NEAR $L$enc4x_loop_grande
281
282$L$enc4x_done:
283 movaps xmm6,XMMWORD[((-216))+rax]
284 movaps xmm7,XMMWORD[((-200))+rax]
285 movaps xmm8,XMMWORD[((-184))+rax]
286 movaps xmm9,XMMWORD[((-168))+rax]
287 movaps xmm10,XMMWORD[((-152))+rax]
288 movaps xmm11,XMMWORD[((-136))+rax]
289 movaps xmm12,XMMWORD[((-120))+rax]
290
291
292
293 mov r15,QWORD[((-48))+rax]
294 mov r14,QWORD[((-40))+rax]
295 mov r13,QWORD[((-32))+rax]
296 mov r12,QWORD[((-24))+rax]
297 mov rbp,QWORD[((-16))+rax]
298 mov rbx,QWORD[((-8))+rax]
299 lea rsp,[rax]
300$L$enc4x_epilogue:
301 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
302 mov rsi,QWORD[16+rsp]
303 DB 0F3h,0C3h ;repret
304$L$SEH_end_aesni_multi_cbc_encrypt:
305
306global aesni_multi_cbc_decrypt
307
308ALIGN 32
309aesni_multi_cbc_decrypt:
310 mov QWORD[8+rsp],rdi ;WIN64 prologue
311 mov QWORD[16+rsp],rsi
312 mov rax,rsp
313$L$SEH_begin_aesni_multi_cbc_decrypt:
314 mov rdi,rcx
315 mov rsi,rdx
316 mov rdx,r8
317
318
319 cmp edx,2
320 jb NEAR $L$dec_non_avx
321 mov ecx,DWORD[((OPENSSL_ia32cap_P+4))]
322 test ecx,268435456
323 jnz NEAR _avx_cbc_dec_shortcut
324 jmp NEAR $L$dec_non_avx
325ALIGN 16
326$L$dec_non_avx:
327 mov rax,rsp
328 push rbx
329 push rbp
330 push r12
331 push r13
332 push r14
333 push r15
334 lea rsp,[((-168))+rsp]
335 movaps XMMWORD[rsp],xmm6
336 movaps XMMWORD[16+rsp],xmm7
337 movaps XMMWORD[32+rsp],xmm8
338 movaps XMMWORD[48+rsp],xmm9
339 movaps XMMWORD[64+rsp],xmm10
340 movaps XMMWORD[80+rsp],xmm11
341 movaps XMMWORD[96+rsp],xmm12
342 movaps XMMWORD[(-104)+rax],xmm13
343 movaps XMMWORD[(-88)+rax],xmm14
344 movaps XMMWORD[(-72)+rax],xmm15
345
346
347
348
349
350
351 sub rsp,48
352 and rsp,-64
353 mov QWORD[16+rsp],rax
354
355$L$dec4x_body:
356 movdqu xmm12,XMMWORD[rsi]
357 lea rsi,[120+rsi]
358 lea rdi,[80+rdi]
359
360$L$dec4x_loop_grande:
361 mov DWORD[24+rsp],edx
362 xor edx,edx
363 mov ecx,DWORD[((-64))+rdi]
364 mov r8,QWORD[((-80))+rdi]
365 cmp ecx,edx
366 mov r12,QWORD[((-72))+rdi]
367 cmovg edx,ecx
368 test ecx,ecx
369 movdqu xmm6,XMMWORD[((-56))+rdi]
370 mov DWORD[32+rsp],ecx
371 cmovle r8,rsp
372 mov ecx,DWORD[((-24))+rdi]
373 mov r9,QWORD[((-40))+rdi]
374 cmp ecx,edx
375 mov r13,QWORD[((-32))+rdi]
376 cmovg edx,ecx
377 test ecx,ecx
378 movdqu xmm7,XMMWORD[((-16))+rdi]
379 mov DWORD[36+rsp],ecx
380 cmovle r9,rsp
381 mov ecx,DWORD[16+rdi]
382 mov r10,QWORD[rdi]
383 cmp ecx,edx
384 mov r14,QWORD[8+rdi]
385 cmovg edx,ecx
386 test ecx,ecx
387 movdqu xmm8,XMMWORD[24+rdi]
388 mov DWORD[40+rsp],ecx
389 cmovle r10,rsp
390 mov ecx,DWORD[56+rdi]
391 mov r11,QWORD[40+rdi]
392 cmp ecx,edx
393 mov r15,QWORD[48+rdi]
394 cmovg edx,ecx
395 test ecx,ecx
396 movdqu xmm9,XMMWORD[64+rdi]
397 mov DWORD[44+rsp],ecx
398 cmovle r11,rsp
399 test edx,edx
400 jz NEAR $L$dec4x_done
401
402 movups xmm1,XMMWORD[((16-120))+rsi]
403 movups xmm0,XMMWORD[((32-120))+rsi]
404 mov eax,DWORD[((240-120))+rsi]
405 movdqu xmm2,XMMWORD[r8]
406 movdqu xmm3,XMMWORD[r9]
407 pxor xmm2,xmm12
408 movdqu xmm4,XMMWORD[r10]
409 pxor xmm3,xmm12
410 movdqu xmm5,XMMWORD[r11]
411 pxor xmm4,xmm12
412 pxor xmm5,xmm12
413 movdqa xmm10,XMMWORD[32+rsp]
414 xor rbx,rbx
415 jmp NEAR $L$oop_dec4x
416
417ALIGN 32
418$L$oop_dec4x:
419 add rbx,16
420 lea rbp,[16+rsp]
421 mov ecx,1
422 sub rbp,rbx
423
424DB 102,15,56,222,209
425 prefetcht0 [31+rbx*1+r8]
426 prefetcht0 [31+rbx*1+r9]
427DB 102,15,56,222,217
428 prefetcht0 [31+rbx*1+r10]
429 prefetcht0 [31+rbx*1+r11]
430DB 102,15,56,222,225
431DB 102,15,56,222,233
432 movups xmm1,XMMWORD[((48-120))+rsi]
433 cmp ecx,DWORD[32+rsp]
434DB 102,15,56,222,208
435DB 102,15,56,222,216
436DB 102,15,56,222,224
437 cmovge r8,rbp
438 cmovg r12,rbp
439DB 102,15,56,222,232
440 movups xmm0,XMMWORD[((-56))+rsi]
441 cmp ecx,DWORD[36+rsp]
442DB 102,15,56,222,209
443DB 102,15,56,222,217
444DB 102,15,56,222,225
445 cmovge r9,rbp
446 cmovg r13,rbp
447DB 102,15,56,222,233
448 movups xmm1,XMMWORD[((-40))+rsi]
449 cmp ecx,DWORD[40+rsp]
450DB 102,15,56,222,208
451DB 102,15,56,222,216
452DB 102,15,56,222,224
453 cmovge r10,rbp
454 cmovg r14,rbp
455DB 102,15,56,222,232
456 movups xmm0,XMMWORD[((-24))+rsi]
457 cmp ecx,DWORD[44+rsp]
458DB 102,15,56,222,209
459DB 102,15,56,222,217
460DB 102,15,56,222,225
461 cmovge r11,rbp
462 cmovg r15,rbp
463DB 102,15,56,222,233
464 movups xmm1,XMMWORD[((-8))+rsi]
465 movdqa xmm11,xmm10
466DB 102,15,56,222,208
467 prefetcht0 [15+rbx*1+r12]
468 prefetcht0 [15+rbx*1+r13]
469DB 102,15,56,222,216
470 prefetcht0 [15+rbx*1+r14]
471 prefetcht0 [15+rbx*1+r15]
472DB 102,15,56,222,224
473DB 102,15,56,222,232
474 movups xmm0,XMMWORD[((128-120))+rsi]
475 pxor xmm12,xmm12
476
477DB 102,15,56,222,209
478 pcmpgtd xmm11,xmm12
479 movdqu xmm12,XMMWORD[((-120))+rsi]
480DB 102,15,56,222,217
481 paddd xmm10,xmm11
482 movdqa XMMWORD[32+rsp],xmm10
483DB 102,15,56,222,225
484DB 102,15,56,222,233
485 movups xmm1,XMMWORD[((144-120))+rsi]
486
487 cmp eax,11
488
489DB 102,15,56,222,208
490DB 102,15,56,222,216
491DB 102,15,56,222,224
492DB 102,15,56,222,232
493 movups xmm0,XMMWORD[((160-120))+rsi]
494
495 jb NEAR $L$dec4x_tail
496
497DB 102,15,56,222,209
498DB 102,15,56,222,217
499DB 102,15,56,222,225
500DB 102,15,56,222,233
501 movups xmm1,XMMWORD[((176-120))+rsi]
502
503DB 102,15,56,222,208
504DB 102,15,56,222,216
505DB 102,15,56,222,224
506DB 102,15,56,222,232
507 movups xmm0,XMMWORD[((192-120))+rsi]
508
509 je NEAR $L$dec4x_tail
510
511DB 102,15,56,222,209
512DB 102,15,56,222,217
513DB 102,15,56,222,225
514DB 102,15,56,222,233
515 movups xmm1,XMMWORD[((208-120))+rsi]
516
517DB 102,15,56,222,208
518DB 102,15,56,222,216
519DB 102,15,56,222,224
520DB 102,15,56,222,232
521 movups xmm0,XMMWORD[((224-120))+rsi]
522 jmp NEAR $L$dec4x_tail
523
524ALIGN 32
525$L$dec4x_tail:
526DB 102,15,56,222,209
527DB 102,15,56,222,217
528DB 102,15,56,222,225
529 pxor xmm6,xmm0
530 pxor xmm7,xmm0
531DB 102,15,56,222,233
532 movdqu xmm1,XMMWORD[((16-120))+rsi]
533 pxor xmm8,xmm0
534 pxor xmm9,xmm0
535 movdqu xmm0,XMMWORD[((32-120))+rsi]
536
537DB 102,15,56,223,214
538DB 102,15,56,223,223
539 movdqu xmm6,XMMWORD[((-16))+rbx*1+r8]
540 movdqu xmm7,XMMWORD[((-16))+rbx*1+r9]
541DB 102,65,15,56,223,224
542DB 102,65,15,56,223,233
543 movdqu xmm8,XMMWORD[((-16))+rbx*1+r10]
544 movdqu xmm9,XMMWORD[((-16))+rbx*1+r11]
545
546 movups XMMWORD[(-16)+rbx*1+r12],xmm2
547 movdqu xmm2,XMMWORD[rbx*1+r8]
548 movups XMMWORD[(-16)+rbx*1+r13],xmm3
549 movdqu xmm3,XMMWORD[rbx*1+r9]
550 pxor xmm2,xmm12
551 movups XMMWORD[(-16)+rbx*1+r14],xmm4
552 movdqu xmm4,XMMWORD[rbx*1+r10]
553 pxor xmm3,xmm12
554 movups XMMWORD[(-16)+rbx*1+r15],xmm5
555 movdqu xmm5,XMMWORD[rbx*1+r11]
556 pxor xmm4,xmm12
557 pxor xmm5,xmm12
558
559 dec edx
560 jnz NEAR $L$oop_dec4x
561
562 mov rax,QWORD[16+rsp]
563 mov edx,DWORD[24+rsp]
564
565 lea rdi,[160+rdi]
566 dec edx
567 jnz NEAR $L$dec4x_loop_grande
568
569$L$dec4x_done:
570 movaps xmm6,XMMWORD[((-216))+rax]
571 movaps xmm7,XMMWORD[((-200))+rax]
572 movaps xmm8,XMMWORD[((-184))+rax]
573 movaps xmm9,XMMWORD[((-168))+rax]
574 movaps xmm10,XMMWORD[((-152))+rax]
575 movaps xmm11,XMMWORD[((-136))+rax]
576 movaps xmm12,XMMWORD[((-120))+rax]
577
578
579
580 mov r15,QWORD[((-48))+rax]
581 mov r14,QWORD[((-40))+rax]
582 mov r13,QWORD[((-32))+rax]
583 mov r12,QWORD[((-24))+rax]
584 mov rbp,QWORD[((-16))+rax]
585 mov rbx,QWORD[((-8))+rax]
586 lea rsp,[rax]
587$L$dec4x_epilogue:
588 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
589 mov rsi,QWORD[16+rsp]
590 DB 0F3h,0C3h ;repret
591$L$SEH_end_aesni_multi_cbc_decrypt:
592
593ALIGN 32
594aesni_multi_cbc_encrypt_avx:
595 mov QWORD[8+rsp],rdi ;WIN64 prologue
596 mov QWORD[16+rsp],rsi
597 mov rax,rsp
598$L$SEH_begin_aesni_multi_cbc_encrypt_avx:
599 mov rdi,rcx
600 mov rsi,rdx
601 mov rdx,r8
602
603
604_avx_cbc_enc_shortcut:
605 mov rax,rsp
606 push rbx
607 push rbp
608 push r12
609 push r13
610 push r14
611 push r15
612 lea rsp,[((-168))+rsp]
613 movaps XMMWORD[rsp],xmm6
614 movaps XMMWORD[16+rsp],xmm7
615 movaps XMMWORD[32+rsp],xmm8
616 movaps XMMWORD[48+rsp],xmm9
617 movaps XMMWORD[64+rsp],xmm10
618 movaps XMMWORD[80+rsp],xmm11
619 movaps XMMWORD[(-120)+rax],xmm12
620 movaps XMMWORD[(-104)+rax],xmm13
621 movaps XMMWORD[(-88)+rax],xmm14
622 movaps XMMWORD[(-72)+rax],xmm15
623
624
625
626
627
628
629
630
631 sub rsp,192
632 and rsp,-128
633 mov QWORD[16+rsp],rax
634
635$L$enc8x_body:
636 vzeroupper
637 vmovdqu xmm15,XMMWORD[rsi]
638 lea rsi,[120+rsi]
639 lea rdi,[160+rdi]
640 shr edx,1
641
642$L$enc8x_loop_grande:
643
644 xor edx,edx
645 mov ecx,DWORD[((-144))+rdi]
646 mov r8,QWORD[((-160))+rdi]
647 cmp ecx,edx
648 mov rbx,QWORD[((-152))+rdi]
649 cmovg edx,ecx
650 test ecx,ecx
651 vmovdqu xmm2,XMMWORD[((-136))+rdi]
652 mov DWORD[32+rsp],ecx
653 cmovle r8,rsp
654 sub rbx,r8
655 mov QWORD[64+rsp],rbx
656 mov ecx,DWORD[((-104))+rdi]
657 mov r9,QWORD[((-120))+rdi]
658 cmp ecx,edx
659 mov rbp,QWORD[((-112))+rdi]
660 cmovg edx,ecx
661 test ecx,ecx
662 vmovdqu xmm3,XMMWORD[((-96))+rdi]
663 mov DWORD[36+rsp],ecx
664 cmovle r9,rsp
665 sub rbp,r9
666 mov QWORD[72+rsp],rbp
667 mov ecx,DWORD[((-64))+rdi]
668 mov r10,QWORD[((-80))+rdi]
669 cmp ecx,edx
670 mov rbp,QWORD[((-72))+rdi]
671 cmovg edx,ecx
672 test ecx,ecx
673 vmovdqu xmm4,XMMWORD[((-56))+rdi]
674 mov DWORD[40+rsp],ecx
675 cmovle r10,rsp
676 sub rbp,r10
677 mov QWORD[80+rsp],rbp
678 mov ecx,DWORD[((-24))+rdi]
679 mov r11,QWORD[((-40))+rdi]
680 cmp ecx,edx
681 mov rbp,QWORD[((-32))+rdi]
682 cmovg edx,ecx
683 test ecx,ecx
684 vmovdqu xmm5,XMMWORD[((-16))+rdi]
685 mov DWORD[44+rsp],ecx
686 cmovle r11,rsp
687 sub rbp,r11
688 mov QWORD[88+rsp],rbp
689 mov ecx,DWORD[16+rdi]
690 mov r12,QWORD[rdi]
691 cmp ecx,edx
692 mov rbp,QWORD[8+rdi]
693 cmovg edx,ecx
694 test ecx,ecx
695 vmovdqu xmm6,XMMWORD[24+rdi]
696 mov DWORD[48+rsp],ecx
697 cmovle r12,rsp
698 sub rbp,r12
699 mov QWORD[96+rsp],rbp
700 mov ecx,DWORD[56+rdi]
701 mov r13,QWORD[40+rdi]
702 cmp ecx,edx
703 mov rbp,QWORD[48+rdi]
704 cmovg edx,ecx
705 test ecx,ecx
706 vmovdqu xmm7,XMMWORD[64+rdi]
707 mov DWORD[52+rsp],ecx
708 cmovle r13,rsp
709 sub rbp,r13
710 mov QWORD[104+rsp],rbp
711 mov ecx,DWORD[96+rdi]
712 mov r14,QWORD[80+rdi]
713 cmp ecx,edx
714 mov rbp,QWORD[88+rdi]
715 cmovg edx,ecx
716 test ecx,ecx
717 vmovdqu xmm8,XMMWORD[104+rdi]
718 mov DWORD[56+rsp],ecx
719 cmovle r14,rsp
720 sub rbp,r14
721 mov QWORD[112+rsp],rbp
722 mov ecx,DWORD[136+rdi]
723 mov r15,QWORD[120+rdi]
724 cmp ecx,edx
725 mov rbp,QWORD[128+rdi]
726 cmovg edx,ecx
727 test ecx,ecx
728 vmovdqu xmm9,XMMWORD[144+rdi]
729 mov DWORD[60+rsp],ecx
730 cmovle r15,rsp
731 sub rbp,r15
732 mov QWORD[120+rsp],rbp
733 test edx,edx
734 jz NEAR $L$enc8x_done
735
736 vmovups xmm1,XMMWORD[((16-120))+rsi]
737 vmovups xmm0,XMMWORD[((32-120))+rsi]
738 mov eax,DWORD[((240-120))+rsi]
739
740 vpxor xmm10,xmm15,XMMWORD[r8]
741 lea rbp,[128+rsp]
742 vpxor xmm11,xmm15,XMMWORD[r9]
743 vpxor xmm12,xmm15,XMMWORD[r10]
744 vpxor xmm13,xmm15,XMMWORD[r11]
745 vpxor xmm2,xmm2,xmm10
746 vpxor xmm10,xmm15,XMMWORD[r12]
747 vpxor xmm3,xmm3,xmm11
748 vpxor xmm11,xmm15,XMMWORD[r13]
749 vpxor xmm4,xmm4,xmm12
750 vpxor xmm12,xmm15,XMMWORD[r14]
751 vpxor xmm5,xmm5,xmm13
752 vpxor xmm13,xmm15,XMMWORD[r15]
753 vpxor xmm6,xmm6,xmm10
754 mov ecx,1
755 vpxor xmm7,xmm7,xmm11
756 vpxor xmm8,xmm8,xmm12
757 vpxor xmm9,xmm9,xmm13
758 jmp NEAR $L$oop_enc8x
759
760ALIGN 32
761$L$oop_enc8x:
762 vaesenc xmm2,xmm2,xmm1
763 cmp ecx,DWORD[((32+0))+rsp]
764 vaesenc xmm3,xmm3,xmm1
765 prefetcht0 [31+r8]
766 vaesenc xmm4,xmm4,xmm1
767 vaesenc xmm5,xmm5,xmm1
768 lea rbx,[rbx*1+r8]
769 cmovge r8,rsp
770 vaesenc xmm6,xmm6,xmm1
771 cmovg rbx,rsp
772 vaesenc xmm7,xmm7,xmm1
773 sub rbx,r8
774 vaesenc xmm8,xmm8,xmm1
775 vpxor xmm10,xmm15,XMMWORD[16+r8]
776 mov QWORD[((64+0))+rsp],rbx
777 vaesenc xmm9,xmm9,xmm1
778 vmovups xmm1,XMMWORD[((-72))+rsi]
779 lea r8,[16+rbx*1+r8]
780 vmovdqu XMMWORD[rbp],xmm10
781 vaesenc xmm2,xmm2,xmm0
782 cmp ecx,DWORD[((32+4))+rsp]
783 mov rbx,QWORD[((64+8))+rsp]
784 vaesenc xmm3,xmm3,xmm0
785 prefetcht0 [31+r9]
786 vaesenc xmm4,xmm4,xmm0
787 vaesenc xmm5,xmm5,xmm0
788 lea rbx,[rbx*1+r9]
789 cmovge r9,rsp
790 vaesenc xmm6,xmm6,xmm0
791 cmovg rbx,rsp
792 vaesenc xmm7,xmm7,xmm0
793 sub rbx,r9
794 vaesenc xmm8,xmm8,xmm0
795 vpxor xmm11,xmm15,XMMWORD[16+r9]
796 mov QWORD[((64+8))+rsp],rbx
797 vaesenc xmm9,xmm9,xmm0
798 vmovups xmm0,XMMWORD[((-56))+rsi]
799 lea r9,[16+rbx*1+r9]
800 vmovdqu XMMWORD[16+rbp],xmm11
801 vaesenc xmm2,xmm2,xmm1
802 cmp ecx,DWORD[((32+8))+rsp]
803 mov rbx,QWORD[((64+16))+rsp]
804 vaesenc xmm3,xmm3,xmm1
805 prefetcht0 [31+r10]
806 vaesenc xmm4,xmm4,xmm1
807 prefetcht0 [15+r8]
808 vaesenc xmm5,xmm5,xmm1
809 lea rbx,[rbx*1+r10]
810 cmovge r10,rsp
811 vaesenc xmm6,xmm6,xmm1
812 cmovg rbx,rsp
813 vaesenc xmm7,xmm7,xmm1
814 sub rbx,r10
815 vaesenc xmm8,xmm8,xmm1
816 vpxor xmm12,xmm15,XMMWORD[16+r10]
817 mov QWORD[((64+16))+rsp],rbx
818 vaesenc xmm9,xmm9,xmm1
819 vmovups xmm1,XMMWORD[((-40))+rsi]
820 lea r10,[16+rbx*1+r10]
821 vmovdqu XMMWORD[32+rbp],xmm12
822 vaesenc xmm2,xmm2,xmm0
823 cmp ecx,DWORD[((32+12))+rsp]
824 mov rbx,QWORD[((64+24))+rsp]
825 vaesenc xmm3,xmm3,xmm0
826 prefetcht0 [31+r11]
827 vaesenc xmm4,xmm4,xmm0
828 prefetcht0 [15+r9]
829 vaesenc xmm5,xmm5,xmm0
830 lea rbx,[rbx*1+r11]
831 cmovge r11,rsp
832 vaesenc xmm6,xmm6,xmm0
833 cmovg rbx,rsp
834 vaesenc xmm7,xmm7,xmm0
835 sub rbx,r11
836 vaesenc xmm8,xmm8,xmm0
837 vpxor xmm13,xmm15,XMMWORD[16+r11]
838 mov QWORD[((64+24))+rsp],rbx
839 vaesenc xmm9,xmm9,xmm0
840 vmovups xmm0,XMMWORD[((-24))+rsi]
841 lea r11,[16+rbx*1+r11]
842 vmovdqu XMMWORD[48+rbp],xmm13
843 vaesenc xmm2,xmm2,xmm1
844 cmp ecx,DWORD[((32+16))+rsp]
845 mov rbx,QWORD[((64+32))+rsp]
846 vaesenc xmm3,xmm3,xmm1
847 prefetcht0 [31+r12]
848 vaesenc xmm4,xmm4,xmm1
849 prefetcht0 [15+r10]
850 vaesenc xmm5,xmm5,xmm1
851 lea rbx,[rbx*1+r12]
852 cmovge r12,rsp
853 vaesenc xmm6,xmm6,xmm1
854 cmovg rbx,rsp
855 vaesenc xmm7,xmm7,xmm1
856 sub rbx,r12
857 vaesenc xmm8,xmm8,xmm1
858 vpxor xmm10,xmm15,XMMWORD[16+r12]
859 mov QWORD[((64+32))+rsp],rbx
860 vaesenc xmm9,xmm9,xmm1
861 vmovups xmm1,XMMWORD[((-8))+rsi]
862 lea r12,[16+rbx*1+r12]
863 vaesenc xmm2,xmm2,xmm0
864 cmp ecx,DWORD[((32+20))+rsp]
865 mov rbx,QWORD[((64+40))+rsp]
866 vaesenc xmm3,xmm3,xmm0
867 prefetcht0 [31+r13]
868 vaesenc xmm4,xmm4,xmm0
869 prefetcht0 [15+r11]
870 vaesenc xmm5,xmm5,xmm0
871 lea rbx,[r13*1+rbx]
872 cmovge r13,rsp
873 vaesenc xmm6,xmm6,xmm0
874 cmovg rbx,rsp
875 vaesenc xmm7,xmm7,xmm0
876 sub rbx,r13
877 vaesenc xmm8,xmm8,xmm0
878 vpxor xmm11,xmm15,XMMWORD[16+r13]
879 mov QWORD[((64+40))+rsp],rbx
880 vaesenc xmm9,xmm9,xmm0
881 vmovups xmm0,XMMWORD[8+rsi]
882 lea r13,[16+rbx*1+r13]
883 vaesenc xmm2,xmm2,xmm1
884 cmp ecx,DWORD[((32+24))+rsp]
885 mov rbx,QWORD[((64+48))+rsp]
886 vaesenc xmm3,xmm3,xmm1
887 prefetcht0 [31+r14]
888 vaesenc xmm4,xmm4,xmm1
889 prefetcht0 [15+r12]
890 vaesenc xmm5,xmm5,xmm1
891 lea rbx,[rbx*1+r14]
892 cmovge r14,rsp
893 vaesenc xmm6,xmm6,xmm1
894 cmovg rbx,rsp
895 vaesenc xmm7,xmm7,xmm1
896 sub rbx,r14
897 vaesenc xmm8,xmm8,xmm1
898 vpxor xmm12,xmm15,XMMWORD[16+r14]
899 mov QWORD[((64+48))+rsp],rbx
900 vaesenc xmm9,xmm9,xmm1
901 vmovups xmm1,XMMWORD[24+rsi]
902 lea r14,[16+rbx*1+r14]
903 vaesenc xmm2,xmm2,xmm0
904 cmp ecx,DWORD[((32+28))+rsp]
905 mov rbx,QWORD[((64+56))+rsp]
906 vaesenc xmm3,xmm3,xmm0
907 prefetcht0 [31+r15]
908 vaesenc xmm4,xmm4,xmm0
909 prefetcht0 [15+r13]
910 vaesenc xmm5,xmm5,xmm0
911 lea rbx,[rbx*1+r15]
912 cmovge r15,rsp
913 vaesenc xmm6,xmm6,xmm0
914 cmovg rbx,rsp
915 vaesenc xmm7,xmm7,xmm0
916 sub rbx,r15
917 vaesenc xmm8,xmm8,xmm0
918 vpxor xmm13,xmm15,XMMWORD[16+r15]
919 mov QWORD[((64+56))+rsp],rbx
920 vaesenc xmm9,xmm9,xmm0
921 vmovups xmm0,XMMWORD[40+rsi]
922 lea r15,[16+rbx*1+r15]
923 vmovdqu xmm14,XMMWORD[32+rsp]
924 prefetcht0 [15+r14]
925 prefetcht0 [15+r15]
926 cmp eax,11
927 jb NEAR $L$enc8x_tail
928
929 vaesenc xmm2,xmm2,xmm1
930 vaesenc xmm3,xmm3,xmm1
931 vaesenc xmm4,xmm4,xmm1
932 vaesenc xmm5,xmm5,xmm1
933 vaesenc xmm6,xmm6,xmm1
934 vaesenc xmm7,xmm7,xmm1
935 vaesenc xmm8,xmm8,xmm1
936 vaesenc xmm9,xmm9,xmm1
937 vmovups xmm1,XMMWORD[((176-120))+rsi]
938
939 vaesenc xmm2,xmm2,xmm0
940 vaesenc xmm3,xmm3,xmm0
941 vaesenc xmm4,xmm4,xmm0
942 vaesenc xmm5,xmm5,xmm0
943 vaesenc xmm6,xmm6,xmm0
944 vaesenc xmm7,xmm7,xmm0
945 vaesenc xmm8,xmm8,xmm0
946 vaesenc xmm9,xmm9,xmm0
947 vmovups xmm0,XMMWORD[((192-120))+rsi]
948 je NEAR $L$enc8x_tail
949
950 vaesenc xmm2,xmm2,xmm1
951 vaesenc xmm3,xmm3,xmm1
952 vaesenc xmm4,xmm4,xmm1
953 vaesenc xmm5,xmm5,xmm1
954 vaesenc xmm6,xmm6,xmm1
955 vaesenc xmm7,xmm7,xmm1
956 vaesenc xmm8,xmm8,xmm1
957 vaesenc xmm9,xmm9,xmm1
958 vmovups xmm1,XMMWORD[((208-120))+rsi]
959
960 vaesenc xmm2,xmm2,xmm0
961 vaesenc xmm3,xmm3,xmm0
962 vaesenc xmm4,xmm4,xmm0
963 vaesenc xmm5,xmm5,xmm0
964 vaesenc xmm6,xmm6,xmm0
965 vaesenc xmm7,xmm7,xmm0
966 vaesenc xmm8,xmm8,xmm0
967 vaesenc xmm9,xmm9,xmm0
968 vmovups xmm0,XMMWORD[((224-120))+rsi]
969
970$L$enc8x_tail:
971 vaesenc xmm2,xmm2,xmm1
972 vpxor xmm15,xmm15,xmm15
973 vaesenc xmm3,xmm3,xmm1
974 vaesenc xmm4,xmm4,xmm1
975 vpcmpgtd xmm15,xmm14,xmm15
976 vaesenc xmm5,xmm5,xmm1
977 vaesenc xmm6,xmm6,xmm1
978 vpaddd xmm15,xmm15,xmm14
979 vmovdqu xmm14,XMMWORD[48+rsp]
980 vaesenc xmm7,xmm7,xmm1
981 mov rbx,QWORD[64+rsp]
982 vaesenc xmm8,xmm8,xmm1
983 vaesenc xmm9,xmm9,xmm1
984 vmovups xmm1,XMMWORD[((16-120))+rsi]
985
986 vaesenclast xmm2,xmm2,xmm0
987 vmovdqa XMMWORD[32+rsp],xmm15
988 vpxor xmm15,xmm15,xmm15
989 vaesenclast xmm3,xmm3,xmm0
990 vaesenclast xmm4,xmm4,xmm0
991 vpcmpgtd xmm15,xmm14,xmm15
992 vaesenclast xmm5,xmm5,xmm0
993 vaesenclast xmm6,xmm6,xmm0
994 vpaddd xmm14,xmm14,xmm15
995 vmovdqu xmm15,XMMWORD[((-120))+rsi]
996 vaesenclast xmm7,xmm7,xmm0
997 vaesenclast xmm8,xmm8,xmm0
998 vmovdqa XMMWORD[48+rsp],xmm14
999 vaesenclast xmm9,xmm9,xmm0
1000 vmovups xmm0,XMMWORD[((32-120))+rsi]
1001
1002 vmovups XMMWORD[(-16)+r8],xmm2
1003 sub r8,rbx
1004 vpxor xmm2,xmm2,XMMWORD[rbp]
1005 vmovups XMMWORD[(-16)+r9],xmm3
1006 sub r9,QWORD[72+rsp]
1007 vpxor xmm3,xmm3,XMMWORD[16+rbp]
1008 vmovups XMMWORD[(-16)+r10],xmm4
1009 sub r10,QWORD[80+rsp]
1010 vpxor xmm4,xmm4,XMMWORD[32+rbp]
1011 vmovups XMMWORD[(-16)+r11],xmm5
1012 sub r11,QWORD[88+rsp]
1013 vpxor xmm5,xmm5,XMMWORD[48+rbp]
1014 vmovups XMMWORD[(-16)+r12],xmm6
1015 sub r12,QWORD[96+rsp]
1016 vpxor xmm6,xmm6,xmm10
1017 vmovups XMMWORD[(-16)+r13],xmm7
1018 sub r13,QWORD[104+rsp]
1019 vpxor xmm7,xmm7,xmm11
1020 vmovups XMMWORD[(-16)+r14],xmm8
1021 sub r14,QWORD[112+rsp]
1022 vpxor xmm8,xmm8,xmm12
1023 vmovups XMMWORD[(-16)+r15],xmm9
1024 sub r15,QWORD[120+rsp]
1025 vpxor xmm9,xmm9,xmm13
1026
1027 dec edx
1028 jnz NEAR $L$oop_enc8x
1029
1030 mov rax,QWORD[16+rsp]
1031
1032
1033
1034
1035
1036$L$enc8x_done:
1037 vzeroupper
1038 movaps xmm6,XMMWORD[((-216))+rax]
1039 movaps xmm7,XMMWORD[((-200))+rax]
1040 movaps xmm8,XMMWORD[((-184))+rax]
1041 movaps xmm9,XMMWORD[((-168))+rax]
1042 movaps xmm10,XMMWORD[((-152))+rax]
1043 movaps xmm11,XMMWORD[((-136))+rax]
1044 movaps xmm12,XMMWORD[((-120))+rax]
1045 movaps xmm13,XMMWORD[((-104))+rax]
1046 movaps xmm14,XMMWORD[((-88))+rax]
1047 movaps xmm15,XMMWORD[((-72))+rax]
1048 mov r15,QWORD[((-48))+rax]
1049 mov r14,QWORD[((-40))+rax]
1050 mov r13,QWORD[((-32))+rax]
1051 mov r12,QWORD[((-24))+rax]
1052 mov rbp,QWORD[((-16))+rax]
1053 mov rbx,QWORD[((-8))+rax]
1054 lea rsp,[rax]
1055$L$enc8x_epilogue:
1056 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
1057 mov rsi,QWORD[16+rsp]
1058 DB 0F3h,0C3h ;repret
1059$L$SEH_end_aesni_multi_cbc_encrypt_avx:
1060
1061
1062ALIGN 32
1063aesni_multi_cbc_decrypt_avx:
1064 mov QWORD[8+rsp],rdi ;WIN64 prologue
1065 mov QWORD[16+rsp],rsi
1066 mov rax,rsp
1067$L$SEH_begin_aesni_multi_cbc_decrypt_avx:
1068 mov rdi,rcx
1069 mov rsi,rdx
1070 mov rdx,r8
1071
1072
1073_avx_cbc_dec_shortcut:
1074 mov rax,rsp
1075 push rbx
1076 push rbp
1077 push r12
1078 push r13
1079 push r14
1080 push r15
1081 lea rsp,[((-168))+rsp]
1082 movaps XMMWORD[rsp],xmm6
1083 movaps XMMWORD[16+rsp],xmm7
1084 movaps XMMWORD[32+rsp],xmm8
1085 movaps XMMWORD[48+rsp],xmm9
1086 movaps XMMWORD[64+rsp],xmm10
1087 movaps XMMWORD[80+rsp],xmm11
1088 movaps XMMWORD[(-120)+rax],xmm12
1089 movaps XMMWORD[(-104)+rax],xmm13
1090 movaps XMMWORD[(-88)+rax],xmm14
1091 movaps XMMWORD[(-72)+rax],xmm15
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101 sub rsp,256
1102 and rsp,-256
1103 sub rsp,192
1104 mov QWORD[16+rsp],rax
1105
1106$L$dec8x_body:
1107 vzeroupper
1108 vmovdqu xmm15,XMMWORD[rsi]
1109 lea rsi,[120+rsi]
1110 lea rdi,[160+rdi]
1111 shr edx,1
1112
1113$L$dec8x_loop_grande:
1114
1115 xor edx,edx
1116 mov ecx,DWORD[((-144))+rdi]
1117 mov r8,QWORD[((-160))+rdi]
1118 cmp ecx,edx
1119 mov rbx,QWORD[((-152))+rdi]
1120 cmovg edx,ecx
1121 test ecx,ecx
1122 vmovdqu xmm2,XMMWORD[((-136))+rdi]
1123 mov DWORD[32+rsp],ecx
1124 cmovle r8,rsp
1125 sub rbx,r8
1126 mov QWORD[64+rsp],rbx
1127 vmovdqu XMMWORD[192+rsp],xmm2
1128 mov ecx,DWORD[((-104))+rdi]
1129 mov r9,QWORD[((-120))+rdi]
1130 cmp ecx,edx
1131 mov rbp,QWORD[((-112))+rdi]
1132 cmovg edx,ecx
1133 test ecx,ecx
1134 vmovdqu xmm3,XMMWORD[((-96))+rdi]
1135 mov DWORD[36+rsp],ecx
1136 cmovle r9,rsp
1137 sub rbp,r9
1138 mov QWORD[72+rsp],rbp
1139 vmovdqu XMMWORD[208+rsp],xmm3
1140 mov ecx,DWORD[((-64))+rdi]
1141 mov r10,QWORD[((-80))+rdi]
1142 cmp ecx,edx
1143 mov rbp,QWORD[((-72))+rdi]
1144 cmovg edx,ecx
1145 test ecx,ecx
1146 vmovdqu xmm4,XMMWORD[((-56))+rdi]
1147 mov DWORD[40+rsp],ecx
1148 cmovle r10,rsp
1149 sub rbp,r10
1150 mov QWORD[80+rsp],rbp
1151 vmovdqu XMMWORD[224+rsp],xmm4
1152 mov ecx,DWORD[((-24))+rdi]
1153 mov r11,QWORD[((-40))+rdi]
1154 cmp ecx,edx
1155 mov rbp,QWORD[((-32))+rdi]
1156 cmovg edx,ecx
1157 test ecx,ecx
1158 vmovdqu xmm5,XMMWORD[((-16))+rdi]
1159 mov DWORD[44+rsp],ecx
1160 cmovle r11,rsp
1161 sub rbp,r11
1162 mov QWORD[88+rsp],rbp
1163 vmovdqu XMMWORD[240+rsp],xmm5
1164 mov ecx,DWORD[16+rdi]
1165 mov r12,QWORD[rdi]
1166 cmp ecx,edx
1167 mov rbp,QWORD[8+rdi]
1168 cmovg edx,ecx
1169 test ecx,ecx
1170 vmovdqu xmm6,XMMWORD[24+rdi]
1171 mov DWORD[48+rsp],ecx
1172 cmovle r12,rsp
1173 sub rbp,r12
1174 mov QWORD[96+rsp],rbp
1175 vmovdqu XMMWORD[256+rsp],xmm6
1176 mov ecx,DWORD[56+rdi]
1177 mov r13,QWORD[40+rdi]
1178 cmp ecx,edx
1179 mov rbp,QWORD[48+rdi]
1180 cmovg edx,ecx
1181 test ecx,ecx
1182 vmovdqu xmm7,XMMWORD[64+rdi]
1183 mov DWORD[52+rsp],ecx
1184 cmovle r13,rsp
1185 sub rbp,r13
1186 mov QWORD[104+rsp],rbp
1187 vmovdqu XMMWORD[272+rsp],xmm7
1188 mov ecx,DWORD[96+rdi]
1189 mov r14,QWORD[80+rdi]
1190 cmp ecx,edx
1191 mov rbp,QWORD[88+rdi]
1192 cmovg edx,ecx
1193 test ecx,ecx
1194 vmovdqu xmm8,XMMWORD[104+rdi]
1195 mov DWORD[56+rsp],ecx
1196 cmovle r14,rsp
1197 sub rbp,r14
1198 mov QWORD[112+rsp],rbp
1199 vmovdqu XMMWORD[288+rsp],xmm8
1200 mov ecx,DWORD[136+rdi]
1201 mov r15,QWORD[120+rdi]
1202 cmp ecx,edx
1203 mov rbp,QWORD[128+rdi]
1204 cmovg edx,ecx
1205 test ecx,ecx
1206 vmovdqu xmm9,XMMWORD[144+rdi]
1207 mov DWORD[60+rsp],ecx
1208 cmovle r15,rsp
1209 sub rbp,r15
1210 mov QWORD[120+rsp],rbp
1211 vmovdqu XMMWORD[304+rsp],xmm9
1212 test edx,edx
1213 jz NEAR $L$dec8x_done
1214
1215 vmovups xmm1,XMMWORD[((16-120))+rsi]
1216 vmovups xmm0,XMMWORD[((32-120))+rsi]
1217 mov eax,DWORD[((240-120))+rsi]
1218 lea rbp,[((192+128))+rsp]
1219
1220 vmovdqu xmm2,XMMWORD[r8]
1221 vmovdqu xmm3,XMMWORD[r9]
1222 vmovdqu xmm4,XMMWORD[r10]
1223 vmovdqu xmm5,XMMWORD[r11]
1224 vmovdqu xmm6,XMMWORD[r12]
1225 vmovdqu xmm7,XMMWORD[r13]
1226 vmovdqu xmm8,XMMWORD[r14]
1227 vmovdqu xmm9,XMMWORD[r15]
1228 vmovdqu XMMWORD[rbp],xmm2
1229 vpxor xmm2,xmm2,xmm15
1230 vmovdqu XMMWORD[16+rbp],xmm3
1231 vpxor xmm3,xmm3,xmm15
1232 vmovdqu XMMWORD[32+rbp],xmm4
1233 vpxor xmm4,xmm4,xmm15
1234 vmovdqu XMMWORD[48+rbp],xmm5
1235 vpxor xmm5,xmm5,xmm15
1236 vmovdqu XMMWORD[64+rbp],xmm6
1237 vpxor xmm6,xmm6,xmm15
1238 vmovdqu XMMWORD[80+rbp],xmm7
1239 vpxor xmm7,xmm7,xmm15
1240 vmovdqu XMMWORD[96+rbp],xmm8
1241 vpxor xmm8,xmm8,xmm15
1242 vmovdqu XMMWORD[112+rbp],xmm9
1243 vpxor xmm9,xmm9,xmm15
1244 xor rbp,0x80
1245 mov ecx,1
1246 jmp NEAR $L$oop_dec8x
1247
1248ALIGN 32
1249$L$oop_dec8x:
1250 vaesdec xmm2,xmm2,xmm1
1251 cmp ecx,DWORD[((32+0))+rsp]
1252 vaesdec xmm3,xmm3,xmm1
1253 prefetcht0 [31+r8]
1254 vaesdec xmm4,xmm4,xmm1
1255 vaesdec xmm5,xmm5,xmm1
1256 lea rbx,[rbx*1+r8]
1257 cmovge r8,rsp
1258 vaesdec xmm6,xmm6,xmm1
1259 cmovg rbx,rsp
1260 vaesdec xmm7,xmm7,xmm1
1261 sub rbx,r8
1262 vaesdec xmm8,xmm8,xmm1
1263 vmovdqu xmm10,XMMWORD[16+r8]
1264 mov QWORD[((64+0))+rsp],rbx
1265 vaesdec xmm9,xmm9,xmm1
1266 vmovups xmm1,XMMWORD[((-72))+rsi]
1267 lea r8,[16+rbx*1+r8]
1268 vmovdqu XMMWORD[128+rsp],xmm10
1269 vaesdec xmm2,xmm2,xmm0
1270 cmp ecx,DWORD[((32+4))+rsp]
1271 mov rbx,QWORD[((64+8))+rsp]
1272 vaesdec xmm3,xmm3,xmm0
1273 prefetcht0 [31+r9]
1274 vaesdec xmm4,xmm4,xmm0
1275 vaesdec xmm5,xmm5,xmm0
1276 lea rbx,[rbx*1+r9]
1277 cmovge r9,rsp
1278 vaesdec xmm6,xmm6,xmm0
1279 cmovg rbx,rsp
1280 vaesdec xmm7,xmm7,xmm0
1281 sub rbx,r9
1282 vaesdec xmm8,xmm8,xmm0
1283 vmovdqu xmm11,XMMWORD[16+r9]
1284 mov QWORD[((64+8))+rsp],rbx
1285 vaesdec xmm9,xmm9,xmm0
1286 vmovups xmm0,XMMWORD[((-56))+rsi]
1287 lea r9,[16+rbx*1+r9]
1288 vmovdqu XMMWORD[144+rsp],xmm11
1289 vaesdec xmm2,xmm2,xmm1
1290 cmp ecx,DWORD[((32+8))+rsp]
1291 mov rbx,QWORD[((64+16))+rsp]
1292 vaesdec xmm3,xmm3,xmm1
1293 prefetcht0 [31+r10]
1294 vaesdec xmm4,xmm4,xmm1
1295 prefetcht0 [15+r8]
1296 vaesdec xmm5,xmm5,xmm1
1297 lea rbx,[rbx*1+r10]
1298 cmovge r10,rsp
1299 vaesdec xmm6,xmm6,xmm1
1300 cmovg rbx,rsp
1301 vaesdec xmm7,xmm7,xmm1
1302 sub rbx,r10
1303 vaesdec xmm8,xmm8,xmm1
1304 vmovdqu xmm12,XMMWORD[16+r10]
1305 mov QWORD[((64+16))+rsp],rbx
1306 vaesdec xmm9,xmm9,xmm1
1307 vmovups xmm1,XMMWORD[((-40))+rsi]
1308 lea r10,[16+rbx*1+r10]
1309 vmovdqu XMMWORD[160+rsp],xmm12
1310 vaesdec xmm2,xmm2,xmm0
1311 cmp ecx,DWORD[((32+12))+rsp]
1312 mov rbx,QWORD[((64+24))+rsp]
1313 vaesdec xmm3,xmm3,xmm0
1314 prefetcht0 [31+r11]
1315 vaesdec xmm4,xmm4,xmm0
1316 prefetcht0 [15+r9]
1317 vaesdec xmm5,xmm5,xmm0
1318 lea rbx,[rbx*1+r11]
1319 cmovge r11,rsp
1320 vaesdec xmm6,xmm6,xmm0
1321 cmovg rbx,rsp
1322 vaesdec xmm7,xmm7,xmm0
1323 sub rbx,r11
1324 vaesdec xmm8,xmm8,xmm0
1325 vmovdqu xmm13,XMMWORD[16+r11]
1326 mov QWORD[((64+24))+rsp],rbx
1327 vaesdec xmm9,xmm9,xmm0
1328 vmovups xmm0,XMMWORD[((-24))+rsi]
1329 lea r11,[16+rbx*1+r11]
1330 vmovdqu XMMWORD[176+rsp],xmm13
1331 vaesdec xmm2,xmm2,xmm1
1332 cmp ecx,DWORD[((32+16))+rsp]
1333 mov rbx,QWORD[((64+32))+rsp]
1334 vaesdec xmm3,xmm3,xmm1
1335 prefetcht0 [31+r12]
1336 vaesdec xmm4,xmm4,xmm1
1337 prefetcht0 [15+r10]
1338 vaesdec xmm5,xmm5,xmm1
1339 lea rbx,[rbx*1+r12]
1340 cmovge r12,rsp
1341 vaesdec xmm6,xmm6,xmm1
1342 cmovg rbx,rsp
1343 vaesdec xmm7,xmm7,xmm1
1344 sub rbx,r12
1345 vaesdec xmm8,xmm8,xmm1
1346 vmovdqu xmm10,XMMWORD[16+r12]
1347 mov QWORD[((64+32))+rsp],rbx
1348 vaesdec xmm9,xmm9,xmm1
1349 vmovups xmm1,XMMWORD[((-8))+rsi]
1350 lea r12,[16+rbx*1+r12]
1351 vaesdec xmm2,xmm2,xmm0
1352 cmp ecx,DWORD[((32+20))+rsp]
1353 mov rbx,QWORD[((64+40))+rsp]
1354 vaesdec xmm3,xmm3,xmm0
1355 prefetcht0 [31+r13]
1356 vaesdec xmm4,xmm4,xmm0
1357 prefetcht0 [15+r11]
1358 vaesdec xmm5,xmm5,xmm0
1359 lea rbx,[r13*1+rbx]
1360 cmovge r13,rsp
1361 vaesdec xmm6,xmm6,xmm0
1362 cmovg rbx,rsp
1363 vaesdec xmm7,xmm7,xmm0
1364 sub rbx,r13
1365 vaesdec xmm8,xmm8,xmm0
1366 vmovdqu xmm11,XMMWORD[16+r13]
1367 mov QWORD[((64+40))+rsp],rbx
1368 vaesdec xmm9,xmm9,xmm0
1369 vmovups xmm0,XMMWORD[8+rsi]
1370 lea r13,[16+rbx*1+r13]
1371 vaesdec xmm2,xmm2,xmm1
1372 cmp ecx,DWORD[((32+24))+rsp]
1373 mov rbx,QWORD[((64+48))+rsp]
1374 vaesdec xmm3,xmm3,xmm1
1375 prefetcht0 [31+r14]
1376 vaesdec xmm4,xmm4,xmm1
1377 prefetcht0 [15+r12]
1378 vaesdec xmm5,xmm5,xmm1
1379 lea rbx,[rbx*1+r14]
1380 cmovge r14,rsp
1381 vaesdec xmm6,xmm6,xmm1
1382 cmovg rbx,rsp
1383 vaesdec xmm7,xmm7,xmm1
1384 sub rbx,r14
1385 vaesdec xmm8,xmm8,xmm1
1386 vmovdqu xmm12,XMMWORD[16+r14]
1387 mov QWORD[((64+48))+rsp],rbx
1388 vaesdec xmm9,xmm9,xmm1
1389 vmovups xmm1,XMMWORD[24+rsi]
1390 lea r14,[16+rbx*1+r14]
1391 vaesdec xmm2,xmm2,xmm0
1392 cmp ecx,DWORD[((32+28))+rsp]
1393 mov rbx,QWORD[((64+56))+rsp]
1394 vaesdec xmm3,xmm3,xmm0
1395 prefetcht0 [31+r15]
1396 vaesdec xmm4,xmm4,xmm0
1397 prefetcht0 [15+r13]
1398 vaesdec xmm5,xmm5,xmm0
1399 lea rbx,[rbx*1+r15]
1400 cmovge r15,rsp
1401 vaesdec xmm6,xmm6,xmm0
1402 cmovg rbx,rsp
1403 vaesdec xmm7,xmm7,xmm0
1404 sub rbx,r15
1405 vaesdec xmm8,xmm8,xmm0
1406 vmovdqu xmm13,XMMWORD[16+r15]
1407 mov QWORD[((64+56))+rsp],rbx
1408 vaesdec xmm9,xmm9,xmm0
1409 vmovups xmm0,XMMWORD[40+rsi]
1410 lea r15,[16+rbx*1+r15]
1411 vmovdqu xmm14,XMMWORD[32+rsp]
1412 prefetcht0 [15+r14]
1413 prefetcht0 [15+r15]
1414 cmp eax,11
1415 jb NEAR $L$dec8x_tail
1416
1417 vaesdec xmm2,xmm2,xmm1
1418 vaesdec xmm3,xmm3,xmm1
1419 vaesdec xmm4,xmm4,xmm1
1420 vaesdec xmm5,xmm5,xmm1
1421 vaesdec xmm6,xmm6,xmm1
1422 vaesdec xmm7,xmm7,xmm1
1423 vaesdec xmm8,xmm8,xmm1
1424 vaesdec xmm9,xmm9,xmm1
1425 vmovups xmm1,XMMWORD[((176-120))+rsi]
1426
1427 vaesdec xmm2,xmm2,xmm0
1428 vaesdec xmm3,xmm3,xmm0
1429 vaesdec xmm4,xmm4,xmm0
1430 vaesdec xmm5,xmm5,xmm0
1431 vaesdec xmm6,xmm6,xmm0
1432 vaesdec xmm7,xmm7,xmm0
1433 vaesdec xmm8,xmm8,xmm0
1434 vaesdec xmm9,xmm9,xmm0
1435 vmovups xmm0,XMMWORD[((192-120))+rsi]
1436 je NEAR $L$dec8x_tail
1437
1438 vaesdec xmm2,xmm2,xmm1
1439 vaesdec xmm3,xmm3,xmm1
1440 vaesdec xmm4,xmm4,xmm1
1441 vaesdec xmm5,xmm5,xmm1
1442 vaesdec xmm6,xmm6,xmm1
1443 vaesdec xmm7,xmm7,xmm1
1444 vaesdec xmm8,xmm8,xmm1
1445 vaesdec xmm9,xmm9,xmm1
1446 vmovups xmm1,XMMWORD[((208-120))+rsi]
1447
1448 vaesdec xmm2,xmm2,xmm0
1449 vaesdec xmm3,xmm3,xmm0
1450 vaesdec xmm4,xmm4,xmm0
1451 vaesdec xmm5,xmm5,xmm0
1452 vaesdec xmm6,xmm6,xmm0
1453 vaesdec xmm7,xmm7,xmm0
1454 vaesdec xmm8,xmm8,xmm0
1455 vaesdec xmm9,xmm9,xmm0
1456 vmovups xmm0,XMMWORD[((224-120))+rsi]
1457
1458$L$dec8x_tail:
1459 vaesdec xmm2,xmm2,xmm1
1460 vpxor xmm15,xmm15,xmm15
1461 vaesdec xmm3,xmm3,xmm1
1462 vaesdec xmm4,xmm4,xmm1
1463 vpcmpgtd xmm15,xmm14,xmm15
1464 vaesdec xmm5,xmm5,xmm1
1465 vaesdec xmm6,xmm6,xmm1
1466 vpaddd xmm15,xmm15,xmm14
1467 vmovdqu xmm14,XMMWORD[48+rsp]
1468 vaesdec xmm7,xmm7,xmm1
1469 mov rbx,QWORD[64+rsp]
1470 vaesdec xmm8,xmm8,xmm1
1471 vaesdec xmm9,xmm9,xmm1
1472 vmovups xmm1,XMMWORD[((16-120))+rsi]
1473
1474 vaesdeclast xmm2,xmm2,xmm0
1475 vmovdqa XMMWORD[32+rsp],xmm15
1476 vpxor xmm15,xmm15,xmm15
1477 vaesdeclast xmm3,xmm3,xmm0
1478 vpxor xmm2,xmm2,XMMWORD[rbp]
1479 vaesdeclast xmm4,xmm4,xmm0
1480 vpxor xmm3,xmm3,XMMWORD[16+rbp]
1481 vpcmpgtd xmm15,xmm14,xmm15
1482 vaesdeclast xmm5,xmm5,xmm0
1483 vpxor xmm4,xmm4,XMMWORD[32+rbp]
1484 vaesdeclast xmm6,xmm6,xmm0
1485 vpxor xmm5,xmm5,XMMWORD[48+rbp]
1486 vpaddd xmm14,xmm14,xmm15
1487 vmovdqu xmm15,XMMWORD[((-120))+rsi]
1488 vaesdeclast xmm7,xmm7,xmm0
1489 vpxor xmm6,xmm6,XMMWORD[64+rbp]
1490 vaesdeclast xmm8,xmm8,xmm0
1491 vpxor xmm7,xmm7,XMMWORD[80+rbp]
1492 vmovdqa XMMWORD[48+rsp],xmm14
1493 vaesdeclast xmm9,xmm9,xmm0
1494 vpxor xmm8,xmm8,XMMWORD[96+rbp]
1495 vmovups xmm0,XMMWORD[((32-120))+rsi]
1496
1497 vmovups XMMWORD[(-16)+r8],xmm2
1498 sub r8,rbx
1499 vmovdqu xmm2,XMMWORD[((128+0))+rsp]
1500 vpxor xmm9,xmm9,XMMWORD[112+rbp]
1501 vmovups XMMWORD[(-16)+r9],xmm3
1502 sub r9,QWORD[72+rsp]
1503 vmovdqu XMMWORD[rbp],xmm2
1504 vpxor xmm2,xmm2,xmm15
1505 vmovdqu xmm3,XMMWORD[((128+16))+rsp]
1506 vmovups XMMWORD[(-16)+r10],xmm4
1507 sub r10,QWORD[80+rsp]
1508 vmovdqu XMMWORD[16+rbp],xmm3
1509 vpxor xmm3,xmm3,xmm15
1510 vmovdqu xmm4,XMMWORD[((128+32))+rsp]
1511 vmovups XMMWORD[(-16)+r11],xmm5
1512 sub r11,QWORD[88+rsp]
1513 vmovdqu XMMWORD[32+rbp],xmm4
1514 vpxor xmm4,xmm4,xmm15
1515 vmovdqu xmm5,XMMWORD[((128+48))+rsp]
1516 vmovups XMMWORD[(-16)+r12],xmm6
1517 sub r12,QWORD[96+rsp]
1518 vmovdqu XMMWORD[48+rbp],xmm5
1519 vpxor xmm5,xmm5,xmm15
1520 vmovdqu XMMWORD[64+rbp],xmm10
1521 vpxor xmm6,xmm15,xmm10
1522 vmovups XMMWORD[(-16)+r13],xmm7
1523 sub r13,QWORD[104+rsp]
1524 vmovdqu XMMWORD[80+rbp],xmm11
1525 vpxor xmm7,xmm15,xmm11
1526 vmovups XMMWORD[(-16)+r14],xmm8
1527 sub r14,QWORD[112+rsp]
1528 vmovdqu XMMWORD[96+rbp],xmm12
1529 vpxor xmm8,xmm15,xmm12
1530 vmovups XMMWORD[(-16)+r15],xmm9
1531 sub r15,QWORD[120+rsp]
1532 vmovdqu XMMWORD[112+rbp],xmm13
1533 vpxor xmm9,xmm15,xmm13
1534
1535 xor rbp,128
1536 dec edx
1537 jnz NEAR $L$oop_dec8x
1538
1539 mov rax,QWORD[16+rsp]
1540
1541
1542
1543
1544
1545$L$dec8x_done:
1546 vzeroupper
1547 movaps xmm6,XMMWORD[((-216))+rax]
1548 movaps xmm7,XMMWORD[((-200))+rax]
1549 movaps xmm8,XMMWORD[((-184))+rax]
1550 movaps xmm9,XMMWORD[((-168))+rax]
1551 movaps xmm10,XMMWORD[((-152))+rax]
1552 movaps xmm11,XMMWORD[((-136))+rax]
1553 movaps xmm12,XMMWORD[((-120))+rax]
1554 movaps xmm13,XMMWORD[((-104))+rax]
1555 movaps xmm14,XMMWORD[((-88))+rax]
1556 movaps xmm15,XMMWORD[((-72))+rax]
1557 mov r15,QWORD[((-48))+rax]
1558 mov r14,QWORD[((-40))+rax]
1559 mov r13,QWORD[((-32))+rax]
1560 mov r12,QWORD[((-24))+rax]
1561 mov rbp,QWORD[((-16))+rax]
1562 mov rbx,QWORD[((-8))+rax]
1563 lea rsp,[rax]
1564$L$dec8x_epilogue:
1565 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
1566 mov rsi,QWORD[16+rsp]
1567 DB 0F3h,0C3h ;repret
1568$L$SEH_end_aesni_multi_cbc_decrypt_avx:
1569EXTERN __imp_RtlVirtualUnwind
1570
1571ALIGN 16
1572se_handler:
1573 push rsi
1574 push rdi
1575 push rbx
1576 push rbp
1577 push r12
1578 push r13
1579 push r14
1580 push r15
1581 pushfq
1582 sub rsp,64
1583
1584 mov rax,QWORD[120+r8]
1585 mov rbx,QWORD[248+r8]
1586
1587 mov rsi,QWORD[8+r9]
1588 mov r11,QWORD[56+r9]
1589
1590 mov r10d,DWORD[r11]
1591 lea r10,[r10*1+rsi]
1592 cmp rbx,r10
1593 jb NEAR $L$in_prologue
1594
1595 mov rax,QWORD[152+r8]
1596
1597 mov r10d,DWORD[4+r11]
1598 lea r10,[r10*1+rsi]
1599 cmp rbx,r10
1600 jae NEAR $L$in_prologue
1601
1602 mov rax,QWORD[16+rax]
1603
1604 mov rbx,QWORD[((-8))+rax]
1605 mov rbp,QWORD[((-16))+rax]
1606 mov r12,QWORD[((-24))+rax]
1607 mov r13,QWORD[((-32))+rax]
1608 mov r14,QWORD[((-40))+rax]
1609 mov r15,QWORD[((-48))+rax]
1610 mov QWORD[144+r8],rbx
1611 mov QWORD[160+r8],rbp
1612 mov QWORD[216+r8],r12
1613 mov QWORD[224+r8],r13
1614 mov QWORD[232+r8],r14
1615 mov QWORD[240+r8],r15
1616
1617 lea rsi,[((-56-160))+rax]
1618 lea rdi,[512+r8]
1619 mov ecx,20
1620 DD 0xa548f3fc
1621
1622$L$in_prologue:
1623 mov rdi,QWORD[8+rax]
1624 mov rsi,QWORD[16+rax]
1625 mov QWORD[152+r8],rax
1626 mov QWORD[168+r8],rsi
1627 mov QWORD[176+r8],rdi
1628
1629 mov rdi,QWORD[40+r9]
1630 mov rsi,r8
1631 mov ecx,154
1632 DD 0xa548f3fc
1633
1634 mov rsi,r9
1635 xor rcx,rcx
1636 mov rdx,QWORD[8+rsi]
1637 mov r8,QWORD[rsi]
1638 mov r9,QWORD[16+rsi]
1639 mov r10,QWORD[40+rsi]
1640 lea r11,[56+rsi]
1641 lea r12,[24+rsi]
1642 mov QWORD[32+rsp],r10
1643 mov QWORD[40+rsp],r11
1644 mov QWORD[48+rsp],r12
1645 mov QWORD[56+rsp],rcx
1646 call QWORD[__imp_RtlVirtualUnwind]
1647
1648 mov eax,1
1649 add rsp,64
1650 popfq
1651 pop r15
1652 pop r14
1653 pop r13
1654 pop r12
1655 pop rbp
1656 pop rbx
1657 pop rdi
1658 pop rsi
1659 DB 0F3h,0C3h ;repret
1660
1661
1662section .pdata rdata align=4
1663ALIGN 4
1664 DD $L$SEH_begin_aesni_multi_cbc_encrypt wrt ..imagebase
1665 DD $L$SEH_end_aesni_multi_cbc_encrypt wrt ..imagebase
1666 DD $L$SEH_info_aesni_multi_cbc_encrypt wrt ..imagebase
1667 DD $L$SEH_begin_aesni_multi_cbc_decrypt wrt ..imagebase
1668 DD $L$SEH_end_aesni_multi_cbc_decrypt wrt ..imagebase
1669 DD $L$SEH_info_aesni_multi_cbc_decrypt wrt ..imagebase
1670 DD $L$SEH_begin_aesni_multi_cbc_encrypt_avx wrt ..imagebase
1671 DD $L$SEH_end_aesni_multi_cbc_encrypt_avx wrt ..imagebase
1672 DD $L$SEH_info_aesni_multi_cbc_encrypt_avx wrt ..imagebase
1673 DD $L$SEH_begin_aesni_multi_cbc_decrypt_avx wrt ..imagebase
1674 DD $L$SEH_end_aesni_multi_cbc_decrypt_avx wrt ..imagebase
1675 DD $L$SEH_info_aesni_multi_cbc_decrypt_avx wrt ..imagebase
1676section .xdata rdata align=8
1677ALIGN 8
1678$L$SEH_info_aesni_multi_cbc_encrypt:
1679DB 9,0,0,0
1680 DD se_handler wrt ..imagebase
1681 DD $L$enc4x_body wrt ..imagebase,$L$enc4x_epilogue wrt ..imagebase
1682$L$SEH_info_aesni_multi_cbc_decrypt:
1683DB 9,0,0,0
1684 DD se_handler wrt ..imagebase
1685 DD $L$dec4x_body wrt ..imagebase,$L$dec4x_epilogue wrt ..imagebase
1686$L$SEH_info_aesni_multi_cbc_encrypt_avx:
1687DB 9,0,0,0
1688 DD se_handler wrt ..imagebase
1689 DD $L$enc8x_body wrt ..imagebase,$L$enc8x_epilogue wrt ..imagebase
1690$L$SEH_info_aesni_multi_cbc_decrypt_avx:
1691DB 9,0,0,0
1692 DD se_handler wrt ..imagebase
1693 DD $L$dec8x_body wrt ..imagebase,$L$dec8x_epilogue wrt ..imagebase
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette