Home | History | Annotate | Download | only in asm
      1 .file	"aes-586.s"
      2 .text
      3 .type	_x86_AES_encrypt_compact,@function
      4 .align	16
      5 _x86_AES_encrypt_compact:
      6 	movl	%edi,20(%esp)
      7 	xorl	(%edi),%eax
      8 	xorl	4(%edi),%ebx
      9 	xorl	8(%edi),%ecx
     10 	xorl	12(%edi),%edx
     11 	movl	240(%edi),%esi
     12 	leal	-2(%esi,%esi,1),%esi
     13 	leal	(%edi,%esi,8),%esi
     14 	movl	%esi,24(%esp)
     15 	movl	-128(%ebp),%edi
     16 	movl	-96(%ebp),%esi
     17 	movl	-64(%ebp),%edi
     18 	movl	-32(%ebp),%esi
     19 	movl	(%ebp),%edi
     20 	movl	32(%ebp),%esi
     21 	movl	64(%ebp),%edi
     22 	movl	96(%ebp),%esi
     23 .align	16
     24 .L000loop:
     25 	movl	%eax,%esi
     26 	andl	$255,%esi
     27 	movzbl	-128(%ebp,%esi,1),%esi
     28 	movzbl	%bh,%edi
     29 	movzbl	-128(%ebp,%edi,1),%edi
     30 	shll	$8,%edi
     31 	xorl	%edi,%esi
     32 	movl	%ecx,%edi
     33 	shrl	$16,%edi
     34 	andl	$255,%edi
     35 	movzbl	-128(%ebp,%edi,1),%edi
     36 	shll	$16,%edi
     37 	xorl	%edi,%esi
     38 	movl	%edx,%edi
     39 	shrl	$24,%edi
     40 	movzbl	-128(%ebp,%edi,1),%edi
     41 	shll	$24,%edi
     42 	xorl	%edi,%esi
     43 	movl	%esi,4(%esp)
     44 
     45 	movl	%ebx,%esi
     46 	andl	$255,%esi
     47 	shrl	$16,%ebx
     48 	movzbl	-128(%ebp,%esi,1),%esi
     49 	movzbl	%ch,%edi
     50 	movzbl	-128(%ebp,%edi,1),%edi
     51 	shll	$8,%edi
     52 	xorl	%edi,%esi
     53 	movl	%edx,%edi
     54 	shrl	$16,%edi
     55 	andl	$255,%edi
     56 	movzbl	-128(%ebp,%edi,1),%edi
     57 	shll	$16,%edi
     58 	xorl	%edi,%esi
     59 	movl	%eax,%edi
     60 	shrl	$24,%edi
     61 	movzbl	-128(%ebp,%edi,1),%edi
     62 	shll	$24,%edi
     63 	xorl	%edi,%esi
     64 	movl	%esi,8(%esp)
     65 
     66 	movl	%ecx,%esi
     67 	andl	$255,%esi
     68 	shrl	$24,%ecx
     69 	movzbl	-128(%ebp,%esi,1),%esi
     70 	movzbl	%dh,%edi
     71 	movzbl	-128(%ebp,%edi,1),%edi
     72 	shll	$8,%edi
     73 	xorl	%edi,%esi
     74 	movl	%eax,%edi
     75 	shrl	$16,%edi
     76 	andl	$255,%edx
     77 	andl	$255,%edi
     78 	movzbl	-128(%ebp,%edi,1),%edi
     79 	shll	$16,%edi
     80 	xorl	%edi,%esi
     81 	movzbl	%bh,%edi
     82 	movzbl	-128(%ebp,%edi,1),%edi
     83 	shll	$24,%edi
     84 	xorl	%edi,%esi
     85 
     86 	andl	$255,%edx
     87 	movzbl	-128(%ebp,%edx,1),%edx
     88 	movzbl	%ah,%eax
     89 	movzbl	-128(%ebp,%eax,1),%eax
     90 	shll	$8,%eax
     91 	xorl	%eax,%edx
     92 	movl	4(%esp),%eax
     93 	andl	$255,%ebx
     94 	movzbl	-128(%ebp,%ebx,1),%ebx
     95 	shll	$16,%ebx
     96 	xorl	%ebx,%edx
     97 	movl	8(%esp),%ebx
     98 	movzbl	-128(%ebp,%ecx,1),%ecx
     99 	shll	$24,%ecx
    100 	xorl	%ecx,%edx
    101 	movl	%esi,%ecx
    102 
    103 	movl	%ecx,%esi
    104 	andl	$2155905152,%esi
    105 	movl	%esi,%ebp
    106 	shrl	$7,%ebp
    107 	leal	(%ecx,%ecx,1),%edi
    108 	subl	%ebp,%esi
    109 	andl	$4278124286,%edi
    110 	andl	$454761243,%esi
    111 	movl	%ecx,%ebp
    112 	xorl	%edi,%esi
    113 	xorl	%esi,%ecx
    114 	roll	$24,%ecx
    115 	xorl	%esi,%ecx
    116 	rorl	$16,%ebp
    117 	xorl	%ebp,%ecx
    118 	rorl	$8,%ebp
    119 	xorl	%ebp,%ecx
    120 	movl	%edx,%esi
    121 	andl	$2155905152,%esi
    122 	movl	%esi,%ebp
    123 	shrl	$7,%ebp
    124 	leal	(%edx,%edx,1),%edi
    125 	subl	%ebp,%esi
    126 	andl	$4278124286,%edi
    127 	andl	$454761243,%esi
    128 	movl	%edx,%ebp
    129 	xorl	%edi,%esi
    130 	xorl	%esi,%edx
    131 	roll	$24,%edx
    132 	xorl	%esi,%edx
    133 	rorl	$16,%ebp
    134 	xorl	%ebp,%edx
    135 	rorl	$8,%ebp
    136 	xorl	%ebp,%edx
    137 	movl	%eax,%esi
    138 	andl	$2155905152,%esi
    139 	movl	%esi,%ebp
    140 	shrl	$7,%ebp
    141 	leal	(%eax,%eax,1),%edi
    142 	subl	%ebp,%esi
    143 	andl	$4278124286,%edi
    144 	andl	$454761243,%esi
    145 	movl	%eax,%ebp
    146 	xorl	%edi,%esi
    147 	xorl	%esi,%eax
    148 	roll	$24,%eax
    149 	xorl	%esi,%eax
    150 	rorl	$16,%ebp
    151 	xorl	%ebp,%eax
    152 	rorl	$8,%ebp
    153 	xorl	%ebp,%eax
    154 	movl	%ebx,%esi
    155 	andl	$2155905152,%esi
    156 	movl	%esi,%ebp
    157 	shrl	$7,%ebp
    158 	leal	(%ebx,%ebx,1),%edi
    159 	subl	%ebp,%esi
    160 	andl	$4278124286,%edi
    161 	andl	$454761243,%esi
    162 	movl	%ebx,%ebp
    163 	xorl	%edi,%esi
    164 	xorl	%esi,%ebx
    165 	roll	$24,%ebx
    166 	xorl	%esi,%ebx
    167 	rorl	$16,%ebp
    168 	xorl	%ebp,%ebx
    169 	rorl	$8,%ebp
    170 	xorl	%ebp,%ebx
    171 	movl	20(%esp),%edi
    172 	movl	28(%esp),%ebp
    173 	addl	$16,%edi
    174 	xorl	(%edi),%eax
    175 	xorl	4(%edi),%ebx
    176 	xorl	8(%edi),%ecx
    177 	xorl	12(%edi),%edx
    178 	cmpl	24(%esp),%edi
    179 	movl	%edi,20(%esp)
    180 	jb	.L000loop
    181 	movl	%eax,%esi
    182 	andl	$255,%esi
    183 	movzbl	-128(%ebp,%esi,1),%esi
    184 	movzbl	%bh,%edi
    185 	movzbl	-128(%ebp,%edi,1),%edi
    186 	shll	$8,%edi
    187 	xorl	%edi,%esi
    188 	movl	%ecx,%edi
    189 	shrl	$16,%edi
    190 	andl	$255,%edi
    191 	movzbl	-128(%ebp,%edi,1),%edi
    192 	shll	$16,%edi
    193 	xorl	%edi,%esi
    194 	movl	%edx,%edi
    195 	shrl	$24,%edi
    196 	movzbl	-128(%ebp,%edi,1),%edi
    197 	shll	$24,%edi
    198 	xorl	%edi,%esi
    199 	movl	%esi,4(%esp)
    200 
    201 	movl	%ebx,%esi
    202 	andl	$255,%esi
    203 	shrl	$16,%ebx
    204 	movzbl	-128(%ebp,%esi,1),%esi
    205 	movzbl	%ch,%edi
    206 	movzbl	-128(%ebp,%edi,1),%edi
    207 	shll	$8,%edi
    208 	xorl	%edi,%esi
    209 	movl	%edx,%edi
    210 	shrl	$16,%edi
    211 	andl	$255,%edi
    212 	movzbl	-128(%ebp,%edi,1),%edi
    213 	shll	$16,%edi
    214 	xorl	%edi,%esi
    215 	movl	%eax,%edi
    216 	shrl	$24,%edi
    217 	movzbl	-128(%ebp,%edi,1),%edi
    218 	shll	$24,%edi
    219 	xorl	%edi,%esi
    220 	movl	%esi,8(%esp)
    221 
    222 	movl	%ecx,%esi
    223 	andl	$255,%esi
    224 	shrl	$24,%ecx
    225 	movzbl	-128(%ebp,%esi,1),%esi
    226 	movzbl	%dh,%edi
    227 	movzbl	-128(%ebp,%edi,1),%edi
    228 	shll	$8,%edi
    229 	xorl	%edi,%esi
    230 	movl	%eax,%edi
    231 	shrl	$16,%edi
    232 	andl	$255,%edx
    233 	andl	$255,%edi
    234 	movzbl	-128(%ebp,%edi,1),%edi
    235 	shll	$16,%edi
    236 	xorl	%edi,%esi
    237 	movzbl	%bh,%edi
    238 	movzbl	-128(%ebp,%edi,1),%edi
    239 	shll	$24,%edi
    240 	xorl	%edi,%esi
    241 
    242 	movl	20(%esp),%edi
    243 	andl	$255,%edx
    244 	movzbl	-128(%ebp,%edx,1),%edx
    245 	movzbl	%ah,%eax
    246 	movzbl	-128(%ebp,%eax,1),%eax
    247 	shll	$8,%eax
    248 	xorl	%eax,%edx
    249 	movl	4(%esp),%eax
    250 	andl	$255,%ebx
    251 	movzbl	-128(%ebp,%ebx,1),%ebx
    252 	shll	$16,%ebx
    253 	xorl	%ebx,%edx
    254 	movl	8(%esp),%ebx
    255 	movzbl	-128(%ebp,%ecx,1),%ecx
    256 	shll	$24,%ecx
    257 	xorl	%ecx,%edx
    258 	movl	%esi,%ecx
    259 
    260 	xorl	16(%edi),%eax
    261 	xorl	20(%edi),%ebx
    262 	xorl	24(%edi),%ecx
    263 	xorl	28(%edi),%edx
    264 	ret
    265 .size	_x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact
    266 .type	_sse_AES_encrypt_compact,@function
    267 .align	16
    268 _sse_AES_encrypt_compact:
    269 	pxor	(%edi),%mm0
    270 	pxor	8(%edi),%mm4
    271 	movl	240(%edi),%esi
    272 	leal	-2(%esi,%esi,1),%esi
    273 	leal	(%edi,%esi,8),%esi
    274 	movl	%esi,24(%esp)
    275 	movl	$454761243,%eax
    276 	movl	%eax,8(%esp)
    277 	movl	%eax,12(%esp)
    278 	movl	-128(%ebp),%eax
    279 	movl	-96(%ebp),%ebx
    280 	movl	-64(%ebp),%ecx
    281 	movl	-32(%ebp),%edx
    282 	movl	(%ebp),%eax
    283 	movl	32(%ebp),%ebx
    284 	movl	64(%ebp),%ecx
    285 	movl	96(%ebp),%edx
    286 .align	16
    287 .L001loop:
    288 	pshufw	$8,%mm0,%mm1
    289 	pshufw	$13,%mm4,%mm5
    290 	movd	%mm1,%eax
    291 	movd	%mm5,%ebx
    292 	movzbl	%al,%esi
    293 	movzbl	-128(%ebp,%esi,1),%ecx
    294 	pshufw	$13,%mm0,%mm2
    295 	movzbl	%ah,%edx
    296 	movzbl	-128(%ebp,%edx,1),%edx
    297 	shll	$8,%edx
    298 	shrl	$16,%eax
    299 	movzbl	%bl,%esi
    300 	movzbl	-128(%ebp,%esi,1),%esi
    301 	shll	$16,%esi
    302 	orl	%esi,%ecx
    303 	pshufw	$8,%mm4,%mm6
    304 	movzbl	%bh,%esi
    305 	movzbl	-128(%ebp,%esi,1),%esi
    306 	shll	$24,%esi
    307 	orl	%esi,%edx
    308 	shrl	$16,%ebx
    309 	movzbl	%ah,%esi
    310 	movzbl	-128(%ebp,%esi,1),%esi
    311 	shll	$8,%esi
    312 	orl	%esi,%ecx
    313 	movzbl	%bh,%esi
    314 	movzbl	-128(%ebp,%esi,1),%esi
    315 	shll	$24,%esi
    316 	orl	%esi,%ecx
    317 	movd	%ecx,%mm0
    318 	movzbl	%al,%esi
    319 	movzbl	-128(%ebp,%esi,1),%ecx
    320 	movd	%mm2,%eax
    321 	movzbl	%bl,%esi
    322 	movzbl	-128(%ebp,%esi,1),%esi
    323 	shll	$16,%esi
    324 	orl	%esi,%ecx
    325 	movd	%mm6,%ebx
    326 	movzbl	%ah,%esi
    327 	movzbl	-128(%ebp,%esi,1),%esi
    328 	shll	$24,%esi
    329 	orl	%esi,%ecx
    330 	movzbl	%bh,%esi
    331 	movzbl	-128(%ebp,%esi,1),%esi
    332 	shll	$8,%esi
    333 	orl	%esi,%ecx
    334 	movd	%ecx,%mm1
    335 	movzbl	%bl,%esi
    336 	movzbl	-128(%ebp,%esi,1),%ecx
    337 	shrl	$16,%ebx
    338 	movzbl	%al,%esi
    339 	movzbl	-128(%ebp,%esi,1),%esi
    340 	shll	$16,%esi
    341 	orl	%esi,%ecx
    342 	shrl	$16,%eax
    343 	punpckldq	%mm1,%mm0
    344 	movzbl	%ah,%esi
    345 	movzbl	-128(%ebp,%esi,1),%esi
    346 	shll	$24,%esi
    347 	orl	%esi,%ecx
    348 	andl	$255,%eax
    349 	movzbl	-128(%ebp,%eax,1),%eax
    350 	shll	$16,%eax
    351 	orl	%eax,%edx
    352 	movzbl	%bh,%esi
    353 	movzbl	-128(%ebp,%esi,1),%esi
    354 	shll	$8,%esi
    355 	orl	%esi,%ecx
    356 	movd	%ecx,%mm4
    357 	andl	$255,%ebx
    358 	movzbl	-128(%ebp,%ebx,1),%ebx
    359 	orl	%ebx,%edx
    360 	movd	%edx,%mm5
    361 	punpckldq	%mm5,%mm4
    362 	addl	$16,%edi
    363 	cmpl	24(%esp),%edi
    364 	ja	.L002out
    365 	movq	8(%esp),%mm2
    366 	pxor	%mm3,%mm3
    367 	pxor	%mm7,%mm7
    368 	movq	%mm0,%mm1
    369 	movq	%mm4,%mm5
    370 	pcmpgtb	%mm0,%mm3
    371 	pcmpgtb	%mm4,%mm7
    372 	pand	%mm2,%mm3
    373 	pand	%mm2,%mm7
    374 	pshufw	$177,%mm0,%mm2
    375 	pshufw	$177,%mm4,%mm6
    376 	paddb	%mm0,%mm0
    377 	paddb	%mm4,%mm4
    378 	pxor	%mm3,%mm0
    379 	pxor	%mm7,%mm4
    380 	pshufw	$177,%mm2,%mm3
    381 	pshufw	$177,%mm6,%mm7
    382 	pxor	%mm0,%mm1
    383 	pxor	%mm4,%mm5
    384 	pxor	%mm2,%mm0
    385 	pxor	%mm6,%mm4
    386 	movq	%mm3,%mm2
    387 	movq	%mm7,%mm6
    388 	pslld	$8,%mm3
    389 	pslld	$8,%mm7
    390 	psrld	$24,%mm2
    391 	psrld	$24,%mm6
    392 	pxor	%mm3,%mm0
    393 	pxor	%mm7,%mm4
    394 	pxor	%mm2,%mm0
    395 	pxor	%mm6,%mm4
    396 	movq	%mm1,%mm3
    397 	movq	%mm5,%mm7
    398 	movq	(%edi),%mm2
    399 	movq	8(%edi),%mm6
    400 	psrld	$8,%mm1
    401 	psrld	$8,%mm5
    402 	movl	-128(%ebp),%eax
    403 	pslld	$24,%mm3
    404 	pslld	$24,%mm7
    405 	movl	-64(%ebp),%ebx
    406 	pxor	%mm1,%mm0
    407 	pxor	%mm5,%mm4
    408 	movl	(%ebp),%ecx
    409 	pxor	%mm3,%mm0
    410 	pxor	%mm7,%mm4
    411 	movl	64(%ebp),%edx
    412 	pxor	%mm2,%mm0
    413 	pxor	%mm6,%mm4
    414 	jmp	.L001loop
    415 .align	16
    416 .L002out:
    417 	pxor	(%edi),%mm0
    418 	pxor	8(%edi),%mm4
    419 	ret
    420 .size	_sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact
    421 .type	_x86_AES_encrypt,@function
    422 .align	16
    423 _x86_AES_encrypt:
    424 	movl	%edi,20(%esp)
    425 	xorl	(%edi),%eax
    426 	xorl	4(%edi),%ebx
    427 	xorl	8(%edi),%ecx
    428 	xorl	12(%edi),%edx
    429 	movl	240(%edi),%esi
    430 	leal	-2(%esi,%esi,1),%esi
    431 	leal	(%edi,%esi,8),%esi
    432 	movl	%esi,24(%esp)
    433 .align	16
    434 .L003loop:
    435 	movl	%eax,%esi
    436 	andl	$255,%esi
    437 	movl	(%ebp,%esi,8),%esi
    438 	movzbl	%bh,%edi
    439 	xorl	3(%ebp,%edi,8),%esi
    440 	movl	%ecx,%edi
    441 	shrl	$16,%edi
    442 	andl	$255,%edi
    443 	xorl	2(%ebp,%edi,8),%esi
    444 	movl	%edx,%edi
    445 	shrl	$24,%edi
    446 	xorl	1(%ebp,%edi,8),%esi
    447 	movl	%esi,4(%esp)
    448 
    449 	movl	%ebx,%esi
    450 	andl	$255,%esi
    451 	shrl	$16,%ebx
    452 	movl	(%ebp,%esi,8),%esi
    453 	movzbl	%ch,%edi
    454 	xorl	3(%ebp,%edi,8),%esi
    455 	movl	%edx,%edi
    456 	shrl	$16,%edi
    457 	andl	$255,%edi
    458 	xorl	2(%ebp,%edi,8),%esi
    459 	movl	%eax,%edi
    460 	shrl	$24,%edi
    461 	xorl	1(%ebp,%edi,8),%esi
    462 	movl	%esi,8(%esp)
    463 
    464 	movl	%ecx,%esi
    465 	andl	$255,%esi
    466 	shrl	$24,%ecx
    467 	movl	(%ebp,%esi,8),%esi
    468 	movzbl	%dh,%edi
    469 	xorl	3(%ebp,%edi,8),%esi
    470 	movl	%eax,%edi
    471 	shrl	$16,%edi
    472 	andl	$255,%edx
    473 	andl	$255,%edi
    474 	xorl	2(%ebp,%edi,8),%esi
    475 	movzbl	%bh,%edi
    476 	xorl	1(%ebp,%edi,8),%esi
    477 
    478 	movl	20(%esp),%edi
    479 	movl	(%ebp,%edx,8),%edx
    480 	movzbl	%ah,%eax
    481 	xorl	3(%ebp,%eax,8),%edx
    482 	movl	4(%esp),%eax
    483 	andl	$255,%ebx
    484 	xorl	2(%ebp,%ebx,8),%edx
    485 	movl	8(%esp),%ebx
    486 	xorl	1(%ebp,%ecx,8),%edx
    487 	movl	%esi,%ecx
    488 
    489 	addl	$16,%edi
    490 	xorl	(%edi),%eax
    491 	xorl	4(%edi),%ebx
    492 	xorl	8(%edi),%ecx
    493 	xorl	12(%edi),%edx
    494 	cmpl	24(%esp),%edi
    495 	movl	%edi,20(%esp)
    496 	jb	.L003loop
    497 	movl	%eax,%esi
    498 	andl	$255,%esi
    499 	movl	2(%ebp,%esi,8),%esi
    500 	andl	$255,%esi
    501 	movzbl	%bh,%edi
    502 	movl	(%ebp,%edi,8),%edi
    503 	andl	$65280,%edi
    504 	xorl	%edi,%esi
    505 	movl	%ecx,%edi
    506 	shrl	$16,%edi
    507 	andl	$255,%edi
    508 	movl	(%ebp,%edi,8),%edi
    509 	andl	$16711680,%edi
    510 	xorl	%edi,%esi
    511 	movl	%edx,%edi
    512 	shrl	$24,%edi
    513 	movl	2(%ebp,%edi,8),%edi
    514 	andl	$4278190080,%edi
    515 	xorl	%edi,%esi
    516 	movl	%esi,4(%esp)
    517 	movl	%ebx,%esi
    518 	andl	$255,%esi
    519 	shrl	$16,%ebx
    520 	movl	2(%ebp,%esi,8),%esi
    521 	andl	$255,%esi
    522 	movzbl	%ch,%edi
    523 	movl	(%ebp,%edi,8),%edi
    524 	andl	$65280,%edi
    525 	xorl	%edi,%esi
    526 	movl	%edx,%edi
    527 	shrl	$16,%edi
    528 	andl	$255,%edi
    529 	movl	(%ebp,%edi,8),%edi
    530 	andl	$16711680,%edi
    531 	xorl	%edi,%esi
    532 	movl	%eax,%edi
    533 	shrl	$24,%edi
    534 	movl	2(%ebp,%edi,8),%edi
    535 	andl	$4278190080,%edi
    536 	xorl	%edi,%esi
    537 	movl	%esi,8(%esp)
    538 	movl	%ecx,%esi
    539 	andl	$255,%esi
    540 	shrl	$24,%ecx
    541 	movl	2(%ebp,%esi,8),%esi
    542 	andl	$255,%esi
    543 	movzbl	%dh,%edi
    544 	movl	(%ebp,%edi,8),%edi
    545 	andl	$65280,%edi
    546 	xorl	%edi,%esi
    547 	movl	%eax,%edi
    548 	shrl	$16,%edi
    549 	andl	$255,%edx
    550 	andl	$255,%edi
    551 	movl	(%ebp,%edi,8),%edi
    552 	andl	$16711680,%edi
    553 	xorl	%edi,%esi
    554 	movzbl	%bh,%edi
    555 	movl	2(%ebp,%edi,8),%edi
    556 	andl	$4278190080,%edi
    557 	xorl	%edi,%esi
    558 	movl	20(%esp),%edi
    559 	andl	$255,%edx
    560 	movl	2(%ebp,%edx,8),%edx
    561 	andl	$255,%edx
    562 	movzbl	%ah,%eax
    563 	movl	(%ebp,%eax,8),%eax
    564 	andl	$65280,%eax
    565 	xorl	%eax,%edx
    566 	movl	4(%esp),%eax
    567 	andl	$255,%ebx
    568 	movl	(%ebp,%ebx,8),%ebx
    569 	andl	$16711680,%ebx
    570 	xorl	%ebx,%edx
    571 	movl	8(%esp),%ebx
    572 	movl	2(%ebp,%ecx,8),%ecx
    573 	andl	$4278190080,%ecx
    574 	xorl	%ecx,%edx
    575 	movl	%esi,%ecx
    576 	addl	$16,%edi
    577 	xorl	(%edi),%eax
    578 	xorl	4(%edi),%ebx
    579 	xorl	8(%edi),%ecx
    580 	xorl	12(%edi),%edx
    581 	ret
    582 .align	64
    583 .LAES_Te:
    584 .long	2774754246,2774754246
    585 .long	2222750968,2222750968
    586 .long	2574743534,2574743534
    587 .long	2373680118,2373680118
    588 .long	234025727,234025727
    589 .long	3177933782,3177933782
    590 .long	2976870366,2976870366
    591 .long	1422247313,1422247313
    592 .long	1345335392,1345335392
    593 .long	50397442,50397442
    594 .long	2842126286,2842126286
    595 .long	2099981142,2099981142
    596 .long	436141799,436141799
    597 .long	1658312629,1658312629
    598 .long	3870010189,3870010189
    599 .long	2591454956,2591454956
    600 .long	1170918031,1170918031
    601 .long	2642575903,2642575903
    602 .long	1086966153,1086966153
    603 .long	2273148410,2273148410
    604 .long	368769775,368769775
    605 .long	3948501426,3948501426
    606 .long	3376891790,3376891790
    607 .long	200339707,200339707
    608 .long	3970805057,3970805057
    609 .long	1742001331,1742001331
    610 .long	4255294047,4255294047
    611 .long	3937382213,3937382213
    612 .long	3214711843,3214711843
    613 .long	4154762323,4154762323
    614 .long	2524082916,2524082916
    615 .long	1539358875,1539358875
    616 .long	3266819957,3266819957
    617 .long	486407649,486407649
    618 .long	2928907069,2928907069
    619 .long	1780885068,1780885068
    620 .long	1513502316,1513502316
    621 .long	1094664062,1094664062
    622 .long	49805301,49805301
    623 .long	1338821763,1338821763
    624 .long	1546925160,1546925160
    625 .long	4104496465,4104496465
    626 .long	887481809,887481809
    627 .long	150073849,150073849
    628 .long	2473685474,2473685474
    629 .long	1943591083,1943591083
    630 .long	1395732834,1395732834
    631 .long	1058346282,1058346282
    632 .long	201589768,201589768
    633 .long	1388824469,1388824469
    634 .long	1696801606,1696801606
    635 .long	1589887901,1589887901
    636 .long	672667696,672667696
    637 .long	2711000631,2711000631
    638 .long	251987210,251987210
    639 .long	3046808111,3046808111
    640 .long	151455502,151455502
    641 .long	907153956,907153956
    642 .long	2608889883,2608889883
    643 .long	1038279391,1038279391
    644 .long	652995533,652995533
    645 .long	1764173646,1764173646
    646 .long	3451040383,3451040383
    647 .long	2675275242,2675275242
    648 .long	453576978,453576978
    649 .long	2659418909,2659418909
    650 .long	1949051992,1949051992
    651 .long	773462580,773462580
    652 .long	756751158,756751158
    653 .long	2993581788,2993581788
    654 .long	3998898868,3998898868
    655 .long	4221608027,4221608027
    656 .long	4132590244,4132590244
    657 .long	1295727478,1295727478
    658 .long	1641469623,1641469623
    659 .long	3467883389,3467883389
    660 .long	2066295122,2066295122
    661 .long	1055122397,1055122397
    662 .long	1898917726,1898917726
    663 .long	2542044179,2542044179
    664 .long	4115878822,4115878822
    665 .long	1758581177,1758581177
    666 .long	0,0
    667 .long	753790401,753790401
    668 .long	1612718144,1612718144
    669 .long	536673507,536673507
    670 .long	3367088505,3367088505
    671 .long	3982187446,3982187446
    672 .long	3194645204,3194645204
    673 .long	1187761037,1187761037
    674 .long	3653156455,3653156455
    675 .long	1262041458,1262041458
    676 .long	3729410708,3729410708
    677 .long	3561770136,3561770136
    678 .long	3898103984,3898103984
    679 .long	1255133061,1255133061
    680 .long	1808847035,1808847035
    681 .long	720367557,720367557
    682 .long	3853167183,3853167183
    683 .long	385612781,385612781
    684 .long	3309519750,3309519750
    685 .long	3612167578,3612167578
    686 .long	1429418854,1429418854
    687 .long	2491778321,2491778321
    688 .long	3477423498,3477423498
    689 .long	284817897,284817897
    690 .long	100794884,100794884
    691 .long	2172616702,2172616702
    692 .long	4031795360,4031795360
    693 .long	1144798328,1144798328
    694 .long	3131023141,3131023141
    695 .long	3819481163,3819481163
    696 .long	4082192802,4082192802
    697 .long	4272137053,4272137053
    698 .long	3225436288,3225436288
    699 .long	2324664069,2324664069
    700 .long	2912064063,2912064063
    701 .long	3164445985,3164445985
    702 .long	1211644016,1211644016
    703 .long	83228145,83228145
    704 .long	3753688163,3753688163
    705 .long	3249976951,3249976951
    706 .long	1977277103,1977277103
    707 .long	1663115586,1663115586
    708 .long	806359072,806359072
    709 .long	452984805,452984805
    710 .long	250868733,250868733
    711 .long	1842533055,1842533055
    712 .long	1288555905,1288555905
    713 .long	336333848,336333848
    714 .long	890442534,890442534
    715 .long	804056259,804056259
    716 .long	3781124030,3781124030
    717 .long	2727843637,2727843637
    718 .long	3427026056,3427026056
    719 .long	957814574,957814574
    720 .long	1472513171,1472513171
    721 .long	4071073621,4071073621
    722 .long	2189328124,2189328124
    723 .long	1195195770,1195195770
    724 .long	2892260552,2892260552
    725 .long	3881655738,3881655738
    726 .long	723065138,723065138
    727 .long	2507371494,2507371494
    728 .long	2690670784,2690670784
    729 .long	2558624025,2558624025
    730 .long	3511635870,3511635870
    731 .long	2145180835,2145180835
    732 .long	1713513028,1713513028
    733 .long	2116692564,2116692564
    734 .long	2878378043,2878378043
    735 .long	2206763019,2206763019
    736 .long	3393603212,3393603212
    737 .long	703524551,703524551
    738 .long	3552098411,3552098411
    739 .long	1007948840,1007948840
    740 .long	2044649127,2044649127
    741 .long	3797835452,3797835452
    742 .long	487262998,487262998
    743 .long	1994120109,1994120109
    744 .long	1004593371,1004593371
    745 .long	1446130276,1446130276
    746 .long	1312438900,1312438900
    747 .long	503974420,503974420
    748 .long	3679013266,3679013266
    749 .long	168166924,168166924
    750 .long	1814307912,1814307912
    751 .long	3831258296,3831258296
    752 .long	1573044895,1573044895
    753 .long	1859376061,1859376061
    754 .long	4021070915,4021070915
    755 .long	2791465668,2791465668
    756 .long	2828112185,2828112185
    757 .long	2761266481,2761266481
    758 .long	937747667,937747667
    759 .long	2339994098,2339994098
    760 .long	854058965,854058965
    761 .long	1137232011,1137232011
    762 .long	1496790894,1496790894
    763 .long	3077402074,3077402074
    764 .long	2358086913,2358086913
    765 .long	1691735473,1691735473
    766 .long	3528347292,3528347292
    767 .long	3769215305,3769215305
    768 .long	3027004632,3027004632
    769 .long	4199962284,4199962284
    770 .long	133494003,133494003
    771 .long	636152527,636152527
    772 .long	2942657994,2942657994
    773 .long	2390391540,2390391540
    774 .long	3920539207,3920539207
    775 .long	403179536,403179536
    776 .long	3585784431,3585784431
    777 .long	2289596656,2289596656
    778 .long	1864705354,1864705354
    779 .long	1915629148,1915629148
    780 .long	605822008,605822008
    781 .long	4054230615,4054230615
    782 .long	3350508659,3350508659
    783 .long	1371981463,1371981463
    784 .long	602466507,602466507
    785 .long	2094914977,2094914977
    786 .long	2624877800,2624877800
    787 .long	555687742,555687742
    788 .long	3712699286,3712699286
    789 .long	3703422305,3703422305
    790 .long	2257292045,2257292045
    791 .long	2240449039,2240449039
    792 .long	2423288032,2423288032
    793 .long	1111375484,1111375484
    794 .long	3300242801,3300242801
    795 .long	2858837708,2858837708
    796 .long	3628615824,3628615824
    797 .long	84083462,84083462
    798 .long	32962295,32962295
    799 .long	302911004,302911004
    800 .long	2741068226,2741068226
    801 .long	1597322602,1597322602
    802 .long	4183250862,4183250862
    803 .long	3501832553,3501832553
    804 .long	2441512471,2441512471
    805 .long	1489093017,1489093017
    806 .long	656219450,656219450
    807 .long	3114180135,3114180135
    808 .long	954327513,954327513
    809 .long	335083755,335083755
    810 .long	3013122091,3013122091
    811 .long	856756514,856756514
    812 .long	3144247762,3144247762
    813 .long	1893325225,1893325225
    814 .long	2307821063,2307821063
    815 .long	2811532339,2811532339
    816 .long	3063651117,3063651117
    817 .long	572399164,572399164
    818 .long	2458355477,2458355477
    819 .long	552200649,552200649
    820 .long	1238290055,1238290055
    821 .long	4283782570,4283782570
    822 .long	2015897680,2015897680
    823 .long	2061492133,2061492133
    824 .long	2408352771,2408352771
    825 .long	4171342169,4171342169
    826 .long	2156497161,2156497161
    827 .long	386731290,386731290
    828 .long	3669999461,3669999461
    829 .long	837215959,837215959
    830 .long	3326231172,3326231172
    831 .long	3093850320,3093850320
    832 .long	3275833730,3275833730
    833 .long	2962856233,2962856233
    834 .long	1999449434,1999449434
    835 .long	286199582,286199582
    836 .long	3417354363,3417354363
    837 .long	4233385128,4233385128
    838 .long	3602627437,3602627437
    839 .long	974525996,974525996
    840 .byte	99,124,119,123,242,107,111,197
    841 .byte	48,1,103,43,254,215,171,118
    842 .byte	202,130,201,125,250,89,71,240
    843 .byte	173,212,162,175,156,164,114,192
    844 .byte	183,253,147,38,54,63,247,204
    845 .byte	52,165,229,241,113,216,49,21
    846 .byte	4,199,35,195,24,150,5,154
    847 .byte	7,18,128,226,235,39,178,117
    848 .byte	9,131,44,26,27,110,90,160
    849 .byte	82,59,214,179,41,227,47,132
    850 .byte	83,209,0,237,32,252,177,91
    851 .byte	106,203,190,57,74,76,88,207
    852 .byte	208,239,170,251,67,77,51,133
    853 .byte	69,249,2,127,80,60,159,168
    854 .byte	81,163,64,143,146,157,56,245
    855 .byte	188,182,218,33,16,255,243,210
    856 .byte	205,12,19,236,95,151,68,23
    857 .byte	196,167,126,61,100,93,25,115
    858 .byte	96,129,79,220,34,42,144,136
    859 .byte	70,238,184,20,222,94,11,219
    860 .byte	224,50,58,10,73,6,36,92
    861 .byte	194,211,172,98,145,149,228,121
    862 .byte	231,200,55,109,141,213,78,169
    863 .byte	108,86,244,234,101,122,174,8
    864 .byte	186,120,37,46,28,166,180,198
    865 .byte	232,221,116,31,75,189,139,138
    866 .byte	112,62,181,102,72,3,246,14
    867 .byte	97,53,87,185,134,193,29,158
    868 .byte	225,248,152,17,105,217,142,148
    869 .byte	155,30,135,233,206,85,40,223
    870 .byte	140,161,137,13,191,230,66,104
    871 .byte	65,153,45,15,176,84,187,22
    872 .byte	99,124,119,123,242,107,111,197
    873 .byte	48,1,103,43,254,215,171,118
    874 .byte	202,130,201,125,250,89,71,240
    875 .byte	173,212,162,175,156,164,114,192
    876 .byte	183,253,147,38,54,63,247,204
    877 .byte	52,165,229,241,113,216,49,21
    878 .byte	4,199,35,195,24,150,5,154
    879 .byte	7,18,128,226,235,39,178,117
    880 .byte	9,131,44,26,27,110,90,160
    881 .byte	82,59,214,179,41,227,47,132
    882 .byte	83,209,0,237,32,252,177,91
    883 .byte	106,203,190,57,74,76,88,207
    884 .byte	208,239,170,251,67,77,51,133
    885 .byte	69,249,2,127,80,60,159,168
    886 .byte	81,163,64,143,146,157,56,245
    887 .byte	188,182,218,33,16,255,243,210
    888 .byte	205,12,19,236,95,151,68,23
    889 .byte	196,167,126,61,100,93,25,115
    890 .byte	96,129,79,220,34,42,144,136
    891 .byte	70,238,184,20,222,94,11,219
    892 .byte	224,50,58,10,73,6,36,92
    893 .byte	194,211,172,98,145,149,228,121
    894 .byte	231,200,55,109,141,213,78,169
    895 .byte	108,86,244,234,101,122,174,8
    896 .byte	186,120,37,46,28,166,180,198
    897 .byte	232,221,116,31,75,189,139,138
    898 .byte	112,62,181,102,72,3,246,14
    899 .byte	97,53,87,185,134,193,29,158
    900 .byte	225,248,152,17,105,217,142,148
    901 .byte	155,30,135,233,206,85,40,223
    902 .byte	140,161,137,13,191,230,66,104
    903 .byte	65,153,45,15,176,84,187,22
    904 .byte	99,124,119,123,242,107,111,197
    905 .byte	48,1,103,43,254,215,171,118
    906 .byte	202,130,201,125,250,89,71,240
    907 .byte	173,212,162,175,156,164,114,192
    908 .byte	183,253,147,38,54,63,247,204
    909 .byte	52,165,229,241,113,216,49,21
    910 .byte	4,199,35,195,24,150,5,154
    911 .byte	7,18,128,226,235,39,178,117
    912 .byte	9,131,44,26,27,110,90,160
    913 .byte	82,59,214,179,41,227,47,132
    914 .byte	83,209,0,237,32,252,177,91
    915 .byte	106,203,190,57,74,76,88,207
    916 .byte	208,239,170,251,67,77,51,133
    917 .byte	69,249,2,127,80,60,159,168
    918 .byte	81,163,64,143,146,157,56,245
    919 .byte	188,182,218,33,16,255,243,210
    920 .byte	205,12,19,236,95,151,68,23
    921 .byte	196,167,126,61,100,93,25,115
    922 .byte	96,129,79,220,34,42,144,136
    923 .byte	70,238,184,20,222,94,11,219
    924 .byte	224,50,58,10,73,6,36,92
    925 .byte	194,211,172,98,145,149,228,121
    926 .byte	231,200,55,109,141,213,78,169
    927 .byte	108,86,244,234,101,122,174,8
    928 .byte	186,120,37,46,28,166,180,198
    929 .byte	232,221,116,31,75,189,139,138
    930 .byte	112,62,181,102,72,3,246,14
    931 .byte	97,53,87,185,134,193,29,158
    932 .byte	225,248,152,17,105,217,142,148
    933 .byte	155,30,135,233,206,85,40,223
    934 .byte	140,161,137,13,191,230,66,104
    935 .byte	65,153,45,15,176,84,187,22
    936 .byte	99,124,119,123,242,107,111,197
    937 .byte	48,1,103,43,254,215,171,118
    938 .byte	202,130,201,125,250,89,71,240
    939 .byte	173,212,162,175,156,164,114,192
    940 .byte	183,253,147,38,54,63,247,204
    941 .byte	52,165,229,241,113,216,49,21
    942 .byte	4,199,35,195,24,150,5,154
    943 .byte	7,18,128,226,235,39,178,117
    944 .byte	9,131,44,26,27,110,90,160
    945 .byte	82,59,214,179,41,227,47,132
    946 .byte	83,209,0,237,32,252,177,91
    947 .byte	106,203,190,57,74,76,88,207
    948 .byte	208,239,170,251,67,77,51,133
    949 .byte	69,249,2,127,80,60,159,168
    950 .byte	81,163,64,143,146,157,56,245
    951 .byte	188,182,218,33,16,255,243,210
    952 .byte	205,12,19,236,95,151,68,23
    953 .byte	196,167,126,61,100,93,25,115
    954 .byte	96,129,79,220,34,42,144,136
    955 .byte	70,238,184,20,222,94,11,219
    956 .byte	224,50,58,10,73,6,36,92
    957 .byte	194,211,172,98,145,149,228,121
    958 .byte	231,200,55,109,141,213,78,169
    959 .byte	108,86,244,234,101,122,174,8
    960 .byte	186,120,37,46,28,166,180,198
    961 .byte	232,221,116,31,75,189,139,138
    962 .byte	112,62,181,102,72,3,246,14
    963 .byte	97,53,87,185,134,193,29,158
    964 .byte	225,248,152,17,105,217,142,148
    965 .byte	155,30,135,233,206,85,40,223
    966 .byte	140,161,137,13,191,230,66,104
    967 .byte	65,153,45,15,176,84,187,22
    968 .long	1,2,4,8
    969 .long	16,32,64,128
    970 .long	27,54,0,0
    971 .long	0,0,0,0
    972 .size	_x86_AES_encrypt,.-_x86_AES_encrypt
    973 .globl	AES_encrypt
    974 .type	AES_encrypt,@function
    975 .align	16
    976 AES_encrypt:
    977 .L_AES_encrypt_begin:
    978 	pushl	%ebp
    979 	pushl	%ebx
    980 	pushl	%esi
    981 	pushl	%edi
    982 	movl	20(%esp),%esi
    983 	movl	28(%esp),%edi
    984 	movl	%esp,%eax
    985 	subl	$36,%esp
    986 	andl	$-64,%esp
    987 	leal	-127(%edi),%ebx
    988 	subl	%esp,%ebx
    989 	negl	%ebx
    990 	andl	$960,%ebx
    991 	subl	%ebx,%esp
    992 	addl	$4,%esp
    993 	movl	%eax,28(%esp)
    994 	call	.L004pic_point
    995 .L004pic_point:
    996 	popl	%ebp
    997 	leal	_GLOBAL_OFFSET_TABLE_+[.-.L004pic_point](%ebp),%eax
    998 	movl	OPENSSL_ia32cap_P@GOT(%eax),%eax
    999 	leal	.LAES_Te-.L004pic_point(%ebp),%ebp
   1000 	leal	764(%esp),%ebx
   1001 	subl	%ebp,%ebx
   1002 	andl	$768,%ebx
   1003 	leal	2176(%ebp,%ebx,1),%ebp
   1004 	btl	$25,(%eax)
   1005 	jnc	.L005x86
   1006 	movq	(%esi),%mm0
   1007 	movq	8(%esi),%mm4
   1008 	call	_sse_AES_encrypt_compact
   1009 	movl	28(%esp),%esp
   1010 	movl	24(%esp),%esi
   1011 	movq	%mm0,(%esi)
   1012 	movq	%mm4,8(%esi)
   1013 	emms
   1014 	popl	%edi
   1015 	popl	%esi
   1016 	popl	%ebx
   1017 	popl	%ebp
   1018 	ret
   1019 .align	16
   1020 .L005x86:
   1021 	movl	%ebp,24(%esp)
   1022 	movl	(%esi),%eax
   1023 	movl	4(%esi),%ebx
   1024 	movl	8(%esi),%ecx
   1025 	movl	12(%esi),%edx
   1026 	call	_x86_AES_encrypt_compact
   1027 	movl	28(%esp),%esp
   1028 	movl	24(%esp),%esi
   1029 	movl	%eax,(%esi)
   1030 	movl	%ebx,4(%esi)
   1031 	movl	%ecx,8(%esi)
   1032 	movl	%edx,12(%esi)
   1033 	popl	%edi
   1034 	popl	%esi
   1035 	popl	%ebx
   1036 	popl	%ebp
   1037 	ret
   1038 .size	AES_encrypt,.-.L_AES_encrypt_begin
   1039 .type	_x86_AES_decrypt_compact,@function
   1040 .align	16
   1041 _x86_AES_decrypt_compact:
   1042 	movl	%edi,20(%esp)
   1043 	xorl	(%edi),%eax
   1044 	xorl	4(%edi),%ebx
   1045 	xorl	8(%edi),%ecx
   1046 	xorl	12(%edi),%edx
   1047 	movl	240(%edi),%esi
   1048 	leal	-2(%esi,%esi,1),%esi
   1049 	leal	(%edi,%esi,8),%esi
   1050 	movl	%esi,24(%esp)
   1051 	movl	-128(%ebp),%edi
   1052 	movl	-96(%ebp),%esi
   1053 	movl	-64(%ebp),%edi
   1054 	movl	-32(%ebp),%esi
   1055 	movl	(%ebp),%edi
   1056 	movl	32(%ebp),%esi
   1057 	movl	64(%ebp),%edi
   1058 	movl	96(%ebp),%esi
   1059 .align	16
   1060 .L006loop:
   1061 	movl	%eax,%esi
   1062 	andl	$255,%esi
   1063 	movzbl	-128(%ebp,%esi,1),%esi
   1064 	movzbl	%dh,%edi
   1065 	movzbl	-128(%ebp,%edi,1),%edi
   1066 	shll	$8,%edi
   1067 	xorl	%edi,%esi
   1068 	movl	%ecx,%edi
   1069 	shrl	$16,%edi
   1070 	andl	$255,%edi
   1071 	movzbl	-128(%ebp,%edi,1),%edi
   1072 	shll	$16,%edi
   1073 	xorl	%edi,%esi
   1074 	movl	%ebx,%edi
   1075 	shrl	$24,%edi
   1076 	movzbl	-128(%ebp,%edi,1),%edi
   1077 	shll	$24,%edi
   1078 	xorl	%edi,%esi
   1079 	movl	%esi,4(%esp)
   1080 	movl	%ebx,%esi
   1081 	andl	$255,%esi
   1082 	movzbl	-128(%ebp,%esi,1),%esi
   1083 	movzbl	%ah,%edi
   1084 	movzbl	-128(%ebp,%edi,1),%edi
   1085 	shll	$8,%edi
   1086 	xorl	%edi,%esi
   1087 	movl	%edx,%edi
   1088 	shrl	$16,%edi
   1089 	andl	$255,%edi
   1090 	movzbl	-128(%ebp,%edi,1),%edi
   1091 	shll	$16,%edi
   1092 	xorl	%edi,%esi
   1093 	movl	%ecx,%edi
   1094 	shrl	$24,%edi
   1095 	movzbl	-128(%ebp,%edi,1),%edi
   1096 	shll	$24,%edi
   1097 	xorl	%edi,%esi
   1098 	movl	%esi,8(%esp)
   1099 	movl	%ecx,%esi
   1100 	andl	$255,%esi
   1101 	movzbl	-128(%ebp,%esi,1),%esi
   1102 	movzbl	%bh,%edi
   1103 	movzbl	-128(%ebp,%edi,1),%edi
   1104 	shll	$8,%edi
   1105 	xorl	%edi,%esi
   1106 	movl	%eax,%edi
   1107 	shrl	$16,%edi
   1108 	andl	$255,%edi
   1109 	movzbl	-128(%ebp,%edi,1),%edi
   1110 	shll	$16,%edi
   1111 	xorl	%edi,%esi
   1112 	movl	%edx,%edi
   1113 	shrl	$24,%edi
   1114 	movzbl	-128(%ebp,%edi,1),%edi
   1115 	shll	$24,%edi
   1116 	xorl	%edi,%esi
   1117 	andl	$255,%edx
   1118 	movzbl	-128(%ebp,%edx,1),%edx
   1119 	movzbl	%ch,%ecx
   1120 	movzbl	-128(%ebp,%ecx,1),%ecx
   1121 	shll	$8,%ecx
   1122 	xorl	%ecx,%edx
   1123 	movl	%esi,%ecx
   1124 	shrl	$16,%ebx
   1125 	andl	$255,%ebx
   1126 	movzbl	-128(%ebp,%ebx,1),%ebx
   1127 	shll	$16,%ebx
   1128 	xorl	%ebx,%edx
   1129 	shrl	$24,%eax
   1130 	movzbl	-128(%ebp,%eax,1),%eax
   1131 	shll	$24,%eax
   1132 	xorl	%eax,%edx
   1133 	movl	%ecx,%esi
   1134 	andl	$2155905152,%esi
   1135 	movl	%esi,%edi
   1136 	shrl	$7,%edi
   1137 	leal	(%ecx,%ecx,1),%eax
   1138 	subl	%edi,%esi
   1139 	andl	$4278124286,%eax
   1140 	andl	$454761243,%esi
   1141 	xorl	%eax,%esi
   1142 	movl	%esi,%eax
   1143 	andl	$2155905152,%esi
   1144 	movl	%esi,%edi
   1145 	shrl	$7,%edi
   1146 	leal	(%eax,%eax,1),%ebx
   1147 	subl	%edi,%esi
   1148 	andl	$4278124286,%ebx
   1149 	andl	$454761243,%esi
   1150 	xorl	%ecx,%eax
   1151 	xorl	%ebx,%esi
   1152 	movl	%esi,%ebx
   1153 	andl	$2155905152,%esi
   1154 	movl	%esi,%edi
   1155 	shrl	$7,%edi
   1156 	leal	(%ebx,%ebx,1),%ebp
   1157 	subl	%edi,%esi
   1158 	andl	$4278124286,%ebp
   1159 	andl	$454761243,%esi
   1160 	xorl	%ecx,%ebx
   1161 	roll	$8,%ecx
   1162 	xorl	%esi,%ebp
   1163 	xorl	%eax,%ecx
   1164 	xorl	%ebp,%eax
   1165 	roll	$24,%eax
   1166 	xorl	%ebx,%ecx
   1167 	xorl	%ebp,%ebx
   1168 	roll	$16,%ebx
   1169 	xorl	%ebp,%ecx
   1170 	roll	$8,%ebp
   1171 	xorl	%eax,%ecx
   1172 	xorl	%ebx,%ecx
   1173 	movl	4(%esp),%eax
   1174 	xorl	%ebp,%ecx
   1175 	movl	%ecx,12(%esp)
   1176 	movl	%edx,%esi
   1177 	andl	$2155905152,%esi
   1178 	movl	%esi,%edi
   1179 	shrl	$7,%edi
   1180 	leal	(%edx,%edx,1),%ebx
   1181 	subl	%edi,%esi
   1182 	andl	$4278124286,%ebx
   1183 	andl	$454761243,%esi
   1184 	xorl	%ebx,%esi
   1185 	movl	%esi,%ebx
   1186 	andl	$2155905152,%esi
   1187 	movl	%esi,%edi
   1188 	shrl	$7,%edi
   1189 	leal	(%ebx,%ebx,1),%ecx
   1190 	subl	%edi,%esi
   1191 	andl	$4278124286,%ecx
   1192 	andl	$454761243,%esi
   1193 	xorl	%edx,%ebx
   1194 	xorl	%ecx,%esi
   1195 	movl	%esi,%ecx
   1196 	andl	$2155905152,%esi
   1197 	movl	%esi,%edi
   1198 	shrl	$7,%edi
   1199 	leal	(%ecx,%ecx,1),%ebp
   1200 	subl	%edi,%esi
   1201 	andl	$4278124286,%ebp
   1202 	andl	$454761243,%esi
   1203 	xorl	%edx,%ecx
   1204 	roll	$8,%edx
   1205 	xorl	%esi,%ebp
   1206 	xorl	%ebx,%edx
   1207 	xorl	%ebp,%ebx
   1208 	roll	$24,%ebx
   1209 	xorl	%ecx,%edx
   1210 	xorl	%ebp,%ecx
   1211 	roll	$16,%ecx
   1212 	xorl	%ebp,%edx
   1213 	roll	$8,%ebp
   1214 	xorl	%ebx,%edx
   1215 	xorl	%ecx,%edx
   1216 	movl	8(%esp),%ebx
   1217 	xorl	%ebp,%edx
   1218 	movl	%edx,16(%esp)
   1219 	movl	%eax,%esi
   1220 	andl	$2155905152,%esi
   1221 	movl	%esi,%edi
   1222 	shrl	$7,%edi
   1223 	leal	(%eax,%eax,1),%ecx
   1224 	subl	%edi,%esi
   1225 	andl	$4278124286,%ecx
   1226 	andl	$454761243,%esi
   1227 	xorl	%ecx,%esi
   1228 	movl	%esi,%ecx
   1229 	andl	$2155905152,%esi
   1230 	movl	%esi,%edi
   1231 	shrl	$7,%edi
   1232 	leal	(%ecx,%ecx,1),%edx
   1233 	subl	%edi,%esi
   1234 	andl	$4278124286,%edx
   1235 	andl	$454761243,%esi
   1236 	xorl	%eax,%ecx
   1237 	xorl	%edx,%esi
   1238 	movl	%esi,%edx
   1239 	andl	$2155905152,%esi
   1240 	movl	%esi,%edi
   1241 	shrl	$7,%edi
   1242 	leal	(%edx,%edx,1),%ebp
   1243 	subl	%edi,%esi
   1244 	andl	$4278124286,%ebp
   1245 	andl	$454761243,%esi
   1246 	xorl	%eax,%edx
   1247 	roll	$8,%eax
   1248 	xorl	%esi,%ebp
   1249 	xorl	%ecx,%eax
   1250 	xorl	%ebp,%ecx
   1251 	roll	$24,%ecx
   1252 	xorl	%edx,%eax
   1253 	xorl	%ebp,%edx
   1254 	roll	$16,%edx
   1255 	xorl	%ebp,%eax
   1256 	roll	$8,%ebp
   1257 	xorl	%ecx,%eax
   1258 	xorl	%edx,%eax
   1259 	xorl	%ebp,%eax
   1260 	movl	%ebx,%esi
   1261 	andl	$2155905152,%esi
   1262 	movl	%esi,%edi
   1263 	shrl	$7,%edi
   1264 	leal	(%ebx,%ebx,1),%ecx
   1265 	subl	%edi,%esi
   1266 	andl	$4278124286,%ecx
   1267 	andl	$454761243,%esi
   1268 	xorl	%ecx,%esi
   1269 	movl	%esi,%ecx
   1270 	andl	$2155905152,%esi
   1271 	movl	%esi,%edi
   1272 	shrl	$7,%edi
   1273 	leal	(%ecx,%ecx,1),%edx
   1274 	subl	%edi,%esi
   1275 	andl	$4278124286,%edx
   1276 	andl	$454761243,%esi
   1277 	xorl	%ebx,%ecx
   1278 	xorl	%edx,%esi
   1279 	movl	%esi,%edx
   1280 	andl	$2155905152,%esi
   1281 	movl	%esi,%edi
   1282 	shrl	$7,%edi
   1283 	leal	(%edx,%edx,1),%ebp
   1284 	subl	%edi,%esi
   1285 	andl	$4278124286,%ebp
   1286 	andl	$454761243,%esi
   1287 	xorl	%ebx,%edx
   1288 	roll	$8,%ebx
   1289 	xorl	%esi,%ebp
   1290 	xorl	%ecx,%ebx
   1291 	xorl	%ebp,%ecx
   1292 	roll	$24,%ecx
   1293 	xorl	%edx,%ebx
   1294 	xorl	%ebp,%edx
   1295 	roll	$16,%edx
   1296 	xorl	%ebp,%ebx
   1297 	roll	$8,%ebp
   1298 	xorl	%ecx,%ebx
   1299 	xorl	%edx,%ebx
   1300 	movl	12(%esp),%ecx
   1301 	xorl	%ebp,%ebx
   1302 	movl	16(%esp),%edx
   1303 	movl	20(%esp),%edi
   1304 	movl	28(%esp),%ebp
   1305 	addl	$16,%edi
   1306 	xorl	(%edi),%eax
   1307 	xorl	4(%edi),%ebx
   1308 	xorl	8(%edi),%ecx
   1309 	xorl	12(%edi),%edx
   1310 	cmpl	24(%esp),%edi
   1311 	movl	%edi,20(%esp)
   1312 	jb	.L006loop
   1313 	movl	%eax,%esi
   1314 	andl	$255,%esi
   1315 	movzbl	-128(%ebp,%esi,1),%esi
   1316 	movzbl	%dh,%edi
   1317 	movzbl	-128(%ebp,%edi,1),%edi
   1318 	shll	$8,%edi
   1319 	xorl	%edi,%esi
   1320 	movl	%ecx,%edi
   1321 	shrl	$16,%edi
   1322 	andl	$255,%edi
   1323 	movzbl	-128(%ebp,%edi,1),%edi
   1324 	shll	$16,%edi
   1325 	xorl	%edi,%esi
   1326 	movl	%ebx,%edi
   1327 	shrl	$24,%edi
   1328 	movzbl	-128(%ebp,%edi,1),%edi
   1329 	shll	$24,%edi
   1330 	xorl	%edi,%esi
   1331 	movl	%esi,4(%esp)
   1332 	movl	%ebx,%esi
   1333 	andl	$255,%esi
   1334 	movzbl	-128(%ebp,%esi,1),%esi
   1335 	movzbl	%ah,%edi
   1336 	movzbl	-128(%ebp,%edi,1),%edi
   1337 	shll	$8,%edi
   1338 	xorl	%edi,%esi
   1339 	movl	%edx,%edi
   1340 	shrl	$16,%edi
   1341 	andl	$255,%edi
   1342 	movzbl	-128(%ebp,%edi,1),%edi
   1343 	shll	$16,%edi
   1344 	xorl	%edi,%esi
   1345 	movl	%ecx,%edi
   1346 	shrl	$24,%edi
   1347 	movzbl	-128(%ebp,%edi,1),%edi
   1348 	shll	$24,%edi
   1349 	xorl	%edi,%esi
   1350 	movl	%esi,8(%esp)
   1351 	movl	%ecx,%esi
   1352 	andl	$255,%esi
   1353 	movzbl	-128(%ebp,%esi,1),%esi
   1354 	movzbl	%bh,%edi
   1355 	movzbl	-128(%ebp,%edi,1),%edi
   1356 	shll	$8,%edi
   1357 	xorl	%edi,%esi
   1358 	movl	%eax,%edi
   1359 	shrl	$16,%edi
   1360 	andl	$255,%edi
   1361 	movzbl	-128(%ebp,%edi,1),%edi
   1362 	shll	$16,%edi
   1363 	xorl	%edi,%esi
   1364 	movl	%edx,%edi
   1365 	shrl	$24,%edi
   1366 	movzbl	-128(%ebp,%edi,1),%edi
   1367 	shll	$24,%edi
   1368 	xorl	%edi,%esi
   1369 	movl	20(%esp),%edi
   1370 	andl	$255,%edx
   1371 	movzbl	-128(%ebp,%edx,1),%edx
   1372 	movzbl	%ch,%ecx
   1373 	movzbl	-128(%ebp,%ecx,1),%ecx
   1374 	shll	$8,%ecx
   1375 	xorl	%ecx,%edx
   1376 	movl	%esi,%ecx
   1377 	shrl	$16,%ebx
   1378 	andl	$255,%ebx
   1379 	movzbl	-128(%ebp,%ebx,1),%ebx
   1380 	shll	$16,%ebx
   1381 	xorl	%ebx,%edx
   1382 	movl	8(%esp),%ebx
   1383 	shrl	$24,%eax
   1384 	movzbl	-128(%ebp,%eax,1),%eax
   1385 	shll	$24,%eax
   1386 	xorl	%eax,%edx
   1387 	movl	4(%esp),%eax
   1388 	xorl	16(%edi),%eax
   1389 	xorl	20(%edi),%ebx
   1390 	xorl	24(%edi),%ecx
   1391 	xorl	28(%edi),%edx
   1392 	ret
   1393 .size	_x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact
   1394 .type	_sse_AES_decrypt_compact,@function
   1395 .align	16
   1396 _sse_AES_decrypt_compact:
   1397 	pxor	(%edi),%mm0
   1398 	pxor	8(%edi),%mm4
   1399 	movl	240(%edi),%esi
   1400 	leal	-2(%esi,%esi,1),%esi
   1401 	leal	(%edi,%esi,8),%esi
   1402 	movl	%esi,24(%esp)
   1403 	movl	$454761243,%eax
   1404 	movl	%eax,8(%esp)
   1405 	movl	%eax,12(%esp)
   1406 	movl	-128(%ebp),%eax
   1407 	movl	-96(%ebp),%ebx
   1408 	movl	-64(%ebp),%ecx
   1409 	movl	-32(%ebp),%edx
   1410 	movl	(%ebp),%eax
   1411 	movl	32(%ebp),%ebx
   1412 	movl	64(%ebp),%ecx
   1413 	movl	96(%ebp),%edx
   1414 .align	16
   1415 .L007loop:
   1416 	pshufw	$12,%mm0,%mm1
   1417 	movd	%mm1,%eax
   1418 	pshufw	$9,%mm4,%mm5
   1419 	movzbl	%al,%esi
   1420 	movzbl	-128(%ebp,%esi,1),%ecx
   1421 	movd	%mm5,%ebx
   1422 	movzbl	%ah,%edx
   1423 	movzbl	-128(%ebp,%edx,1),%edx
   1424 	shll	$8,%edx
   1425 	pshufw	$6,%mm0,%mm2
   1426 	movzbl	%bl,%esi
   1427 	movzbl	-128(%ebp,%esi,1),%esi
   1428 	shll	$16,%esi
   1429 	orl	%esi,%ecx
   1430 	shrl	$16,%eax
   1431 	movzbl	%bh,%esi
   1432 	movzbl	-128(%ebp,%esi,1),%esi
   1433 	shll	$24,%esi
   1434 	orl	%esi,%edx
   1435 	shrl	$16,%ebx
   1436 	pshufw	$3,%mm4,%mm6
   1437 	movzbl	%ah,%esi
   1438 	movzbl	-128(%ebp,%esi,1),%esi
   1439 	shll	$24,%esi
   1440 	orl	%esi,%ecx
   1441 	movzbl	%bh,%esi
   1442 	movzbl	-128(%ebp,%esi,1),%esi
   1443 	shll	$8,%esi
   1444 	orl	%esi,%ecx
   1445 	movd	%ecx,%mm0
   1446 	movzbl	%al,%esi
   1447 	movd	%mm2,%eax
   1448 	movzbl	-128(%ebp,%esi,1),%ecx
   1449 	shll	$16,%ecx
   1450 	movzbl	%bl,%esi
   1451 	movd	%mm6,%ebx
   1452 	movzbl	-128(%ebp,%esi,1),%esi
   1453 	orl	%esi,%ecx
   1454 	movzbl	%al,%esi
   1455 	movzbl	-128(%ebp,%esi,1),%esi
   1456 	orl	%esi,%edx
   1457 	movzbl	%bl,%esi
   1458 	movzbl	-128(%ebp,%esi,1),%esi
   1459 	shll	$16,%esi
   1460 	orl	%esi,%edx
   1461 	movd	%edx,%mm1
   1462 	movzbl	%ah,%esi
   1463 	movzbl	-128(%ebp,%esi,1),%edx
   1464 	shll	$8,%edx
   1465 	movzbl	%bh,%esi
   1466 	shrl	$16,%eax
   1467 	movzbl	-128(%ebp,%esi,1),%esi
   1468 	shll	$24,%esi
   1469 	orl	%esi,%edx
   1470 	shrl	$16,%ebx
   1471 	punpckldq	%mm1,%mm0
   1472 	movzbl	%bh,%esi
   1473 	movzbl	-128(%ebp,%esi,1),%esi
   1474 	shll	$8,%esi
   1475 	orl	%esi,%ecx
   1476 	andl	$255,%ebx
   1477 	movzbl	-128(%ebp,%ebx,1),%ebx
   1478 	orl	%ebx,%edx
   1479 	movzbl	%al,%esi
   1480 	movzbl	-128(%ebp,%esi,1),%esi
   1481 	shll	$16,%esi
   1482 	orl	%esi,%edx
   1483 	movd	%edx,%mm4
   1484 	movzbl	%ah,%eax
   1485 	movzbl	-128(%ebp,%eax,1),%eax
   1486 	shll	$24,%eax
   1487 	orl	%eax,%ecx
   1488 	movd	%ecx,%mm5
   1489 	punpckldq	%mm5,%mm4
   1490 	addl	$16,%edi
   1491 	cmpl	24(%esp),%edi
   1492 	ja	.L008out
   1493 	movq	%mm0,%mm3
   1494 	movq	%mm4,%mm7
   1495 	pshufw	$228,%mm0,%mm2
   1496 	pshufw	$228,%mm4,%mm6
   1497 	movq	%mm0,%mm1
   1498 	movq	%mm4,%mm5
   1499 	pshufw	$177,%mm0,%mm0
   1500 	pshufw	$177,%mm4,%mm4
   1501 	pslld	$8,%mm2
   1502 	pslld	$8,%mm6
   1503 	psrld	$8,%mm3
   1504 	psrld	$8,%mm7
   1505 	pxor	%mm2,%mm0
   1506 	pxor	%mm6,%mm4
   1507 	pxor	%mm3,%mm0
   1508 	pxor	%mm7,%mm4
   1509 	pslld	$16,%mm2
   1510 	pslld	$16,%mm6
   1511 	psrld	$16,%mm3
   1512 	psrld	$16,%mm7
   1513 	pxor	%mm2,%mm0
   1514 	pxor	%mm6,%mm4
   1515 	pxor	%mm3,%mm0
   1516 	pxor	%mm7,%mm4
   1517 	movq	8(%esp),%mm3
   1518 	pxor	%mm2,%mm2
   1519 	pxor	%mm6,%mm6
   1520 	pcmpgtb	%mm1,%mm2
   1521 	pcmpgtb	%mm5,%mm6
   1522 	pand	%mm3,%mm2
   1523 	pand	%mm3,%mm6
   1524 	paddb	%mm1,%mm1
   1525 	paddb	%mm5,%mm5
   1526 	pxor	%mm2,%mm1
   1527 	pxor	%mm6,%mm5
   1528 	movq	%mm1,%mm3
   1529 	movq	%mm5,%mm7
   1530 	movq	%mm1,%mm2
   1531 	movq	%mm5,%mm6
   1532 	pxor	%mm1,%mm0
   1533 	pxor	%mm5,%mm4
   1534 	pslld	$24,%mm3
   1535 	pslld	$24,%mm7
   1536 	psrld	$8,%mm2
   1537 	psrld	$8,%mm6
   1538 	pxor	%mm3,%mm0
   1539 	pxor	%mm7,%mm4
   1540 	pxor	%mm2,%mm0
   1541 	pxor	%mm6,%mm4
   1542 	movq	8(%esp),%mm2
   1543 	pxor	%mm3,%mm3
   1544 	pxor	%mm7,%mm7
   1545 	pcmpgtb	%mm1,%mm3
   1546 	pcmpgtb	%mm5,%mm7
   1547 	pand	%mm2,%mm3
   1548 	pand	%mm2,%mm7
   1549 	paddb	%mm1,%mm1
   1550 	paddb	%mm5,%mm5
   1551 	pxor	%mm3,%mm1
   1552 	pxor	%mm7,%mm5
   1553 	pshufw	$177,%mm1,%mm3
   1554 	pshufw	$177,%mm5,%mm7
   1555 	pxor	%mm1,%mm0
   1556 	pxor	%mm5,%mm4
   1557 	pxor	%mm3,%mm0
   1558 	pxor	%mm7,%mm4
   1559 	pxor	%mm3,%mm3
   1560 	pxor	%mm7,%mm7
   1561 	pcmpgtb	%mm1,%mm3
   1562 	pcmpgtb	%mm5,%mm7
   1563 	pand	%mm2,%mm3
   1564 	pand	%mm2,%mm7
   1565 	paddb	%mm1,%mm1
   1566 	paddb	%mm5,%mm5
   1567 	pxor	%mm3,%mm1
   1568 	pxor	%mm7,%mm5
   1569 	pxor	%mm1,%mm0
   1570 	pxor	%mm5,%mm4
   1571 	movq	%mm1,%mm3
   1572 	movq	%mm5,%mm7
   1573 	pshufw	$177,%mm1,%mm2
   1574 	pshufw	$177,%mm5,%mm6
   1575 	pxor	%mm2,%mm0
   1576 	pxor	%mm6,%mm4
   1577 	pslld	$8,%mm1
   1578 	pslld	$8,%mm5
   1579 	psrld	$8,%mm3
   1580 	psrld	$8,%mm7
   1581 	movq	(%edi),%mm2
   1582 	movq	8(%edi),%mm6
   1583 	pxor	%mm1,%mm0
   1584 	pxor	%mm5,%mm4
   1585 	pxor	%mm3,%mm0
   1586 	pxor	%mm7,%mm4
   1587 	movl	-128(%ebp),%eax
   1588 	pslld	$16,%mm1
   1589 	pslld	$16,%mm5
   1590 	movl	-64(%ebp),%ebx
   1591 	psrld	$16,%mm3
   1592 	psrld	$16,%mm7
   1593 	movl	(%ebp),%ecx
   1594 	pxor	%mm1,%mm0
   1595 	pxor	%mm5,%mm4
   1596 	movl	64(%ebp),%edx
   1597 	pxor	%mm3,%mm0
   1598 	pxor	%mm7,%mm4
   1599 	pxor	%mm2,%mm0
   1600 	pxor	%mm6,%mm4
   1601 	jmp	.L007loop
   1602 .align	16
   1603 .L008out:
   1604 	pxor	(%edi),%mm0
   1605 	pxor	8(%edi),%mm4
   1606 	ret
   1607 .size	_sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact
   1608 .type	_x86_AES_decrypt,@function
   1609 .align	16
   1610 _x86_AES_decrypt:
   1611 	movl	%edi,20(%esp)
   1612 	xorl	(%edi),%eax
   1613 	xorl	4(%edi),%ebx
   1614 	xorl	8(%edi),%ecx
   1615 	xorl	12(%edi),%edx
   1616 	movl	240(%edi),%esi
   1617 	leal	-2(%esi,%esi,1),%esi
   1618 	leal	(%edi,%esi,8),%esi
   1619 	movl	%esi,24(%esp)
   1620 .align	16
   1621 .L009loop:
   1622 	movl	%eax,%esi
   1623 	andl	$255,%esi
   1624 	movl	(%ebp,%esi,8),%esi
   1625 	movzbl	%dh,%edi
   1626 	xorl	3(%ebp,%edi,8),%esi
   1627 	movl	%ecx,%edi
   1628 	shrl	$16,%edi
   1629 	andl	$255,%edi
   1630 	xorl	2(%ebp,%edi,8),%esi
   1631 	movl	%ebx,%edi
   1632 	shrl	$24,%edi
   1633 	xorl	1(%ebp,%edi,8),%esi
   1634 	movl	%esi,4(%esp)
   1635 
   1636 	movl	%ebx,%esi
   1637 	andl	$255,%esi
   1638 	movl	(%ebp,%esi,8),%esi
   1639 	movzbl	%ah,%edi
   1640 	xorl	3(%ebp,%edi,8),%esi
   1641 	movl	%edx,%edi
   1642 	shrl	$16,%edi
   1643 	andl	$255,%edi
   1644 	xorl	2(%ebp,%edi,8),%esi
   1645 	movl	%ecx,%edi
   1646 	shrl	$24,%edi
   1647 	xorl	1(%ebp,%edi,8),%esi
   1648 	movl	%esi,8(%esp)
   1649 
   1650 	movl	%ecx,%esi
   1651 	andl	$255,%esi
   1652 	movl	(%ebp,%esi,8),%esi
   1653 	movzbl	%bh,%edi
   1654 	xorl	3(%ebp,%edi,8),%esi
   1655 	movl	%eax,%edi
   1656 	shrl	$16,%edi
   1657 	andl	$255,%edi
   1658 	xorl	2(%ebp,%edi,8),%esi
   1659 	movl	%edx,%edi
   1660 	shrl	$24,%edi
   1661 	xorl	1(%ebp,%edi,8),%esi
   1662 
   1663 	movl	20(%esp),%edi
   1664 	andl	$255,%edx
   1665 	movl	(%ebp,%edx,8),%edx
   1666 	movzbl	%ch,%ecx
   1667 	xorl	3(%ebp,%ecx,8),%edx
   1668 	movl	%esi,%ecx
   1669 	shrl	$16,%ebx
   1670 	andl	$255,%ebx
   1671 	xorl	2(%ebp,%ebx,8),%edx
   1672 	movl	8(%esp),%ebx
   1673 	shrl	$24,%eax
   1674 	xorl	1(%ebp,%eax,8),%edx
   1675 	movl	4(%esp),%eax
   1676 
   1677 	addl	$16,%edi
   1678 	xorl	(%edi),%eax
   1679 	xorl	4(%edi),%ebx
   1680 	xorl	8(%edi),%ecx
   1681 	xorl	12(%edi),%edx
   1682 	cmpl	24(%esp),%edi
   1683 	movl	%edi,20(%esp)
   1684 	jb	.L009loop
   1685 	leal	2176(%ebp),%ebp
   1686 	movl	-128(%ebp),%edi
   1687 	movl	-96(%ebp),%esi
   1688 	movl	-64(%ebp),%edi
   1689 	movl	-32(%ebp),%esi
   1690 	movl	(%ebp),%edi
   1691 	movl	32(%ebp),%esi
   1692 	movl	64(%ebp),%edi
   1693 	movl	96(%ebp),%esi
   1694 	leal	-128(%ebp),%ebp
   1695 	movl	%eax,%esi
   1696 	andl	$255,%esi
   1697 	movzbl	(%ebp,%esi,1),%esi
   1698 	movzbl	%dh,%edi
   1699 	movzbl	(%ebp,%edi,1),%edi
   1700 	shll	$8,%edi
   1701 	xorl	%edi,%esi
   1702 	movl	%ecx,%edi
   1703 	shrl	$16,%edi
   1704 	andl	$255,%edi
   1705 	movzbl	(%ebp,%edi,1),%edi
   1706 	shll	$16,%edi
   1707 	xorl	%edi,%esi
   1708 	movl	%ebx,%edi
   1709 	shrl	$24,%edi
   1710 	movzbl	(%ebp,%edi,1),%edi
   1711 	shll	$24,%edi
   1712 	xorl	%edi,%esi
   1713 	movl	%esi,4(%esp)
   1714 	movl	%ebx,%esi
   1715 	andl	$255,%esi
   1716 	movzbl	(%ebp,%esi,1),%esi
   1717 	movzbl	%ah,%edi
   1718 	movzbl	(%ebp,%edi,1),%edi
   1719 	shll	$8,%edi
   1720 	xorl	%edi,%esi
   1721 	movl	%edx,%edi
   1722 	shrl	$16,%edi
   1723 	andl	$255,%edi
   1724 	movzbl	(%ebp,%edi,1),%edi
   1725 	shll	$16,%edi
   1726 	xorl	%edi,%esi
   1727 	movl	%ecx,%edi
   1728 	shrl	$24,%edi
   1729 	movzbl	(%ebp,%edi,1),%edi
   1730 	shll	$24,%edi
   1731 	xorl	%edi,%esi
   1732 	movl	%esi,8(%esp)
   1733 	movl	%ecx,%esi
   1734 	andl	$255,%esi
   1735 	movzbl	(%ebp,%esi,1),%esi
   1736 	movzbl	%bh,%edi
   1737 	movzbl	(%ebp,%edi,1),%edi
   1738 	shll	$8,%edi
   1739 	xorl	%edi,%esi
   1740 	movl	%eax,%edi
   1741 	shrl	$16,%edi
   1742 	andl	$255,%edi
   1743 	movzbl	(%ebp,%edi,1),%edi
   1744 	shll	$16,%edi
   1745 	xorl	%edi,%esi
   1746 	movl	%edx,%edi
   1747 	shrl	$24,%edi
   1748 	movzbl	(%ebp,%edi,1),%edi
   1749 	shll	$24,%edi
   1750 	xorl	%edi,%esi
   1751 	movl	20(%esp),%edi
   1752 	andl	$255,%edx
   1753 	movzbl	(%ebp,%edx,1),%edx
   1754 	movzbl	%ch,%ecx
   1755 	movzbl	(%ebp,%ecx,1),%ecx
   1756 	shll	$8,%ecx
   1757 	xorl	%ecx,%edx
   1758 	movl	%esi,%ecx
   1759 	shrl	$16,%ebx
   1760 	andl	$255,%ebx
   1761 	movzbl	(%ebp,%ebx,1),%ebx
   1762 	shll	$16,%ebx
   1763 	xorl	%ebx,%edx
   1764 	movl	8(%esp),%ebx
   1765 	shrl	$24,%eax
   1766 	movzbl	(%ebp,%eax,1),%eax
   1767 	shll	$24,%eax
   1768 	xorl	%eax,%edx
   1769 	movl	4(%esp),%eax
   1770 	leal	-2048(%ebp),%ebp
   1771 	addl	$16,%edi
   1772 	xorl	(%edi),%eax
   1773 	xorl	4(%edi),%ebx
   1774 	xorl	8(%edi),%ecx
   1775 	xorl	12(%edi),%edx
   1776 	ret
   1777 .align	64
   1778 .LAES_Td:
   1779 .long	1353184337,1353184337
   1780 .long	1399144830,1399144830
   1781 .long	3282310938,3282310938
   1782 .long	2522752826,2522752826
   1783 .long	3412831035,3412831035
   1784 .long	4047871263,4047871263
   1785 .long	2874735276,2874735276
   1786 .long	2466505547,2466505547
   1787 .long	1442459680,1442459680
   1788 .long	4134368941,4134368941
   1789 .long	2440481928,2440481928
   1790 .long	625738485,625738485
   1791 .long	4242007375,4242007375
   1792 .long	3620416197,3620416197
   1793 .long	2151953702,2151953702
   1794 .long	2409849525,2409849525
   1795 .long	1230680542,1230680542
   1796 .long	1729870373,1729870373
   1797 .long	2551114309,2551114309
   1798 .long	3787521629,3787521629
   1799 .long	41234371,41234371
   1800 .long	317738113,317738113
   1801 .long	2744600205,2744600205
   1802 .long	3338261355,3338261355
   1803 .long	3881799427,3881799427
   1804 .long	2510066197,2510066197
   1805 .long	3950669247,3950669247
   1806 .long	3663286933,3663286933
   1807 .long	763608788,763608788
   1808 .long	3542185048,3542185048
   1809 .long	694804553,694804553
   1810 .long	1154009486,1154009486
   1811 .long	1787413109,1787413109
   1812 .long	2021232372,2021232372
   1813 .long	1799248025,1799248025
   1814 .long	3715217703,3715217703
   1815 .long	3058688446,3058688446
   1816 .long	397248752,397248752
   1817 .long	1722556617,1722556617
   1818 .long	3023752829,3023752829
   1819 .long	407560035,407560035
   1820 .long	2184256229,2184256229
   1821 .long	1613975959,1613975959
   1822 .long	1165972322,1165972322
   1823 .long	3765920945,3765920945
   1824 .long	2226023355,2226023355
   1825 .long	480281086,480281086
   1826 .long	2485848313,2485848313
   1827 .long	1483229296,1483229296
   1828 .long	436028815,436028815
   1829 .long	2272059028,2272059028
   1830 .long	3086515026,3086515026
   1831 .long	601060267,601060267
   1832 .long	3791801202,3791801202
   1833 .long	1468997603,1468997603
   1834 .long	715871590,715871590
   1835 .long	120122290,120122290
   1836 .long	63092015,63092015
   1837 .long	2591802758,2591802758
   1838 .long	2768779219,2768779219
   1839 .long	4068943920,4068943920
   1840 .long	2997206819,2997206819
   1841 .long	3127509762,3127509762
   1842 .long	1552029421,1552029421
   1843 .long	723308426,723308426
   1844 .long	2461301159,2461301159
   1845 .long	4042393587,4042393587
   1846 .long	2715969870,2715969870
   1847 .long	3455375973,3455375973
   1848 .long	3586000134,3586000134
   1849 .long	526529745,526529745
   1850 .long	2331944644,2331944644
   1851 .long	2639474228,2639474228
   1852 .long	2689987490,2689987490
   1853 .long	853641733,853641733
   1854 .long	1978398372,1978398372
   1855 .long	971801355,971801355
   1856 .long	2867814464,2867814464
   1857 .long	111112542,111112542
   1858 .long	1360031421,1360031421
   1859 .long	4186579262,4186579262
   1860 .long	1023860118,1023860118
   1861 .long	2919579357,2919579357
   1862 .long	1186850381,1186850381
   1863 .long	3045938321,3045938321
   1864 .long	90031217,90031217
   1865 .long	1876166148,1876166148
   1866 .long	4279586912,4279586912
   1867 .long	620468249,620468249
   1868 .long	2548678102,2548678102
   1869 .long	3426959497,3426959497
   1870 .long	2006899047,2006899047
   1871 .long	3175278768,3175278768
   1872 .long	2290845959,2290845959
   1873 .long	945494503,945494503
   1874 .long	3689859193,3689859193
   1875 .long	1191869601,1191869601
   1876 .long	3910091388,3910091388
   1877 .long	3374220536,3374220536
   1878 .long	0,0
   1879 .long	2206629897,2206629897
   1880 .long	1223502642,1223502642
   1881 .long	2893025566,2893025566
   1882 .long	1316117100,1316117100
   1883 .long	4227796733,4227796733
   1884 .long	1446544655,1446544655
   1885 .long	517320253,517320253
   1886 .long	658058550,658058550
   1887 .long	1691946762,1691946762
   1888 .long	564550760,564550760
   1889 .long	3511966619,3511966619
   1890 .long	976107044,976107044
   1891 .long	2976320012,2976320012
   1892 .long	266819475,266819475
   1893 .long	3533106868,3533106868
   1894 .long	2660342555,2660342555
   1895 .long	1338359936,1338359936
   1896 .long	2720062561,2720062561
   1897 .long	1766553434,1766553434
   1898 .long	370807324,370807324
   1899 .long	179999714,179999714
   1900 .long	3844776128,3844776128
   1901 .long	1138762300,1138762300
   1902 .long	488053522,488053522
   1903 .long	185403662,185403662
   1904 .long	2915535858,2915535858
   1905 .long	3114841645,3114841645
   1906 .long	3366526484,3366526484
   1907 .long	2233069911,2233069911
   1908 .long	1275557295,1275557295
   1909 .long	3151862254,3151862254
   1910 .long	4250959779,4250959779
   1911 .long	2670068215,2670068215
   1912 .long	3170202204,3170202204
   1913 .long	3309004356,3309004356
   1914 .long	880737115,880737115
   1915 .long	1982415755,1982415755
   1916 .long	3703972811,3703972811
   1917 .long	1761406390,1761406390
   1918 .long	1676797112,1676797112
   1919 .long	3403428311,3403428311
   1920 .long	277177154,277177154
   1921 .long	1076008723,1076008723
   1922 .long	538035844,538035844
   1923 .long	2099530373,2099530373
   1924 .long	4164795346,4164795346
   1925 .long	288553390,288553390
   1926 .long	1839278535,1839278535
   1927 .long	1261411869,1261411869
   1928 .long	4080055004,4080055004
   1929 .long	3964831245,3964831245
   1930 .long	3504587127,3504587127
   1931 .long	1813426987,1813426987
   1932 .long	2579067049,2579067049
   1933 .long	4199060497,4199060497
   1934 .long	577038663,577038663
   1935 .long	3297574056,3297574056
   1936 .long	440397984,440397984
   1937 .long	3626794326,3626794326
   1938 .long	4019204898,4019204898
   1939 .long	3343796615,3343796615
   1940 .long	3251714265,3251714265
   1941 .long	4272081548,4272081548
   1942 .long	906744984,906744984
   1943 .long	3481400742,3481400742
   1944 .long	685669029,685669029
   1945 .long	646887386,646887386
   1946 .long	2764025151,2764025151
   1947 .long	3835509292,3835509292
   1948 .long	227702864,227702864
   1949 .long	2613862250,2613862250
   1950 .long	1648787028,1648787028
   1951 .long	3256061430,3256061430
   1952 .long	3904428176,3904428176
   1953 .long	1593260334,1593260334
   1954 .long	4121936770,4121936770
   1955 .long	3196083615,3196083615
   1956 .long	2090061929,2090061929
   1957 .long	2838353263,2838353263
   1958 .long	3004310991,3004310991
   1959 .long	999926984,999926984
   1960 .long	2809993232,2809993232
   1961 .long	1852021992,1852021992
   1962 .long	2075868123,2075868123
   1963 .long	158869197,158869197
   1964 .long	4095236462,4095236462
   1965 .long	28809964,28809964
   1966 .long	2828685187,2828685187
   1967 .long	1701746150,1701746150
   1968 .long	2129067946,2129067946
   1969 .long	147831841,147831841
   1970 .long	3873969647,3873969647
   1971 .long	3650873274,3650873274
   1972 .long	3459673930,3459673930
   1973 .long	3557400554,3557400554
   1974 .long	3598495785,3598495785
   1975 .long	2947720241,2947720241
   1976 .long	824393514,824393514
   1977 .long	815048134,815048134
   1978 .long	3227951669,3227951669
   1979 .long	935087732,935087732
   1980 .long	2798289660,2798289660
   1981 .long	2966458592,2966458592
   1982 .long	366520115,366520115
   1983 .long	1251476721,1251476721
   1984 .long	4158319681,4158319681
   1985 .long	240176511,240176511
   1986 .long	804688151,804688151
   1987 .long	2379631990,2379631990
   1988 .long	1303441219,1303441219
   1989 .long	1414376140,1414376140
   1990 .long	3741619940,3741619940
   1991 .long	3820343710,3820343710
   1992 .long	461924940,461924940
   1993 .long	3089050817,3089050817
   1994 .long	2136040774,2136040774
   1995 .long	82468509,82468509
   1996 .long	1563790337,1563790337
   1997 .long	1937016826,1937016826
   1998 .long	776014843,776014843
   1999 .long	1511876531,1511876531
   2000 .long	1389550482,1389550482
   2001 .long	861278441,861278441
   2002 .long	323475053,323475053
   2003 .long	2355222426,2355222426
   2004 .long	2047648055,2047648055
   2005 .long	2383738969,2383738969
   2006 .long	2302415851,2302415851
   2007 .long	3995576782,3995576782
   2008 .long	902390199,902390199
   2009 .long	3991215329,3991215329
   2010 .long	1018251130,1018251130
   2011 .long	1507840668,1507840668
   2012 .long	1064563285,1064563285
   2013 .long	2043548696,2043548696
   2014 .long	3208103795,3208103795
   2015 .long	3939366739,3939366739
   2016 .long	1537932639,1537932639
   2017 .long	342834655,342834655
   2018 .long	2262516856,2262516856
   2019 .long	2180231114,2180231114
   2020 .long	1053059257,1053059257
   2021 .long	741614648,741614648
   2022 .long	1598071746,1598071746
   2023 .long	1925389590,1925389590
   2024 .long	203809468,203809468
   2025 .long	2336832552,2336832552
   2026 .long	1100287487,1100287487
   2027 .long	1895934009,1895934009
   2028 .long	3736275976,3736275976
   2029 .long	2632234200,2632234200
   2030 .long	2428589668,2428589668
   2031 .long	1636092795,1636092795
   2032 .long	1890988757,1890988757
   2033 .long	1952214088,1952214088
   2034 .long	1113045200,1113045200
   2035 .byte	82,9,106,213,48,54,165,56
   2036 .byte	191,64,163,158,129,243,215,251
   2037 .byte	124,227,57,130,155,47,255,135
   2038 .byte	52,142,67,68,196,222,233,203
   2039 .byte	84,123,148,50,166,194,35,61
   2040 .byte	238,76,149,11,66,250,195,78
   2041 .byte	8,46,161,102,40,217,36,178
   2042 .byte	118,91,162,73,109,139,209,37
   2043 .byte	114,248,246,100,134,104,152,22
   2044 .byte	212,164,92,204,93,101,182,146
   2045 .byte	108,112,72,80,253,237,185,218
   2046 .byte	94,21,70,87,167,141,157,132
   2047 .byte	144,216,171,0,140,188,211,10
   2048 .byte	247,228,88,5,184,179,69,6
   2049 .byte	208,44,30,143,202,63,15,2
   2050 .byte	193,175,189,3,1,19,138,107
   2051 .byte	58,145,17,65,79,103,220,234
   2052 .byte	151,242,207,206,240,180,230,115
   2053 .byte	150,172,116,34,231,173,53,133
   2054 .byte	226,249,55,232,28,117,223,110
   2055 .byte	71,241,26,113,29,41,197,137
   2056 .byte	111,183,98,14,170,24,190,27
   2057 .byte	252,86,62,75,198,210,121,32
   2058 .byte	154,219,192,254,120,205,90,244
   2059 .byte	31,221,168,51,136,7,199,49
   2060 .byte	177,18,16,89,39,128,236,95
   2061 .byte	96,81,127,169,25,181,74,13
   2062 .byte	45,229,122,159,147,201,156,239
   2063 .byte	160,224,59,77,174,42,245,176
   2064 .byte	200,235,187,60,131,83,153,97
   2065 .byte	23,43,4,126,186,119,214,38
   2066 .byte	225,105,20,99,85,33,12,125
   2067 .byte	82,9,106,213,48,54,165,56
   2068 .byte	191,64,163,158,129,243,215,251
   2069 .byte	124,227,57,130,155,47,255,135
   2070 .byte	52,142,67,68,196,222,233,203
   2071 .byte	84,123,148,50,166,194,35,61
   2072 .byte	238,76,149,11,66,250,195,78
   2073 .byte	8,46,161,102,40,217,36,178
   2074 .byte	118,91,162,73,109,139,209,37
   2075 .byte	114,248,246,100,134,104,152,22
   2076 .byte	212,164,92,204,93,101,182,146
   2077 .byte	108,112,72,80,253,237,185,218
   2078 .byte	94,21,70,87,167,141,157,132
   2079 .byte	144,216,171,0,140,188,211,10
   2080 .byte	247,228,88,5,184,179,69,6
   2081 .byte	208,44,30,143,202,63,15,2
   2082 .byte	193,175,189,3,1,19,138,107
   2083 .byte	58,145,17,65,79,103,220,234
   2084 .byte	151,242,207,206,240,180,230,115
   2085 .byte	150,172,116,34,231,173,53,133
   2086 .byte	226,249,55,232,28,117,223,110
   2087 .byte	71,241,26,113,29,41,197,137
   2088 .byte	111,183,98,14,170,24,190,27
   2089 .byte	252,86,62,75,198,210,121,32
   2090 .byte	154,219,192,254,120,205,90,244
   2091 .byte	31,221,168,51,136,7,199,49
   2092 .byte	177,18,16,89,39,128,236,95
   2093 .byte	96,81,127,169,25,181,74,13
   2094 .byte	45,229,122,159,147,201,156,239
   2095 .byte	160,224,59,77,174,42,245,176
   2096 .byte	200,235,187,60,131,83,153,97
   2097 .byte	23,43,4,126,186,119,214,38
   2098 .byte	225,105,20,99,85,33,12,125
   2099 .byte	82,9,106,213,48,54,165,56
   2100 .byte	191,64,163,158,129,243,215,251
   2101 .byte	124,227,57,130,155,47,255,135
   2102 .byte	52,142,67,68,196,222,233,203
   2103 .byte	84,123,148,50,166,194,35,61
   2104 .byte	238,76,149,11,66,250,195,78
   2105 .byte	8,46,161,102,40,217,36,178
   2106 .byte	118,91,162,73,109,139,209,37
   2107 .byte	114,248,246,100,134,104,152,22
   2108 .byte	212,164,92,204,93,101,182,146
   2109 .byte	108,112,72,80,253,237,185,218
   2110 .byte	94,21,70,87,167,141,157,132
   2111 .byte	144,216,171,0,140,188,211,10
   2112 .byte	247,228,88,5,184,179,69,6
   2113 .byte	208,44,30,143,202,63,15,2
   2114 .byte	193,175,189,3,1,19,138,107
   2115 .byte	58,145,17,65,79,103,220,234
   2116 .byte	151,242,207,206,240,180,230,115
   2117 .byte	150,172,116,34,231,173,53,133
   2118 .byte	226,249,55,232,28,117,223,110
   2119 .byte	71,241,26,113,29,41,197,137
   2120 .byte	111,183,98,14,170,24,190,27
   2121 .byte	252,86,62,75,198,210,121,32
   2122 .byte	154,219,192,254,120,205,90,244
   2123 .byte	31,221,168,51,136,7,199,49
   2124 .byte	177,18,16,89,39,128,236,95
   2125 .byte	96,81,127,169,25,181,74,13
   2126 .byte	45,229,122,159,147,201,156,239
   2127 .byte	160,224,59,77,174,42,245,176
   2128 .byte	200,235,187,60,131,83,153,97
   2129 .byte	23,43,4,126,186,119,214,38
   2130 .byte	225,105,20,99,85,33,12,125
   2131 .byte	82,9,106,213,48,54,165,56
   2132 .byte	191,64,163,158,129,243,215,251
   2133 .byte	124,227,57,130,155,47,255,135
   2134 .byte	52,142,67,68,196,222,233,203
   2135 .byte	84,123,148,50,166,194,35,61
   2136 .byte	238,76,149,11,66,250,195,78
   2137 .byte	8,46,161,102,40,217,36,178
   2138 .byte	118,91,162,73,109,139,209,37
   2139 .byte	114,248,246,100,134,104,152,22
   2140 .byte	212,164,92,204,93,101,182,146
   2141 .byte	108,112,72,80,253,237,185,218
   2142 .byte	94,21,70,87,167,141,157,132
   2143 .byte	144,216,171,0,140,188,211,10
   2144 .byte	247,228,88,5,184,179,69,6
   2145 .byte	208,44,30,143,202,63,15,2
   2146 .byte	193,175,189,3,1,19,138,107
   2147 .byte	58,145,17,65,79,103,220,234
   2148 .byte	151,242,207,206,240,180,230,115
   2149 .byte	150,172,116,34,231,173,53,133
   2150 .byte	226,249,55,232,28,117,223,110
   2151 .byte	71,241,26,113,29,41,197,137
   2152 .byte	111,183,98,14,170,24,190,27
   2153 .byte	252,86,62,75,198,210,121,32
   2154 .byte	154,219,192,254,120,205,90,244
   2155 .byte	31,221,168,51,136,7,199,49
   2156 .byte	177,18,16,89,39,128,236,95
   2157 .byte	96,81,127,169,25,181,74,13
   2158 .byte	45,229,122,159,147,201,156,239
   2159 .byte	160,224,59,77,174,42,245,176
   2160 .byte	200,235,187,60,131,83,153,97
   2161 .byte	23,43,4,126,186,119,214,38
   2162 .byte	225,105,20,99,85,33,12,125
   2163 .size	_x86_AES_decrypt,.-_x86_AES_decrypt
   2164 .globl	AES_decrypt
   2165 .type	AES_decrypt,@function
   2166 .align	16
   2167 AES_decrypt:
   2168 .L_AES_decrypt_begin:
   2169 	pushl	%ebp
   2170 	pushl	%ebx
   2171 	pushl	%esi
   2172 	pushl	%edi
   2173 	movl	20(%esp),%esi
   2174 	movl	28(%esp),%edi
   2175 	movl	%esp,%eax
   2176 	subl	$36,%esp
   2177 	andl	$-64,%esp
   2178 	leal	-127(%edi),%ebx
   2179 	subl	%esp,%ebx
   2180 	negl	%ebx
   2181 	andl	$960,%ebx
   2182 	subl	%ebx,%esp
   2183 	addl	$4,%esp
   2184 	movl	%eax,28(%esp)
   2185 	call	.L010pic_point
   2186 .L010pic_point:
   2187 	popl	%ebp
   2188 	leal	_GLOBAL_OFFSET_TABLE_+[.-.L010pic_point](%ebp),%eax
   2189 	movl	OPENSSL_ia32cap_P@GOT(%eax),%eax
   2190 	leal	.LAES_Td-.L010pic_point(%ebp),%ebp
   2191 	leal	764(%esp),%ebx
   2192 	subl	%ebp,%ebx
   2193 	andl	$768,%ebx
   2194 	leal	2176(%ebp,%ebx,1),%ebp
   2195 	btl	$25,(%eax)
   2196 	jnc	.L011x86
   2197 	movq	(%esi),%mm0
   2198 	movq	8(%esi),%mm4
   2199 	call	_sse_AES_decrypt_compact
   2200 	movl	28(%esp),%esp
   2201 	movl	24(%esp),%esi
   2202 	movq	%mm0,(%esi)
   2203 	movq	%mm4,8(%esi)
   2204 	emms
   2205 	popl	%edi
   2206 	popl	%esi
   2207 	popl	%ebx
   2208 	popl	%ebp
   2209 	ret
   2210 .align	16
   2211 .L011x86:
   2212 	movl	%ebp,24(%esp)
   2213 	movl	(%esi),%eax
   2214 	movl	4(%esi),%ebx
   2215 	movl	8(%esi),%ecx
   2216 	movl	12(%esi),%edx
   2217 	call	_x86_AES_decrypt_compact
   2218 	movl	28(%esp),%esp
   2219 	movl	24(%esp),%esi
   2220 	movl	%eax,(%esi)
   2221 	movl	%ebx,4(%esi)
   2222 	movl	%ecx,8(%esi)
   2223 	movl	%edx,12(%esi)
   2224 	popl	%edi
   2225 	popl	%esi
   2226 	popl	%ebx
   2227 	popl	%ebp
   2228 	ret
   2229 .size	AES_decrypt,.-.L_AES_decrypt_begin
   2230 .globl	AES_cbc_encrypt
   2231 .type	AES_cbc_encrypt,@function
   2232 .align	16
   2233 AES_cbc_encrypt:
   2234 .L_AES_cbc_encrypt_begin:
   2235 	pushl	%ebp
   2236 	pushl	%ebx
   2237 	pushl	%esi
   2238 	pushl	%edi
   2239 	movl	28(%esp),%ecx
   2240 	cmpl	$0,%ecx
   2241 	je	.L012drop_out
   2242 	call	.L013pic_point
   2243 .L013pic_point:
   2244 	popl	%ebp
   2245 	leal	_GLOBAL_OFFSET_TABLE_+[.-.L013pic_point](%ebp),%eax
   2246 	movl	OPENSSL_ia32cap_P@GOT(%eax),%eax
   2247 	cmpl	$0,40(%esp)
   2248 	leal	.LAES_Te-.L013pic_point(%ebp),%ebp
   2249 	jne	.L014picked_te
   2250 	leal	.LAES_Td-.LAES_Te(%ebp),%ebp
   2251 .L014picked_te:
   2252 	pushfl
   2253 	cld
   2254 	cmpl	$512,%ecx
   2255 	jb	.L015slow_way
   2256 	testl	$15,%ecx
   2257 	jnz	.L015slow_way
   2258 	btl	$28,(%eax)
   2259 	jc	.L015slow_way
   2260 	leal	-324(%esp),%esi
   2261 	andl	$-64,%esi
   2262 	movl	%ebp,%eax
   2263 	leal	2304(%ebp),%ebx
   2264 	movl	%esi,%edx
   2265 	andl	$4095,%eax
   2266 	andl	$4095,%ebx
   2267 	andl	$4095,%edx
   2268 	cmpl	%ebx,%edx
   2269 	jb	.L016tbl_break_out
   2270 	subl	%ebx,%edx
   2271 	subl	%edx,%esi
   2272 	jmp	.L017tbl_ok
   2273 .align	4
   2274 .L016tbl_break_out:
   2275 	subl	%eax,%edx
   2276 	andl	$4095,%edx
   2277 	addl	$384,%edx
   2278 	subl	%edx,%esi
   2279 .align	4
   2280 .L017tbl_ok:
   2281 	leal	24(%esp),%edx
   2282 	xchgl	%esi,%esp
   2283 	addl	$4,%esp
   2284 	movl	%ebp,24(%esp)
   2285 	movl	%esi,28(%esp)
   2286 	movl	(%edx),%eax
   2287 	movl	4(%edx),%ebx
   2288 	movl	12(%edx),%edi
   2289 	movl	16(%edx),%esi
   2290 	movl	20(%edx),%edx
   2291 	movl	%eax,32(%esp)
   2292 	movl	%ebx,36(%esp)
   2293 	movl	%ecx,40(%esp)
   2294 	movl	%edi,44(%esp)
   2295 	movl	%esi,48(%esp)
   2296 	movl	$0,316(%esp)
   2297 	movl	%edi,%ebx
   2298 	movl	$61,%ecx
   2299 	subl	%ebp,%ebx
   2300 	movl	%edi,%esi
   2301 	andl	$4095,%ebx
   2302 	leal	76(%esp),%edi
   2303 	cmpl	$2304,%ebx
   2304 	jb	.L018do_copy
   2305 	cmpl	$3852,%ebx
   2306 	jb	.L019skip_copy
   2307 .align	4
   2308 .L018do_copy:
   2309 	movl	%edi,44(%esp)
   2310 .long	2784229001
   2311 .L019skip_copy:
   2312 	movl	$16,%edi
   2313 .align	4
   2314 .L020prefetch_tbl:
   2315 	movl	(%ebp),%eax
   2316 	movl	32(%ebp),%ebx
   2317 	movl	64(%ebp),%ecx
   2318 	movl	96(%ebp),%esi
   2319 	leal	128(%ebp),%ebp
   2320 	subl	$1,%edi
   2321 	jnz	.L020prefetch_tbl
   2322 	subl	$2048,%ebp
   2323 	movl	32(%esp),%esi
   2324 	movl	48(%esp),%edi
   2325 	cmpl	$0,%edx
   2326 	je	.L021fast_decrypt
   2327 	movl	(%edi),%eax
   2328 	movl	4(%edi),%ebx
   2329 .align	16
   2330 .L022fast_enc_loop:
   2331 	movl	8(%edi),%ecx
   2332 	movl	12(%edi),%edx
   2333 	xorl	(%esi),%eax
   2334 	xorl	4(%esi),%ebx
   2335 	xorl	8(%esi),%ecx
   2336 	xorl	12(%esi),%edx
   2337 	movl	44(%esp),%edi
   2338 	call	_x86_AES_encrypt
   2339 	movl	32(%esp),%esi
   2340 	movl	36(%esp),%edi
   2341 	movl	%eax,(%edi)
   2342 	movl	%ebx,4(%edi)
   2343 	movl	%ecx,8(%edi)
   2344 	movl	%edx,12(%edi)
   2345 	leal	16(%esi),%esi
   2346 	movl	40(%esp),%ecx
   2347 	movl	%esi,32(%esp)
   2348 	leal	16(%edi),%edx
   2349 	movl	%edx,36(%esp)
   2350 	subl	$16,%ecx
   2351 	movl	%ecx,40(%esp)
   2352 	jnz	.L022fast_enc_loop
   2353 	movl	48(%esp),%esi
   2354 	movl	8(%edi),%ecx
   2355 	movl	12(%edi),%edx
   2356 	movl	%eax,(%esi)
   2357 	movl	%ebx,4(%esi)
   2358 	movl	%ecx,8(%esi)
   2359 	movl	%edx,12(%esi)
   2360 	cmpl	$0,316(%esp)
   2361 	movl	44(%esp),%edi
   2362 	je	.L023skip_ezero
   2363 	movl	$60,%ecx
   2364 	xorl	%eax,%eax
   2365 .align	4
   2366 .long	2884892297
   2367 .L023skip_ezero:
   2368 	movl	28(%esp),%esp
   2369 	popfl
   2370 .L012drop_out:
   2371 	popl	%edi
   2372 	popl	%esi
   2373 	popl	%ebx
   2374 	popl	%ebp
   2375 	ret
   2376 	pushfl
   2377 .align	16
   2378 .L021fast_decrypt:
   2379 	cmpl	36(%esp),%esi
   2380 	je	.L024fast_dec_in_place
   2381 	movl	%edi,52(%esp)
   2382 .align	4
   2383 .align	16
   2384 .L025fast_dec_loop:
   2385 	movl	(%esi),%eax
   2386 	movl	4(%esi),%ebx
   2387 	movl	8(%esi),%ecx
   2388 	movl	12(%esi),%edx
   2389 	movl	44(%esp),%edi
   2390 	call	_x86_AES_decrypt
   2391 	movl	52(%esp),%edi
   2392 	movl	40(%esp),%esi
   2393 	xorl	(%edi),%eax
   2394 	xorl	4(%edi),%ebx
   2395 	xorl	8(%edi),%ecx
   2396 	xorl	12(%edi),%edx
   2397 	movl	36(%esp),%edi
   2398 	movl	32(%esp),%esi
   2399 	movl	%eax,(%edi)
   2400 	movl	%ebx,4(%edi)
   2401 	movl	%ecx,8(%edi)
   2402 	movl	%edx,12(%edi)
   2403 	movl	40(%esp),%ecx
   2404 	movl	%esi,52(%esp)
   2405 	leal	16(%esi),%esi
   2406 	movl	%esi,32(%esp)
   2407 	leal	16(%edi),%edi
   2408 	movl	%edi,36(%esp)
   2409 	subl	$16,%ecx
   2410 	movl	%ecx,40(%esp)
   2411 	jnz	.L025fast_dec_loop
   2412 	movl	52(%esp),%edi
   2413 	movl	48(%esp),%esi
   2414 	movl	(%edi),%eax
   2415 	movl	4(%edi),%ebx
   2416 	movl	8(%edi),%ecx
   2417 	movl	12(%edi),%edx
   2418 	movl	%eax,(%esi)
   2419 	movl	%ebx,4(%esi)
   2420 	movl	%ecx,8(%esi)
   2421 	movl	%edx,12(%esi)
   2422 	jmp	.L026fast_dec_out
   2423 .align	16
   2424 .L024fast_dec_in_place:
   2425 .L027fast_dec_in_place_loop:
   2426 	movl	(%esi),%eax
   2427 	movl	4(%esi),%ebx
   2428 	movl	8(%esi),%ecx
   2429 	movl	12(%esi),%edx
   2430 	leal	60(%esp),%edi
   2431 	movl	%eax,(%edi)
   2432 	movl	%ebx,4(%edi)
   2433 	movl	%ecx,8(%edi)
   2434 	movl	%edx,12(%edi)
   2435 	movl	44(%esp),%edi
   2436 	call	_x86_AES_decrypt
   2437 	movl	48(%esp),%edi
   2438 	movl	36(%esp),%esi
   2439 	xorl	(%edi),%eax
   2440 	xorl	4(%edi),%ebx
   2441 	xorl	8(%edi),%ecx
   2442 	xorl	12(%edi),%edx
   2443 	movl	%eax,(%esi)
   2444 	movl	%ebx,4(%esi)
   2445 	movl	%ecx,8(%esi)
   2446 	movl	%edx,12(%esi)
   2447 	leal	16(%esi),%esi
   2448 	movl	%esi,36(%esp)
   2449 	leal	60(%esp),%esi
   2450 	movl	(%esi),%eax
   2451 	movl	4(%esi),%ebx
   2452 	movl	8(%esi),%ecx
   2453 	movl	12(%esi),%edx
   2454 	movl	%eax,(%edi)
   2455 	movl	%ebx,4(%edi)
   2456 	movl	%ecx,8(%edi)
   2457 	movl	%edx,12(%edi)
   2458 	movl	32(%esp),%esi
   2459 	movl	40(%esp),%ecx
   2460 	leal	16(%esi),%esi
   2461 	movl	%esi,32(%esp)
   2462 	subl	$16,%ecx
   2463 	movl	%ecx,40(%esp)
   2464 	jnz	.L027fast_dec_in_place_loop
   2465 .align	4
   2466 .L026fast_dec_out:
   2467 	cmpl	$0,316(%esp)
   2468 	movl	44(%esp),%edi
   2469 	je	.L028skip_dzero
   2470 	movl	$60,%ecx
   2471 	xorl	%eax,%eax
   2472 .align	4
   2473 .long	2884892297
   2474 .L028skip_dzero:
   2475 	movl	28(%esp),%esp
   2476 	popfl
   2477 	popl	%edi
   2478 	popl	%esi
   2479 	popl	%ebx
   2480 	popl	%ebp
   2481 	ret
   2482 	pushfl
   2483 .align	16
   2484 .L015slow_way:
   2485 	movl	(%eax),%eax
   2486 	movl	36(%esp),%edi
   2487 	leal	-80(%esp),%esi
   2488 	andl	$-64,%esi
   2489 	leal	-143(%edi),%ebx
   2490 	subl	%esi,%ebx
   2491 	negl	%ebx
   2492 	andl	$960,%ebx
   2493 	subl	%ebx,%esi
   2494 	leal	768(%esi),%ebx
   2495 	subl	%ebp,%ebx
   2496 	andl	$768,%ebx
   2497 	leal	2176(%ebp,%ebx,1),%ebp
   2498 	leal	24(%esp),%edx
   2499 	xchgl	%esi,%esp
   2500 	addl	$4,%esp
   2501 	movl	%ebp,24(%esp)
   2502 	movl	%esi,28(%esp)
   2503 	movl	%eax,52(%esp)
   2504 	movl	(%edx),%eax
   2505 	movl	4(%edx),%ebx
   2506 	movl	16(%edx),%esi
   2507 	movl	20(%edx),%edx
   2508 	movl	%eax,32(%esp)
   2509 	movl	%ebx,36(%esp)
   2510 	movl	%ecx,40(%esp)
   2511 	movl	%edi,44(%esp)
   2512 	movl	%esi,48(%esp)
   2513 	movl	%esi,%edi
   2514 	movl	%eax,%esi
   2515 	cmpl	$0,%edx
   2516 	je	.L029slow_decrypt
   2517 	cmpl	$16,%ecx
   2518 	movl	%ebx,%edx
   2519 	jb	.L030slow_enc_tail
   2520 	btl	$25,52(%esp)
   2521 	jnc	.L031slow_enc_x86
   2522 	movq	(%edi),%mm0
   2523 	movq	8(%edi),%mm4
   2524 .align	16
   2525 .L032slow_enc_loop_sse:
   2526 	pxor	(%esi),%mm0
   2527 	pxor	8(%esi),%mm4
   2528 	movl	44(%esp),%edi
   2529 	call	_sse_AES_encrypt_compact
   2530 	movl	32(%esp),%esi
   2531 	movl	36(%esp),%edi
   2532 	movl	40(%esp),%ecx
   2533 	movq	%mm0,(%edi)
   2534 	movq	%mm4,8(%edi)
   2535 	leal	16(%esi),%esi
   2536 	movl	%esi,32(%esp)
   2537 	leal	16(%edi),%edx
   2538 	movl	%edx,36(%esp)
   2539 	subl	$16,%ecx
   2540 	cmpl	$16,%ecx
   2541 	movl	%ecx,40(%esp)
   2542 	jae	.L032slow_enc_loop_sse
   2543 	testl	$15,%ecx
   2544 	jnz	.L030slow_enc_tail
   2545 	movl	48(%esp),%esi
   2546 	movq	%mm0,(%esi)
   2547 	movq	%mm4,8(%esi)
   2548 	emms
   2549 	movl	28(%esp),%esp
   2550 	popfl
   2551 	popl	%edi
   2552 	popl	%esi
   2553 	popl	%ebx
   2554 	popl	%ebp
   2555 	ret
   2556 	pushfl
   2557 .align	16
   2558 .L031slow_enc_x86:
   2559 	movl	(%edi),%eax
   2560 	movl	4(%edi),%ebx
   2561 .align	4
   2562 .L033slow_enc_loop_x86:
   2563 	movl	8(%edi),%ecx
   2564 	movl	12(%edi),%edx
   2565 	xorl	(%esi),%eax
   2566 	xorl	4(%esi),%ebx
   2567 	xorl	8(%esi),%ecx
   2568 	xorl	12(%esi),%edx
   2569 	movl	44(%esp),%edi
   2570 	call	_x86_AES_encrypt_compact
   2571 	movl	32(%esp),%esi
   2572 	movl	36(%esp),%edi
   2573 	movl	%eax,(%edi)
   2574 	movl	%ebx,4(%edi)
   2575 	movl	%ecx,8(%edi)
   2576 	movl	%edx,12(%edi)
   2577 	movl	40(%esp),%ecx
   2578 	leal	16(%esi),%esi
   2579 	movl	%esi,32(%esp)
   2580 	leal	16(%edi),%edx
   2581 	movl	%edx,36(%esp)
   2582 	subl	$16,%ecx
   2583 	cmpl	$16,%ecx
   2584 	movl	%ecx,40(%esp)
   2585 	jae	.L033slow_enc_loop_x86
   2586 	testl	$15,%ecx
   2587 	jnz	.L030slow_enc_tail
   2588 	movl	48(%esp),%esi
   2589 	movl	8(%edi),%ecx
   2590 	movl	12(%edi),%edx
   2591 	movl	%eax,(%esi)
   2592 	movl	%ebx,4(%esi)
   2593 	movl	%ecx,8(%esi)
   2594 	movl	%edx,12(%esi)
   2595 	movl	28(%esp),%esp
   2596 	popfl
   2597 	popl	%edi
   2598 	popl	%esi
   2599 	popl	%ebx
   2600 	popl	%ebp
   2601 	ret
   2602 	pushfl
   2603 .align	16
   2604 .L030slow_enc_tail:
   2605 	emms
   2606 	movl	%edx,%edi
   2607 	movl	$16,%ebx
   2608 	subl	%ecx,%ebx
   2609 	cmpl	%esi,%edi
   2610 	je	.L034enc_in_place
   2611 .align	4
   2612 .long	2767451785
   2613 	jmp	.L035enc_skip_in_place
   2614 .L034enc_in_place:
   2615 	leal	(%edi,%ecx,1),%edi
   2616 .L035enc_skip_in_place:
   2617 	movl	%ebx,%ecx
   2618 	xorl	%eax,%eax
   2619 .align	4
   2620 .long	2868115081
   2621 	movl	48(%esp),%edi
   2622 	movl	%edx,%esi
   2623 	movl	(%edi),%eax
   2624 	movl	4(%edi),%ebx
   2625 	movl	$16,40(%esp)
   2626 	jmp	.L033slow_enc_loop_x86
   2627 .align	16
   2628 .L029slow_decrypt:
   2629 	btl	$25,52(%esp)
   2630 	jnc	.L036slow_dec_loop_x86
   2631 .align	4
   2632 .L037slow_dec_loop_sse:
   2633 	movq	(%esi),%mm0
   2634 	movq	8(%esi),%mm4
   2635 	movl	44(%esp),%edi
   2636 	call	_sse_AES_decrypt_compact
   2637 	movl	32(%esp),%esi
   2638 	leal	60(%esp),%eax
   2639 	movl	36(%esp),%ebx
   2640 	movl	40(%esp),%ecx
   2641 	movl	48(%esp),%edi
   2642 	movq	(%esi),%mm1
   2643 	movq	8(%esi),%mm5
   2644 	pxor	(%edi),%mm0
   2645 	pxor	8(%edi),%mm4
   2646 	movq	%mm1,(%edi)
   2647 	movq	%mm5,8(%edi)
   2648 	subl	$16,%ecx
   2649 	jc	.L038slow_dec_partial_sse
   2650 	movq	%mm0,(%ebx)
   2651 	movq	%mm4,8(%ebx)
   2652 	leal	16(%ebx),%ebx
   2653 	movl	%ebx,36(%esp)
   2654 	leal	16(%esi),%esi
   2655 	movl	%esi,32(%esp)
   2656 	movl	%ecx,40(%esp)
   2657 	jnz	.L037slow_dec_loop_sse
   2658 	emms
   2659 	movl	28(%esp),%esp
   2660 	popfl
   2661 	popl	%edi
   2662 	popl	%esi
   2663 	popl	%ebx
   2664 	popl	%ebp
   2665 	ret
   2666 	pushfl
   2667 .align	16
   2668 .L038slow_dec_partial_sse:
   2669 	movq	%mm0,(%eax)
   2670 	movq	%mm4,8(%eax)
   2671 	emms
   2672 	addl	$16,%ecx
   2673 	movl	%ebx,%edi
   2674 	movl	%eax,%esi
   2675 .align	4
   2676 .long	2767451785
   2677 	movl	28(%esp),%esp
   2678 	popfl
   2679 	popl	%edi
   2680 	popl	%esi
   2681 	popl	%ebx
   2682 	popl	%ebp
   2683 	ret
   2684 	pushfl
   2685 .align	16
   2686 .L036slow_dec_loop_x86:
   2687 	movl	(%esi),%eax
   2688 	movl	4(%esi),%ebx
   2689 	movl	8(%esi),%ecx
   2690 	movl	12(%esi),%edx
   2691 	leal	60(%esp),%edi
   2692 	movl	%eax,(%edi)
   2693 	movl	%ebx,4(%edi)
   2694 	movl	%ecx,8(%edi)
   2695 	movl	%edx,12(%edi)
   2696 	movl	44(%esp),%edi
   2697 	call	_x86_AES_decrypt_compact
   2698 	movl	48(%esp),%edi
   2699 	movl	40(%esp),%esi
   2700 	xorl	(%edi),%eax
   2701 	xorl	4(%edi),%ebx
   2702 	xorl	8(%edi),%ecx
   2703 	xorl	12(%edi),%edx
   2704 	subl	$16,%esi
   2705 	jc	.L039slow_dec_partial_x86
   2706 	movl	%esi,40(%esp)
   2707 	movl	36(%esp),%esi
   2708 	movl	%eax,(%esi)
   2709 	movl	%ebx,4(%esi)
   2710 	movl	%ecx,8(%esi)
   2711 	movl	%edx,12(%esi)
   2712 	leal	16(%esi),%esi
   2713 	movl	%esi,36(%esp)
   2714 	leal	60(%esp),%esi
   2715 	movl	(%esi),%eax
   2716 	movl	4(%esi),%ebx
   2717 	movl	8(%esi),%ecx
   2718 	movl	12(%esi),%edx
   2719 	movl	%eax,(%edi)
   2720 	movl	%ebx,4(%edi)
   2721 	movl	%ecx,8(%edi)
   2722 	movl	%edx,12(%edi)
   2723 	movl	32(%esp),%esi
   2724 	leal	16(%esi),%esi
   2725 	movl	%esi,32(%esp)
   2726 	jnz	.L036slow_dec_loop_x86
   2727 	movl	28(%esp),%esp
   2728 	popfl
   2729 	popl	%edi
   2730 	popl	%esi
   2731 	popl	%ebx
   2732 	popl	%ebp
   2733 	ret
   2734 	pushfl
   2735 .align	16
   2736 .L039slow_dec_partial_x86:
   2737 	leal	60(%esp),%esi
   2738 	movl	%eax,(%esi)
   2739 	movl	%ebx,4(%esi)
   2740 	movl	%ecx,8(%esi)
   2741 	movl	%edx,12(%esi)
   2742 	movl	32(%esp),%esi
   2743 	movl	(%esi),%eax
   2744 	movl	4(%esi),%ebx
   2745 	movl	8(%esi),%ecx
   2746 	movl	12(%esi),%edx
   2747 	movl	%eax,(%edi)
   2748 	movl	%ebx,4(%edi)
   2749 	movl	%ecx,8(%edi)
   2750 	movl	%edx,12(%edi)
   2751 	movl	40(%esp),%ecx
   2752 	movl	36(%esp),%edi
   2753 	leal	60(%esp),%esi
   2754 .align	4
   2755 .long	2767451785
   2756 	movl	28(%esp),%esp
   2757 	popfl
   2758 	popl	%edi
   2759 	popl	%esi
   2760 	popl	%ebx
   2761 	popl	%ebp
   2762 	ret
   2763 .size	AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin
   2764 .type	_x86_AES_set_encrypt_key,@function
   2765 .align	16
   2766 _x86_AES_set_encrypt_key:
   2767 	pushl	%ebp
   2768 	pushl	%ebx
   2769 	pushl	%esi
   2770 	pushl	%edi
   2771 	movl	24(%esp),%esi
   2772 	movl	32(%esp),%edi
   2773 	testl	$-1,%esi
   2774 	jz	.L040badpointer
   2775 	testl	$-1,%edi
   2776 	jz	.L040badpointer
   2777 	call	.L041pic_point
   2778 .L041pic_point:
   2779 	popl	%ebp
   2780 	leal	.LAES_Te-.L041pic_point(%ebp),%ebp
   2781 	leal	2176(%ebp),%ebp
   2782 	movl	-128(%ebp),%eax
   2783 	movl	-96(%ebp),%ebx
   2784 	movl	-64(%ebp),%ecx
   2785 	movl	-32(%ebp),%edx
   2786 	movl	(%ebp),%eax
   2787 	movl	32(%ebp),%ebx
   2788 	movl	64(%ebp),%ecx
   2789 	movl	96(%ebp),%edx
   2790 	movl	28(%esp),%ecx
   2791 	cmpl	$128,%ecx
   2792 	je	.L04210rounds
   2793 	cmpl	$192,%ecx
   2794 	je	.L04312rounds
   2795 	cmpl	$256,%ecx
   2796 	je	.L04414rounds
   2797 	movl	$-2,%eax
   2798 	jmp	.L045exit
   2799 .L04210rounds:
   2800 	movl	(%esi),%eax
   2801 	movl	4(%esi),%ebx
   2802 	movl	8(%esi),%ecx
   2803 	movl	12(%esi),%edx
   2804 	movl	%eax,(%edi)
   2805 	movl	%ebx,4(%edi)
   2806 	movl	%ecx,8(%edi)
   2807 	movl	%edx,12(%edi)
   2808 	xorl	%ecx,%ecx
   2809 	jmp	.L04610shortcut
   2810 .align	4
   2811 .L04710loop:
   2812 	movl	(%edi),%eax
   2813 	movl	12(%edi),%edx
   2814 .L04610shortcut:
   2815 	movzbl	%dl,%esi
   2816 	movzbl	-128(%ebp,%esi,1),%ebx
   2817 	movzbl	%dh,%esi
   2818 	shll	$24,%ebx
   2819 	xorl	%ebx,%eax
   2820 	movzbl	-128(%ebp,%esi,1),%ebx
   2821 	shrl	$16,%edx
   2822 	movzbl	%dl,%esi
   2823 	xorl	%ebx,%eax
   2824 	movzbl	-128(%ebp,%esi,1),%ebx
   2825 	movzbl	%dh,%esi
   2826 	shll	$8,%ebx
   2827 	xorl	%ebx,%eax
   2828 	movzbl	-128(%ebp,%esi,1),%ebx
   2829 	shll	$16,%ebx
   2830 	xorl	%ebx,%eax
   2831 	xorl	896(%ebp,%ecx,4),%eax
   2832 	movl	%eax,16(%edi)
   2833 	xorl	4(%edi),%eax
   2834 	movl	%eax,20(%edi)
   2835 	xorl	8(%edi),%eax
   2836 	movl	%eax,24(%edi)
   2837 	xorl	12(%edi),%eax
   2838 	movl	%eax,28(%edi)
   2839 	incl	%ecx
   2840 	addl	$16,%edi
   2841 	cmpl	$10,%ecx
   2842 	jl	.L04710loop
   2843 	movl	$10,80(%edi)
   2844 	xorl	%eax,%eax
   2845 	jmp	.L045exit
   2846 .L04312rounds:
   2847 	movl	(%esi),%eax
   2848 	movl	4(%esi),%ebx
   2849 	movl	8(%esi),%ecx
   2850 	movl	12(%esi),%edx
   2851 	movl	%eax,(%edi)
   2852 	movl	%ebx,4(%edi)
   2853 	movl	%ecx,8(%edi)
   2854 	movl	%edx,12(%edi)
   2855 	movl	16(%esi),%ecx
   2856 	movl	20(%esi),%edx
   2857 	movl	%ecx,16(%edi)
   2858 	movl	%edx,20(%edi)
   2859 	xorl	%ecx,%ecx
   2860 	jmp	.L04812shortcut
   2861 .align	4
   2862 .L04912loop:
   2863 	movl	(%edi),%eax
   2864 	movl	20(%edi),%edx
   2865 .L04812shortcut:
   2866 	movzbl	%dl,%esi
   2867 	movzbl	-128(%ebp,%esi,1),%ebx
   2868 	movzbl	%dh,%esi
   2869 	shll	$24,%ebx
   2870 	xorl	%ebx,%eax
   2871 	movzbl	-128(%ebp,%esi,1),%ebx
   2872 	shrl	$16,%edx
   2873 	movzbl	%dl,%esi
   2874 	xorl	%ebx,%eax
   2875 	movzbl	-128(%ebp,%esi,1),%ebx
   2876 	movzbl	%dh,%esi
   2877 	shll	$8,%ebx
   2878 	xorl	%ebx,%eax
   2879 	movzbl	-128(%ebp,%esi,1),%ebx
   2880 	shll	$16,%ebx
   2881 	xorl	%ebx,%eax
   2882 	xorl	896(%ebp,%ecx,4),%eax
   2883 	movl	%eax,24(%edi)
   2884 	xorl	4(%edi),%eax
   2885 	movl	%eax,28(%edi)
   2886 	xorl	8(%edi),%eax
   2887 	movl	%eax,32(%edi)
   2888 	xorl	12(%edi),%eax
   2889 	movl	%eax,36(%edi)
   2890 	cmpl	$7,%ecx
   2891 	je	.L05012break
   2892 	incl	%ecx
   2893 	xorl	16(%edi),%eax
   2894 	movl	%eax,40(%edi)
   2895 	xorl	20(%edi),%eax
   2896 	movl	%eax,44(%edi)
   2897 	addl	$24,%edi
   2898 	jmp	.L04912loop
   2899 .L05012break:
   2900 	movl	$12,72(%edi)
   2901 	xorl	%eax,%eax
   2902 	jmp	.L045exit
   2903 .L04414rounds:
   2904 	movl	(%esi),%eax
   2905 	movl	4(%esi),%ebx
   2906 	movl	8(%esi),%ecx
   2907 	movl	12(%esi),%edx
   2908 	movl	%eax,(%edi)
   2909 	movl	%ebx,4(%edi)
   2910 	movl	%ecx,8(%edi)
   2911 	movl	%edx,12(%edi)
   2912 	movl	16(%esi),%eax
   2913 	movl	20(%esi),%ebx
   2914 	movl	24(%esi),%ecx
   2915 	movl	28(%esi),%edx
   2916 	movl	%eax,16(%edi)
   2917 	movl	%ebx,20(%edi)
   2918 	movl	%ecx,24(%edi)
   2919 	movl	%edx,28(%edi)
   2920 	xorl	%ecx,%ecx
   2921 	jmp	.L05114shortcut
   2922 .align	4
   2923 .L05214loop:
   2924 	movl	28(%edi),%edx
   2925 .L05114shortcut:
   2926 	movl	(%edi),%eax
   2927 	movzbl	%dl,%esi
   2928 	movzbl	-128(%ebp,%esi,1),%ebx
   2929 	movzbl	%dh,%esi
   2930 	shll	$24,%ebx
   2931 	xorl	%ebx,%eax
   2932 	movzbl	-128(%ebp,%esi,1),%ebx
   2933 	shrl	$16,%edx
   2934 	movzbl	%dl,%esi
   2935 	xorl	%ebx,%eax
   2936 	movzbl	-128(%ebp,%esi,1),%ebx
   2937 	movzbl	%dh,%esi
   2938 	shll	$8,%ebx
   2939 	xorl	%ebx,%eax
   2940 	movzbl	-128(%ebp,%esi,1),%ebx
   2941 	shll	$16,%ebx
   2942 	xorl	%ebx,%eax
   2943 	xorl	896(%ebp,%ecx,4),%eax
   2944 	movl	%eax,32(%edi)
   2945 	xorl	4(%edi),%eax
   2946 	movl	%eax,36(%edi)
   2947 	xorl	8(%edi),%eax
   2948 	movl	%eax,40(%edi)
   2949 	xorl	12(%edi),%eax
   2950 	movl	%eax,44(%edi)
   2951 	cmpl	$6,%ecx
   2952 	je	.L05314break
   2953 	incl	%ecx
   2954 	movl	%eax,%edx
   2955 	movl	16(%edi),%eax
   2956 	movzbl	%dl,%esi
   2957 	movzbl	-128(%ebp,%esi,1),%ebx
   2958 	movzbl	%dh,%esi
   2959 	xorl	%ebx,%eax
   2960 	movzbl	-128(%ebp,%esi,1),%ebx
   2961 	shrl	$16,%edx
   2962 	shll	$8,%ebx
   2963 	movzbl	%dl,%esi
   2964 	xorl	%ebx,%eax
   2965 	movzbl	-128(%ebp,%esi,1),%ebx
   2966 	movzbl	%dh,%esi
   2967 	shll	$16,%ebx
   2968 	xorl	%ebx,%eax
   2969 	movzbl	-128(%ebp,%esi,1),%ebx
   2970 	shll	$24,%ebx
   2971 	xorl	%ebx,%eax
   2972 	movl	%eax,48(%edi)
   2973 	xorl	20(%edi),%eax
   2974 	movl	%eax,52(%edi)
   2975 	xorl	24(%edi),%eax
   2976 	movl	%eax,56(%edi)
   2977 	xorl	28(%edi),%eax
   2978 	movl	%eax,60(%edi)
   2979 	addl	$32,%edi
   2980 	jmp	.L05214loop
   2981 .L05314break:
   2982 	movl	$14,48(%edi)
   2983 	xorl	%eax,%eax
   2984 	jmp	.L045exit
   2985 .L040badpointer:
   2986 	movl	$-1,%eax
   2987 .L045exit:
   2988 	popl	%edi
   2989 	popl	%esi
   2990 	popl	%ebx
   2991 	popl	%ebp
   2992 	ret
   2993 .size	_x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key
   2994 .globl	private_AES_set_encrypt_key
   2995 .type	private_AES_set_encrypt_key,@function
   2996 .align	16
   2997 private_AES_set_encrypt_key:
   2998 .L_private_AES_set_encrypt_key_begin:
   2999 	call	_x86_AES_set_encrypt_key
   3000 	ret
   3001 .size	private_AES_set_encrypt_key,.-.L_private_AES_set_encrypt_key_begin
   3002 .globl	private_AES_set_decrypt_key
   3003 .type	private_AES_set_decrypt_key,@function
   3004 .align	16
   3005 private_AES_set_decrypt_key:
   3006 .L_private_AES_set_decrypt_key_begin:
   3007 	call	_x86_AES_set_encrypt_key
   3008 	cmpl	$0,%eax
   3009 	je	.L054proceed
   3010 	ret
   3011 .L054proceed:
   3012 	pushl	%ebp
   3013 	pushl	%ebx
   3014 	pushl	%esi
   3015 	pushl	%edi
   3016 	movl	28(%esp),%esi
   3017 	movl	240(%esi),%ecx
   3018 	leal	(,%ecx,4),%ecx
   3019 	leal	(%esi,%ecx,4),%edi
   3020 .align	4
   3021 .L055invert:
   3022 	movl	(%esi),%eax
   3023 	movl	4(%esi),%ebx
   3024 	movl	(%edi),%ecx
   3025 	movl	4(%edi),%edx
   3026 	movl	%eax,(%edi)
   3027 	movl	%ebx,4(%edi)
   3028 	movl	%ecx,(%esi)
   3029 	movl	%edx,4(%esi)
   3030 	movl	8(%esi),%eax
   3031 	movl	12(%esi),%ebx
   3032 	movl	8(%edi),%ecx
   3033 	movl	12(%edi),%edx
   3034 	movl	%eax,8(%edi)
   3035 	movl	%ebx,12(%edi)
   3036 	movl	%ecx,8(%esi)
   3037 	movl	%edx,12(%esi)
   3038 	addl	$16,%esi
   3039 	subl	$16,%edi
   3040 	cmpl	%edi,%esi
   3041 	jne	.L055invert
   3042 	movl	28(%esp),%edi
   3043 	movl	240(%edi),%esi
   3044 	leal	-2(%esi,%esi,1),%esi
   3045 	leal	(%edi,%esi,8),%esi
   3046 	movl	%esi,28(%esp)
   3047 	movl	16(%edi),%eax
   3048 .align	4
   3049 .L056permute:
   3050 	addl	$16,%edi
   3051 	movl	%eax,%esi
   3052 	andl	$2155905152,%esi
   3053 	movl	%esi,%ebp
   3054 	shrl	$7,%ebp
   3055 	leal	(%eax,%eax,1),%ebx
   3056 	subl	%ebp,%esi
   3057 	andl	$4278124286,%ebx
   3058 	andl	$454761243,%esi
   3059 	xorl	%ebx,%esi
   3060 	movl	%esi,%ebx
   3061 	andl	$2155905152,%esi
   3062 	movl	%esi,%ebp
   3063 	shrl	$7,%ebp
   3064 	leal	(%ebx,%ebx,1),%ecx
   3065 	subl	%ebp,%esi
   3066 	andl	$4278124286,%ecx
   3067 	andl	$454761243,%esi
   3068 	xorl	%eax,%ebx
   3069 	xorl	%ecx,%esi
   3070 	movl	%esi,%ecx
   3071 	andl	$2155905152,%esi
   3072 	movl	%esi,%ebp
   3073 	shrl	$7,%ebp
   3074 	leal	(%ecx,%ecx,1),%edx
   3075 	xorl	%eax,%ecx
   3076 	subl	%ebp,%esi
   3077 	andl	$4278124286,%edx
   3078 	andl	$454761243,%esi
   3079 	roll	$8,%eax
   3080 	xorl	%esi,%edx
   3081 	movl	4(%edi),%ebp
   3082 	xorl	%ebx,%eax
   3083 	xorl	%edx,%ebx
   3084 	xorl	%ecx,%eax
   3085 	roll	$24,%ebx
   3086 	xorl	%edx,%ecx
   3087 	xorl	%edx,%eax
   3088 	roll	$16,%ecx
   3089 	xorl	%ebx,%eax
   3090 	roll	$8,%edx
   3091 	xorl	%ecx,%eax
   3092 	movl	%ebp,%ebx
   3093 	xorl	%edx,%eax
   3094 	movl	%eax,(%edi)
   3095 	movl	%ebx,%esi
   3096 	andl	$2155905152,%esi
   3097 	movl	%esi,%ebp
   3098 	shrl	$7,%ebp
   3099 	leal	(%ebx,%ebx,1),%ecx
   3100 	subl	%ebp,%esi
   3101 	andl	$4278124286,%ecx
   3102 	andl	$454761243,%esi
   3103 	xorl	%ecx,%esi
   3104 	movl	%esi,%ecx
   3105 	andl	$2155905152,%esi
   3106 	movl	%esi,%ebp
   3107 	shrl	$7,%ebp
   3108 	leal	(%ecx,%ecx,1),%edx
   3109 	subl	%ebp,%esi
   3110 	andl	$4278124286,%edx
   3111 	andl	$454761243,%esi
   3112 	xorl	%ebx,%ecx
   3113 	xorl	%edx,%esi
   3114 	movl	%esi,%edx
   3115 	andl	$2155905152,%esi
   3116 	movl	%esi,%ebp
   3117 	shrl	$7,%ebp
   3118 	leal	(%edx,%edx,1),%eax
   3119 	xorl	%ebx,%edx
   3120 	subl	%ebp,%esi
   3121 	andl	$4278124286,%eax
   3122 	andl	$454761243,%esi
   3123 	roll	$8,%ebx
   3124 	xorl	%esi,%eax
   3125 	movl	8(%edi),%ebp
   3126 	xorl	%ecx,%ebx
   3127 	xorl	%eax,%ecx
   3128 	xorl	%edx,%ebx
   3129 	roll	$24,%ecx
   3130 	xorl	%eax,%edx
   3131 	xorl	%eax,%ebx
   3132 	roll	$16,%edx
   3133 	xorl	%ecx,%ebx
   3134 	roll	$8,%eax
   3135 	xorl	%edx,%ebx
   3136 	movl	%ebp,%ecx
   3137 	xorl	%eax,%ebx
   3138 	movl	%ebx,4(%edi)
   3139 	movl	%ecx,%esi
   3140 	andl	$2155905152,%esi
   3141 	movl	%esi,%ebp
   3142 	shrl	$7,%ebp
   3143 	leal	(%ecx,%ecx,1),%edx
   3144 	subl	%ebp,%esi
   3145 	andl	$4278124286,%edx
   3146 	andl	$454761243,%esi
   3147 	xorl	%edx,%esi
   3148 	movl	%esi,%edx
   3149 	andl	$2155905152,%esi
   3150 	movl	%esi,%ebp
   3151 	shrl	$7,%ebp
   3152 	leal	(%edx,%edx,1),%eax
   3153 	subl	%ebp,%esi
   3154 	andl	$4278124286,%eax
   3155 	andl	$454761243,%esi
   3156 	xorl	%ecx,%edx
   3157 	xorl	%eax,%esi
   3158 	movl	%esi,%eax
   3159 	andl	$2155905152,%esi
   3160 	movl	%esi,%ebp
   3161 	shrl	$7,%ebp
   3162 	leal	(%eax,%eax,1),%ebx
   3163 	xorl	%ecx,%eax
   3164 	subl	%ebp,%esi
   3165 	andl	$4278124286,%ebx
   3166 	andl	$454761243,%esi
   3167 	roll	$8,%ecx
   3168 	xorl	%esi,%ebx
   3169 	movl	12(%edi),%ebp
   3170 	xorl	%edx,%ecx
   3171 	xorl	%ebx,%edx
   3172 	xorl	%eax,%ecx
   3173 	roll	$24,%edx
   3174 	xorl	%ebx,%eax
   3175 	xorl	%ebx,%ecx
   3176 	roll	$16,%eax
   3177 	xorl	%edx,%ecx
   3178 	roll	$8,%ebx
   3179 	xorl	%eax,%ecx
   3180 	movl	%ebp,%edx
   3181 	xorl	%ebx,%ecx
   3182 	movl	%ecx,8(%edi)
   3183 	movl	%edx,%esi
   3184 	andl	$2155905152,%esi
   3185 	movl	%esi,%ebp
   3186 	shrl	$7,%ebp
   3187 	leal	(%edx,%edx,1),%eax
   3188 	subl	%ebp,%esi
   3189 	andl	$4278124286,%eax
   3190 	andl	$454761243,%esi
   3191 	xorl	%eax,%esi
   3192 	movl	%esi,%eax
   3193 	andl	$2155905152,%esi
   3194 	movl	%esi,%ebp
   3195 	shrl	$7,%ebp
   3196 	leal	(%eax,%eax,1),%ebx
   3197 	subl	%ebp,%esi
   3198 	andl	$4278124286,%ebx
   3199 	andl	$454761243,%esi
   3200 	xorl	%edx,%eax
   3201 	xorl	%ebx,%esi
   3202 	movl	%esi,%ebx
   3203 	andl	$2155905152,%esi
   3204 	movl	%esi,%ebp
   3205 	shrl	$7,%ebp
   3206 	leal	(%ebx,%ebx,1),%ecx
   3207 	xorl	%edx,%ebx
   3208 	subl	%ebp,%esi
   3209 	andl	$4278124286,%ecx
   3210 	andl	$454761243,%esi
   3211 	roll	$8,%edx
   3212 	xorl	%esi,%ecx
   3213 	movl	16(%edi),%ebp
   3214 	xorl	%eax,%edx
   3215 	xorl	%ecx,%eax
   3216 	xorl	%ebx,%edx
   3217 	roll	$24,%eax
   3218 	xorl	%ecx,%ebx
   3219 	xorl	%ecx,%edx
   3220 	roll	$16,%ebx
   3221 	xorl	%eax,%edx
   3222 	roll	$8,%ecx
   3223 	xorl	%ebx,%edx
   3224 	movl	%ebp,%eax
   3225 	xorl	%ecx,%edx
   3226 	movl	%edx,12(%edi)
   3227 	cmpl	28(%esp),%edi
   3228 	jb	.L056permute
   3229 	xorl	%eax,%eax
   3230 	popl	%edi
   3231 	popl	%esi
   3232 	popl	%ebx
   3233 	popl	%ebp
   3234 	ret
   3235 .size	private_AES_set_decrypt_key,.-.L_private_AES_set_decrypt_key_begin
   3236 .byte	65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
   3237 .byte	80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
   3238 .byte	111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
   3239 .comm	OPENSSL_ia32cap_P,8,4
   3240