Path: blob/main/sys/crypto/openssl/i386/aes-586.S
108716 views
/* Do not modify. This file is auto-generated from aes-586.pl. */1#ifdef PIC2.text3.type _x86_AES_encrypt_compact,@function4.align 165_x86_AES_encrypt_compact:6#ifdef __CET__78.byte 243,15,30,2519#endif1011movl %edi,20(%esp)12xorl (%edi),%eax13xorl 4(%edi),%ebx14xorl 8(%edi),%ecx15xorl 12(%edi),%edx16movl 240(%edi),%esi17leal -2(%esi,%esi,1),%esi18leal (%edi,%esi,8),%esi19movl %esi,24(%esp)20movl -128(%ebp),%edi21movl -96(%ebp),%esi22movl -64(%ebp),%edi23movl -32(%ebp),%esi24movl (%ebp),%edi25movl 32(%ebp),%esi26movl 64(%ebp),%edi27movl 96(%ebp),%esi28.align 1629.L000loop:30movl %eax,%esi31andl $255,%esi32movzbl -128(%ebp,%esi,1),%esi33movzbl %bh,%edi34movzbl -128(%ebp,%edi,1),%edi35shll $8,%edi36xorl %edi,%esi37movl %ecx,%edi38shrl $16,%edi39andl $255,%edi40movzbl -128(%ebp,%edi,1),%edi41shll $16,%edi42xorl %edi,%esi43movl %edx,%edi44shrl $24,%edi45movzbl -128(%ebp,%edi,1),%edi46shll $24,%edi47xorl %edi,%esi48movl %esi,4(%esp)4950movl %ebx,%esi51andl $255,%esi52shrl $16,%ebx53movzbl -128(%ebp,%esi,1),%esi54movzbl %ch,%edi55movzbl -128(%ebp,%edi,1),%edi56shll $8,%edi57xorl %edi,%esi58movl %edx,%edi59shrl $16,%edi60andl $255,%edi61movzbl -128(%ebp,%edi,1),%edi62shll $16,%edi63xorl %edi,%esi64movl %eax,%edi65shrl $24,%edi66movzbl -128(%ebp,%edi,1),%edi67shll $24,%edi68xorl %edi,%esi69movl %esi,8(%esp)7071movl %ecx,%esi72andl $255,%esi73shrl $24,%ecx74movzbl -128(%ebp,%esi,1),%esi75movzbl %dh,%edi76movzbl -128(%ebp,%edi,1),%edi77shll $8,%edi78xorl %edi,%esi79movl %eax,%edi80shrl $16,%edi81andl $255,%edx82andl $255,%edi83movzbl -128(%ebp,%edi,1),%edi84shll $16,%edi85xorl %edi,%esi86movzbl %bh,%edi87movzbl -128(%ebp,%edi,1),%edi88shll $24,%edi89xorl %edi,%esi9091andl $255,%edx92movzbl -128(%ebp,%edx,1),%edx93movzbl %ah,%eax94movzbl -128(%ebp,%eax,1),%eax95shll $8,%eax96xorl %eax,%edx97movl 4(%esp),%eax98andl $255,%ebx99movzbl -128(%ebp,%ebx,1),%ebx100shll $16,%ebx101xorl %ebx,%edx102movl 8(%esp),%ebx103movzbl -128(%ebp,%ecx,1),%ecx104shll $24,%ecx105xorl %ecx,%edx106movl %esi,%ecx107108movl $2155905152,%ebp109andl %ecx,%ebp110leal (%ecx,%ecx,1),%edi111movl %ebp,%esi112shrl $7,%ebp113andl $4278124286,%edi114subl %ebp,%esi115movl %ecx,%ebp116andl $454761243,%esi117rorl $16,%ebp118xorl %edi,%esi119movl %ecx,%edi120xorl %esi,%ecx121rorl $24,%edi122xorl %ebp,%esi123roll $24,%ecx124xorl %edi,%esi125movl $2155905152,%ebp126xorl %esi,%ecx127andl %edx,%ebp128leal (%edx,%edx,1),%edi129movl %ebp,%esi130shrl $7,%ebp131andl $4278124286,%edi132subl %ebp,%esi133movl %edx,%ebp134andl $454761243,%esi135rorl $16,%ebp136xorl %edi,%esi137movl %edx,%edi138xorl %esi,%edx139rorl $24,%edi140xorl %ebp,%esi141roll $24,%edx142xorl %edi,%esi143movl $2155905152,%ebp144xorl %esi,%edx145andl %eax,%ebp146leal (%eax,%eax,1),%edi147movl %ebp,%esi148shrl $7,%ebp149andl $4278124286,%edi150subl %ebp,%esi151movl %eax,%ebp152andl $454761243,%esi153rorl $16,%ebp154xorl %edi,%esi155movl %eax,%edi156xorl %esi,%eax157rorl $24,%edi158xorl %ebp,%esi159roll $24,%eax160xorl %edi,%esi161movl $2155905152,%ebp162xorl %esi,%eax163andl %ebx,%ebp164leal (%ebx,%ebx,1),%edi165movl %ebp,%esi166shrl $7,%ebp167andl $4278124286,%edi168subl %ebp,%esi169movl %ebx,%ebp170andl $454761243,%esi171rorl $16,%ebp172xorl %edi,%esi173movl %ebx,%edi174xorl %esi,%ebx175rorl $24,%edi176xorl %ebp,%esi177roll $24,%ebx178xorl %edi,%esi179xorl %esi,%ebx180movl 20(%esp),%edi181movl 28(%esp),%ebp182addl $16,%edi183xorl (%edi),%eax184xorl 4(%edi),%ebx185xorl 8(%edi),%ecx186xorl 12(%edi),%edx187cmpl 24(%esp),%edi188movl %edi,20(%esp)189jb .L000loop190movl %eax,%esi191andl $255,%esi192movzbl -128(%ebp,%esi,1),%esi193movzbl %bh,%edi194movzbl -128(%ebp,%edi,1),%edi195shll $8,%edi196xorl %edi,%esi197movl %ecx,%edi198shrl $16,%edi199andl $255,%edi200movzbl -128(%ebp,%edi,1),%edi201shll $16,%edi202xorl %edi,%esi203movl %edx,%edi204shrl $24,%edi205movzbl -128(%ebp,%edi,1),%edi206shll $24,%edi207xorl %edi,%esi208movl %esi,4(%esp)209210movl %ebx,%esi211andl $255,%esi212shrl $16,%ebx213movzbl -128(%ebp,%esi,1),%esi214movzbl %ch,%edi215movzbl -128(%ebp,%edi,1),%edi216shll $8,%edi217xorl %edi,%esi218movl %edx,%edi219shrl $16,%edi220andl $255,%edi221movzbl -128(%ebp,%edi,1),%edi222shll $16,%edi223xorl %edi,%esi224movl %eax,%edi225shrl $24,%edi226movzbl -128(%ebp,%edi,1),%edi227shll $24,%edi228xorl %edi,%esi229movl %esi,8(%esp)230231movl %ecx,%esi232andl $255,%esi233shrl $24,%ecx234movzbl -128(%ebp,%esi,1),%esi235movzbl %dh,%edi236movzbl -128(%ebp,%edi,1),%edi237shll $8,%edi238xorl %edi,%esi239movl %eax,%edi240shrl $16,%edi241andl $255,%edx242andl $255,%edi243movzbl -128(%ebp,%edi,1),%edi244shll $16,%edi245xorl %edi,%esi246movzbl %bh,%edi247movzbl -128(%ebp,%edi,1),%edi248shll $24,%edi249xorl %edi,%esi250251movl 20(%esp),%edi252andl $255,%edx253movzbl -128(%ebp,%edx,1),%edx254movzbl %ah,%eax255movzbl -128(%ebp,%eax,1),%eax256shll $8,%eax257xorl %eax,%edx258movl 4(%esp),%eax259andl $255,%ebx260movzbl -128(%ebp,%ebx,1),%ebx261shll $16,%ebx262xorl %ebx,%edx263movl 8(%esp),%ebx264movzbl -128(%ebp,%ecx,1),%ecx265shll $24,%ecx266xorl %ecx,%edx267movl %esi,%ecx268269xorl 16(%edi),%eax270xorl 20(%edi),%ebx271xorl 24(%edi),%ecx272xorl 28(%edi),%edx273ret274.size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact275.type _sse_AES_encrypt_compact,@function276.align 16277_sse_AES_encrypt_compact:278#ifdef __CET__279280.byte 243,15,30,251281#endif282283pxor (%edi),%mm0284pxor 8(%edi),%mm4285movl 240(%edi),%esi286leal -2(%esi,%esi,1),%esi287leal (%edi,%esi,8),%esi288movl %esi,24(%esp)289movl $454761243,%eax290movl %eax,8(%esp)291movl %eax,12(%esp)292movl -128(%ebp),%eax293movl -96(%ebp),%ebx294movl -64(%ebp),%ecx295movl -32(%ebp),%edx296movl (%ebp),%eax297movl 32(%ebp),%ebx298movl 64(%ebp),%ecx299movl 96(%ebp),%edx300.align 16301.L001loop:302pshufw $8,%mm0,%mm1303pshufw $13,%mm4,%mm5304movd %mm1,%eax305movd %mm5,%ebx306movl %edi,20(%esp)307movzbl %al,%esi308movzbl %ah,%edx309pshufw $13,%mm0,%mm2310movzbl -128(%ebp,%esi,1),%ecx311movzbl %bl,%edi312movzbl -128(%ebp,%edx,1),%edx313shrl $16,%eax314shll $8,%edx315movzbl -128(%ebp,%edi,1),%esi316movzbl %bh,%edi317shll $16,%esi318pshufw $8,%mm4,%mm6319orl %esi,%ecx320movzbl -128(%ebp,%edi,1),%esi321movzbl %ah,%edi322shll $24,%esi323shrl $16,%ebx324orl %esi,%edx325movzbl -128(%ebp,%edi,1),%esi326movzbl %bh,%edi327shll $8,%esi328orl %esi,%ecx329movzbl -128(%ebp,%edi,1),%esi330movzbl %al,%edi331shll $24,%esi332orl %esi,%ecx333movzbl -128(%ebp,%edi,1),%esi334movzbl %bl,%edi335movd %mm2,%eax336movd %ecx,%mm0337movzbl -128(%ebp,%edi,1),%ecx338movzbl %ah,%edi339shll $16,%ecx340movd %mm6,%ebx341orl %esi,%ecx342movzbl -128(%ebp,%edi,1),%esi343movzbl %bh,%edi344shll $24,%esi345orl %esi,%ecx346movzbl -128(%ebp,%edi,1),%esi347movzbl %bl,%edi348shll $8,%esi349shrl $16,%ebx350orl %esi,%ecx351movzbl -128(%ebp,%edi,1),%esi352movzbl %al,%edi353shrl $16,%eax354movd %ecx,%mm1355movzbl -128(%ebp,%edi,1),%ecx356movzbl %ah,%edi357shll $16,%ecx358andl $255,%eax359orl %esi,%ecx360punpckldq %mm1,%mm0361movzbl -128(%ebp,%edi,1),%esi362movzbl %bh,%edi363shll $24,%esi364andl $255,%ebx365movzbl -128(%ebp,%eax,1),%eax366orl %esi,%ecx367shll $16,%eax368movzbl -128(%ebp,%edi,1),%esi369orl %eax,%edx370shll $8,%esi371movzbl -128(%ebp,%ebx,1),%ebx372orl %esi,%ecx373orl %ebx,%edx374movl 20(%esp),%edi375movd %ecx,%mm4376movd %edx,%mm5377punpckldq %mm5,%mm4378addl $16,%edi379cmpl 24(%esp),%edi380ja .L002out381movq 8(%esp),%mm2382pxor %mm3,%mm3383pxor %mm7,%mm7384movq %mm0,%mm1385movq %mm4,%mm5386pcmpgtb %mm0,%mm3387pcmpgtb %mm4,%mm7388pand %mm2,%mm3389pand %mm2,%mm7390pshufw $177,%mm0,%mm2391pshufw $177,%mm4,%mm6392paddb %mm0,%mm0393paddb %mm4,%mm4394pxor %mm3,%mm0395pxor %mm7,%mm4396pshufw $177,%mm2,%mm3397pshufw $177,%mm6,%mm7398pxor %mm0,%mm1399pxor %mm4,%mm5400pxor %mm2,%mm0401pxor %mm6,%mm4402movq %mm3,%mm2403movq %mm7,%mm6404pslld $8,%mm3405pslld $8,%mm7406psrld $24,%mm2407psrld $24,%mm6408pxor %mm3,%mm0409pxor %mm7,%mm4410pxor %mm2,%mm0411pxor %mm6,%mm4412movq %mm1,%mm3413movq %mm5,%mm7414movq (%edi),%mm2415movq 8(%edi),%mm6416psrld $8,%mm1417psrld $8,%mm5418movl -128(%ebp),%eax419pslld $24,%mm3420pslld $24,%mm7421movl -64(%ebp),%ebx422pxor %mm1,%mm0423pxor %mm5,%mm4424movl (%ebp),%ecx425pxor %mm3,%mm0426pxor %mm7,%mm4427movl 64(%ebp),%edx428pxor %mm2,%mm0429pxor %mm6,%mm4430jmp .L001loop431.align 16432.L002out:433pxor (%edi),%mm0434pxor 8(%edi),%mm4435ret436.size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact437.type _x86_AES_encrypt,@function438.align 16439_x86_AES_encrypt:440#ifdef __CET__441442.byte 243,15,30,251443#endif444445movl %edi,20(%esp)446xorl (%edi),%eax447xorl 4(%edi),%ebx448xorl 8(%edi),%ecx449xorl 12(%edi),%edx450movl 240(%edi),%esi451leal -2(%esi,%esi,1),%esi452leal (%edi,%esi,8),%esi453movl %esi,24(%esp)454.align 16455.L003loop:456movl %eax,%esi457andl $255,%esi458movl (%ebp,%esi,8),%esi459movzbl %bh,%edi460xorl 3(%ebp,%edi,8),%esi461movl %ecx,%edi462shrl $16,%edi463andl $255,%edi464xorl 2(%ebp,%edi,8),%esi465movl %edx,%edi466shrl $24,%edi467xorl 1(%ebp,%edi,8),%esi468movl %esi,4(%esp)469470movl %ebx,%esi471andl $255,%esi472shrl $16,%ebx473movl (%ebp,%esi,8),%esi474movzbl %ch,%edi475xorl 3(%ebp,%edi,8),%esi476movl %edx,%edi477shrl $16,%edi478andl $255,%edi479xorl 2(%ebp,%edi,8),%esi480movl %eax,%edi481shrl $24,%edi482xorl 1(%ebp,%edi,8),%esi483movl %esi,8(%esp)484485movl %ecx,%esi486andl $255,%esi487shrl $24,%ecx488movl (%ebp,%esi,8),%esi489movzbl %dh,%edi490xorl 3(%ebp,%edi,8),%esi491movl %eax,%edi492shrl $16,%edi493andl $255,%edx494andl $255,%edi495xorl 2(%ebp,%edi,8),%esi496movzbl %bh,%edi497xorl 1(%ebp,%edi,8),%esi498499movl 20(%esp),%edi500movl (%ebp,%edx,8),%edx501movzbl %ah,%eax502xorl 3(%ebp,%eax,8),%edx503movl 4(%esp),%eax504andl $255,%ebx505xorl 2(%ebp,%ebx,8),%edx506movl 8(%esp),%ebx507xorl 1(%ebp,%ecx,8),%edx508movl %esi,%ecx509510addl $16,%edi511xorl (%edi),%eax512xorl 4(%edi),%ebx513xorl 8(%edi),%ecx514xorl 12(%edi),%edx515cmpl 24(%esp),%edi516movl %edi,20(%esp)517jb .L003loop518movl %eax,%esi519andl $255,%esi520movl 2(%ebp,%esi,8),%esi521andl $255,%esi522movzbl %bh,%edi523movl (%ebp,%edi,8),%edi524andl $65280,%edi525xorl %edi,%esi526movl %ecx,%edi527shrl $16,%edi528andl $255,%edi529movl (%ebp,%edi,8),%edi530andl $16711680,%edi531xorl %edi,%esi532movl %edx,%edi533shrl $24,%edi534movl 2(%ebp,%edi,8),%edi535andl $4278190080,%edi536xorl %edi,%esi537movl %esi,4(%esp)538movl %ebx,%esi539andl $255,%esi540shrl $16,%ebx541movl 2(%ebp,%esi,8),%esi542andl $255,%esi543movzbl %ch,%edi544movl (%ebp,%edi,8),%edi545andl $65280,%edi546xorl %edi,%esi547movl %edx,%edi548shrl $16,%edi549andl $255,%edi550movl (%ebp,%edi,8),%edi551andl $16711680,%edi552xorl %edi,%esi553movl %eax,%edi554shrl $24,%edi555movl 2(%ebp,%edi,8),%edi556andl $4278190080,%edi557xorl %edi,%esi558movl %esi,8(%esp)559movl %ecx,%esi560andl $255,%esi561shrl $24,%ecx562movl 2(%ebp,%esi,8),%esi563andl $255,%esi564movzbl %dh,%edi565movl (%ebp,%edi,8),%edi566andl $65280,%edi567xorl %edi,%esi568movl %eax,%edi569shrl $16,%edi570andl $255,%edx571andl $255,%edi572movl (%ebp,%edi,8),%edi573andl $16711680,%edi574xorl %edi,%esi575movzbl %bh,%edi576movl 2(%ebp,%edi,8),%edi577andl $4278190080,%edi578xorl %edi,%esi579movl 20(%esp),%edi580andl $255,%edx581movl 2(%ebp,%edx,8),%edx582andl $255,%edx583movzbl %ah,%eax584movl (%ebp,%eax,8),%eax585andl $65280,%eax586xorl %eax,%edx587movl 4(%esp),%eax588andl $255,%ebx589movl (%ebp,%ebx,8),%ebx590andl $16711680,%ebx591xorl %ebx,%edx592movl 8(%esp),%ebx593movl 2(%ebp,%ecx,8),%ecx594andl $4278190080,%ecx595xorl %ecx,%edx596movl %esi,%ecx597addl $16,%edi598xorl (%edi),%eax599xorl 4(%edi),%ebx600xorl 8(%edi),%ecx601xorl 12(%edi),%edx602ret603.align 64604.LAES_Te:605.long 2774754246,2774754246606.long 2222750968,2222750968607.long 2574743534,2574743534608.long 2373680118,2373680118609.long 234025727,234025727610.long 3177933782,3177933782611.long 2976870366,2976870366612.long 1422247313,1422247313613.long 1345335392,1345335392614.long 50397442,50397442615.long 2842126286,2842126286616.long 2099981142,2099981142617.long 436141799,436141799618.long 1658312629,1658312629619.long 3870010189,3870010189620.long 2591454956,2591454956621.long 1170918031,1170918031622.long 2642575903,2642575903623.long 1086966153,1086966153624.long 2273148410,2273148410625.long 368769775,368769775626.long 3948501426,3948501426627.long 3376891790,3376891790628.long 200339707,200339707629.long 3970805057,3970805057630.long 1742001331,1742001331631.long 4255294047,4255294047632.long 3937382213,3937382213633.long 3214711843,3214711843634.long 4154762323,4154762323635.long 2524082916,2524082916636.long 1539358875,1539358875637.long 3266819957,3266819957638.long 486407649,486407649639.long 2928907069,2928907069640.long 1780885068,1780885068641.long 1513502316,1513502316642.long 1094664062,1094664062643.long 49805301,49805301644.long 1338821763,1338821763645.long 1546925160,1546925160646.long 4104496465,4104496465647.long 887481809,887481809648.long 150073849,150073849649.long 2473685474,2473685474650.long 1943591083,1943591083651.long 1395732834,1395732834652.long 1058346282,1058346282653.long 201589768,201589768654.long 1388824469,1388824469655.long 1696801606,1696801606656.long 1589887901,1589887901657.long 672667696,672667696658.long 2711000631,2711000631659.long 251987210,251987210660.long 3046808111,3046808111661.long 151455502,151455502662.long 907153956,907153956663.long 2608889883,2608889883664.long 1038279391,1038279391665.long 652995533,652995533666.long 1764173646,1764173646667.long 3451040383,3451040383668.long 2675275242,2675275242669.long 453576978,453576978670.long 2659418909,2659418909671.long 1949051992,1949051992672.long 773462580,773462580673.long 756751158,756751158674.long 2993581788,2993581788675.long 3998898868,3998898868676.long 4221608027,4221608027677.long 4132590244,4132590244678.long 1295727478,1295727478679.long 1641469623,1641469623680.long 3467883389,3467883389681.long 2066295122,2066295122682.long 1055122397,1055122397683.long 1898917726,1898917726684.long 2542044179,2542044179685.long 4115878822,4115878822686.long 1758581177,1758581177687.long 0,0688.long 753790401,753790401689.long 1612718144,1612718144690.long 536673507,536673507691.long 3367088505,3367088505692.long 3982187446,3982187446693.long 3194645204,3194645204694.long 1187761037,1187761037695.long 3653156455,3653156455696.long 1262041458,1262041458697.long 3729410708,3729410708698.long 3561770136,3561770136699.long 3898103984,3898103984700.long 1255133061,1255133061701.long 1808847035,1808847035702.long 720367557,720367557703.long 3853167183,3853167183704.long 385612781,385612781705.long 3309519750,3309519750706.long 3612167578,3612167578707.long 1429418854,1429418854708.long 2491778321,2491778321709.long 3477423498,3477423498710.long 284817897,284817897711.long 100794884,100794884712.long 2172616702,2172616702713.long 4031795360,4031795360714.long 1144798328,1144798328715.long 3131023141,3131023141716.long 3819481163,3819481163717.long 4082192802,4082192802718.long 4272137053,4272137053719.long 3225436288,3225436288720.long 2324664069,2324664069721.long 2912064063,2912064063722.long 3164445985,3164445985723.long 1211644016,1211644016724.long 83228145,83228145725.long 3753688163,3753688163726.long 3249976951,3249976951727.long 1977277103,1977277103728.long 1663115586,1663115586729.long 806359072,806359072730.long 452984805,452984805731.long 250868733,250868733732.long 1842533055,1842533055733.long 1288555905,1288555905734.long 336333848,336333848735.long 890442534,890442534736.long 804056259,804056259737.long 3781124030,3781124030738.long 2727843637,2727843637739.long 3427026056,3427026056740.long 957814574,957814574741.long 1472513171,1472513171742.long 4071073621,4071073621743.long 2189328124,2189328124744.long 1195195770,1195195770745.long 2892260552,2892260552746.long 3881655738,3881655738747.long 723065138,723065138748.long 2507371494,2507371494749.long 2690670784,2690670784750.long 2558624025,2558624025751.long 3511635870,3511635870752.long 2145180835,2145180835753.long 1713513028,1713513028754.long 2116692564,2116692564755.long 2878378043,2878378043756.long 2206763019,2206763019757.long 3393603212,3393603212758.long 703524551,703524551759.long 3552098411,3552098411760.long 1007948840,1007948840761.long 2044649127,2044649127762.long 3797835452,3797835452763.long 487262998,487262998764.long 1994120109,1994120109765.long 1004593371,1004593371766.long 1446130276,1446130276767.long 1312438900,1312438900768.long 503974420,503974420769.long 3679013266,3679013266770.long 168166924,168166924771.long 1814307912,1814307912772.long 3831258296,3831258296773.long 1573044895,1573044895774.long 1859376061,1859376061775.long 4021070915,4021070915776.long 2791465668,2791465668777.long 2828112185,2828112185778.long 2761266481,2761266481779.long 937747667,937747667780.long 2339994098,2339994098781.long 854058965,854058965782.long 1137232011,1137232011783.long 1496790894,1496790894784.long 3077402074,3077402074785.long 2358086913,2358086913786.long 1691735473,1691735473787.long 3528347292,3528347292788.long 3769215305,3769215305789.long 3027004632,3027004632790.long 4199962284,4199962284791.long 133494003,133494003792.long 636152527,636152527793.long 2942657994,2942657994794.long 2390391540,2390391540795.long 3920539207,3920539207796.long 403179536,403179536797.long 3585784431,3585784431798.long 2289596656,2289596656799.long 1864705354,1864705354800.long 1915629148,1915629148801.long 605822008,605822008802.long 4054230615,4054230615803.long 3350508659,3350508659804.long 1371981463,1371981463805.long 602466507,602466507806.long 2094914977,2094914977807.long 2624877800,2624877800808.long 555687742,555687742809.long 3712699286,3712699286810.long 3703422305,3703422305811.long 2257292045,2257292045812.long 2240449039,2240449039813.long 2423288032,2423288032814.long 1111375484,1111375484815.long 3300242801,3300242801816.long 2858837708,2858837708817.long 3628615824,3628615824818.long 84083462,84083462819.long 32962295,32962295820.long 302911004,302911004821.long 2741068226,2741068226822.long 1597322602,1597322602823.long 4183250862,4183250862824.long 3501832553,3501832553825.long 2441512471,2441512471826.long 1489093017,1489093017827.long 656219450,656219450828.long 3114180135,3114180135829.long 954327513,954327513830.long 335083755,335083755831.long 3013122091,3013122091832.long 856756514,856756514833.long 3144247762,3144247762834.long 1893325225,1893325225835.long 2307821063,2307821063836.long 2811532339,2811532339837.long 3063651117,3063651117838.long 572399164,572399164839.long 2458355477,2458355477840.long 552200649,552200649841.long 1238290055,1238290055842.long 4283782570,4283782570843.long 2015897680,2015897680844.long 2061492133,2061492133845.long 2408352771,2408352771846.long 4171342169,4171342169847.long 2156497161,2156497161848.long 386731290,386731290849.long 3669999461,3669999461850.long 837215959,837215959851.long 3326231172,3326231172852.long 3093850320,3093850320853.long 3275833730,3275833730854.long 2962856233,2962856233855.long 1999449434,1999449434856.long 286199582,286199582857.long 3417354363,3417354363858.long 4233385128,4233385128859.long 3602627437,3602627437860.long 974525996,974525996861.byte 99,124,119,123,242,107,111,197862.byte 48,1,103,43,254,215,171,118863.byte 202,130,201,125,250,89,71,240864.byte 173,212,162,175,156,164,114,192865.byte 183,253,147,38,54,63,247,204866.byte 52,165,229,241,113,216,49,21867.byte 4,199,35,195,24,150,5,154868.byte 7,18,128,226,235,39,178,117869.byte 9,131,44,26,27,110,90,160870.byte 82,59,214,179,41,227,47,132871.byte 83,209,0,237,32,252,177,91872.byte 106,203,190,57,74,76,88,207873.byte 208,239,170,251,67,77,51,133874.byte 69,249,2,127,80,60,159,168875.byte 81,163,64,143,146,157,56,245876.byte 188,182,218,33,16,255,243,210877.byte 205,12,19,236,95,151,68,23878.byte 196,167,126,61,100,93,25,115879.byte 96,129,79,220,34,42,144,136880.byte 70,238,184,20,222,94,11,219881.byte 224,50,58,10,73,6,36,92882.byte 194,211,172,98,145,149,228,121883.byte 231,200,55,109,141,213,78,169884.byte 108,86,244,234,101,122,174,8885.byte 186,120,37,46,28,166,180,198886.byte 232,221,116,31,75,189,139,138887.byte 112,62,181,102,72,3,246,14888.byte 97,53,87,185,134,193,29,158889.byte 225,248,152,17,105,217,142,148890.byte 155,30,135,233,206,85,40,223891.byte 140,161,137,13,191,230,66,104892.byte 65,153,45,15,176,84,187,22893.byte 99,124,119,123,242,107,111,197894.byte 48,1,103,43,254,215,171,118895.byte 202,130,201,125,250,89,71,240896.byte 173,212,162,175,156,164,114,192897.byte 183,253,147,38,54,63,247,204898.byte 52,165,229,241,113,216,49,21899.byte 4,199,35,195,24,150,5,154900.byte 7,18,128,226,235,39,178,117901.byte 9,131,44,26,27,110,90,160902.byte 82,59,214,179,41,227,47,132903.byte 83,209,0,237,32,252,177,91904.byte 106,203,190,57,74,76,88,207905.byte 208,239,170,251,67,77,51,133906.byte 69,249,2,127,80,60,159,168907.byte 81,163,64,143,146,157,56,245908.byte 188,182,218,33,16,255,243,210909.byte 205,12,19,236,95,151,68,23910.byte 196,167,126,61,100,93,25,115911.byte 96,129,79,220,34,42,144,136912.byte 70,238,184,20,222,94,11,219913.byte 224,50,58,10,73,6,36,92914.byte 194,211,172,98,145,149,228,121915.byte 231,200,55,109,141,213,78,169916.byte 108,86,244,234,101,122,174,8917.byte 186,120,37,46,28,166,180,198918.byte 232,221,116,31,75,189,139,138919.byte 112,62,181,102,72,3,246,14920.byte 97,53,87,185,134,193,29,158921.byte 225,248,152,17,105,217,142,148922.byte 155,30,135,233,206,85,40,223923.byte 140,161,137,13,191,230,66,104924.byte 65,153,45,15,176,84,187,22925.byte 99,124,119,123,242,107,111,197926.byte 48,1,103,43,254,215,171,118927.byte 202,130,201,125,250,89,71,240928.byte 173,212,162,175,156,164,114,192929.byte 183,253,147,38,54,63,247,204930.byte 52,165,229,241,113,216,49,21931.byte 4,199,35,195,24,150,5,154932.byte 7,18,128,226,235,39,178,117933.byte 9,131,44,26,27,110,90,160934.byte 82,59,214,179,41,227,47,132935.byte 83,209,0,237,32,252,177,91936.byte 106,203,190,57,74,76,88,207937.byte 208,239,170,251,67,77,51,133938.byte 69,249,2,127,80,60,159,168939.byte 81,163,64,143,146,157,56,245940.byte 188,182,218,33,16,255,243,210941.byte 205,12,19,236,95,151,68,23942.byte 196,167,126,61,100,93,25,115943.byte 96,129,79,220,34,42,144,136944.byte 70,238,184,20,222,94,11,219945.byte 224,50,58,10,73,6,36,92946.byte 194,211,172,98,145,149,228,121947.byte 231,200,55,109,141,213,78,169948.byte 108,86,244,234,101,122,174,8949.byte 186,120,37,46,28,166,180,198950.byte 232,221,116,31,75,189,139,138951.byte 112,62,181,102,72,3,246,14952.byte 97,53,87,185,134,193,29,158953.byte 225,248,152,17,105,217,142,148954.byte 155,30,135,233,206,85,40,223955.byte 140,161,137,13,191,230,66,104956.byte 65,153,45,15,176,84,187,22957.byte 99,124,119,123,242,107,111,197958.byte 48,1,103,43,254,215,171,118959.byte 202,130,201,125,250,89,71,240960.byte 173,212,162,175,156,164,114,192961.byte 183,253,147,38,54,63,247,204962.byte 52,165,229,241,113,216,49,21963.byte 4,199,35,195,24,150,5,154964.byte 7,18,128,226,235,39,178,117965.byte 9,131,44,26,27,110,90,160966.byte 82,59,214,179,41,227,47,132967.byte 83,209,0,237,32,252,177,91968.byte 106,203,190,57,74,76,88,207969.byte 208,239,170,251,67,77,51,133970.byte 69,249,2,127,80,60,159,168971.byte 81,163,64,143,146,157,56,245972.byte 188,182,218,33,16,255,243,210973.byte 205,12,19,236,95,151,68,23974.byte 196,167,126,61,100,93,25,115975.byte 96,129,79,220,34,42,144,136976.byte 70,238,184,20,222,94,11,219977.byte 224,50,58,10,73,6,36,92978.byte 194,211,172,98,145,149,228,121979.byte 231,200,55,109,141,213,78,169980.byte 108,86,244,234,101,122,174,8981.byte 186,120,37,46,28,166,180,198982.byte 232,221,116,31,75,189,139,138983.byte 112,62,181,102,72,3,246,14984.byte 97,53,87,185,134,193,29,158985.byte 225,248,152,17,105,217,142,148986.byte 155,30,135,233,206,85,40,223987.byte 140,161,137,13,191,230,66,104988.byte 65,153,45,15,176,84,187,22989.long 1,2,4,8990.long 16,32,64,128991.long 27,54,0,0992.long 0,0,0,0993.size _x86_AES_encrypt,.-_x86_AES_encrypt994.globl AES_encrypt995.type AES_encrypt,@function996.align 16997AES_encrypt:998.L_AES_encrypt_begin:999#ifdef __CET__10001001.byte 243,15,30,2511002#endif10031004pushl %ebp1005pushl %ebx1006pushl %esi1007pushl %edi1008movl 20(%esp),%esi1009movl 28(%esp),%edi1010movl %esp,%eax1011subl $36,%esp1012andl $-64,%esp1013leal -127(%edi),%ebx1014subl %esp,%ebx1015negl %ebx1016andl $960,%ebx1017subl %ebx,%esp1018addl $4,%esp1019movl %eax,28(%esp)1020call .L004pic_point1021.L004pic_point:1022popl %ebp1023leal OPENSSL_ia32cap_P-.L004pic_point(%ebp),%eax1024leal .LAES_Te-.L004pic_point(%ebp),%ebp1025leal 764(%esp),%ebx1026subl %ebp,%ebx1027andl $768,%ebx1028leal 2176(%ebp,%ebx,1),%ebp1029btl $25,(%eax)1030jnc .L005x861031movq (%esi),%mm01032movq 8(%esi),%mm41033call _sse_AES_encrypt_compact1034movl 28(%esp),%esp1035movl 24(%esp),%esi1036movq %mm0,(%esi)1037movq %mm4,8(%esi)1038emms1039popl %edi1040popl %esi1041popl %ebx1042popl %ebp1043ret1044.align 161045.L005x86:1046movl %ebp,24(%esp)1047movl (%esi),%eax1048movl 4(%esi),%ebx1049movl 8(%esi),%ecx1050movl 12(%esi),%edx1051call _x86_AES_encrypt_compact1052movl 28(%esp),%esp1053movl 24(%esp),%esi1054movl %eax,(%esi)1055movl %ebx,4(%esi)1056movl %ecx,8(%esi)1057movl %edx,12(%esi)1058popl %edi1059popl %esi1060popl %ebx1061popl %ebp1062ret1063.size AES_encrypt,.-.L_AES_encrypt_begin1064.type _x86_AES_decrypt_compact,@function1065.align 161066_x86_AES_decrypt_compact:1067#ifdef __CET__10681069.byte 243,15,30,2511070#endif10711072movl %edi,20(%esp)1073xorl (%edi),%eax1074xorl 4(%edi),%ebx1075xorl 8(%edi),%ecx1076xorl 12(%edi),%edx1077movl 240(%edi),%esi1078leal -2(%esi,%esi,1),%esi1079leal (%edi,%esi,8),%esi1080movl %esi,24(%esp)1081movl -128(%ebp),%edi1082movl -96(%ebp),%esi1083movl -64(%ebp),%edi1084movl -32(%ebp),%esi1085movl (%ebp),%edi1086movl 32(%ebp),%esi1087movl 64(%ebp),%edi1088movl 96(%ebp),%esi1089.align 161090.L006loop:1091movl %eax,%esi1092andl $255,%esi1093movzbl -128(%ebp,%esi,1),%esi1094movzbl %dh,%edi1095movzbl -128(%ebp,%edi,1),%edi1096shll $8,%edi1097xorl %edi,%esi1098movl %ecx,%edi1099shrl $16,%edi1100andl $255,%edi1101movzbl -128(%ebp,%edi,1),%edi1102shll $16,%edi1103xorl %edi,%esi1104movl %ebx,%edi1105shrl $24,%edi1106movzbl -128(%ebp,%edi,1),%edi1107shll $24,%edi1108xorl %edi,%esi1109movl %esi,4(%esp)1110movl %ebx,%esi1111andl $255,%esi1112movzbl -128(%ebp,%esi,1),%esi1113movzbl %ah,%edi1114movzbl -128(%ebp,%edi,1),%edi1115shll $8,%edi1116xorl %edi,%esi1117movl %edx,%edi1118shrl $16,%edi1119andl $255,%edi1120movzbl -128(%ebp,%edi,1),%edi1121shll $16,%edi1122xorl %edi,%esi1123movl %ecx,%edi1124shrl $24,%edi1125movzbl -128(%ebp,%edi,1),%edi1126shll $24,%edi1127xorl %edi,%esi1128movl %esi,8(%esp)1129movl %ecx,%esi1130andl $255,%esi1131movzbl -128(%ebp,%esi,1),%esi1132movzbl %bh,%edi1133movzbl -128(%ebp,%edi,1),%edi1134shll $8,%edi1135xorl %edi,%esi1136movl %eax,%edi1137shrl $16,%edi1138andl $255,%edi1139movzbl -128(%ebp,%edi,1),%edi1140shll $16,%edi1141xorl %edi,%esi1142movl %edx,%edi1143shrl $24,%edi1144movzbl -128(%ebp,%edi,1),%edi1145shll $24,%edi1146xorl %edi,%esi1147andl $255,%edx1148movzbl -128(%ebp,%edx,1),%edx1149movzbl %ch,%ecx1150movzbl -128(%ebp,%ecx,1),%ecx1151shll $8,%ecx1152xorl %ecx,%edx1153movl %esi,%ecx1154shrl $16,%ebx1155andl $255,%ebx1156movzbl -128(%ebp,%ebx,1),%ebx1157shll $16,%ebx1158xorl %ebx,%edx1159shrl $24,%eax1160movzbl -128(%ebp,%eax,1),%eax1161shll $24,%eax1162xorl %eax,%edx1163movl $2155905152,%edi1164andl %ecx,%edi1165movl %edi,%esi1166shrl $7,%edi1167leal (%ecx,%ecx,1),%eax1168subl %edi,%esi1169andl $4278124286,%eax1170andl $454761243,%esi1171xorl %esi,%eax1172movl $2155905152,%edi1173andl %eax,%edi1174movl %edi,%esi1175shrl $7,%edi1176leal (%eax,%eax,1),%ebx1177subl %edi,%esi1178andl $4278124286,%ebx1179andl $454761243,%esi1180xorl %ecx,%eax1181xorl %esi,%ebx1182movl $2155905152,%edi1183andl %ebx,%edi1184movl %edi,%esi1185shrl $7,%edi1186leal (%ebx,%ebx,1),%ebp1187subl %edi,%esi1188andl $4278124286,%ebp1189andl $454761243,%esi1190xorl %ecx,%ebx1191roll $8,%ecx1192xorl %esi,%ebp1193xorl %eax,%ecx1194xorl %ebp,%eax1195xorl %ebx,%ecx1196xorl %ebp,%ebx1197roll $24,%eax1198xorl %ebp,%ecx1199roll $16,%ebx1200xorl %eax,%ecx1201roll $8,%ebp1202xorl %ebx,%ecx1203movl 4(%esp),%eax1204xorl %ebp,%ecx1205movl %ecx,12(%esp)1206movl $2155905152,%edi1207andl %edx,%edi1208movl %edi,%esi1209shrl $7,%edi1210leal (%edx,%edx,1),%ebx1211subl %edi,%esi1212andl $4278124286,%ebx1213andl $454761243,%esi1214xorl %esi,%ebx1215movl $2155905152,%edi1216andl %ebx,%edi1217movl %edi,%esi1218shrl $7,%edi1219leal (%ebx,%ebx,1),%ecx1220subl %edi,%esi1221andl $4278124286,%ecx1222andl $454761243,%esi1223xorl %edx,%ebx1224xorl %esi,%ecx1225movl $2155905152,%edi1226andl %ecx,%edi1227movl %edi,%esi1228shrl $7,%edi1229leal (%ecx,%ecx,1),%ebp1230subl %edi,%esi1231andl $4278124286,%ebp1232andl $454761243,%esi1233xorl %edx,%ecx1234roll $8,%edx1235xorl %esi,%ebp1236xorl %ebx,%edx1237xorl %ebp,%ebx1238xorl %ecx,%edx1239xorl %ebp,%ecx1240roll $24,%ebx1241xorl %ebp,%edx1242roll $16,%ecx1243xorl %ebx,%edx1244roll $8,%ebp1245xorl %ecx,%edx1246movl 8(%esp),%ebx1247xorl %ebp,%edx1248movl %edx,16(%esp)1249movl $2155905152,%edi1250andl %eax,%edi1251movl %edi,%esi1252shrl $7,%edi1253leal (%eax,%eax,1),%ecx1254subl %edi,%esi1255andl $4278124286,%ecx1256andl $454761243,%esi1257xorl %esi,%ecx1258movl $2155905152,%edi1259andl %ecx,%edi1260movl %edi,%esi1261shrl $7,%edi1262leal (%ecx,%ecx,1),%edx1263subl %edi,%esi1264andl $4278124286,%edx1265andl $454761243,%esi1266xorl %eax,%ecx1267xorl %esi,%edx1268movl $2155905152,%edi1269andl %edx,%edi1270movl %edi,%esi1271shrl $7,%edi1272leal (%edx,%edx,1),%ebp1273subl %edi,%esi1274andl $4278124286,%ebp1275andl $454761243,%esi1276xorl %eax,%edx1277roll $8,%eax1278xorl %esi,%ebp1279xorl %ecx,%eax1280xorl %ebp,%ecx1281xorl %edx,%eax1282xorl %ebp,%edx1283roll $24,%ecx1284xorl %ebp,%eax1285roll $16,%edx1286xorl %ecx,%eax1287roll $8,%ebp1288xorl %edx,%eax1289xorl %ebp,%eax1290movl $2155905152,%edi1291andl %ebx,%edi1292movl %edi,%esi1293shrl $7,%edi1294leal (%ebx,%ebx,1),%ecx1295subl %edi,%esi1296andl $4278124286,%ecx1297andl $454761243,%esi1298xorl %esi,%ecx1299movl $2155905152,%edi1300andl %ecx,%edi1301movl %edi,%esi1302shrl $7,%edi1303leal (%ecx,%ecx,1),%edx1304subl %edi,%esi1305andl $4278124286,%edx1306andl $454761243,%esi1307xorl %ebx,%ecx1308xorl %esi,%edx1309movl $2155905152,%edi1310andl %edx,%edi1311movl %edi,%esi1312shrl $7,%edi1313leal (%edx,%edx,1),%ebp1314subl %edi,%esi1315andl $4278124286,%ebp1316andl $454761243,%esi1317xorl %ebx,%edx1318roll $8,%ebx1319xorl %esi,%ebp1320xorl %ecx,%ebx1321xorl %ebp,%ecx1322xorl %edx,%ebx1323xorl %ebp,%edx1324roll $24,%ecx1325xorl %ebp,%ebx1326roll $16,%edx1327xorl %ecx,%ebx1328roll $8,%ebp1329xorl %edx,%ebx1330movl 12(%esp),%ecx1331xorl %ebp,%ebx1332movl 16(%esp),%edx1333movl 20(%esp),%edi1334movl 28(%esp),%ebp1335addl $16,%edi1336xorl (%edi),%eax1337xorl 4(%edi),%ebx1338xorl 8(%edi),%ecx1339xorl 12(%edi),%edx1340cmpl 24(%esp),%edi1341movl %edi,20(%esp)1342jb .L006loop1343movl %eax,%esi1344andl $255,%esi1345movzbl -128(%ebp,%esi,1),%esi1346movzbl %dh,%edi1347movzbl -128(%ebp,%edi,1),%edi1348shll $8,%edi1349xorl %edi,%esi1350movl %ecx,%edi1351shrl $16,%edi1352andl $255,%edi1353movzbl -128(%ebp,%edi,1),%edi1354shll $16,%edi1355xorl %edi,%esi1356movl %ebx,%edi1357shrl $24,%edi1358movzbl -128(%ebp,%edi,1),%edi1359shll $24,%edi1360xorl %edi,%esi1361movl %esi,4(%esp)1362movl %ebx,%esi1363andl $255,%esi1364movzbl -128(%ebp,%esi,1),%esi1365movzbl %ah,%edi1366movzbl -128(%ebp,%edi,1),%edi1367shll $8,%edi1368xorl %edi,%esi1369movl %edx,%edi1370shrl $16,%edi1371andl $255,%edi1372movzbl -128(%ebp,%edi,1),%edi1373shll $16,%edi1374xorl %edi,%esi1375movl %ecx,%edi1376shrl $24,%edi1377movzbl -128(%ebp,%edi,1),%edi1378shll $24,%edi1379xorl %edi,%esi1380movl %esi,8(%esp)1381movl %ecx,%esi1382andl $255,%esi1383movzbl -128(%ebp,%esi,1),%esi1384movzbl %bh,%edi1385movzbl -128(%ebp,%edi,1),%edi1386shll $8,%edi1387xorl %edi,%esi1388movl %eax,%edi1389shrl $16,%edi1390andl $255,%edi1391movzbl -128(%ebp,%edi,1),%edi1392shll $16,%edi1393xorl %edi,%esi1394movl %edx,%edi1395shrl $24,%edi1396movzbl -128(%ebp,%edi,1),%edi1397shll $24,%edi1398xorl %edi,%esi1399movl 20(%esp),%edi1400andl $255,%edx1401movzbl -128(%ebp,%edx,1),%edx1402movzbl %ch,%ecx1403movzbl -128(%ebp,%ecx,1),%ecx1404shll $8,%ecx1405xorl %ecx,%edx1406movl %esi,%ecx1407shrl $16,%ebx1408andl $255,%ebx1409movzbl -128(%ebp,%ebx,1),%ebx1410shll $16,%ebx1411xorl %ebx,%edx1412movl 8(%esp),%ebx1413shrl $24,%eax1414movzbl -128(%ebp,%eax,1),%eax1415shll $24,%eax1416xorl %eax,%edx1417movl 4(%esp),%eax1418xorl 16(%edi),%eax1419xorl 20(%edi),%ebx1420xorl 24(%edi),%ecx1421xorl 28(%edi),%edx1422ret1423.size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact1424.type _sse_AES_decrypt_compact,@function1425.align 161426_sse_AES_decrypt_compact:1427#ifdef __CET__14281429.byte 243,15,30,2511430#endif14311432pxor (%edi),%mm01433pxor 8(%edi),%mm41434movl 240(%edi),%esi1435leal -2(%esi,%esi,1),%esi1436leal (%edi,%esi,8),%esi1437movl %esi,24(%esp)1438movl $454761243,%eax1439movl %eax,8(%esp)1440movl %eax,12(%esp)1441movl -128(%ebp),%eax1442movl -96(%ebp),%ebx1443movl -64(%ebp),%ecx1444movl -32(%ebp),%edx1445movl (%ebp),%eax1446movl 32(%ebp),%ebx1447movl 64(%ebp),%ecx1448movl 96(%ebp),%edx1449.align 161450.L007loop:1451pshufw $12,%mm0,%mm11452pshufw $9,%mm4,%mm51453movd %mm1,%eax1454movd %mm5,%ebx1455movl %edi,20(%esp)1456movzbl %al,%esi1457movzbl %ah,%edx1458pshufw $6,%mm0,%mm21459movzbl -128(%ebp,%esi,1),%ecx1460movzbl %bl,%edi1461movzbl -128(%ebp,%edx,1),%edx1462shrl $16,%eax1463shll $8,%edx1464movzbl -128(%ebp,%edi,1),%esi1465movzbl %bh,%edi1466shll $16,%esi1467pshufw $3,%mm4,%mm61468orl %esi,%ecx1469movzbl -128(%ebp,%edi,1),%esi1470movzbl %ah,%edi1471shll $24,%esi1472shrl $16,%ebx1473orl %esi,%edx1474movzbl -128(%ebp,%edi,1),%esi1475movzbl %bh,%edi1476shll $24,%esi1477orl %esi,%ecx1478movzbl -128(%ebp,%edi,1),%esi1479movzbl %al,%edi1480shll $8,%esi1481movd %mm2,%eax1482orl %esi,%ecx1483movzbl -128(%ebp,%edi,1),%esi1484movzbl %bl,%edi1485shll $16,%esi1486movd %mm6,%ebx1487movd %ecx,%mm01488movzbl -128(%ebp,%edi,1),%ecx1489movzbl %al,%edi1490orl %esi,%ecx1491movzbl -128(%ebp,%edi,1),%esi1492movzbl %bl,%edi1493orl %esi,%edx1494movzbl -128(%ebp,%edi,1),%esi1495movzbl %ah,%edi1496shll $16,%esi1497shrl $16,%eax1498orl %esi,%edx1499movzbl -128(%ebp,%edi,1),%esi1500movzbl %bh,%edi1501shrl $16,%ebx1502shll $8,%esi1503movd %edx,%mm11504movzbl -128(%ebp,%edi,1),%edx1505movzbl %bh,%edi1506shll $24,%edx1507andl $255,%ebx1508orl %esi,%edx1509punpckldq %mm1,%mm01510movzbl -128(%ebp,%edi,1),%esi1511movzbl %al,%edi1512shll $8,%esi1513movzbl %ah,%eax1514movzbl -128(%ebp,%ebx,1),%ebx1515orl %esi,%ecx1516movzbl -128(%ebp,%edi,1),%esi1517orl %ebx,%edx1518shll $16,%esi1519movzbl -128(%ebp,%eax,1),%eax1520orl %esi,%edx1521shll $24,%eax1522orl %eax,%ecx1523movl 20(%esp),%edi1524movd %edx,%mm41525movd %ecx,%mm51526punpckldq %mm5,%mm41527addl $16,%edi1528cmpl 24(%esp),%edi1529ja .L008out1530movq %mm0,%mm31531movq %mm4,%mm71532pshufw $228,%mm0,%mm21533pshufw $228,%mm4,%mm61534movq %mm0,%mm11535movq %mm4,%mm51536pshufw $177,%mm0,%mm01537pshufw $177,%mm4,%mm41538pslld $8,%mm21539pslld $8,%mm61540psrld $8,%mm31541psrld $8,%mm71542pxor %mm2,%mm01543pxor %mm6,%mm41544pxor %mm3,%mm01545pxor %mm7,%mm41546pslld $16,%mm21547pslld $16,%mm61548psrld $16,%mm31549psrld $16,%mm71550pxor %mm2,%mm01551pxor %mm6,%mm41552pxor %mm3,%mm01553pxor %mm7,%mm41554movq 8(%esp),%mm31555pxor %mm2,%mm21556pxor %mm6,%mm61557pcmpgtb %mm1,%mm21558pcmpgtb %mm5,%mm61559pand %mm3,%mm21560pand %mm3,%mm61561paddb %mm1,%mm11562paddb %mm5,%mm51563pxor %mm2,%mm11564pxor %mm6,%mm51565movq %mm1,%mm31566movq %mm5,%mm71567movq %mm1,%mm21568movq %mm5,%mm61569pxor %mm1,%mm01570pxor %mm5,%mm41571pslld $24,%mm31572pslld $24,%mm71573psrld $8,%mm21574psrld $8,%mm61575pxor %mm3,%mm01576pxor %mm7,%mm41577pxor %mm2,%mm01578pxor %mm6,%mm41579movq 8(%esp),%mm21580pxor %mm3,%mm31581pxor %mm7,%mm71582pcmpgtb %mm1,%mm31583pcmpgtb %mm5,%mm71584pand %mm2,%mm31585pand %mm2,%mm71586paddb %mm1,%mm11587paddb %mm5,%mm51588pxor %mm3,%mm11589pxor %mm7,%mm51590pshufw $177,%mm1,%mm31591pshufw $177,%mm5,%mm71592pxor %mm1,%mm01593pxor %mm5,%mm41594pxor %mm3,%mm01595pxor %mm7,%mm41596pxor %mm3,%mm31597pxor %mm7,%mm71598pcmpgtb %mm1,%mm31599pcmpgtb %mm5,%mm71600pand %mm2,%mm31601pand %mm2,%mm71602paddb %mm1,%mm11603paddb %mm5,%mm51604pxor %mm3,%mm11605pxor %mm7,%mm51606pxor %mm1,%mm01607pxor %mm5,%mm41608movq %mm1,%mm31609movq %mm5,%mm71610pshufw $177,%mm1,%mm21611pshufw $177,%mm5,%mm61612pxor %mm2,%mm01613pxor %mm6,%mm41614pslld $8,%mm11615pslld $8,%mm51616psrld $8,%mm31617psrld $8,%mm71618movq (%edi),%mm21619movq 8(%edi),%mm61620pxor %mm1,%mm01621pxor %mm5,%mm41622pxor %mm3,%mm01623pxor %mm7,%mm41624movl -128(%ebp),%eax1625pslld $16,%mm11626pslld $16,%mm51627movl -64(%ebp),%ebx1628psrld $16,%mm31629psrld $16,%mm71630movl (%ebp),%ecx1631pxor %mm1,%mm01632pxor %mm5,%mm41633movl 64(%ebp),%edx1634pxor %mm3,%mm01635pxor %mm7,%mm41636pxor %mm2,%mm01637pxor %mm6,%mm41638jmp .L007loop1639.align 161640.L008out:1641pxor (%edi),%mm01642pxor 8(%edi),%mm41643ret1644.size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact1645.type _x86_AES_decrypt,@function1646.align 161647_x86_AES_decrypt:1648#ifdef __CET__16491650.byte 243,15,30,2511651#endif16521653movl %edi,20(%esp)1654xorl (%edi),%eax1655xorl 4(%edi),%ebx1656xorl 8(%edi),%ecx1657xorl 12(%edi),%edx1658movl 240(%edi),%esi1659leal -2(%esi,%esi,1),%esi1660leal (%edi,%esi,8),%esi1661movl %esi,24(%esp)1662.align 161663.L009loop:1664movl %eax,%esi1665andl $255,%esi1666movl (%ebp,%esi,8),%esi1667movzbl %dh,%edi1668xorl 3(%ebp,%edi,8),%esi1669movl %ecx,%edi1670shrl $16,%edi1671andl $255,%edi1672xorl 2(%ebp,%edi,8),%esi1673movl %ebx,%edi1674shrl $24,%edi1675xorl 1(%ebp,%edi,8),%esi1676movl %esi,4(%esp)16771678movl %ebx,%esi1679andl $255,%esi1680movl (%ebp,%esi,8),%esi1681movzbl %ah,%edi1682xorl 3(%ebp,%edi,8),%esi1683movl %edx,%edi1684shrl $16,%edi1685andl $255,%edi1686xorl 2(%ebp,%edi,8),%esi1687movl %ecx,%edi1688shrl $24,%edi1689xorl 1(%ebp,%edi,8),%esi1690movl %esi,8(%esp)16911692movl %ecx,%esi1693andl $255,%esi1694movl (%ebp,%esi,8),%esi1695movzbl %bh,%edi1696xorl 3(%ebp,%edi,8),%esi1697movl %eax,%edi1698shrl $16,%edi1699andl $255,%edi1700xorl 2(%ebp,%edi,8),%esi1701movl %edx,%edi1702shrl $24,%edi1703xorl 1(%ebp,%edi,8),%esi17041705movl 20(%esp),%edi1706andl $255,%edx1707movl (%ebp,%edx,8),%edx1708movzbl %ch,%ecx1709xorl 3(%ebp,%ecx,8),%edx1710movl %esi,%ecx1711shrl $16,%ebx1712andl $255,%ebx1713xorl 2(%ebp,%ebx,8),%edx1714movl 8(%esp),%ebx1715shrl $24,%eax1716xorl 1(%ebp,%eax,8),%edx1717movl 4(%esp),%eax17181719addl $16,%edi1720xorl (%edi),%eax1721xorl 4(%edi),%ebx1722xorl 8(%edi),%ecx1723xorl 12(%edi),%edx1724cmpl 24(%esp),%edi1725movl %edi,20(%esp)1726jb .L009loop1727leal 2176(%ebp),%ebp1728movl -128(%ebp),%edi1729movl -96(%ebp),%esi1730movl -64(%ebp),%edi1731movl -32(%ebp),%esi1732movl (%ebp),%edi1733movl 32(%ebp),%esi1734movl 64(%ebp),%edi1735movl 96(%ebp),%esi1736leal -128(%ebp),%ebp1737movl %eax,%esi1738andl $255,%esi1739movzbl (%ebp,%esi,1),%esi1740movzbl %dh,%edi1741movzbl (%ebp,%edi,1),%edi1742shll $8,%edi1743xorl %edi,%esi1744movl %ecx,%edi1745shrl $16,%edi1746andl $255,%edi1747movzbl (%ebp,%edi,1),%edi1748shll $16,%edi1749xorl %edi,%esi1750movl %ebx,%edi1751shrl $24,%edi1752movzbl (%ebp,%edi,1),%edi1753shll $24,%edi1754xorl %edi,%esi1755movl %esi,4(%esp)1756movl %ebx,%esi1757andl $255,%esi1758movzbl (%ebp,%esi,1),%esi1759movzbl %ah,%edi1760movzbl (%ebp,%edi,1),%edi1761shll $8,%edi1762xorl %edi,%esi1763movl %edx,%edi1764shrl $16,%edi1765andl $255,%edi1766movzbl (%ebp,%edi,1),%edi1767shll $16,%edi1768xorl %edi,%esi1769movl %ecx,%edi1770shrl $24,%edi1771movzbl (%ebp,%edi,1),%edi1772shll $24,%edi1773xorl %edi,%esi1774movl %esi,8(%esp)1775movl %ecx,%esi1776andl $255,%esi1777movzbl (%ebp,%esi,1),%esi1778movzbl %bh,%edi1779movzbl (%ebp,%edi,1),%edi1780shll $8,%edi1781xorl %edi,%esi1782movl %eax,%edi1783shrl $16,%edi1784andl $255,%edi1785movzbl (%ebp,%edi,1),%edi1786shll $16,%edi1787xorl %edi,%esi1788movl %edx,%edi1789shrl $24,%edi1790movzbl (%ebp,%edi,1),%edi1791shll $24,%edi1792xorl %edi,%esi1793movl 20(%esp),%edi1794andl $255,%edx1795movzbl (%ebp,%edx,1),%edx1796movzbl %ch,%ecx1797movzbl (%ebp,%ecx,1),%ecx1798shll $8,%ecx1799xorl %ecx,%edx1800movl %esi,%ecx1801shrl $16,%ebx1802andl $255,%ebx1803movzbl (%ebp,%ebx,1),%ebx1804shll $16,%ebx1805xorl %ebx,%edx1806movl 8(%esp),%ebx1807shrl $24,%eax1808movzbl (%ebp,%eax,1),%eax1809shll $24,%eax1810xorl %eax,%edx1811movl 4(%esp),%eax1812leal -2048(%ebp),%ebp1813addl $16,%edi1814xorl (%edi),%eax1815xorl 4(%edi),%ebx1816xorl 8(%edi),%ecx1817xorl 12(%edi),%edx1818ret1819.align 641820.LAES_Td:1821.long 1353184337,13531843371822.long 1399144830,13991448301823.long 3282310938,32823109381824.long 2522752826,25227528261825.long 3412831035,34128310351826.long 4047871263,40478712631827.long 2874735276,28747352761828.long 2466505547,24665055471829.long 1442459680,14424596801830.long 4134368941,41343689411831.long 2440481928,24404819281832.long 625738485,6257384851833.long 4242007375,42420073751834.long 3620416197,36204161971835.long 2151953702,21519537021836.long 2409849525,24098495251837.long 1230680542,12306805421838.long 1729870373,17298703731839.long 2551114309,25511143091840.long 3787521629,37875216291841.long 41234371,412343711842.long 317738113,3177381131843.long 2744600205,27446002051844.long 3338261355,33382613551845.long 3881799427,38817994271846.long 2510066197,25100661971847.long 3950669247,39506692471848.long 3663286933,36632869331849.long 763608788,7636087881850.long 3542185048,35421850481851.long 694804553,6948045531852.long 1154009486,11540094861853.long 1787413109,17874131091854.long 2021232372,20212323721855.long 1799248025,17992480251856.long 3715217703,37152177031857.long 3058688446,30586884461858.long 397248752,3972487521859.long 1722556617,17225566171860.long 3023752829,30237528291861.long 407560035,4075600351862.long 2184256229,21842562291863.long 1613975959,16139759591864.long 1165972322,11659723221865.long 3765920945,37659209451866.long 2226023355,22260233551867.long 480281086,4802810861868.long 2485848313,24858483131869.long 1483229296,14832292961870.long 436028815,4360288151871.long 2272059028,22720590281872.long 3086515026,30865150261873.long 601060267,6010602671874.long 3791801202,37918012021875.long 1468997603,14689976031876.long 715871590,7158715901877.long 120122290,1201222901878.long 63092015,630920151879.long 2591802758,25918027581880.long 2768779219,27687792191881.long 4068943920,40689439201882.long 2997206819,29972068191883.long 3127509762,31275097621884.long 1552029421,15520294211885.long 723308426,7233084261886.long 2461301159,24613011591887.long 4042393587,40423935871888.long 2715969870,27159698701889.long 3455375973,34553759731890.long 3586000134,35860001341891.long 526529745,5265297451892.long 2331944644,23319446441893.long 2639474228,26394742281894.long 2689987490,26899874901895.long 853641733,8536417331896.long 1978398372,19783983721897.long 971801355,9718013551898.long 2867814464,28678144641899.long 111112542,1111125421900.long 1360031421,13600314211901.long 4186579262,41865792621902.long 1023860118,10238601181903.long 2919579357,29195793571904.long 1186850381,11868503811905.long 3045938321,30459383211906.long 90031217,900312171907.long 1876166148,18761661481908.long 4279586912,42795869121909.long 620468249,6204682491910.long 2548678102,25486781021911.long 3426959497,34269594971912.long 2006899047,20068990471913.long 3175278768,31752787681914.long 2290845959,22908459591915.long 945494503,9454945031916.long 3689859193,36898591931917.long 1191869601,11918696011918.long 3910091388,39100913881919.long 3374220536,33742205361920.long 0,01921.long 2206629897,22066298971922.long 1223502642,12235026421923.long 2893025566,28930255661924.long 1316117100,13161171001925.long 4227796733,42277967331926.long 1446544655,14465446551927.long 517320253,5173202531928.long 658058550,6580585501929.long 1691946762,16919467621930.long 564550760,5645507601931.long 3511966619,35119666191932.long 976107044,9761070441933.long 2976320012,29763200121934.long 266819475,2668194751935.long 3533106868,35331068681936.long 2660342555,26603425551937.long 1338359936,13383599361938.long 2720062561,27200625611939.long 1766553434,17665534341940.long 370807324,3708073241941.long 179999714,1799997141942.long 3844776128,38447761281943.long 1138762300,11387623001944.long 488053522,4880535221945.long 185403662,1854036621946.long 2915535858,29155358581947.long 3114841645,31148416451948.long 3366526484,33665264841949.long 2233069911,22330699111950.long 1275557295,12755572951951.long 3151862254,31518622541952.long 4250959779,42509597791953.long 2670068215,26700682151954.long 3170202204,31702022041955.long 3309004356,33090043561956.long 880737115,8807371151957.long 1982415755,19824157551958.long 3703972811,37039728111959.long 1761406390,17614063901960.long 1676797112,16767971121961.long 3403428311,34034283111962.long 277177154,2771771541963.long 1076008723,10760087231964.long 538035844,5380358441965.long 2099530373,20995303731966.long 4164795346,41647953461967.long 288553390,2885533901968.long 1839278535,18392785351969.long 1261411869,12614118691970.long 4080055004,40800550041971.long 3964831245,39648312451972.long 3504587127,35045871271973.long 1813426987,18134269871974.long 2579067049,25790670491975.long 4199060497,41990604971976.long 577038663,5770386631977.long 3297574056,32975740561978.long 440397984,4403979841979.long 3626794326,36267943261980.long 4019204898,40192048981981.long 3343796615,33437966151982.long 3251714265,32517142651983.long 4272081548,42720815481984.long 906744984,9067449841985.long 3481400742,34814007421986.long 685669029,6856690291987.long 646887386,6468873861988.long 2764025151,27640251511989.long 3835509292,38355092921990.long 227702864,2277028641991.long 2613862250,26138622501992.long 1648787028,16487870281993.long 3256061430,32560614301994.long 3904428176,39044281761995.long 1593260334,15932603341996.long 4121936770,41219367701997.long 3196083615,31960836151998.long 2090061929,20900619291999.long 2838353263,28383532632000.long 3004310991,30043109912001.long 999926984,9999269842002.long 2809993232,28099932322003.long 1852021992,18520219922004.long 2075868123,20758681232005.long 158869197,1588691972006.long 4095236462,40952364622007.long 28809964,288099642008.long 2828685187,28286851872009.long 1701746150,17017461502010.long 2129067946,21290679462011.long 147831841,1478318412012.long 3873969647,38739696472013.long 3650873274,36508732742014.long 3459673930,34596739302015.long 3557400554,35574005542016.long 3598495785,35984957852017.long 2947720241,29477202412018.long 824393514,8243935142019.long 815048134,8150481342020.long 3227951669,32279516692021.long 935087732,9350877322022.long 2798289660,27982896602023.long 2966458592,29664585922024.long 366520115,3665201152025.long 1251476721,12514767212026.long 4158319681,41583196812027.long 240176511,2401765112028.long 804688151,8046881512029.long 2379631990,23796319902030.long 1303441219,13034412192031.long 1414376140,14143761402032.long 3741619940,37416199402033.long 3820343710,38203437102034.long 461924940,4619249402035.long 3089050817,30890508172036.long 2136040774,21360407742037.long 82468509,824685092038.long 1563790337,15637903372039.long 1937016826,19370168262040.long 776014843,7760148432041.long 1511876531,15118765312042.long 1389550482,13895504822043.long 861278441,8612784412044.long 323475053,3234750532045.long 2355222426,23552224262046.long 2047648055,20476480552047.long 2383738969,23837389692048.long 2302415851,23024158512049.long 3995576782,39955767822050.long 902390199,9023901992051.long 3991215329,39912153292052.long 1018251130,10182511302053.long 1507840668,15078406682054.long 1064563285,10645632852055.long 2043548696,20435486962056.long 3208103795,32081037952057.long 3939366739,39393667392058.long 1537932639,15379326392059.long 342834655,3428346552060.long 2262516856,22625168562061.long 2180231114,21802311142062.long 1053059257,10530592572063.long 741614648,7416146482064.long 1598071746,15980717462065.long 1925389590,19253895902066.long 203809468,2038094682067.long 2336832552,23368325522068.long 1100287487,11002874872069.long 1895934009,18959340092070.long 3736275976,37362759762071.long 2632234200,26322342002072.long 2428589668,24285896682073.long 1636092795,16360927952074.long 1890988757,18909887572075.long 1952214088,19522140882076.long 1113045200,11130452002077.byte 82,9,106,213,48,54,165,562078.byte 191,64,163,158,129,243,215,2512079.byte 124,227,57,130,155,47,255,1352080.byte 52,142,67,68,196,222,233,2032081.byte 84,123,148,50,166,194,35,612082.byte 238,76,149,11,66,250,195,782083.byte 8,46,161,102,40,217,36,1782084.byte 118,91,162,73,109,139,209,372085.byte 114,248,246,100,134,104,152,222086.byte 212,164,92,204,93,101,182,1462087.byte 108,112,72,80,253,237,185,2182088.byte 94,21,70,87,167,141,157,1322089.byte 144,216,171,0,140,188,211,102090.byte 247,228,88,5,184,179,69,62091.byte 208,44,30,143,202,63,15,22092.byte 193,175,189,3,1,19,138,1072093.byte 58,145,17,65,79,103,220,2342094.byte 151,242,207,206,240,180,230,1152095.byte 150,172,116,34,231,173,53,1332096.byte 226,249,55,232,28,117,223,1102097.byte 71,241,26,113,29,41,197,1372098.byte 111,183,98,14,170,24,190,272099.byte 252,86,62,75,198,210,121,322100.byte 154,219,192,254,120,205,90,2442101.byte 31,221,168,51,136,7,199,492102.byte 177,18,16,89,39,128,236,952103.byte 96,81,127,169,25,181,74,132104.byte 45,229,122,159,147,201,156,2392105.byte 160,224,59,77,174,42,245,1762106.byte 200,235,187,60,131,83,153,972107.byte 23,43,4,126,186,119,214,382108.byte 225,105,20,99,85,33,12,1252109.byte 82,9,106,213,48,54,165,562110.byte 191,64,163,158,129,243,215,2512111.byte 124,227,57,130,155,47,255,1352112.byte 52,142,67,68,196,222,233,2032113.byte 84,123,148,50,166,194,35,612114.byte 238,76,149,11,66,250,195,782115.byte 8,46,161,102,40,217,36,1782116.byte 118,91,162,73,109,139,209,372117.byte 114,248,246,100,134,104,152,222118.byte 212,164,92,204,93,101,182,1462119.byte 108,112,72,80,253,237,185,2182120.byte 94,21,70,87,167,141,157,1322121.byte 144,216,171,0,140,188,211,102122.byte 247,228,88,5,184,179,69,62123.byte 208,44,30,143,202,63,15,22124.byte 193,175,189,3,1,19,138,1072125.byte 58,145,17,65,79,103,220,2342126.byte 151,242,207,206,240,180,230,1152127.byte 150,172,116,34,231,173,53,1332128.byte 226,249,55,232,28,117,223,1102129.byte 71,241,26,113,29,41,197,1372130.byte 111,183,98,14,170,24,190,272131.byte 252,86,62,75,198,210,121,322132.byte 154,219,192,254,120,205,90,2442133.byte 31,221,168,51,136,7,199,492134.byte 177,18,16,89,39,128,236,952135.byte 96,81,127,169,25,181,74,132136.byte 45,229,122,159,147,201,156,2392137.byte 160,224,59,77,174,42,245,1762138.byte 200,235,187,60,131,83,153,972139.byte 23,43,4,126,186,119,214,382140.byte 225,105,20,99,85,33,12,1252141.byte 82,9,106,213,48,54,165,562142.byte 191,64,163,158,129,243,215,2512143.byte 124,227,57,130,155,47,255,1352144.byte 52,142,67,68,196,222,233,2032145.byte 84,123,148,50,166,194,35,612146.byte 238,76,149,11,66,250,195,782147.byte 8,46,161,102,40,217,36,1782148.byte 118,91,162,73,109,139,209,372149.byte 114,248,246,100,134,104,152,222150.byte 212,164,92,204,93,101,182,1462151.byte 108,112,72,80,253,237,185,2182152.byte 94,21,70,87,167,141,157,1322153.byte 144,216,171,0,140,188,211,102154.byte 247,228,88,5,184,179,69,62155.byte 208,44,30,143,202,63,15,22156.byte 193,175,189,3,1,19,138,1072157.byte 58,145,17,65,79,103,220,2342158.byte 151,242,207,206,240,180,230,1152159.byte 150,172,116,34,231,173,53,1332160.byte 226,249,55,232,28,117,223,1102161.byte 71,241,26,113,29,41,197,1372162.byte 111,183,98,14,170,24,190,272163.byte 252,86,62,75,198,210,121,322164.byte 154,219,192,254,120,205,90,2442165.byte 31,221,168,51,136,7,199,492166.byte 177,18,16,89,39,128,236,952167.byte 96,81,127,169,25,181,74,132168.byte 45,229,122,159,147,201,156,2392169.byte 160,224,59,77,174,42,245,1762170.byte 200,235,187,60,131,83,153,972171.byte 23,43,4,126,186,119,214,382172.byte 225,105,20,99,85,33,12,1252173.byte 82,9,106,213,48,54,165,562174.byte 191,64,163,158,129,243,215,2512175.byte 124,227,57,130,155,47,255,1352176.byte 52,142,67,68,196,222,233,2032177.byte 84,123,148,50,166,194,35,612178.byte 238,76,149,11,66,250,195,782179.byte 8,46,161,102,40,217,36,1782180.byte 118,91,162,73,109,139,209,372181.byte 114,248,246,100,134,104,152,222182.byte 212,164,92,204,93,101,182,1462183.byte 108,112,72,80,253,237,185,2182184.byte 94,21,70,87,167,141,157,1322185.byte 144,216,171,0,140,188,211,102186.byte 247,228,88,5,184,179,69,62187.byte 208,44,30,143,202,63,15,22188.byte 193,175,189,3,1,19,138,1072189.byte 58,145,17,65,79,103,220,2342190.byte 151,242,207,206,240,180,230,1152191.byte 150,172,116,34,231,173,53,1332192.byte 226,249,55,232,28,117,223,1102193.byte 71,241,26,113,29,41,197,1372194.byte 111,183,98,14,170,24,190,272195.byte 252,86,62,75,198,210,121,322196.byte 154,219,192,254,120,205,90,2442197.byte 31,221,168,51,136,7,199,492198.byte 177,18,16,89,39,128,236,952199.byte 96,81,127,169,25,181,74,132200.byte 45,229,122,159,147,201,156,2392201.byte 160,224,59,77,174,42,245,1762202.byte 200,235,187,60,131,83,153,972203.byte 23,43,4,126,186,119,214,382204.byte 225,105,20,99,85,33,12,1252205.size _x86_AES_decrypt,.-_x86_AES_decrypt2206.globl AES_decrypt2207.type AES_decrypt,@function2208.align 162209AES_decrypt:2210.L_AES_decrypt_begin:2211#ifdef __CET__22122213.byte 243,15,30,2512214#endif22152216pushl %ebp2217pushl %ebx2218pushl %esi2219pushl %edi2220movl 20(%esp),%esi2221movl 28(%esp),%edi2222movl %esp,%eax2223subl $36,%esp2224andl $-64,%esp2225leal -127(%edi),%ebx2226subl %esp,%ebx2227negl %ebx2228andl $960,%ebx2229subl %ebx,%esp2230addl $4,%esp2231movl %eax,28(%esp)2232call .L010pic_point2233.L010pic_point:2234popl %ebp2235leal OPENSSL_ia32cap_P-.L010pic_point(%ebp),%eax2236leal .LAES_Td-.L010pic_point(%ebp),%ebp2237leal 764(%esp),%ebx2238subl %ebp,%ebx2239andl $768,%ebx2240leal 2176(%ebp,%ebx,1),%ebp2241btl $25,(%eax)2242jnc .L011x862243movq (%esi),%mm02244movq 8(%esi),%mm42245call _sse_AES_decrypt_compact2246movl 28(%esp),%esp2247movl 24(%esp),%esi2248movq %mm0,(%esi)2249movq %mm4,8(%esi)2250emms2251popl %edi2252popl %esi2253popl %ebx2254popl %ebp2255ret2256.align 162257.L011x86:2258movl %ebp,24(%esp)2259movl (%esi),%eax2260movl 4(%esi),%ebx2261movl 8(%esi),%ecx2262movl 12(%esi),%edx2263call _x86_AES_decrypt_compact2264movl 28(%esp),%esp2265movl 24(%esp),%esi2266movl %eax,(%esi)2267movl %ebx,4(%esi)2268movl %ecx,8(%esi)2269movl %edx,12(%esi)2270popl %edi2271popl %esi2272popl %ebx2273popl %ebp2274ret2275.size AES_decrypt,.-.L_AES_decrypt_begin2276.globl AES_cbc_encrypt2277.type AES_cbc_encrypt,@function2278.align 162279AES_cbc_encrypt:2280.L_AES_cbc_encrypt_begin:2281#ifdef __CET__22822283.byte 243,15,30,2512284#endif22852286pushl %ebp2287pushl %ebx2288pushl %esi2289pushl %edi2290movl 28(%esp),%ecx2291cmpl $0,%ecx2292je .L012drop_out2293call .L013pic_point2294.L013pic_point:2295popl %ebp2296leal OPENSSL_ia32cap_P-.L013pic_point(%ebp),%eax2297cmpl $0,40(%esp)2298leal .LAES_Te-.L013pic_point(%ebp),%ebp2299jne .L014picked_te2300leal .LAES_Td-.LAES_Te(%ebp),%ebp2301.L014picked_te:2302pushfl2303cld2304cmpl $512,%ecx2305jb .L015slow_way2306testl $15,%ecx2307jnz .L015slow_way2308btl $28,(%eax)2309jc .L015slow_way2310leal -324(%esp),%esi2311andl $-64,%esi2312movl %ebp,%eax2313leal 2304(%ebp),%ebx2314movl %esi,%edx2315andl $4095,%eax2316andl $4095,%ebx2317andl $4095,%edx2318cmpl %ebx,%edx2319jb .L016tbl_break_out2320subl %ebx,%edx2321subl %edx,%esi2322jmp .L017tbl_ok2323.align 42324.L016tbl_break_out:2325subl %eax,%edx2326andl $4095,%edx2327addl $384,%edx2328subl %edx,%esi2329.align 42330.L017tbl_ok:2331leal 24(%esp),%edx2332xchgl %esi,%esp2333addl $4,%esp2334movl %ebp,24(%esp)2335movl %esi,28(%esp)2336movl (%edx),%eax2337movl 4(%edx),%ebx2338movl 12(%edx),%edi2339movl 16(%edx),%esi2340movl 20(%edx),%edx2341movl %eax,32(%esp)2342movl %ebx,36(%esp)2343movl %ecx,40(%esp)2344movl %edi,44(%esp)2345movl %esi,48(%esp)2346movl $0,316(%esp)2347movl %edi,%ebx2348movl $61,%ecx2349subl %ebp,%ebx2350movl %edi,%esi2351andl $4095,%ebx2352leal 76(%esp),%edi2353cmpl $2304,%ebx2354jb .L018do_copy2355cmpl $3852,%ebx2356jb .L019skip_copy2357.align 42358.L018do_copy:2359movl %edi,44(%esp)2360.long 27842290012361.L019skip_copy:2362movl $16,%edi2363.align 42364.L020prefetch_tbl:2365movl (%ebp),%eax2366movl 32(%ebp),%ebx2367movl 64(%ebp),%ecx2368movl 96(%ebp),%esi2369leal 128(%ebp),%ebp2370subl $1,%edi2371jnz .L020prefetch_tbl2372subl $2048,%ebp2373movl 32(%esp),%esi2374movl 48(%esp),%edi2375cmpl $0,%edx2376je .L021fast_decrypt2377movl (%edi),%eax2378movl 4(%edi),%ebx2379.align 162380.L022fast_enc_loop:2381movl 8(%edi),%ecx2382movl 12(%edi),%edx2383xorl (%esi),%eax2384xorl 4(%esi),%ebx2385xorl 8(%esi),%ecx2386xorl 12(%esi),%edx2387movl 44(%esp),%edi2388call _x86_AES_encrypt2389movl 32(%esp),%esi2390movl 36(%esp),%edi2391movl %eax,(%edi)2392movl %ebx,4(%edi)2393movl %ecx,8(%edi)2394movl %edx,12(%edi)2395leal 16(%esi),%esi2396movl 40(%esp),%ecx2397movl %esi,32(%esp)2398leal 16(%edi),%edx2399movl %edx,36(%esp)2400subl $16,%ecx2401movl %ecx,40(%esp)2402jnz .L022fast_enc_loop2403movl 48(%esp),%esi2404movl 8(%edi),%ecx2405movl 12(%edi),%edx2406movl %eax,(%esi)2407movl %ebx,4(%esi)2408movl %ecx,8(%esi)2409movl %edx,12(%esi)2410cmpl $0,316(%esp)2411movl 44(%esp),%edi2412je .L023skip_ezero2413movl $60,%ecx2414xorl %eax,%eax2415.align 42416.long 28848922972417.L023skip_ezero:2418movl 28(%esp),%esp2419popfl2420.L012drop_out:2421popl %edi2422popl %esi2423popl %ebx2424popl %ebp2425ret2426pushfl2427.align 162428.L021fast_decrypt:2429cmpl 36(%esp),%esi2430je .L024fast_dec_in_place2431movl %edi,52(%esp)2432.align 42433.align 162434.L025fast_dec_loop:2435movl (%esi),%eax2436movl 4(%esi),%ebx2437movl 8(%esi),%ecx2438movl 12(%esi),%edx2439movl 44(%esp),%edi2440call _x86_AES_decrypt2441movl 52(%esp),%edi2442movl 40(%esp),%esi2443xorl (%edi),%eax2444xorl 4(%edi),%ebx2445xorl 8(%edi),%ecx2446xorl 12(%edi),%edx2447movl 36(%esp),%edi2448movl 32(%esp),%esi2449movl %eax,(%edi)2450movl %ebx,4(%edi)2451movl %ecx,8(%edi)2452movl %edx,12(%edi)2453movl 40(%esp),%ecx2454movl %esi,52(%esp)2455leal 16(%esi),%esi2456movl %esi,32(%esp)2457leal 16(%edi),%edi2458movl %edi,36(%esp)2459subl $16,%ecx2460movl %ecx,40(%esp)2461jnz .L025fast_dec_loop2462movl 52(%esp),%edi2463movl 48(%esp),%esi2464movl (%edi),%eax2465movl 4(%edi),%ebx2466movl 8(%edi),%ecx2467movl 12(%edi),%edx2468movl %eax,(%esi)2469movl %ebx,4(%esi)2470movl %ecx,8(%esi)2471movl %edx,12(%esi)2472jmp .L026fast_dec_out2473.align 162474.L024fast_dec_in_place:2475.L027fast_dec_in_place_loop:2476movl (%esi),%eax2477movl 4(%esi),%ebx2478movl 8(%esi),%ecx2479movl 12(%esi),%edx2480leal 60(%esp),%edi2481movl %eax,(%edi)2482movl %ebx,4(%edi)2483movl %ecx,8(%edi)2484movl %edx,12(%edi)2485movl 44(%esp),%edi2486call _x86_AES_decrypt2487movl 48(%esp),%edi2488movl 36(%esp),%esi2489xorl (%edi),%eax2490xorl 4(%edi),%ebx2491xorl 8(%edi),%ecx2492xorl 12(%edi),%edx2493movl %eax,(%esi)2494movl %ebx,4(%esi)2495movl %ecx,8(%esi)2496movl %edx,12(%esi)2497leal 16(%esi),%esi2498movl %esi,36(%esp)2499leal 60(%esp),%esi2500movl (%esi),%eax2501movl 4(%esi),%ebx2502movl 8(%esi),%ecx2503movl 12(%esi),%edx2504movl %eax,(%edi)2505movl %ebx,4(%edi)2506movl %ecx,8(%edi)2507movl %edx,12(%edi)2508movl 32(%esp),%esi2509movl 40(%esp),%ecx2510leal 16(%esi),%esi2511movl %esi,32(%esp)2512subl $16,%ecx2513movl %ecx,40(%esp)2514jnz .L027fast_dec_in_place_loop2515.align 42516.L026fast_dec_out:2517cmpl $0,316(%esp)2518movl 44(%esp),%edi2519je .L028skip_dzero2520movl $60,%ecx2521xorl %eax,%eax2522.align 42523.long 28848922972524.L028skip_dzero:2525movl 28(%esp),%esp2526popfl2527popl %edi2528popl %esi2529popl %ebx2530popl %ebp2531ret2532pushfl2533.align 162534.L015slow_way:2535movl (%eax),%eax2536movl 36(%esp),%edi2537leal -80(%esp),%esi2538andl $-64,%esi2539leal -143(%edi),%ebx2540subl %esi,%ebx2541negl %ebx2542andl $960,%ebx2543subl %ebx,%esi2544leal 768(%esi),%ebx2545subl %ebp,%ebx2546andl $768,%ebx2547leal 2176(%ebp,%ebx,1),%ebp2548leal 24(%esp),%edx2549xchgl %esi,%esp2550addl $4,%esp2551movl %ebp,24(%esp)2552movl %esi,28(%esp)2553movl %eax,52(%esp)2554movl (%edx),%eax2555movl 4(%edx),%ebx2556movl 16(%edx),%esi2557movl 20(%edx),%edx2558movl %eax,32(%esp)2559movl %ebx,36(%esp)2560movl %ecx,40(%esp)2561movl %edi,44(%esp)2562movl %esi,48(%esp)2563movl %esi,%edi2564movl %eax,%esi2565cmpl $0,%edx2566je .L029slow_decrypt2567cmpl $16,%ecx2568movl %ebx,%edx2569jb .L030slow_enc_tail2570btl $25,52(%esp)2571jnc .L031slow_enc_x862572movq (%edi),%mm02573movq 8(%edi),%mm42574.align 162575.L032slow_enc_loop_sse:2576pxor (%esi),%mm02577pxor 8(%esi),%mm42578movl 44(%esp),%edi2579call _sse_AES_encrypt_compact2580movl 32(%esp),%esi2581movl 36(%esp),%edi2582movl 40(%esp),%ecx2583movq %mm0,(%edi)2584movq %mm4,8(%edi)2585leal 16(%esi),%esi2586movl %esi,32(%esp)2587leal 16(%edi),%edx2588movl %edx,36(%esp)2589subl $16,%ecx2590cmpl $16,%ecx2591movl %ecx,40(%esp)2592jae .L032slow_enc_loop_sse2593testl $15,%ecx2594jnz .L030slow_enc_tail2595movl 48(%esp),%esi2596movq %mm0,(%esi)2597movq %mm4,8(%esi)2598emms2599movl 28(%esp),%esp2600popfl2601popl %edi2602popl %esi2603popl %ebx2604popl %ebp2605ret2606pushfl2607.align 162608.L031slow_enc_x86:2609movl (%edi),%eax2610movl 4(%edi),%ebx2611.align 42612.L033slow_enc_loop_x86:2613movl 8(%edi),%ecx2614movl 12(%edi),%edx2615xorl (%esi),%eax2616xorl 4(%esi),%ebx2617xorl 8(%esi),%ecx2618xorl 12(%esi),%edx2619movl 44(%esp),%edi2620call _x86_AES_encrypt_compact2621movl 32(%esp),%esi2622movl 36(%esp),%edi2623movl %eax,(%edi)2624movl %ebx,4(%edi)2625movl %ecx,8(%edi)2626movl %edx,12(%edi)2627movl 40(%esp),%ecx2628leal 16(%esi),%esi2629movl %esi,32(%esp)2630leal 16(%edi),%edx2631movl %edx,36(%esp)2632subl $16,%ecx2633cmpl $16,%ecx2634movl %ecx,40(%esp)2635jae .L033slow_enc_loop_x862636testl $15,%ecx2637jnz .L030slow_enc_tail2638movl 48(%esp),%esi2639movl 8(%edi),%ecx2640movl 12(%edi),%edx2641movl %eax,(%esi)2642movl %ebx,4(%esi)2643movl %ecx,8(%esi)2644movl %edx,12(%esi)2645movl 28(%esp),%esp2646popfl2647popl %edi2648popl %esi2649popl %ebx2650popl %ebp2651ret2652pushfl2653.align 162654.L030slow_enc_tail:2655emms2656movl %edx,%edi2657movl $16,%ebx2658subl %ecx,%ebx2659cmpl %esi,%edi2660je .L034enc_in_place2661.align 42662.long 27674517852663jmp .L035enc_skip_in_place2664.L034enc_in_place:2665leal (%edi,%ecx,1),%edi2666.L035enc_skip_in_place:2667movl %ebx,%ecx2668xorl %eax,%eax2669.align 42670.long 28681150812671movl 48(%esp),%edi2672movl %edx,%esi2673movl (%edi),%eax2674movl 4(%edi),%ebx2675movl $16,40(%esp)2676jmp .L033slow_enc_loop_x862677.align 162678.L029slow_decrypt:2679btl $25,52(%esp)2680jnc .L036slow_dec_loop_x862681.align 42682.L037slow_dec_loop_sse:2683movq (%esi),%mm02684movq 8(%esi),%mm42685movl 44(%esp),%edi2686call _sse_AES_decrypt_compact2687movl 32(%esp),%esi2688leal 60(%esp),%eax2689movl 36(%esp),%ebx2690movl 40(%esp),%ecx2691movl 48(%esp),%edi2692movq (%esi),%mm12693movq 8(%esi),%mm52694pxor (%edi),%mm02695pxor 8(%edi),%mm42696movq %mm1,(%edi)2697movq %mm5,8(%edi)2698subl $16,%ecx2699jc .L038slow_dec_partial_sse2700movq %mm0,(%ebx)2701movq %mm4,8(%ebx)2702leal 16(%ebx),%ebx2703movl %ebx,36(%esp)2704leal 16(%esi),%esi2705movl %esi,32(%esp)2706movl %ecx,40(%esp)2707jnz .L037slow_dec_loop_sse2708emms2709movl 28(%esp),%esp2710popfl2711popl %edi2712popl %esi2713popl %ebx2714popl %ebp2715ret2716pushfl2717.align 162718.L038slow_dec_partial_sse:2719movq %mm0,(%eax)2720movq %mm4,8(%eax)2721emms2722addl $16,%ecx2723movl %ebx,%edi2724movl %eax,%esi2725.align 42726.long 27674517852727movl 28(%esp),%esp2728popfl2729popl %edi2730popl %esi2731popl %ebx2732popl %ebp2733ret2734pushfl2735.align 162736.L036slow_dec_loop_x86:2737movl (%esi),%eax2738movl 4(%esi),%ebx2739movl 8(%esi),%ecx2740movl 12(%esi),%edx2741leal 60(%esp),%edi2742movl %eax,(%edi)2743movl %ebx,4(%edi)2744movl %ecx,8(%edi)2745movl %edx,12(%edi)2746movl 44(%esp),%edi2747call _x86_AES_decrypt_compact2748movl 48(%esp),%edi2749movl 40(%esp),%esi2750xorl (%edi),%eax2751xorl 4(%edi),%ebx2752xorl 8(%edi),%ecx2753xorl 12(%edi),%edx2754subl $16,%esi2755jc .L039slow_dec_partial_x862756movl %esi,40(%esp)2757movl 36(%esp),%esi2758movl %eax,(%esi)2759movl %ebx,4(%esi)2760movl %ecx,8(%esi)2761movl %edx,12(%esi)2762leal 16(%esi),%esi2763movl %esi,36(%esp)2764leal 60(%esp),%esi2765movl (%esi),%eax2766movl 4(%esi),%ebx2767movl 8(%esi),%ecx2768movl 12(%esi),%edx2769movl %eax,(%edi)2770movl %ebx,4(%edi)2771movl %ecx,8(%edi)2772movl %edx,12(%edi)2773movl 32(%esp),%esi2774leal 16(%esi),%esi2775movl %esi,32(%esp)2776jnz .L036slow_dec_loop_x862777movl 28(%esp),%esp2778popfl2779popl %edi2780popl %esi2781popl %ebx2782popl %ebp2783ret2784pushfl2785.align 162786.L039slow_dec_partial_x86:2787leal 60(%esp),%esi2788movl %eax,(%esi)2789movl %ebx,4(%esi)2790movl %ecx,8(%esi)2791movl %edx,12(%esi)2792movl 32(%esp),%esi2793movl (%esi),%eax2794movl 4(%esi),%ebx2795movl 8(%esi),%ecx2796movl 12(%esi),%edx2797movl %eax,(%edi)2798movl %ebx,4(%edi)2799movl %ecx,8(%edi)2800movl %edx,12(%edi)2801movl 40(%esp),%ecx2802movl 36(%esp),%edi2803leal 60(%esp),%esi2804.align 42805.long 27674517852806movl 28(%esp),%esp2807popfl2808popl %edi2809popl %esi2810popl %ebx2811popl %ebp2812ret2813.size AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin2814.type _x86_AES_set_encrypt_key,@function2815.align 162816_x86_AES_set_encrypt_key:2817#ifdef __CET__28182819.byte 243,15,30,2512820#endif28212822pushl %ebp2823pushl %ebx2824pushl %esi2825pushl %edi2826movl 24(%esp),%esi2827movl 32(%esp),%edi2828testl $-1,%esi2829jz .L040badpointer2830testl $-1,%edi2831jz .L040badpointer2832call .L041pic_point2833.L041pic_point:2834popl %ebp2835leal .LAES_Te-.L041pic_point(%ebp),%ebp2836leal 2176(%ebp),%ebp2837movl -128(%ebp),%eax2838movl -96(%ebp),%ebx2839movl -64(%ebp),%ecx2840movl -32(%ebp),%edx2841movl (%ebp),%eax2842movl 32(%ebp),%ebx2843movl 64(%ebp),%ecx2844movl 96(%ebp),%edx2845movl 28(%esp),%ecx2846cmpl $128,%ecx2847je .L04210rounds2848cmpl $192,%ecx2849je .L04312rounds2850cmpl $256,%ecx2851je .L04414rounds2852movl $-2,%eax2853jmp .L045exit2854.L04210rounds:2855movl (%esi),%eax2856movl 4(%esi),%ebx2857movl 8(%esi),%ecx2858movl 12(%esi),%edx2859movl %eax,(%edi)2860movl %ebx,4(%edi)2861movl %ecx,8(%edi)2862movl %edx,12(%edi)2863xorl %ecx,%ecx2864jmp .L04610shortcut2865.align 42866.L04710loop:2867movl (%edi),%eax2868movl 12(%edi),%edx2869.L04610shortcut:2870movzbl %dl,%esi2871movzbl -128(%ebp,%esi,1),%ebx2872movzbl %dh,%esi2873shll $24,%ebx2874xorl %ebx,%eax2875movzbl -128(%ebp,%esi,1),%ebx2876shrl $16,%edx2877movzbl %dl,%esi2878xorl %ebx,%eax2879movzbl -128(%ebp,%esi,1),%ebx2880movzbl %dh,%esi2881shll $8,%ebx2882xorl %ebx,%eax2883movzbl -128(%ebp,%esi,1),%ebx2884shll $16,%ebx2885xorl %ebx,%eax2886xorl 896(%ebp,%ecx,4),%eax2887movl %eax,16(%edi)2888xorl 4(%edi),%eax2889movl %eax,20(%edi)2890xorl 8(%edi),%eax2891movl %eax,24(%edi)2892xorl 12(%edi),%eax2893movl %eax,28(%edi)2894incl %ecx2895addl $16,%edi2896cmpl $10,%ecx2897jl .L04710loop2898movl $10,80(%edi)2899xorl %eax,%eax2900jmp .L045exit2901.L04312rounds:2902movl (%esi),%eax2903movl 4(%esi),%ebx2904movl 8(%esi),%ecx2905movl 12(%esi),%edx2906movl %eax,(%edi)2907movl %ebx,4(%edi)2908movl %ecx,8(%edi)2909movl %edx,12(%edi)2910movl 16(%esi),%ecx2911movl 20(%esi),%edx2912movl %ecx,16(%edi)2913movl %edx,20(%edi)2914xorl %ecx,%ecx2915jmp .L04812shortcut2916.align 42917.L04912loop:2918movl (%edi),%eax2919movl 20(%edi),%edx2920.L04812shortcut:2921movzbl %dl,%esi2922movzbl -128(%ebp,%esi,1),%ebx2923movzbl %dh,%esi2924shll $24,%ebx2925xorl %ebx,%eax2926movzbl -128(%ebp,%esi,1),%ebx2927shrl $16,%edx2928movzbl %dl,%esi2929xorl %ebx,%eax2930movzbl -128(%ebp,%esi,1),%ebx2931movzbl %dh,%esi2932shll $8,%ebx2933xorl %ebx,%eax2934movzbl -128(%ebp,%esi,1),%ebx2935shll $16,%ebx2936xorl %ebx,%eax2937xorl 896(%ebp,%ecx,4),%eax2938movl %eax,24(%edi)2939xorl 4(%edi),%eax2940movl %eax,28(%edi)2941xorl 8(%edi),%eax2942movl %eax,32(%edi)2943xorl 12(%edi),%eax2944movl %eax,36(%edi)2945cmpl $7,%ecx2946je .L05012break2947incl %ecx2948xorl 16(%edi),%eax2949movl %eax,40(%edi)2950xorl 20(%edi),%eax2951movl %eax,44(%edi)2952addl $24,%edi2953jmp .L04912loop2954.L05012break:2955movl $12,72(%edi)2956xorl %eax,%eax2957jmp .L045exit2958.L04414rounds:2959movl (%esi),%eax2960movl 4(%esi),%ebx2961movl 8(%esi),%ecx2962movl 12(%esi),%edx2963movl %eax,(%edi)2964movl %ebx,4(%edi)2965movl %ecx,8(%edi)2966movl %edx,12(%edi)2967movl 16(%esi),%eax2968movl 20(%esi),%ebx2969movl 24(%esi),%ecx2970movl 28(%esi),%edx2971movl %eax,16(%edi)2972movl %ebx,20(%edi)2973movl %ecx,24(%edi)2974movl %edx,28(%edi)2975xorl %ecx,%ecx2976jmp .L05114shortcut2977.align 42978.L05214loop:2979movl 28(%edi),%edx2980.L05114shortcut:2981movl (%edi),%eax2982movzbl %dl,%esi2983movzbl -128(%ebp,%esi,1),%ebx2984movzbl %dh,%esi2985shll $24,%ebx2986xorl %ebx,%eax2987movzbl -128(%ebp,%esi,1),%ebx2988shrl $16,%edx2989movzbl %dl,%esi2990xorl %ebx,%eax2991movzbl -128(%ebp,%esi,1),%ebx2992movzbl %dh,%esi2993shll $8,%ebx2994xorl %ebx,%eax2995movzbl -128(%ebp,%esi,1),%ebx2996shll $16,%ebx2997xorl %ebx,%eax2998xorl 896(%ebp,%ecx,4),%eax2999movl %eax,32(%edi)3000xorl 4(%edi),%eax3001movl %eax,36(%edi)3002xorl 8(%edi),%eax3003movl %eax,40(%edi)3004xorl 12(%edi),%eax3005movl %eax,44(%edi)3006cmpl $6,%ecx3007je .L05314break3008incl %ecx3009movl %eax,%edx3010movl 16(%edi),%eax3011movzbl %dl,%esi3012movzbl -128(%ebp,%esi,1),%ebx3013movzbl %dh,%esi3014xorl %ebx,%eax3015movzbl -128(%ebp,%esi,1),%ebx3016shrl $16,%edx3017shll $8,%ebx3018movzbl %dl,%esi3019xorl %ebx,%eax3020movzbl -128(%ebp,%esi,1),%ebx3021movzbl %dh,%esi3022shll $16,%ebx3023xorl %ebx,%eax3024movzbl -128(%ebp,%esi,1),%ebx3025shll $24,%ebx3026xorl %ebx,%eax3027movl %eax,48(%edi)3028xorl 20(%edi),%eax3029movl %eax,52(%edi)3030xorl 24(%edi),%eax3031movl %eax,56(%edi)3032xorl 28(%edi),%eax3033movl %eax,60(%edi)3034addl $32,%edi3035jmp .L05214loop3036.L05314break:3037movl $14,48(%edi)3038xorl %eax,%eax3039jmp .L045exit3040.L040badpointer:3041movl $-1,%eax3042.L045exit:3043popl %edi3044popl %esi3045popl %ebx3046popl %ebp3047ret3048.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key3049.globl AES_set_encrypt_key3050.type AES_set_encrypt_key,@function3051.align 163052AES_set_encrypt_key:3053.L_AES_set_encrypt_key_begin:3054#ifdef __CET__30553056.byte 243,15,30,2513057#endif30583059call _x86_AES_set_encrypt_key3060ret3061.size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin3062.globl AES_set_decrypt_key3063.type AES_set_decrypt_key,@function3064.align 163065AES_set_decrypt_key:3066.L_AES_set_decrypt_key_begin:3067#ifdef __CET__30683069.byte 243,15,30,2513070#endif30713072call _x86_AES_set_encrypt_key3073cmpl $0,%eax3074je .L054proceed3075ret3076.L054proceed:3077pushl %ebp3078pushl %ebx3079pushl %esi3080pushl %edi3081movl 28(%esp),%esi3082movl 240(%esi),%ecx3083leal (,%ecx,4),%ecx3084leal (%esi,%ecx,4),%edi3085.align 43086.L055invert:3087movl (%esi),%eax3088movl 4(%esi),%ebx3089movl (%edi),%ecx3090movl 4(%edi),%edx3091movl %eax,(%edi)3092movl %ebx,4(%edi)3093movl %ecx,(%esi)3094movl %edx,4(%esi)3095movl 8(%esi),%eax3096movl 12(%esi),%ebx3097movl 8(%edi),%ecx3098movl 12(%edi),%edx3099movl %eax,8(%edi)3100movl %ebx,12(%edi)3101movl %ecx,8(%esi)3102movl %edx,12(%esi)3103addl $16,%esi3104subl $16,%edi3105cmpl %edi,%esi3106jne .L055invert3107movl 28(%esp),%edi3108movl 240(%edi),%esi3109leal -2(%esi,%esi,1),%esi3110leal (%edi,%esi,8),%esi3111movl %esi,28(%esp)3112movl 16(%edi),%eax3113.align 43114.L056permute:3115addl $16,%edi3116movl $2155905152,%ebp3117andl %eax,%ebp3118leal (%eax,%eax,1),%ebx3119movl %ebp,%esi3120shrl $7,%ebp3121subl %ebp,%esi3122andl $4278124286,%ebx3123andl $454761243,%esi3124xorl %esi,%ebx3125movl $2155905152,%ebp3126andl %ebx,%ebp3127leal (%ebx,%ebx,1),%ecx3128movl %ebp,%esi3129shrl $7,%ebp3130subl %ebp,%esi3131andl $4278124286,%ecx3132andl $454761243,%esi3133xorl %eax,%ebx3134xorl %esi,%ecx3135movl $2155905152,%ebp3136andl %ecx,%ebp3137leal (%ecx,%ecx,1),%edx3138movl %ebp,%esi3139shrl $7,%ebp3140xorl %eax,%ecx3141subl %ebp,%esi3142andl $4278124286,%edx3143andl $454761243,%esi3144roll $8,%eax3145xorl %esi,%edx3146movl 4(%edi),%ebp3147xorl %ebx,%eax3148xorl %edx,%ebx3149xorl %ecx,%eax3150roll $24,%ebx3151xorl %edx,%ecx3152xorl %edx,%eax3153roll $16,%ecx3154xorl %ebx,%eax3155roll $8,%edx3156xorl %ecx,%eax3157movl %ebp,%ebx3158xorl %edx,%eax3159movl %eax,(%edi)3160movl $2155905152,%ebp3161andl %ebx,%ebp3162leal (%ebx,%ebx,1),%ecx3163movl %ebp,%esi3164shrl $7,%ebp3165subl %ebp,%esi3166andl $4278124286,%ecx3167andl $454761243,%esi3168xorl %esi,%ecx3169movl $2155905152,%ebp3170andl %ecx,%ebp3171leal (%ecx,%ecx,1),%edx3172movl %ebp,%esi3173shrl $7,%ebp3174subl %ebp,%esi3175andl $4278124286,%edx3176andl $454761243,%esi3177xorl %ebx,%ecx3178xorl %esi,%edx3179movl $2155905152,%ebp3180andl %edx,%ebp3181leal (%edx,%edx,1),%eax3182movl %ebp,%esi3183shrl $7,%ebp3184xorl %ebx,%edx3185subl %ebp,%esi3186andl $4278124286,%eax3187andl $454761243,%esi3188roll $8,%ebx3189xorl %esi,%eax3190movl 8(%edi),%ebp3191xorl %ecx,%ebx3192xorl %eax,%ecx3193xorl %edx,%ebx3194roll $24,%ecx3195xorl %eax,%edx3196xorl %eax,%ebx3197roll $16,%edx3198xorl %ecx,%ebx3199roll $8,%eax3200xorl %edx,%ebx3201movl %ebp,%ecx3202xorl %eax,%ebx3203movl %ebx,4(%edi)3204movl $2155905152,%ebp3205andl %ecx,%ebp3206leal (%ecx,%ecx,1),%edx3207movl %ebp,%esi3208shrl $7,%ebp3209subl %ebp,%esi3210andl $4278124286,%edx3211andl $454761243,%esi3212xorl %esi,%edx3213movl $2155905152,%ebp3214andl %edx,%ebp3215leal (%edx,%edx,1),%eax3216movl %ebp,%esi3217shrl $7,%ebp3218subl %ebp,%esi3219andl $4278124286,%eax3220andl $454761243,%esi3221xorl %ecx,%edx3222xorl %esi,%eax3223movl $2155905152,%ebp3224andl %eax,%ebp3225leal (%eax,%eax,1),%ebx3226movl %ebp,%esi3227shrl $7,%ebp3228xorl %ecx,%eax3229subl %ebp,%esi3230andl $4278124286,%ebx3231andl $454761243,%esi3232roll $8,%ecx3233xorl %esi,%ebx3234movl 12(%edi),%ebp3235xorl %edx,%ecx3236xorl %ebx,%edx3237xorl %eax,%ecx3238roll $24,%edx3239xorl %ebx,%eax3240xorl %ebx,%ecx3241roll $16,%eax3242xorl %edx,%ecx3243roll $8,%ebx3244xorl %eax,%ecx3245movl %ebp,%edx3246xorl %ebx,%ecx3247movl %ecx,8(%edi)3248movl $2155905152,%ebp3249andl %edx,%ebp3250leal (%edx,%edx,1),%eax3251movl %ebp,%esi3252shrl $7,%ebp3253subl %ebp,%esi3254andl $4278124286,%eax3255andl $454761243,%esi3256xorl %esi,%eax3257movl $2155905152,%ebp3258andl %eax,%ebp3259leal (%eax,%eax,1),%ebx3260movl %ebp,%esi3261shrl $7,%ebp3262subl %ebp,%esi3263andl $4278124286,%ebx3264andl $454761243,%esi3265xorl %edx,%eax3266xorl %esi,%ebx3267movl $2155905152,%ebp3268andl %ebx,%ebp3269leal (%ebx,%ebx,1),%ecx3270movl %ebp,%esi3271shrl $7,%ebp3272xorl %edx,%ebx3273subl %ebp,%esi3274andl $4278124286,%ecx3275andl $454761243,%esi3276roll $8,%edx3277xorl %esi,%ecx3278movl 16(%edi),%ebp3279xorl %eax,%edx3280xorl %ecx,%eax3281xorl %ebx,%edx3282roll $24,%eax3283xorl %ecx,%ebx3284xorl %ecx,%edx3285roll $16,%ebx3286xorl %eax,%edx3287roll $8,%ecx3288xorl %ebx,%edx3289movl %ebp,%eax3290xorl %ecx,%edx3291movl %edx,12(%edi)3292cmpl 28(%esp),%edi3293jb .L056permute3294xorl %eax,%eax3295popl %edi3296popl %esi3297popl %ebx3298popl %ebp3299ret3300.size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin3301.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,893302.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,1143303.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,03304.comm OPENSSL_ia32cap_P,40,433053306.section ".note.gnu.property", "a"3307.p2align 23308.long 1f - 0f3309.long 4f - 1f3310.long 533110:3312.asciz "GNU"33131:3314.p2align 23315.long 0xc00000023316.long 3f - 2f33172:3318.long 333193:3320.p2align 233214:3322#else3323.text3324.type _x86_AES_encrypt_compact,@function3325.align 163326_x86_AES_encrypt_compact:3327#ifdef __CET__33283329.byte 243,15,30,2513330#endif33313332movl %edi,20(%esp)3333xorl (%edi),%eax3334xorl 4(%edi),%ebx3335xorl 8(%edi),%ecx3336xorl 12(%edi),%edx3337movl 240(%edi),%esi3338leal -2(%esi,%esi,1),%esi3339leal (%edi,%esi,8),%esi3340movl %esi,24(%esp)3341movl -128(%ebp),%edi3342movl -96(%ebp),%esi3343movl -64(%ebp),%edi3344movl -32(%ebp),%esi3345movl (%ebp),%edi3346movl 32(%ebp),%esi3347movl 64(%ebp),%edi3348movl 96(%ebp),%esi3349.align 163350.L000loop:3351movl %eax,%esi3352andl $255,%esi3353movzbl -128(%ebp,%esi,1),%esi3354movzbl %bh,%edi3355movzbl -128(%ebp,%edi,1),%edi3356shll $8,%edi3357xorl %edi,%esi3358movl %ecx,%edi3359shrl $16,%edi3360andl $255,%edi3361movzbl -128(%ebp,%edi,1),%edi3362shll $16,%edi3363xorl %edi,%esi3364movl %edx,%edi3365shrl $24,%edi3366movzbl -128(%ebp,%edi,1),%edi3367shll $24,%edi3368xorl %edi,%esi3369movl %esi,4(%esp)33703371movl %ebx,%esi3372andl $255,%esi3373shrl $16,%ebx3374movzbl -128(%ebp,%esi,1),%esi3375movzbl %ch,%edi3376movzbl -128(%ebp,%edi,1),%edi3377shll $8,%edi3378xorl %edi,%esi3379movl %edx,%edi3380shrl $16,%edi3381andl $255,%edi3382movzbl -128(%ebp,%edi,1),%edi3383shll $16,%edi3384xorl %edi,%esi3385movl %eax,%edi3386shrl $24,%edi3387movzbl -128(%ebp,%edi,1),%edi3388shll $24,%edi3389xorl %edi,%esi3390movl %esi,8(%esp)33913392movl %ecx,%esi3393andl $255,%esi3394shrl $24,%ecx3395movzbl -128(%ebp,%esi,1),%esi3396movzbl %dh,%edi3397movzbl -128(%ebp,%edi,1),%edi3398shll $8,%edi3399xorl %edi,%esi3400movl %eax,%edi3401shrl $16,%edi3402andl $255,%edx3403andl $255,%edi3404movzbl -128(%ebp,%edi,1),%edi3405shll $16,%edi3406xorl %edi,%esi3407movzbl %bh,%edi3408movzbl -128(%ebp,%edi,1),%edi3409shll $24,%edi3410xorl %edi,%esi34113412andl $255,%edx3413movzbl -128(%ebp,%edx,1),%edx3414movzbl %ah,%eax3415movzbl -128(%ebp,%eax,1),%eax3416shll $8,%eax3417xorl %eax,%edx3418movl 4(%esp),%eax3419andl $255,%ebx3420movzbl -128(%ebp,%ebx,1),%ebx3421shll $16,%ebx3422xorl %ebx,%edx3423movl 8(%esp),%ebx3424movzbl -128(%ebp,%ecx,1),%ecx3425shll $24,%ecx3426xorl %ecx,%edx3427movl %esi,%ecx34283429movl $2155905152,%ebp3430andl %ecx,%ebp3431leal (%ecx,%ecx,1),%edi3432movl %ebp,%esi3433shrl $7,%ebp3434andl $4278124286,%edi3435subl %ebp,%esi3436movl %ecx,%ebp3437andl $454761243,%esi3438rorl $16,%ebp3439xorl %edi,%esi3440movl %ecx,%edi3441xorl %esi,%ecx3442rorl $24,%edi3443xorl %ebp,%esi3444roll $24,%ecx3445xorl %edi,%esi3446movl $2155905152,%ebp3447xorl %esi,%ecx3448andl %edx,%ebp3449leal (%edx,%edx,1),%edi3450movl %ebp,%esi3451shrl $7,%ebp3452andl $4278124286,%edi3453subl %ebp,%esi3454movl %edx,%ebp3455andl $454761243,%esi3456rorl $16,%ebp3457xorl %edi,%esi3458movl %edx,%edi3459xorl %esi,%edx3460rorl $24,%edi3461xorl %ebp,%esi3462roll $24,%edx3463xorl %edi,%esi3464movl $2155905152,%ebp3465xorl %esi,%edx3466andl %eax,%ebp3467leal (%eax,%eax,1),%edi3468movl %ebp,%esi3469shrl $7,%ebp3470andl $4278124286,%edi3471subl %ebp,%esi3472movl %eax,%ebp3473andl $454761243,%esi3474rorl $16,%ebp3475xorl %edi,%esi3476movl %eax,%edi3477xorl %esi,%eax3478rorl $24,%edi3479xorl %ebp,%esi3480roll $24,%eax3481xorl %edi,%esi3482movl $2155905152,%ebp3483xorl %esi,%eax3484andl %ebx,%ebp3485leal (%ebx,%ebx,1),%edi3486movl %ebp,%esi3487shrl $7,%ebp3488andl $4278124286,%edi3489subl %ebp,%esi3490movl %ebx,%ebp3491andl $454761243,%esi3492rorl $16,%ebp3493xorl %edi,%esi3494movl %ebx,%edi3495xorl %esi,%ebx3496rorl $24,%edi3497xorl %ebp,%esi3498roll $24,%ebx3499xorl %edi,%esi3500xorl %esi,%ebx3501movl 20(%esp),%edi3502movl 28(%esp),%ebp3503addl $16,%edi3504xorl (%edi),%eax3505xorl 4(%edi),%ebx3506xorl 8(%edi),%ecx3507xorl 12(%edi),%edx3508cmpl 24(%esp),%edi3509movl %edi,20(%esp)3510jb .L000loop3511movl %eax,%esi3512andl $255,%esi3513movzbl -128(%ebp,%esi,1),%esi3514movzbl %bh,%edi3515movzbl -128(%ebp,%edi,1),%edi3516shll $8,%edi3517xorl %edi,%esi3518movl %ecx,%edi3519shrl $16,%edi3520andl $255,%edi3521movzbl -128(%ebp,%edi,1),%edi3522shll $16,%edi3523xorl %edi,%esi3524movl %edx,%edi3525shrl $24,%edi3526movzbl -128(%ebp,%edi,1),%edi3527shll $24,%edi3528xorl %edi,%esi3529movl %esi,4(%esp)35303531movl %ebx,%esi3532andl $255,%esi3533shrl $16,%ebx3534movzbl -128(%ebp,%esi,1),%esi3535movzbl %ch,%edi3536movzbl -128(%ebp,%edi,1),%edi3537shll $8,%edi3538xorl %edi,%esi3539movl %edx,%edi3540shrl $16,%edi3541andl $255,%edi3542movzbl -128(%ebp,%edi,1),%edi3543shll $16,%edi3544xorl %edi,%esi3545movl %eax,%edi3546shrl $24,%edi3547movzbl -128(%ebp,%edi,1),%edi3548shll $24,%edi3549xorl %edi,%esi3550movl %esi,8(%esp)35513552movl %ecx,%esi3553andl $255,%esi3554shrl $24,%ecx3555movzbl -128(%ebp,%esi,1),%esi3556movzbl %dh,%edi3557movzbl -128(%ebp,%edi,1),%edi3558shll $8,%edi3559xorl %edi,%esi3560movl %eax,%edi3561shrl $16,%edi3562andl $255,%edx3563andl $255,%edi3564movzbl -128(%ebp,%edi,1),%edi3565shll $16,%edi3566xorl %edi,%esi3567movzbl %bh,%edi3568movzbl -128(%ebp,%edi,1),%edi3569shll $24,%edi3570xorl %edi,%esi35713572movl 20(%esp),%edi3573andl $255,%edx3574movzbl -128(%ebp,%edx,1),%edx3575movzbl %ah,%eax3576movzbl -128(%ebp,%eax,1),%eax3577shll $8,%eax3578xorl %eax,%edx3579movl 4(%esp),%eax3580andl $255,%ebx3581movzbl -128(%ebp,%ebx,1),%ebx3582shll $16,%ebx3583xorl %ebx,%edx3584movl 8(%esp),%ebx3585movzbl -128(%ebp,%ecx,1),%ecx3586shll $24,%ecx3587xorl %ecx,%edx3588movl %esi,%ecx35893590xorl 16(%edi),%eax3591xorl 20(%edi),%ebx3592xorl 24(%edi),%ecx3593xorl 28(%edi),%edx3594ret3595.size _x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact3596.type _sse_AES_encrypt_compact,@function3597.align 163598_sse_AES_encrypt_compact:3599#ifdef __CET__36003601.byte 243,15,30,2513602#endif36033604pxor (%edi),%mm03605pxor 8(%edi),%mm43606movl 240(%edi),%esi3607leal -2(%esi,%esi,1),%esi3608leal (%edi,%esi,8),%esi3609movl %esi,24(%esp)3610movl $454761243,%eax3611movl %eax,8(%esp)3612movl %eax,12(%esp)3613movl -128(%ebp),%eax3614movl -96(%ebp),%ebx3615movl -64(%ebp),%ecx3616movl -32(%ebp),%edx3617movl (%ebp),%eax3618movl 32(%ebp),%ebx3619movl 64(%ebp),%ecx3620movl 96(%ebp),%edx3621.align 163622.L001loop:3623pshufw $8,%mm0,%mm13624pshufw $13,%mm4,%mm53625movd %mm1,%eax3626movd %mm5,%ebx3627movl %edi,20(%esp)3628movzbl %al,%esi3629movzbl %ah,%edx3630pshufw $13,%mm0,%mm23631movzbl -128(%ebp,%esi,1),%ecx3632movzbl %bl,%edi3633movzbl -128(%ebp,%edx,1),%edx3634shrl $16,%eax3635shll $8,%edx3636movzbl -128(%ebp,%edi,1),%esi3637movzbl %bh,%edi3638shll $16,%esi3639pshufw $8,%mm4,%mm63640orl %esi,%ecx3641movzbl -128(%ebp,%edi,1),%esi3642movzbl %ah,%edi3643shll $24,%esi3644shrl $16,%ebx3645orl %esi,%edx3646movzbl -128(%ebp,%edi,1),%esi3647movzbl %bh,%edi3648shll $8,%esi3649orl %esi,%ecx3650movzbl -128(%ebp,%edi,1),%esi3651movzbl %al,%edi3652shll $24,%esi3653orl %esi,%ecx3654movzbl -128(%ebp,%edi,1),%esi3655movzbl %bl,%edi3656movd %mm2,%eax3657movd %ecx,%mm03658movzbl -128(%ebp,%edi,1),%ecx3659movzbl %ah,%edi3660shll $16,%ecx3661movd %mm6,%ebx3662orl %esi,%ecx3663movzbl -128(%ebp,%edi,1),%esi3664movzbl %bh,%edi3665shll $24,%esi3666orl %esi,%ecx3667movzbl -128(%ebp,%edi,1),%esi3668movzbl %bl,%edi3669shll $8,%esi3670shrl $16,%ebx3671orl %esi,%ecx3672movzbl -128(%ebp,%edi,1),%esi3673movzbl %al,%edi3674shrl $16,%eax3675movd %ecx,%mm13676movzbl -128(%ebp,%edi,1),%ecx3677movzbl %ah,%edi3678shll $16,%ecx3679andl $255,%eax3680orl %esi,%ecx3681punpckldq %mm1,%mm03682movzbl -128(%ebp,%edi,1),%esi3683movzbl %bh,%edi3684shll $24,%esi3685andl $255,%ebx3686movzbl -128(%ebp,%eax,1),%eax3687orl %esi,%ecx3688shll $16,%eax3689movzbl -128(%ebp,%edi,1),%esi3690orl %eax,%edx3691shll $8,%esi3692movzbl -128(%ebp,%ebx,1),%ebx3693orl %esi,%ecx3694orl %ebx,%edx3695movl 20(%esp),%edi3696movd %ecx,%mm43697movd %edx,%mm53698punpckldq %mm5,%mm43699addl $16,%edi3700cmpl 24(%esp),%edi3701ja .L002out3702movq 8(%esp),%mm23703pxor %mm3,%mm33704pxor %mm7,%mm73705movq %mm0,%mm13706movq %mm4,%mm53707pcmpgtb %mm0,%mm33708pcmpgtb %mm4,%mm73709pand %mm2,%mm33710pand %mm2,%mm73711pshufw $177,%mm0,%mm23712pshufw $177,%mm4,%mm63713paddb %mm0,%mm03714paddb %mm4,%mm43715pxor %mm3,%mm03716pxor %mm7,%mm43717pshufw $177,%mm2,%mm33718pshufw $177,%mm6,%mm73719pxor %mm0,%mm13720pxor %mm4,%mm53721pxor %mm2,%mm03722pxor %mm6,%mm43723movq %mm3,%mm23724movq %mm7,%mm63725pslld $8,%mm33726pslld $8,%mm73727psrld $24,%mm23728psrld $24,%mm63729pxor %mm3,%mm03730pxor %mm7,%mm43731pxor %mm2,%mm03732pxor %mm6,%mm43733movq %mm1,%mm33734movq %mm5,%mm73735movq (%edi),%mm23736movq 8(%edi),%mm63737psrld $8,%mm13738psrld $8,%mm53739movl -128(%ebp),%eax3740pslld $24,%mm33741pslld $24,%mm73742movl -64(%ebp),%ebx3743pxor %mm1,%mm03744pxor %mm5,%mm43745movl (%ebp),%ecx3746pxor %mm3,%mm03747pxor %mm7,%mm43748movl 64(%ebp),%edx3749pxor %mm2,%mm03750pxor %mm6,%mm43751jmp .L001loop3752.align 163753.L002out:3754pxor (%edi),%mm03755pxor 8(%edi),%mm43756ret3757.size _sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact3758.type _x86_AES_encrypt,@function3759.align 163760_x86_AES_encrypt:3761#ifdef __CET__37623763.byte 243,15,30,2513764#endif37653766movl %edi,20(%esp)3767xorl (%edi),%eax3768xorl 4(%edi),%ebx3769xorl 8(%edi),%ecx3770xorl 12(%edi),%edx3771movl 240(%edi),%esi3772leal -2(%esi,%esi,1),%esi3773leal (%edi,%esi,8),%esi3774movl %esi,24(%esp)3775.align 163776.L003loop:3777movl %eax,%esi3778andl $255,%esi3779movl (%ebp,%esi,8),%esi3780movzbl %bh,%edi3781xorl 3(%ebp,%edi,8),%esi3782movl %ecx,%edi3783shrl $16,%edi3784andl $255,%edi3785xorl 2(%ebp,%edi,8),%esi3786movl %edx,%edi3787shrl $24,%edi3788xorl 1(%ebp,%edi,8),%esi3789movl %esi,4(%esp)37903791movl %ebx,%esi3792andl $255,%esi3793shrl $16,%ebx3794movl (%ebp,%esi,8),%esi3795movzbl %ch,%edi3796xorl 3(%ebp,%edi,8),%esi3797movl %edx,%edi3798shrl $16,%edi3799andl $255,%edi3800xorl 2(%ebp,%edi,8),%esi3801movl %eax,%edi3802shrl $24,%edi3803xorl 1(%ebp,%edi,8),%esi3804movl %esi,8(%esp)38053806movl %ecx,%esi3807andl $255,%esi3808shrl $24,%ecx3809movl (%ebp,%esi,8),%esi3810movzbl %dh,%edi3811xorl 3(%ebp,%edi,8),%esi3812movl %eax,%edi3813shrl $16,%edi3814andl $255,%edx3815andl $255,%edi3816xorl 2(%ebp,%edi,8),%esi3817movzbl %bh,%edi3818xorl 1(%ebp,%edi,8),%esi38193820movl 20(%esp),%edi3821movl (%ebp,%edx,8),%edx3822movzbl %ah,%eax3823xorl 3(%ebp,%eax,8),%edx3824movl 4(%esp),%eax3825andl $255,%ebx3826xorl 2(%ebp,%ebx,8),%edx3827movl 8(%esp),%ebx3828xorl 1(%ebp,%ecx,8),%edx3829movl %esi,%ecx38303831addl $16,%edi3832xorl (%edi),%eax3833xorl 4(%edi),%ebx3834xorl 8(%edi),%ecx3835xorl 12(%edi),%edx3836cmpl 24(%esp),%edi3837movl %edi,20(%esp)3838jb .L003loop3839movl %eax,%esi3840andl $255,%esi3841movl 2(%ebp,%esi,8),%esi3842andl $255,%esi3843movzbl %bh,%edi3844movl (%ebp,%edi,8),%edi3845andl $65280,%edi3846xorl %edi,%esi3847movl %ecx,%edi3848shrl $16,%edi3849andl $255,%edi3850movl (%ebp,%edi,8),%edi3851andl $16711680,%edi3852xorl %edi,%esi3853movl %edx,%edi3854shrl $24,%edi3855movl 2(%ebp,%edi,8),%edi3856andl $4278190080,%edi3857xorl %edi,%esi3858movl %esi,4(%esp)3859movl %ebx,%esi3860andl $255,%esi3861shrl $16,%ebx3862movl 2(%ebp,%esi,8),%esi3863andl $255,%esi3864movzbl %ch,%edi3865movl (%ebp,%edi,8),%edi3866andl $65280,%edi3867xorl %edi,%esi3868movl %edx,%edi3869shrl $16,%edi3870andl $255,%edi3871movl (%ebp,%edi,8),%edi3872andl $16711680,%edi3873xorl %edi,%esi3874movl %eax,%edi3875shrl $24,%edi3876movl 2(%ebp,%edi,8),%edi3877andl $4278190080,%edi3878xorl %edi,%esi3879movl %esi,8(%esp)3880movl %ecx,%esi3881andl $255,%esi3882shrl $24,%ecx3883movl 2(%ebp,%esi,8),%esi3884andl $255,%esi3885movzbl %dh,%edi3886movl (%ebp,%edi,8),%edi3887andl $65280,%edi3888xorl %edi,%esi3889movl %eax,%edi3890shrl $16,%edi3891andl $255,%edx3892andl $255,%edi3893movl (%ebp,%edi,8),%edi3894andl $16711680,%edi3895xorl %edi,%esi3896movzbl %bh,%edi3897movl 2(%ebp,%edi,8),%edi3898andl $4278190080,%edi3899xorl %edi,%esi3900movl 20(%esp),%edi3901andl $255,%edx3902movl 2(%ebp,%edx,8),%edx3903andl $255,%edx3904movzbl %ah,%eax3905movl (%ebp,%eax,8),%eax3906andl $65280,%eax3907xorl %eax,%edx3908movl 4(%esp),%eax3909andl $255,%ebx3910movl (%ebp,%ebx,8),%ebx3911andl $16711680,%ebx3912xorl %ebx,%edx3913movl 8(%esp),%ebx3914movl 2(%ebp,%ecx,8),%ecx3915andl $4278190080,%ecx3916xorl %ecx,%edx3917movl %esi,%ecx3918addl $16,%edi3919xorl (%edi),%eax3920xorl 4(%edi),%ebx3921xorl 8(%edi),%ecx3922xorl 12(%edi),%edx3923ret3924.align 643925.LAES_Te:3926.long 2774754246,27747542463927.long 2222750968,22227509683928.long 2574743534,25747435343929.long 2373680118,23736801183930.long 234025727,2340257273931.long 3177933782,31779337823932.long 2976870366,29768703663933.long 1422247313,14222473133934.long 1345335392,13453353923935.long 50397442,503974423936.long 2842126286,28421262863937.long 2099981142,20999811423938.long 436141799,4361417993939.long 1658312629,16583126293940.long 3870010189,38700101893941.long 2591454956,25914549563942.long 1170918031,11709180313943.long 2642575903,26425759033944.long 1086966153,10869661533945.long 2273148410,22731484103946.long 368769775,3687697753947.long 3948501426,39485014263948.long 3376891790,33768917903949.long 200339707,2003397073950.long 3970805057,39708050573951.long 1742001331,17420013313952.long 4255294047,42552940473953.long 3937382213,39373822133954.long 3214711843,32147118433955.long 4154762323,41547623233956.long 2524082916,25240829163957.long 1539358875,15393588753958.long 3266819957,32668199573959.long 486407649,4864076493960.long 2928907069,29289070693961.long 1780885068,17808850683962.long 1513502316,15135023163963.long 1094664062,10946640623964.long 49805301,498053013965.long 1338821763,13388217633966.long 1546925160,15469251603967.long 4104496465,41044964653968.long 887481809,8874818093969.long 150073849,1500738493970.long 2473685474,24736854743971.long 1943591083,19435910833972.long 1395732834,13957328343973.long 1058346282,10583462823974.long 201589768,2015897683975.long 1388824469,13888244693976.long 1696801606,16968016063977.long 1589887901,15898879013978.long 672667696,6726676963979.long 2711000631,27110006313980.long 251987210,2519872103981.long 3046808111,30468081113982.long 151455502,1514555023983.long 907153956,9071539563984.long 2608889883,26088898833985.long 1038279391,10382793913986.long 652995533,6529955333987.long 1764173646,17641736463988.long 3451040383,34510403833989.long 2675275242,26752752423990.long 453576978,4535769783991.long 2659418909,26594189093992.long 1949051992,19490519923993.long 773462580,7734625803994.long 756751158,7567511583995.long 2993581788,29935817883996.long 3998898868,39988988683997.long 4221608027,42216080273998.long 4132590244,41325902443999.long 1295727478,12957274784000.long 1641469623,16414696234001.long 3467883389,34678833894002.long 2066295122,20662951224003.long 1055122397,10551223974004.long 1898917726,18989177264005.long 2542044179,25420441794006.long 4115878822,41158788224007.long 1758581177,17585811774008.long 0,04009.long 753790401,7537904014010.long 1612718144,16127181444011.long 536673507,5366735074012.long 3367088505,33670885054013.long 3982187446,39821874464014.long 3194645204,31946452044015.long 1187761037,11877610374016.long 3653156455,36531564554017.long 1262041458,12620414584018.long 3729410708,37294107084019.long 3561770136,35617701364020.long 3898103984,38981039844021.long 1255133061,12551330614022.long 1808847035,18088470354023.long 720367557,7203675574024.long 3853167183,38531671834025.long 385612781,3856127814026.long 3309519750,33095197504027.long 3612167578,36121675784028.long 1429418854,14294188544029.long 2491778321,24917783214030.long 3477423498,34774234984031.long 284817897,2848178974032.long 100794884,1007948844033.long 2172616702,21726167024034.long 4031795360,40317953604035.long 1144798328,11447983284036.long 3131023141,31310231414037.long 3819481163,38194811634038.long 4082192802,40821928024039.long 4272137053,42721370534040.long 3225436288,32254362884041.long 2324664069,23246640694042.long 2912064063,29120640634043.long 3164445985,31644459854044.long 1211644016,12116440164045.long 83228145,832281454046.long 3753688163,37536881634047.long 3249976951,32499769514048.long 1977277103,19772771034049.long 1663115586,16631155864050.long 806359072,8063590724051.long 452984805,4529848054052.long 250868733,2508687334053.long 1842533055,18425330554054.long 1288555905,12885559054055.long 336333848,3363338484056.long 890442534,8904425344057.long 804056259,8040562594058.long 3781124030,37811240304059.long 2727843637,27278436374060.long 3427026056,34270260564061.long 957814574,9578145744062.long 1472513171,14725131714063.long 4071073621,40710736214064.long 2189328124,21893281244065.long 1195195770,11951957704066.long 2892260552,28922605524067.long 3881655738,38816557384068.long 723065138,7230651384069.long 2507371494,25073714944070.long 2690670784,26906707844071.long 2558624025,25586240254072.long 3511635870,35116358704073.long 2145180835,21451808354074.long 1713513028,17135130284075.long 2116692564,21166925644076.long 2878378043,28783780434077.long 2206763019,22067630194078.long 3393603212,33936032124079.long 703524551,7035245514080.long 3552098411,35520984114081.long 1007948840,10079488404082.long 2044649127,20446491274083.long 3797835452,37978354524084.long 487262998,4872629984085.long 1994120109,19941201094086.long 1004593371,10045933714087.long 1446130276,14461302764088.long 1312438900,13124389004089.long 503974420,5039744204090.long 3679013266,36790132664091.long 168166924,1681669244092.long 1814307912,18143079124093.long 3831258296,38312582964094.long 1573044895,15730448954095.long 1859376061,18593760614096.long 4021070915,40210709154097.long 2791465668,27914656684098.long 2828112185,28281121854099.long 2761266481,27612664814100.long 937747667,9377476674101.long 2339994098,23399940984102.long 854058965,8540589654103.long 1137232011,11372320114104.long 1496790894,14967908944105.long 3077402074,30774020744106.long 2358086913,23580869134107.long 1691735473,16917354734108.long 3528347292,35283472924109.long 3769215305,37692153054110.long 3027004632,30270046324111.long 4199962284,41999622844112.long 133494003,1334940034113.long 636152527,6361525274114.long 2942657994,29426579944115.long 2390391540,23903915404116.long 3920539207,39205392074117.long 403179536,4031795364118.long 3585784431,35857844314119.long 2289596656,22895966564120.long 1864705354,18647053544121.long 1915629148,19156291484122.long 605822008,6058220084123.long 4054230615,40542306154124.long 3350508659,33505086594125.long 1371981463,13719814634126.long 602466507,6024665074127.long 2094914977,20949149774128.long 2624877800,26248778004129.long 555687742,5556877424130.long 3712699286,37126992864131.long 3703422305,37034223054132.long 2257292045,22572920454133.long 2240449039,22404490394134.long 2423288032,24232880324135.long 1111375484,11113754844136.long 3300242801,33002428014137.long 2858837708,28588377084138.long 3628615824,36286158244139.long 84083462,840834624140.long 32962295,329622954141.long 302911004,3029110044142.long 2741068226,27410682264143.long 1597322602,15973226024144.long 4183250862,41832508624145.long 3501832553,35018325534146.long 2441512471,24415124714147.long 1489093017,14890930174148.long 656219450,6562194504149.long 3114180135,31141801354150.long 954327513,9543275134151.long 335083755,3350837554152.long 3013122091,30131220914153.long 856756514,8567565144154.long 3144247762,31442477624155.long 1893325225,18933252254156.long 2307821063,23078210634157.long 2811532339,28115323394158.long 3063651117,30636511174159.long 572399164,5723991644160.long 2458355477,24583554774161.long 552200649,5522006494162.long 1238290055,12382900554163.long 4283782570,42837825704164.long 2015897680,20158976804165.long 2061492133,20614921334166.long 2408352771,24083527714167.long 4171342169,41713421694168.long 2156497161,21564971614169.long 386731290,3867312904170.long 3669999461,36699994614171.long 837215959,8372159594172.long 3326231172,33262311724173.long 3093850320,30938503204174.long 3275833730,32758337304175.long 2962856233,29628562334176.long 1999449434,19994494344177.long 286199582,2861995824178.long 3417354363,34173543634179.long 4233385128,42333851284180.long 3602627437,36026274374181.long 974525996,9745259964182.byte 99,124,119,123,242,107,111,1974183.byte 48,1,103,43,254,215,171,1184184.byte 202,130,201,125,250,89,71,2404185.byte 173,212,162,175,156,164,114,1924186.byte 183,253,147,38,54,63,247,2044187.byte 52,165,229,241,113,216,49,214188.byte 4,199,35,195,24,150,5,1544189.byte 7,18,128,226,235,39,178,1174190.byte 9,131,44,26,27,110,90,1604191.byte 82,59,214,179,41,227,47,1324192.byte 83,209,0,237,32,252,177,914193.byte 106,203,190,57,74,76,88,2074194.byte 208,239,170,251,67,77,51,1334195.byte 69,249,2,127,80,60,159,1684196.byte 81,163,64,143,146,157,56,2454197.byte 188,182,218,33,16,255,243,2104198.byte 205,12,19,236,95,151,68,234199.byte 196,167,126,61,100,93,25,1154200.byte 96,129,79,220,34,42,144,1364201.byte 70,238,184,20,222,94,11,2194202.byte 224,50,58,10,73,6,36,924203.byte 194,211,172,98,145,149,228,1214204.byte 231,200,55,109,141,213,78,1694205.byte 108,86,244,234,101,122,174,84206.byte 186,120,37,46,28,166,180,1984207.byte 232,221,116,31,75,189,139,1384208.byte 112,62,181,102,72,3,246,144209.byte 97,53,87,185,134,193,29,1584210.byte 225,248,152,17,105,217,142,1484211.byte 155,30,135,233,206,85,40,2234212.byte 140,161,137,13,191,230,66,1044213.byte 65,153,45,15,176,84,187,224214.byte 99,124,119,123,242,107,111,1974215.byte 48,1,103,43,254,215,171,1184216.byte 202,130,201,125,250,89,71,2404217.byte 173,212,162,175,156,164,114,1924218.byte 183,253,147,38,54,63,247,2044219.byte 52,165,229,241,113,216,49,214220.byte 4,199,35,195,24,150,5,1544221.byte 7,18,128,226,235,39,178,1174222.byte 9,131,44,26,27,110,90,1604223.byte 82,59,214,179,41,227,47,1324224.byte 83,209,0,237,32,252,177,914225.byte 106,203,190,57,74,76,88,2074226.byte 208,239,170,251,67,77,51,1334227.byte 69,249,2,127,80,60,159,1684228.byte 81,163,64,143,146,157,56,2454229.byte 188,182,218,33,16,255,243,2104230.byte 205,12,19,236,95,151,68,234231.byte 196,167,126,61,100,93,25,1154232.byte 96,129,79,220,34,42,144,1364233.byte 70,238,184,20,222,94,11,2194234.byte 224,50,58,10,73,6,36,924235.byte 194,211,172,98,145,149,228,1214236.byte 231,200,55,109,141,213,78,1694237.byte 108,86,244,234,101,122,174,84238.byte 186,120,37,46,28,166,180,1984239.byte 232,221,116,31,75,189,139,1384240.byte 112,62,181,102,72,3,246,144241.byte 97,53,87,185,134,193,29,1584242.byte 225,248,152,17,105,217,142,1484243.byte 155,30,135,233,206,85,40,2234244.byte 140,161,137,13,191,230,66,1044245.byte 65,153,45,15,176,84,187,224246.byte 99,124,119,123,242,107,111,1974247.byte 48,1,103,43,254,215,171,1184248.byte 202,130,201,125,250,89,71,2404249.byte 173,212,162,175,156,164,114,1924250.byte 183,253,147,38,54,63,247,2044251.byte 52,165,229,241,113,216,49,214252.byte 4,199,35,195,24,150,5,1544253.byte 7,18,128,226,235,39,178,1174254.byte 9,131,44,26,27,110,90,1604255.byte 82,59,214,179,41,227,47,1324256.byte 83,209,0,237,32,252,177,914257.byte 106,203,190,57,74,76,88,2074258.byte 208,239,170,251,67,77,51,1334259.byte 69,249,2,127,80,60,159,1684260.byte 81,163,64,143,146,157,56,2454261.byte 188,182,218,33,16,255,243,2104262.byte 205,12,19,236,95,151,68,234263.byte 196,167,126,61,100,93,25,1154264.byte 96,129,79,220,34,42,144,1364265.byte 70,238,184,20,222,94,11,2194266.byte 224,50,58,10,73,6,36,924267.byte 194,211,172,98,145,149,228,1214268.byte 231,200,55,109,141,213,78,1694269.byte 108,86,244,234,101,122,174,84270.byte 186,120,37,46,28,166,180,1984271.byte 232,221,116,31,75,189,139,1384272.byte 112,62,181,102,72,3,246,144273.byte 97,53,87,185,134,193,29,1584274.byte 225,248,152,17,105,217,142,1484275.byte 155,30,135,233,206,85,40,2234276.byte 140,161,137,13,191,230,66,1044277.byte 65,153,45,15,176,84,187,224278.byte 99,124,119,123,242,107,111,1974279.byte 48,1,103,43,254,215,171,1184280.byte 202,130,201,125,250,89,71,2404281.byte 173,212,162,175,156,164,114,1924282.byte 183,253,147,38,54,63,247,2044283.byte 52,165,229,241,113,216,49,214284.byte 4,199,35,195,24,150,5,1544285.byte 7,18,128,226,235,39,178,1174286.byte 9,131,44,26,27,110,90,1604287.byte 82,59,214,179,41,227,47,1324288.byte 83,209,0,237,32,252,177,914289.byte 106,203,190,57,74,76,88,2074290.byte 208,239,170,251,67,77,51,1334291.byte 69,249,2,127,80,60,159,1684292.byte 81,163,64,143,146,157,56,2454293.byte 188,182,218,33,16,255,243,2104294.byte 205,12,19,236,95,151,68,234295.byte 196,167,126,61,100,93,25,1154296.byte 96,129,79,220,34,42,144,1364297.byte 70,238,184,20,222,94,11,2194298.byte 224,50,58,10,73,6,36,924299.byte 194,211,172,98,145,149,228,1214300.byte 231,200,55,109,141,213,78,1694301.byte 108,86,244,234,101,122,174,84302.byte 186,120,37,46,28,166,180,1984303.byte 232,221,116,31,75,189,139,1384304.byte 112,62,181,102,72,3,246,144305.byte 97,53,87,185,134,193,29,1584306.byte 225,248,152,17,105,217,142,1484307.byte 155,30,135,233,206,85,40,2234308.byte 140,161,137,13,191,230,66,1044309.byte 65,153,45,15,176,84,187,224310.long 1,2,4,84311.long 16,32,64,1284312.long 27,54,0,04313.long 0,0,0,04314.size _x86_AES_encrypt,.-_x86_AES_encrypt4315.globl AES_encrypt4316.type AES_encrypt,@function4317.align 164318AES_encrypt:4319.L_AES_encrypt_begin:4320#ifdef __CET__43214322.byte 243,15,30,2514323#endif43244325pushl %ebp4326pushl %ebx4327pushl %esi4328pushl %edi4329movl 20(%esp),%esi4330movl 28(%esp),%edi4331movl %esp,%eax4332subl $36,%esp4333andl $-64,%esp4334leal -127(%edi),%ebx4335subl %esp,%ebx4336negl %ebx4337andl $960,%ebx4338subl %ebx,%esp4339addl $4,%esp4340movl %eax,28(%esp)4341call .L004pic_point4342.L004pic_point:4343popl %ebp4344leal OPENSSL_ia32cap_P,%eax4345leal .LAES_Te-.L004pic_point(%ebp),%ebp4346leal 764(%esp),%ebx4347subl %ebp,%ebx4348andl $768,%ebx4349leal 2176(%ebp,%ebx,1),%ebp4350btl $25,(%eax)4351jnc .L005x864352movq (%esi),%mm04353movq 8(%esi),%mm44354call _sse_AES_encrypt_compact4355movl 28(%esp),%esp4356movl 24(%esp),%esi4357movq %mm0,(%esi)4358movq %mm4,8(%esi)4359emms4360popl %edi4361popl %esi4362popl %ebx4363popl %ebp4364ret4365.align 164366.L005x86:4367movl %ebp,24(%esp)4368movl (%esi),%eax4369movl 4(%esi),%ebx4370movl 8(%esi),%ecx4371movl 12(%esi),%edx4372call _x86_AES_encrypt_compact4373movl 28(%esp),%esp4374movl 24(%esp),%esi4375movl %eax,(%esi)4376movl %ebx,4(%esi)4377movl %ecx,8(%esi)4378movl %edx,12(%esi)4379popl %edi4380popl %esi4381popl %ebx4382popl %ebp4383ret4384.size AES_encrypt,.-.L_AES_encrypt_begin4385.type _x86_AES_decrypt_compact,@function4386.align 164387_x86_AES_decrypt_compact:4388#ifdef __CET__43894390.byte 243,15,30,2514391#endif43924393movl %edi,20(%esp)4394xorl (%edi),%eax4395xorl 4(%edi),%ebx4396xorl 8(%edi),%ecx4397xorl 12(%edi),%edx4398movl 240(%edi),%esi4399leal -2(%esi,%esi,1),%esi4400leal (%edi,%esi,8),%esi4401movl %esi,24(%esp)4402movl -128(%ebp),%edi4403movl -96(%ebp),%esi4404movl -64(%ebp),%edi4405movl -32(%ebp),%esi4406movl (%ebp),%edi4407movl 32(%ebp),%esi4408movl 64(%ebp),%edi4409movl 96(%ebp),%esi4410.align 164411.L006loop:4412movl %eax,%esi4413andl $255,%esi4414movzbl -128(%ebp,%esi,1),%esi4415movzbl %dh,%edi4416movzbl -128(%ebp,%edi,1),%edi4417shll $8,%edi4418xorl %edi,%esi4419movl %ecx,%edi4420shrl $16,%edi4421andl $255,%edi4422movzbl -128(%ebp,%edi,1),%edi4423shll $16,%edi4424xorl %edi,%esi4425movl %ebx,%edi4426shrl $24,%edi4427movzbl -128(%ebp,%edi,1),%edi4428shll $24,%edi4429xorl %edi,%esi4430movl %esi,4(%esp)4431movl %ebx,%esi4432andl $255,%esi4433movzbl -128(%ebp,%esi,1),%esi4434movzbl %ah,%edi4435movzbl -128(%ebp,%edi,1),%edi4436shll $8,%edi4437xorl %edi,%esi4438movl %edx,%edi4439shrl $16,%edi4440andl $255,%edi4441movzbl -128(%ebp,%edi,1),%edi4442shll $16,%edi4443xorl %edi,%esi4444movl %ecx,%edi4445shrl $24,%edi4446movzbl -128(%ebp,%edi,1),%edi4447shll $24,%edi4448xorl %edi,%esi4449movl %esi,8(%esp)4450movl %ecx,%esi4451andl $255,%esi4452movzbl -128(%ebp,%esi,1),%esi4453movzbl %bh,%edi4454movzbl -128(%ebp,%edi,1),%edi4455shll $8,%edi4456xorl %edi,%esi4457movl %eax,%edi4458shrl $16,%edi4459andl $255,%edi4460movzbl -128(%ebp,%edi,1),%edi4461shll $16,%edi4462xorl %edi,%esi4463movl %edx,%edi4464shrl $24,%edi4465movzbl -128(%ebp,%edi,1),%edi4466shll $24,%edi4467xorl %edi,%esi4468andl $255,%edx4469movzbl -128(%ebp,%edx,1),%edx4470movzbl %ch,%ecx4471movzbl -128(%ebp,%ecx,1),%ecx4472shll $8,%ecx4473xorl %ecx,%edx4474movl %esi,%ecx4475shrl $16,%ebx4476andl $255,%ebx4477movzbl -128(%ebp,%ebx,1),%ebx4478shll $16,%ebx4479xorl %ebx,%edx4480shrl $24,%eax4481movzbl -128(%ebp,%eax,1),%eax4482shll $24,%eax4483xorl %eax,%edx4484movl $2155905152,%edi4485andl %ecx,%edi4486movl %edi,%esi4487shrl $7,%edi4488leal (%ecx,%ecx,1),%eax4489subl %edi,%esi4490andl $4278124286,%eax4491andl $454761243,%esi4492xorl %esi,%eax4493movl $2155905152,%edi4494andl %eax,%edi4495movl %edi,%esi4496shrl $7,%edi4497leal (%eax,%eax,1),%ebx4498subl %edi,%esi4499andl $4278124286,%ebx4500andl $454761243,%esi4501xorl %ecx,%eax4502xorl %esi,%ebx4503movl $2155905152,%edi4504andl %ebx,%edi4505movl %edi,%esi4506shrl $7,%edi4507leal (%ebx,%ebx,1),%ebp4508subl %edi,%esi4509andl $4278124286,%ebp4510andl $454761243,%esi4511xorl %ecx,%ebx4512roll $8,%ecx4513xorl %esi,%ebp4514xorl %eax,%ecx4515xorl %ebp,%eax4516xorl %ebx,%ecx4517xorl %ebp,%ebx4518roll $24,%eax4519xorl %ebp,%ecx4520roll $16,%ebx4521xorl %eax,%ecx4522roll $8,%ebp4523xorl %ebx,%ecx4524movl 4(%esp),%eax4525xorl %ebp,%ecx4526movl %ecx,12(%esp)4527movl $2155905152,%edi4528andl %edx,%edi4529movl %edi,%esi4530shrl $7,%edi4531leal (%edx,%edx,1),%ebx4532subl %edi,%esi4533andl $4278124286,%ebx4534andl $454761243,%esi4535xorl %esi,%ebx4536movl $2155905152,%edi4537andl %ebx,%edi4538movl %edi,%esi4539shrl $7,%edi4540leal (%ebx,%ebx,1),%ecx4541subl %edi,%esi4542andl $4278124286,%ecx4543andl $454761243,%esi4544xorl %edx,%ebx4545xorl %esi,%ecx4546movl $2155905152,%edi4547andl %ecx,%edi4548movl %edi,%esi4549shrl $7,%edi4550leal (%ecx,%ecx,1),%ebp4551subl %edi,%esi4552andl $4278124286,%ebp4553andl $454761243,%esi4554xorl %edx,%ecx4555roll $8,%edx4556xorl %esi,%ebp4557xorl %ebx,%edx4558xorl %ebp,%ebx4559xorl %ecx,%edx4560xorl %ebp,%ecx4561roll $24,%ebx4562xorl %ebp,%edx4563roll $16,%ecx4564xorl %ebx,%edx4565roll $8,%ebp4566xorl %ecx,%edx4567movl 8(%esp),%ebx4568xorl %ebp,%edx4569movl %edx,16(%esp)4570movl $2155905152,%edi4571andl %eax,%edi4572movl %edi,%esi4573shrl $7,%edi4574leal (%eax,%eax,1),%ecx4575subl %edi,%esi4576andl $4278124286,%ecx4577andl $454761243,%esi4578xorl %esi,%ecx4579movl $2155905152,%edi4580andl %ecx,%edi4581movl %edi,%esi4582shrl $7,%edi4583leal (%ecx,%ecx,1),%edx4584subl %edi,%esi4585andl $4278124286,%edx4586andl $454761243,%esi4587xorl %eax,%ecx4588xorl %esi,%edx4589movl $2155905152,%edi4590andl %edx,%edi4591movl %edi,%esi4592shrl $7,%edi4593leal (%edx,%edx,1),%ebp4594subl %edi,%esi4595andl $4278124286,%ebp4596andl $454761243,%esi4597xorl %eax,%edx4598roll $8,%eax4599xorl %esi,%ebp4600xorl %ecx,%eax4601xorl %ebp,%ecx4602xorl %edx,%eax4603xorl %ebp,%edx4604roll $24,%ecx4605xorl %ebp,%eax4606roll $16,%edx4607xorl %ecx,%eax4608roll $8,%ebp4609xorl %edx,%eax4610xorl %ebp,%eax4611movl $2155905152,%edi4612andl %ebx,%edi4613movl %edi,%esi4614shrl $7,%edi4615leal (%ebx,%ebx,1),%ecx4616subl %edi,%esi4617andl $4278124286,%ecx4618andl $454761243,%esi4619xorl %esi,%ecx4620movl $2155905152,%edi4621andl %ecx,%edi4622movl %edi,%esi4623shrl $7,%edi4624leal (%ecx,%ecx,1),%edx4625subl %edi,%esi4626andl $4278124286,%edx4627andl $454761243,%esi4628xorl %ebx,%ecx4629xorl %esi,%edx4630movl $2155905152,%edi4631andl %edx,%edi4632movl %edi,%esi4633shrl $7,%edi4634leal (%edx,%edx,1),%ebp4635subl %edi,%esi4636andl $4278124286,%ebp4637andl $454761243,%esi4638xorl %ebx,%edx4639roll $8,%ebx4640xorl %esi,%ebp4641xorl %ecx,%ebx4642xorl %ebp,%ecx4643xorl %edx,%ebx4644xorl %ebp,%edx4645roll $24,%ecx4646xorl %ebp,%ebx4647roll $16,%edx4648xorl %ecx,%ebx4649roll $8,%ebp4650xorl %edx,%ebx4651movl 12(%esp),%ecx4652xorl %ebp,%ebx4653movl 16(%esp),%edx4654movl 20(%esp),%edi4655movl 28(%esp),%ebp4656addl $16,%edi4657xorl (%edi),%eax4658xorl 4(%edi),%ebx4659xorl 8(%edi),%ecx4660xorl 12(%edi),%edx4661cmpl 24(%esp),%edi4662movl %edi,20(%esp)4663jb .L006loop4664movl %eax,%esi4665andl $255,%esi4666movzbl -128(%ebp,%esi,1),%esi4667movzbl %dh,%edi4668movzbl -128(%ebp,%edi,1),%edi4669shll $8,%edi4670xorl %edi,%esi4671movl %ecx,%edi4672shrl $16,%edi4673andl $255,%edi4674movzbl -128(%ebp,%edi,1),%edi4675shll $16,%edi4676xorl %edi,%esi4677movl %ebx,%edi4678shrl $24,%edi4679movzbl -128(%ebp,%edi,1),%edi4680shll $24,%edi4681xorl %edi,%esi4682movl %esi,4(%esp)4683movl %ebx,%esi4684andl $255,%esi4685movzbl -128(%ebp,%esi,1),%esi4686movzbl %ah,%edi4687movzbl -128(%ebp,%edi,1),%edi4688shll $8,%edi4689xorl %edi,%esi4690movl %edx,%edi4691shrl $16,%edi4692andl $255,%edi4693movzbl -128(%ebp,%edi,1),%edi4694shll $16,%edi4695xorl %edi,%esi4696movl %ecx,%edi4697shrl $24,%edi4698movzbl -128(%ebp,%edi,1),%edi4699shll $24,%edi4700xorl %edi,%esi4701movl %esi,8(%esp)4702movl %ecx,%esi4703andl $255,%esi4704movzbl -128(%ebp,%esi,1),%esi4705movzbl %bh,%edi4706movzbl -128(%ebp,%edi,1),%edi4707shll $8,%edi4708xorl %edi,%esi4709movl %eax,%edi4710shrl $16,%edi4711andl $255,%edi4712movzbl -128(%ebp,%edi,1),%edi4713shll $16,%edi4714xorl %edi,%esi4715movl %edx,%edi4716shrl $24,%edi4717movzbl -128(%ebp,%edi,1),%edi4718shll $24,%edi4719xorl %edi,%esi4720movl 20(%esp),%edi4721andl $255,%edx4722movzbl -128(%ebp,%edx,1),%edx4723movzbl %ch,%ecx4724movzbl -128(%ebp,%ecx,1),%ecx4725shll $8,%ecx4726xorl %ecx,%edx4727movl %esi,%ecx4728shrl $16,%ebx4729andl $255,%ebx4730movzbl -128(%ebp,%ebx,1),%ebx4731shll $16,%ebx4732xorl %ebx,%edx4733movl 8(%esp),%ebx4734shrl $24,%eax4735movzbl -128(%ebp,%eax,1),%eax4736shll $24,%eax4737xorl %eax,%edx4738movl 4(%esp),%eax4739xorl 16(%edi),%eax4740xorl 20(%edi),%ebx4741xorl 24(%edi),%ecx4742xorl 28(%edi),%edx4743ret4744.size _x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact4745.type _sse_AES_decrypt_compact,@function4746.align 164747_sse_AES_decrypt_compact:4748#ifdef __CET__47494750.byte 243,15,30,2514751#endif47524753pxor (%edi),%mm04754pxor 8(%edi),%mm44755movl 240(%edi),%esi4756leal -2(%esi,%esi,1),%esi4757leal (%edi,%esi,8),%esi4758movl %esi,24(%esp)4759movl $454761243,%eax4760movl %eax,8(%esp)4761movl %eax,12(%esp)4762movl -128(%ebp),%eax4763movl -96(%ebp),%ebx4764movl -64(%ebp),%ecx4765movl -32(%ebp),%edx4766movl (%ebp),%eax4767movl 32(%ebp),%ebx4768movl 64(%ebp),%ecx4769movl 96(%ebp),%edx4770.align 164771.L007loop:4772pshufw $12,%mm0,%mm14773pshufw $9,%mm4,%mm54774movd %mm1,%eax4775movd %mm5,%ebx4776movl %edi,20(%esp)4777movzbl %al,%esi4778movzbl %ah,%edx4779pshufw $6,%mm0,%mm24780movzbl -128(%ebp,%esi,1),%ecx4781movzbl %bl,%edi4782movzbl -128(%ebp,%edx,1),%edx4783shrl $16,%eax4784shll $8,%edx4785movzbl -128(%ebp,%edi,1),%esi4786movzbl %bh,%edi4787shll $16,%esi4788pshufw $3,%mm4,%mm64789orl %esi,%ecx4790movzbl -128(%ebp,%edi,1),%esi4791movzbl %ah,%edi4792shll $24,%esi4793shrl $16,%ebx4794orl %esi,%edx4795movzbl -128(%ebp,%edi,1),%esi4796movzbl %bh,%edi4797shll $24,%esi4798orl %esi,%ecx4799movzbl -128(%ebp,%edi,1),%esi4800movzbl %al,%edi4801shll $8,%esi4802movd %mm2,%eax4803orl %esi,%ecx4804movzbl -128(%ebp,%edi,1),%esi4805movzbl %bl,%edi4806shll $16,%esi4807movd %mm6,%ebx4808movd %ecx,%mm04809movzbl -128(%ebp,%edi,1),%ecx4810movzbl %al,%edi4811orl %esi,%ecx4812movzbl -128(%ebp,%edi,1),%esi4813movzbl %bl,%edi4814orl %esi,%edx4815movzbl -128(%ebp,%edi,1),%esi4816movzbl %ah,%edi4817shll $16,%esi4818shrl $16,%eax4819orl %esi,%edx4820movzbl -128(%ebp,%edi,1),%esi4821movzbl %bh,%edi4822shrl $16,%ebx4823shll $8,%esi4824movd %edx,%mm14825movzbl -128(%ebp,%edi,1),%edx4826movzbl %bh,%edi4827shll $24,%edx4828andl $255,%ebx4829orl %esi,%edx4830punpckldq %mm1,%mm04831movzbl -128(%ebp,%edi,1),%esi4832movzbl %al,%edi4833shll $8,%esi4834movzbl %ah,%eax4835movzbl -128(%ebp,%ebx,1),%ebx4836orl %esi,%ecx4837movzbl -128(%ebp,%edi,1),%esi4838orl %ebx,%edx4839shll $16,%esi4840movzbl -128(%ebp,%eax,1),%eax4841orl %esi,%edx4842shll $24,%eax4843orl %eax,%ecx4844movl 20(%esp),%edi4845movd %edx,%mm44846movd %ecx,%mm54847punpckldq %mm5,%mm44848addl $16,%edi4849cmpl 24(%esp),%edi4850ja .L008out4851movq %mm0,%mm34852movq %mm4,%mm74853pshufw $228,%mm0,%mm24854pshufw $228,%mm4,%mm64855movq %mm0,%mm14856movq %mm4,%mm54857pshufw $177,%mm0,%mm04858pshufw $177,%mm4,%mm44859pslld $8,%mm24860pslld $8,%mm64861psrld $8,%mm34862psrld $8,%mm74863pxor %mm2,%mm04864pxor %mm6,%mm44865pxor %mm3,%mm04866pxor %mm7,%mm44867pslld $16,%mm24868pslld $16,%mm64869psrld $16,%mm34870psrld $16,%mm74871pxor %mm2,%mm04872pxor %mm6,%mm44873pxor %mm3,%mm04874pxor %mm7,%mm44875movq 8(%esp),%mm34876pxor %mm2,%mm24877pxor %mm6,%mm64878pcmpgtb %mm1,%mm24879pcmpgtb %mm5,%mm64880pand %mm3,%mm24881pand %mm3,%mm64882paddb %mm1,%mm14883paddb %mm5,%mm54884pxor %mm2,%mm14885pxor %mm6,%mm54886movq %mm1,%mm34887movq %mm5,%mm74888movq %mm1,%mm24889movq %mm5,%mm64890pxor %mm1,%mm04891pxor %mm5,%mm44892pslld $24,%mm34893pslld $24,%mm74894psrld $8,%mm24895psrld $8,%mm64896pxor %mm3,%mm04897pxor %mm7,%mm44898pxor %mm2,%mm04899pxor %mm6,%mm44900movq 8(%esp),%mm24901pxor %mm3,%mm34902pxor %mm7,%mm74903pcmpgtb %mm1,%mm34904pcmpgtb %mm5,%mm74905pand %mm2,%mm34906pand %mm2,%mm74907paddb %mm1,%mm14908paddb %mm5,%mm54909pxor %mm3,%mm14910pxor %mm7,%mm54911pshufw $177,%mm1,%mm34912pshufw $177,%mm5,%mm74913pxor %mm1,%mm04914pxor %mm5,%mm44915pxor %mm3,%mm04916pxor %mm7,%mm44917pxor %mm3,%mm34918pxor %mm7,%mm74919pcmpgtb %mm1,%mm34920pcmpgtb %mm5,%mm74921pand %mm2,%mm34922pand %mm2,%mm74923paddb %mm1,%mm14924paddb %mm5,%mm54925pxor %mm3,%mm14926pxor %mm7,%mm54927pxor %mm1,%mm04928pxor %mm5,%mm44929movq %mm1,%mm34930movq %mm5,%mm74931pshufw $177,%mm1,%mm24932pshufw $177,%mm5,%mm64933pxor %mm2,%mm04934pxor %mm6,%mm44935pslld $8,%mm14936pslld $8,%mm54937psrld $8,%mm34938psrld $8,%mm74939movq (%edi),%mm24940movq 8(%edi),%mm64941pxor %mm1,%mm04942pxor %mm5,%mm44943pxor %mm3,%mm04944pxor %mm7,%mm44945movl -128(%ebp),%eax4946pslld $16,%mm14947pslld $16,%mm54948movl -64(%ebp),%ebx4949psrld $16,%mm34950psrld $16,%mm74951movl (%ebp),%ecx4952pxor %mm1,%mm04953pxor %mm5,%mm44954movl 64(%ebp),%edx4955pxor %mm3,%mm04956pxor %mm7,%mm44957pxor %mm2,%mm04958pxor %mm6,%mm44959jmp .L007loop4960.align 164961.L008out:4962pxor (%edi),%mm04963pxor 8(%edi),%mm44964ret4965.size _sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact4966.type _x86_AES_decrypt,@function4967.align 164968_x86_AES_decrypt:4969#ifdef __CET__49704971.byte 243,15,30,2514972#endif49734974movl %edi,20(%esp)4975xorl (%edi),%eax4976xorl 4(%edi),%ebx4977xorl 8(%edi),%ecx4978xorl 12(%edi),%edx4979movl 240(%edi),%esi4980leal -2(%esi,%esi,1),%esi4981leal (%edi,%esi,8),%esi4982movl %esi,24(%esp)4983.align 164984.L009loop:4985movl %eax,%esi4986andl $255,%esi4987movl (%ebp,%esi,8),%esi4988movzbl %dh,%edi4989xorl 3(%ebp,%edi,8),%esi4990movl %ecx,%edi4991shrl $16,%edi4992andl $255,%edi4993xorl 2(%ebp,%edi,8),%esi4994movl %ebx,%edi4995shrl $24,%edi4996xorl 1(%ebp,%edi,8),%esi4997movl %esi,4(%esp)49984999movl %ebx,%esi5000andl $255,%esi5001movl (%ebp,%esi,8),%esi5002movzbl %ah,%edi5003xorl 3(%ebp,%edi,8),%esi5004movl %edx,%edi5005shrl $16,%edi5006andl $255,%edi5007xorl 2(%ebp,%edi,8),%esi5008movl %ecx,%edi5009shrl $24,%edi5010xorl 1(%ebp,%edi,8),%esi5011movl %esi,8(%esp)50125013movl %ecx,%esi5014andl $255,%esi5015movl (%ebp,%esi,8),%esi5016movzbl %bh,%edi5017xorl 3(%ebp,%edi,8),%esi5018movl %eax,%edi5019shrl $16,%edi5020andl $255,%edi5021xorl 2(%ebp,%edi,8),%esi5022movl %edx,%edi5023shrl $24,%edi5024xorl 1(%ebp,%edi,8),%esi50255026movl 20(%esp),%edi5027andl $255,%edx5028movl (%ebp,%edx,8),%edx5029movzbl %ch,%ecx5030xorl 3(%ebp,%ecx,8),%edx5031movl %esi,%ecx5032shrl $16,%ebx5033andl $255,%ebx5034xorl 2(%ebp,%ebx,8),%edx5035movl 8(%esp),%ebx5036shrl $24,%eax5037xorl 1(%ebp,%eax,8),%edx5038movl 4(%esp),%eax50395040addl $16,%edi5041xorl (%edi),%eax5042xorl 4(%edi),%ebx5043xorl 8(%edi),%ecx5044xorl 12(%edi),%edx5045cmpl 24(%esp),%edi5046movl %edi,20(%esp)5047jb .L009loop5048leal 2176(%ebp),%ebp5049movl -128(%ebp),%edi5050movl -96(%ebp),%esi5051movl -64(%ebp),%edi5052movl -32(%ebp),%esi5053movl (%ebp),%edi5054movl 32(%ebp),%esi5055movl 64(%ebp),%edi5056movl 96(%ebp),%esi5057leal -128(%ebp),%ebp5058movl %eax,%esi5059andl $255,%esi5060movzbl (%ebp,%esi,1),%esi5061movzbl %dh,%edi5062movzbl (%ebp,%edi,1),%edi5063shll $8,%edi5064xorl %edi,%esi5065movl %ecx,%edi5066shrl $16,%edi5067andl $255,%edi5068movzbl (%ebp,%edi,1),%edi5069shll $16,%edi5070xorl %edi,%esi5071movl %ebx,%edi5072shrl $24,%edi5073movzbl (%ebp,%edi,1),%edi5074shll $24,%edi5075xorl %edi,%esi5076movl %esi,4(%esp)5077movl %ebx,%esi5078andl $255,%esi5079movzbl (%ebp,%esi,1),%esi5080movzbl %ah,%edi5081movzbl (%ebp,%edi,1),%edi5082shll $8,%edi5083xorl %edi,%esi5084movl %edx,%edi5085shrl $16,%edi5086andl $255,%edi5087movzbl (%ebp,%edi,1),%edi5088shll $16,%edi5089xorl %edi,%esi5090movl %ecx,%edi5091shrl $24,%edi5092movzbl (%ebp,%edi,1),%edi5093shll $24,%edi5094xorl %edi,%esi5095movl %esi,8(%esp)5096movl %ecx,%esi5097andl $255,%esi5098movzbl (%ebp,%esi,1),%esi5099movzbl %bh,%edi5100movzbl (%ebp,%edi,1),%edi5101shll $8,%edi5102xorl %edi,%esi5103movl %eax,%edi5104shrl $16,%edi5105andl $255,%edi5106movzbl (%ebp,%edi,1),%edi5107shll $16,%edi5108xorl %edi,%esi5109movl %edx,%edi5110shrl $24,%edi5111movzbl (%ebp,%edi,1),%edi5112shll $24,%edi5113xorl %edi,%esi5114movl 20(%esp),%edi5115andl $255,%edx5116movzbl (%ebp,%edx,1),%edx5117movzbl %ch,%ecx5118movzbl (%ebp,%ecx,1),%ecx5119shll $8,%ecx5120xorl %ecx,%edx5121movl %esi,%ecx5122shrl $16,%ebx5123andl $255,%ebx5124movzbl (%ebp,%ebx,1),%ebx5125shll $16,%ebx5126xorl %ebx,%edx5127movl 8(%esp),%ebx5128shrl $24,%eax5129movzbl (%ebp,%eax,1),%eax5130shll $24,%eax5131xorl %eax,%edx5132movl 4(%esp),%eax5133leal -2048(%ebp),%ebp5134addl $16,%edi5135xorl (%edi),%eax5136xorl 4(%edi),%ebx5137xorl 8(%edi),%ecx5138xorl 12(%edi),%edx5139ret5140.align 645141.LAES_Td:5142.long 1353184337,13531843375143.long 1399144830,13991448305144.long 3282310938,32823109385145.long 2522752826,25227528265146.long 3412831035,34128310355147.long 4047871263,40478712635148.long 2874735276,28747352765149.long 2466505547,24665055475150.long 1442459680,14424596805151.long 4134368941,41343689415152.long 2440481928,24404819285153.long 625738485,6257384855154.long 4242007375,42420073755155.long 3620416197,36204161975156.long 2151953702,21519537025157.long 2409849525,24098495255158.long 1230680542,12306805425159.long 1729870373,17298703735160.long 2551114309,25511143095161.long 3787521629,37875216295162.long 41234371,412343715163.long 317738113,3177381135164.long 2744600205,27446002055165.long 3338261355,33382613555166.long 3881799427,38817994275167.long 2510066197,25100661975168.long 3950669247,39506692475169.long 3663286933,36632869335170.long 763608788,7636087885171.long 3542185048,35421850485172.long 694804553,6948045535173.long 1154009486,11540094865174.long 1787413109,17874131095175.long 2021232372,20212323725176.long 1799248025,17992480255177.long 3715217703,37152177035178.long 3058688446,30586884465179.long 397248752,3972487525180.long 1722556617,17225566175181.long 3023752829,30237528295182.long 407560035,4075600355183.long 2184256229,21842562295184.long 1613975959,16139759595185.long 1165972322,11659723225186.long 3765920945,37659209455187.long 2226023355,22260233555188.long 480281086,4802810865189.long 2485848313,24858483135190.long 1483229296,14832292965191.long 436028815,4360288155192.long 2272059028,22720590285193.long 3086515026,30865150265194.long 601060267,6010602675195.long 3791801202,37918012025196.long 1468997603,14689976035197.long 715871590,7158715905198.long 120122290,1201222905199.long 63092015,630920155200.long 2591802758,25918027585201.long 2768779219,27687792195202.long 4068943920,40689439205203.long 2997206819,29972068195204.long 3127509762,31275097625205.long 1552029421,15520294215206.long 723308426,7233084265207.long 2461301159,24613011595208.long 4042393587,40423935875209.long 2715969870,27159698705210.long 3455375973,34553759735211.long 3586000134,35860001345212.long 526529745,5265297455213.long 2331944644,23319446445214.long 2639474228,26394742285215.long 2689987490,26899874905216.long 853641733,8536417335217.long 1978398372,19783983725218.long 971801355,9718013555219.long 2867814464,28678144645220.long 111112542,1111125425221.long 1360031421,13600314215222.long 4186579262,41865792625223.long 1023860118,10238601185224.long 2919579357,29195793575225.long 1186850381,11868503815226.long 3045938321,30459383215227.long 90031217,900312175228.long 1876166148,18761661485229.long 4279586912,42795869125230.long 620468249,6204682495231.long 2548678102,25486781025232.long 3426959497,34269594975233.long 2006899047,20068990475234.long 3175278768,31752787685235.long 2290845959,22908459595236.long 945494503,9454945035237.long 3689859193,36898591935238.long 1191869601,11918696015239.long 3910091388,39100913885240.long 3374220536,33742205365241.long 0,05242.long 2206629897,22066298975243.long 1223502642,12235026425244.long 2893025566,28930255665245.long 1316117100,13161171005246.long 4227796733,42277967335247.long 1446544655,14465446555248.long 517320253,5173202535249.long 658058550,6580585505250.long 1691946762,16919467625251.long 564550760,5645507605252.long 3511966619,35119666195253.long 976107044,9761070445254.long 2976320012,29763200125255.long 266819475,2668194755256.long 3533106868,35331068685257.long 2660342555,26603425555258.long 1338359936,13383599365259.long 2720062561,27200625615260.long 1766553434,17665534345261.long 370807324,3708073245262.long 179999714,1799997145263.long 3844776128,38447761285264.long 1138762300,11387623005265.long 488053522,4880535225266.long 185403662,1854036625267.long 2915535858,29155358585268.long 3114841645,31148416455269.long 3366526484,33665264845270.long 2233069911,22330699115271.long 1275557295,12755572955272.long 3151862254,31518622545273.long 4250959779,42509597795274.long 2670068215,26700682155275.long 3170202204,31702022045276.long 3309004356,33090043565277.long 880737115,8807371155278.long 1982415755,19824157555279.long 3703972811,37039728115280.long 1761406390,17614063905281.long 1676797112,16767971125282.long 3403428311,34034283115283.long 277177154,2771771545284.long 1076008723,10760087235285.long 538035844,5380358445286.long 2099530373,20995303735287.long 4164795346,41647953465288.long 288553390,2885533905289.long 1839278535,18392785355290.long 1261411869,12614118695291.long 4080055004,40800550045292.long 3964831245,39648312455293.long 3504587127,35045871275294.long 1813426987,18134269875295.long 2579067049,25790670495296.long 4199060497,41990604975297.long 577038663,5770386635298.long 3297574056,32975740565299.long 440397984,4403979845300.long 3626794326,36267943265301.long 4019204898,40192048985302.long 3343796615,33437966155303.long 3251714265,32517142655304.long 4272081548,42720815485305.long 906744984,9067449845306.long 3481400742,34814007425307.long 685669029,6856690295308.long 646887386,6468873865309.long 2764025151,27640251515310.long 3835509292,38355092925311.long 227702864,2277028645312.long 2613862250,26138622505313.long 1648787028,16487870285314.long 3256061430,32560614305315.long 3904428176,39044281765316.long 1593260334,15932603345317.long 4121936770,41219367705318.long 3196083615,31960836155319.long 2090061929,20900619295320.long 2838353263,28383532635321.long 3004310991,30043109915322.long 999926984,9999269845323.long 2809993232,28099932325324.long 1852021992,18520219925325.long 2075868123,20758681235326.long 158869197,1588691975327.long 4095236462,40952364625328.long 28809964,288099645329.long 2828685187,28286851875330.long 1701746150,17017461505331.long 2129067946,21290679465332.long 147831841,1478318415333.long 3873969647,38739696475334.long 3650873274,36508732745335.long 3459673930,34596739305336.long 3557400554,35574005545337.long 3598495785,35984957855338.long 2947720241,29477202415339.long 824393514,8243935145340.long 815048134,8150481345341.long 3227951669,32279516695342.long 935087732,9350877325343.long 2798289660,27982896605344.long 2966458592,29664585925345.long 366520115,3665201155346.long 1251476721,12514767215347.long 4158319681,41583196815348.long 240176511,2401765115349.long 804688151,8046881515350.long 2379631990,23796319905351.long 1303441219,13034412195352.long 1414376140,14143761405353.long 3741619940,37416199405354.long 3820343710,38203437105355.long 461924940,4619249405356.long 3089050817,30890508175357.long 2136040774,21360407745358.long 82468509,824685095359.long 1563790337,15637903375360.long 1937016826,19370168265361.long 776014843,7760148435362.long 1511876531,15118765315363.long 1389550482,13895504825364.long 861278441,8612784415365.long 323475053,3234750535366.long 2355222426,23552224265367.long 2047648055,20476480555368.long 2383738969,23837389695369.long 2302415851,23024158515370.long 3995576782,39955767825371.long 902390199,9023901995372.long 3991215329,39912153295373.long 1018251130,10182511305374.long 1507840668,15078406685375.long 1064563285,10645632855376.long 2043548696,20435486965377.long 3208103795,32081037955378.long 3939366739,39393667395379.long 1537932639,15379326395380.long 342834655,3428346555381.long 2262516856,22625168565382.long 2180231114,21802311145383.long 1053059257,10530592575384.long 741614648,7416146485385.long 1598071746,15980717465386.long 1925389590,19253895905387.long 203809468,2038094685388.long 2336832552,23368325525389.long 1100287487,11002874875390.long 1895934009,18959340095391.long 3736275976,37362759765392.long 2632234200,26322342005393.long 2428589668,24285896685394.long 1636092795,16360927955395.long 1890988757,18909887575396.long 1952214088,19522140885397.long 1113045200,11130452005398.byte 82,9,106,213,48,54,165,565399.byte 191,64,163,158,129,243,215,2515400.byte 124,227,57,130,155,47,255,1355401.byte 52,142,67,68,196,222,233,2035402.byte 84,123,148,50,166,194,35,615403.byte 238,76,149,11,66,250,195,785404.byte 8,46,161,102,40,217,36,1785405.byte 118,91,162,73,109,139,209,375406.byte 114,248,246,100,134,104,152,225407.byte 212,164,92,204,93,101,182,1465408.byte 108,112,72,80,253,237,185,2185409.byte 94,21,70,87,167,141,157,1325410.byte 144,216,171,0,140,188,211,105411.byte 247,228,88,5,184,179,69,65412.byte 208,44,30,143,202,63,15,25413.byte 193,175,189,3,1,19,138,1075414.byte 58,145,17,65,79,103,220,2345415.byte 151,242,207,206,240,180,230,1155416.byte 150,172,116,34,231,173,53,1335417.byte 226,249,55,232,28,117,223,1105418.byte 71,241,26,113,29,41,197,1375419.byte 111,183,98,14,170,24,190,275420.byte 252,86,62,75,198,210,121,325421.byte 154,219,192,254,120,205,90,2445422.byte 31,221,168,51,136,7,199,495423.byte 177,18,16,89,39,128,236,955424.byte 96,81,127,169,25,181,74,135425.byte 45,229,122,159,147,201,156,2395426.byte 160,224,59,77,174,42,245,1765427.byte 200,235,187,60,131,83,153,975428.byte 23,43,4,126,186,119,214,385429.byte 225,105,20,99,85,33,12,1255430.byte 82,9,106,213,48,54,165,565431.byte 191,64,163,158,129,243,215,2515432.byte 124,227,57,130,155,47,255,1355433.byte 52,142,67,68,196,222,233,2035434.byte 84,123,148,50,166,194,35,615435.byte 238,76,149,11,66,250,195,785436.byte 8,46,161,102,40,217,36,1785437.byte 118,91,162,73,109,139,209,375438.byte 114,248,246,100,134,104,152,225439.byte 212,164,92,204,93,101,182,1465440.byte 108,112,72,80,253,237,185,2185441.byte 94,21,70,87,167,141,157,1325442.byte 144,216,171,0,140,188,211,105443.byte 247,228,88,5,184,179,69,65444.byte 208,44,30,143,202,63,15,25445.byte 193,175,189,3,1,19,138,1075446.byte 58,145,17,65,79,103,220,2345447.byte 151,242,207,206,240,180,230,1155448.byte 150,172,116,34,231,173,53,1335449.byte 226,249,55,232,28,117,223,1105450.byte 71,241,26,113,29,41,197,1375451.byte 111,183,98,14,170,24,190,275452.byte 252,86,62,75,198,210,121,325453.byte 154,219,192,254,120,205,90,2445454.byte 31,221,168,51,136,7,199,495455.byte 177,18,16,89,39,128,236,955456.byte 96,81,127,169,25,181,74,135457.byte 45,229,122,159,147,201,156,2395458.byte 160,224,59,77,174,42,245,1765459.byte 200,235,187,60,131,83,153,975460.byte 23,43,4,126,186,119,214,385461.byte 225,105,20,99,85,33,12,1255462.byte 82,9,106,213,48,54,165,565463.byte 191,64,163,158,129,243,215,2515464.byte 124,227,57,130,155,47,255,1355465.byte 52,142,67,68,196,222,233,2035466.byte 84,123,148,50,166,194,35,615467.byte 238,76,149,11,66,250,195,785468.byte 8,46,161,102,40,217,36,1785469.byte 118,91,162,73,109,139,209,375470.byte 114,248,246,100,134,104,152,225471.byte 212,164,92,204,93,101,182,1465472.byte 108,112,72,80,253,237,185,2185473.byte 94,21,70,87,167,141,157,1325474.byte 144,216,171,0,140,188,211,105475.byte 247,228,88,5,184,179,69,65476.byte 208,44,30,143,202,63,15,25477.byte 193,175,189,3,1,19,138,1075478.byte 58,145,17,65,79,103,220,2345479.byte 151,242,207,206,240,180,230,1155480.byte 150,172,116,34,231,173,53,1335481.byte 226,249,55,232,28,117,223,1105482.byte 71,241,26,113,29,41,197,1375483.byte 111,183,98,14,170,24,190,275484.byte 252,86,62,75,198,210,121,325485.byte 154,219,192,254,120,205,90,2445486.byte 31,221,168,51,136,7,199,495487.byte 177,18,16,89,39,128,236,955488.byte 96,81,127,169,25,181,74,135489.byte 45,229,122,159,147,201,156,2395490.byte 160,224,59,77,174,42,245,1765491.byte 200,235,187,60,131,83,153,975492.byte 23,43,4,126,186,119,214,385493.byte 225,105,20,99,85,33,12,1255494.byte 82,9,106,213,48,54,165,565495.byte 191,64,163,158,129,243,215,2515496.byte 124,227,57,130,155,47,255,1355497.byte 52,142,67,68,196,222,233,2035498.byte 84,123,148,50,166,194,35,615499.byte 238,76,149,11,66,250,195,785500.byte 8,46,161,102,40,217,36,1785501.byte 118,91,162,73,109,139,209,375502.byte 114,248,246,100,134,104,152,225503.byte 212,164,92,204,93,101,182,1465504.byte 108,112,72,80,253,237,185,2185505.byte 94,21,70,87,167,141,157,1325506.byte 144,216,171,0,140,188,211,105507.byte 247,228,88,5,184,179,69,65508.byte 208,44,30,143,202,63,15,25509.byte 193,175,189,3,1,19,138,1075510.byte 58,145,17,65,79,103,220,2345511.byte 151,242,207,206,240,180,230,1155512.byte 150,172,116,34,231,173,53,1335513.byte 226,249,55,232,28,117,223,1105514.byte 71,241,26,113,29,41,197,1375515.byte 111,183,98,14,170,24,190,275516.byte 252,86,62,75,198,210,121,325517.byte 154,219,192,254,120,205,90,2445518.byte 31,221,168,51,136,7,199,495519.byte 177,18,16,89,39,128,236,955520.byte 96,81,127,169,25,181,74,135521.byte 45,229,122,159,147,201,156,2395522.byte 160,224,59,77,174,42,245,1765523.byte 200,235,187,60,131,83,153,975524.byte 23,43,4,126,186,119,214,385525.byte 225,105,20,99,85,33,12,1255526.size _x86_AES_decrypt,.-_x86_AES_decrypt5527.globl AES_decrypt5528.type AES_decrypt,@function5529.align 165530AES_decrypt:5531.L_AES_decrypt_begin:5532#ifdef __CET__55335534.byte 243,15,30,2515535#endif55365537pushl %ebp5538pushl %ebx5539pushl %esi5540pushl %edi5541movl 20(%esp),%esi5542movl 28(%esp),%edi5543movl %esp,%eax5544subl $36,%esp5545andl $-64,%esp5546leal -127(%edi),%ebx5547subl %esp,%ebx5548negl %ebx5549andl $960,%ebx5550subl %ebx,%esp5551addl $4,%esp5552movl %eax,28(%esp)5553call .L010pic_point5554.L010pic_point:5555popl %ebp5556leal OPENSSL_ia32cap_P,%eax5557leal .LAES_Td-.L010pic_point(%ebp),%ebp5558leal 764(%esp),%ebx5559subl %ebp,%ebx5560andl $768,%ebx5561leal 2176(%ebp,%ebx,1),%ebp5562btl $25,(%eax)5563jnc .L011x865564movq (%esi),%mm05565movq 8(%esi),%mm45566call _sse_AES_decrypt_compact5567movl 28(%esp),%esp5568movl 24(%esp),%esi5569movq %mm0,(%esi)5570movq %mm4,8(%esi)5571emms5572popl %edi5573popl %esi5574popl %ebx5575popl %ebp5576ret5577.align 165578.L011x86:5579movl %ebp,24(%esp)5580movl (%esi),%eax5581movl 4(%esi),%ebx5582movl 8(%esi),%ecx5583movl 12(%esi),%edx5584call _x86_AES_decrypt_compact5585movl 28(%esp),%esp5586movl 24(%esp),%esi5587movl %eax,(%esi)5588movl %ebx,4(%esi)5589movl %ecx,8(%esi)5590movl %edx,12(%esi)5591popl %edi5592popl %esi5593popl %ebx5594popl %ebp5595ret5596.size AES_decrypt,.-.L_AES_decrypt_begin5597.globl AES_cbc_encrypt5598.type AES_cbc_encrypt,@function5599.align 165600AES_cbc_encrypt:5601.L_AES_cbc_encrypt_begin:5602#ifdef __CET__56035604.byte 243,15,30,2515605#endif56065607pushl %ebp5608pushl %ebx5609pushl %esi5610pushl %edi5611movl 28(%esp),%ecx5612cmpl $0,%ecx5613je .L012drop_out5614call .L013pic_point5615.L013pic_point:5616popl %ebp5617leal OPENSSL_ia32cap_P,%eax5618cmpl $0,40(%esp)5619leal .LAES_Te-.L013pic_point(%ebp),%ebp5620jne .L014picked_te5621leal .LAES_Td-.LAES_Te(%ebp),%ebp5622.L014picked_te:5623pushfl5624cld5625cmpl $512,%ecx5626jb .L015slow_way5627testl $15,%ecx5628jnz .L015slow_way5629btl $28,(%eax)5630jc .L015slow_way5631leal -324(%esp),%esi5632andl $-64,%esi5633movl %ebp,%eax5634leal 2304(%ebp),%ebx5635movl %esi,%edx5636andl $4095,%eax5637andl $4095,%ebx5638andl $4095,%edx5639cmpl %ebx,%edx5640jb .L016tbl_break_out5641subl %ebx,%edx5642subl %edx,%esi5643jmp .L017tbl_ok5644.align 45645.L016tbl_break_out:5646subl %eax,%edx5647andl $4095,%edx5648addl $384,%edx5649subl %edx,%esi5650.align 45651.L017tbl_ok:5652leal 24(%esp),%edx5653xchgl %esi,%esp5654addl $4,%esp5655movl %ebp,24(%esp)5656movl %esi,28(%esp)5657movl (%edx),%eax5658movl 4(%edx),%ebx5659movl 12(%edx),%edi5660movl 16(%edx),%esi5661movl 20(%edx),%edx5662movl %eax,32(%esp)5663movl %ebx,36(%esp)5664movl %ecx,40(%esp)5665movl %edi,44(%esp)5666movl %esi,48(%esp)5667movl $0,316(%esp)5668movl %edi,%ebx5669movl $61,%ecx5670subl %ebp,%ebx5671movl %edi,%esi5672andl $4095,%ebx5673leal 76(%esp),%edi5674cmpl $2304,%ebx5675jb .L018do_copy5676cmpl $3852,%ebx5677jb .L019skip_copy5678.align 45679.L018do_copy:5680movl %edi,44(%esp)5681.long 27842290015682.L019skip_copy:5683movl $16,%edi5684.align 45685.L020prefetch_tbl:5686movl (%ebp),%eax5687movl 32(%ebp),%ebx5688movl 64(%ebp),%ecx5689movl 96(%ebp),%esi5690leal 128(%ebp),%ebp5691subl $1,%edi5692jnz .L020prefetch_tbl5693subl $2048,%ebp5694movl 32(%esp),%esi5695movl 48(%esp),%edi5696cmpl $0,%edx5697je .L021fast_decrypt5698movl (%edi),%eax5699movl 4(%edi),%ebx5700.align 165701.L022fast_enc_loop:5702movl 8(%edi),%ecx5703movl 12(%edi),%edx5704xorl (%esi),%eax5705xorl 4(%esi),%ebx5706xorl 8(%esi),%ecx5707xorl 12(%esi),%edx5708movl 44(%esp),%edi5709call _x86_AES_encrypt5710movl 32(%esp),%esi5711movl 36(%esp),%edi5712movl %eax,(%edi)5713movl %ebx,4(%edi)5714movl %ecx,8(%edi)5715movl %edx,12(%edi)5716leal 16(%esi),%esi5717movl 40(%esp),%ecx5718movl %esi,32(%esp)5719leal 16(%edi),%edx5720movl %edx,36(%esp)5721subl $16,%ecx5722movl %ecx,40(%esp)5723jnz .L022fast_enc_loop5724movl 48(%esp),%esi5725movl 8(%edi),%ecx5726movl 12(%edi),%edx5727movl %eax,(%esi)5728movl %ebx,4(%esi)5729movl %ecx,8(%esi)5730movl %edx,12(%esi)5731cmpl $0,316(%esp)5732movl 44(%esp),%edi5733je .L023skip_ezero5734movl $60,%ecx5735xorl %eax,%eax5736.align 45737.long 28848922975738.L023skip_ezero:5739movl 28(%esp),%esp5740popfl5741.L012drop_out:5742popl %edi5743popl %esi5744popl %ebx5745popl %ebp5746ret5747pushfl5748.align 165749.L021fast_decrypt:5750cmpl 36(%esp),%esi5751je .L024fast_dec_in_place5752movl %edi,52(%esp)5753.align 45754.align 165755.L025fast_dec_loop:5756movl (%esi),%eax5757movl 4(%esi),%ebx5758movl 8(%esi),%ecx5759movl 12(%esi),%edx5760movl 44(%esp),%edi5761call _x86_AES_decrypt5762movl 52(%esp),%edi5763movl 40(%esp),%esi5764xorl (%edi),%eax5765xorl 4(%edi),%ebx5766xorl 8(%edi),%ecx5767xorl 12(%edi),%edx5768movl 36(%esp),%edi5769movl 32(%esp),%esi5770movl %eax,(%edi)5771movl %ebx,4(%edi)5772movl %ecx,8(%edi)5773movl %edx,12(%edi)5774movl 40(%esp),%ecx5775movl %esi,52(%esp)5776leal 16(%esi),%esi5777movl %esi,32(%esp)5778leal 16(%edi),%edi5779movl %edi,36(%esp)5780subl $16,%ecx5781movl %ecx,40(%esp)5782jnz .L025fast_dec_loop5783movl 52(%esp),%edi5784movl 48(%esp),%esi5785movl (%edi),%eax5786movl 4(%edi),%ebx5787movl 8(%edi),%ecx5788movl 12(%edi),%edx5789movl %eax,(%esi)5790movl %ebx,4(%esi)5791movl %ecx,8(%esi)5792movl %edx,12(%esi)5793jmp .L026fast_dec_out5794.align 165795.L024fast_dec_in_place:5796.L027fast_dec_in_place_loop:5797movl (%esi),%eax5798movl 4(%esi),%ebx5799movl 8(%esi),%ecx5800movl 12(%esi),%edx5801leal 60(%esp),%edi5802movl %eax,(%edi)5803movl %ebx,4(%edi)5804movl %ecx,8(%edi)5805movl %edx,12(%edi)5806movl 44(%esp),%edi5807call _x86_AES_decrypt5808movl 48(%esp),%edi5809movl 36(%esp),%esi5810xorl (%edi),%eax5811xorl 4(%edi),%ebx5812xorl 8(%edi),%ecx5813xorl 12(%edi),%edx5814movl %eax,(%esi)5815movl %ebx,4(%esi)5816movl %ecx,8(%esi)5817movl %edx,12(%esi)5818leal 16(%esi),%esi5819movl %esi,36(%esp)5820leal 60(%esp),%esi5821movl (%esi),%eax5822movl 4(%esi),%ebx5823movl 8(%esi),%ecx5824movl 12(%esi),%edx5825movl %eax,(%edi)5826movl %ebx,4(%edi)5827movl %ecx,8(%edi)5828movl %edx,12(%edi)5829movl 32(%esp),%esi5830movl 40(%esp),%ecx5831leal 16(%esi),%esi5832movl %esi,32(%esp)5833subl $16,%ecx5834movl %ecx,40(%esp)5835jnz .L027fast_dec_in_place_loop5836.align 45837.L026fast_dec_out:5838cmpl $0,316(%esp)5839movl 44(%esp),%edi5840je .L028skip_dzero5841movl $60,%ecx5842xorl %eax,%eax5843.align 45844.long 28848922975845.L028skip_dzero:5846movl 28(%esp),%esp5847popfl5848popl %edi5849popl %esi5850popl %ebx5851popl %ebp5852ret5853pushfl5854.align 165855.L015slow_way:5856movl (%eax),%eax5857movl 36(%esp),%edi5858leal -80(%esp),%esi5859andl $-64,%esi5860leal -143(%edi),%ebx5861subl %esi,%ebx5862negl %ebx5863andl $960,%ebx5864subl %ebx,%esi5865leal 768(%esi),%ebx5866subl %ebp,%ebx5867andl $768,%ebx5868leal 2176(%ebp,%ebx,1),%ebp5869leal 24(%esp),%edx5870xchgl %esi,%esp5871addl $4,%esp5872movl %ebp,24(%esp)5873movl %esi,28(%esp)5874movl %eax,52(%esp)5875movl (%edx),%eax5876movl 4(%edx),%ebx5877movl 16(%edx),%esi5878movl 20(%edx),%edx5879movl %eax,32(%esp)5880movl %ebx,36(%esp)5881movl %ecx,40(%esp)5882movl %edi,44(%esp)5883movl %esi,48(%esp)5884movl %esi,%edi5885movl %eax,%esi5886cmpl $0,%edx5887je .L029slow_decrypt5888cmpl $16,%ecx5889movl %ebx,%edx5890jb .L030slow_enc_tail5891btl $25,52(%esp)5892jnc .L031slow_enc_x865893movq (%edi),%mm05894movq 8(%edi),%mm45895.align 165896.L032slow_enc_loop_sse:5897pxor (%esi),%mm05898pxor 8(%esi),%mm45899movl 44(%esp),%edi5900call _sse_AES_encrypt_compact5901movl 32(%esp),%esi5902movl 36(%esp),%edi5903movl 40(%esp),%ecx5904movq %mm0,(%edi)5905movq %mm4,8(%edi)5906leal 16(%esi),%esi5907movl %esi,32(%esp)5908leal 16(%edi),%edx5909movl %edx,36(%esp)5910subl $16,%ecx5911cmpl $16,%ecx5912movl %ecx,40(%esp)5913jae .L032slow_enc_loop_sse5914testl $15,%ecx5915jnz .L030slow_enc_tail5916movl 48(%esp),%esi5917movq %mm0,(%esi)5918movq %mm4,8(%esi)5919emms5920movl 28(%esp),%esp5921popfl5922popl %edi5923popl %esi5924popl %ebx5925popl %ebp5926ret5927pushfl5928.align 165929.L031slow_enc_x86:5930movl (%edi),%eax5931movl 4(%edi),%ebx5932.align 45933.L033slow_enc_loop_x86:5934movl 8(%edi),%ecx5935movl 12(%edi),%edx5936xorl (%esi),%eax5937xorl 4(%esi),%ebx5938xorl 8(%esi),%ecx5939xorl 12(%esi),%edx5940movl 44(%esp),%edi5941call _x86_AES_encrypt_compact5942movl 32(%esp),%esi5943movl 36(%esp),%edi5944movl %eax,(%edi)5945movl %ebx,4(%edi)5946movl %ecx,8(%edi)5947movl %edx,12(%edi)5948movl 40(%esp),%ecx5949leal 16(%esi),%esi5950movl %esi,32(%esp)5951leal 16(%edi),%edx5952movl %edx,36(%esp)5953subl $16,%ecx5954cmpl $16,%ecx5955movl %ecx,40(%esp)5956jae .L033slow_enc_loop_x865957testl $15,%ecx5958jnz .L030slow_enc_tail5959movl 48(%esp),%esi5960movl 8(%edi),%ecx5961movl 12(%edi),%edx5962movl %eax,(%esi)5963movl %ebx,4(%esi)5964movl %ecx,8(%esi)5965movl %edx,12(%esi)5966movl 28(%esp),%esp5967popfl5968popl %edi5969popl %esi5970popl %ebx5971popl %ebp5972ret5973pushfl5974.align 165975.L030slow_enc_tail:5976emms5977movl %edx,%edi5978movl $16,%ebx5979subl %ecx,%ebx5980cmpl %esi,%edi5981je .L034enc_in_place5982.align 45983.long 27674517855984jmp .L035enc_skip_in_place5985.L034enc_in_place:5986leal (%edi,%ecx,1),%edi5987.L035enc_skip_in_place:5988movl %ebx,%ecx5989xorl %eax,%eax5990.align 45991.long 28681150815992movl 48(%esp),%edi5993movl %edx,%esi5994movl (%edi),%eax5995movl 4(%edi),%ebx5996movl $16,40(%esp)5997jmp .L033slow_enc_loop_x865998.align 165999.L029slow_decrypt:6000btl $25,52(%esp)6001jnc .L036slow_dec_loop_x866002.align 46003.L037slow_dec_loop_sse:6004movq (%esi),%mm06005movq 8(%esi),%mm46006movl 44(%esp),%edi6007call _sse_AES_decrypt_compact6008movl 32(%esp),%esi6009leal 60(%esp),%eax6010movl 36(%esp),%ebx6011movl 40(%esp),%ecx6012movl 48(%esp),%edi6013movq (%esi),%mm16014movq 8(%esi),%mm56015pxor (%edi),%mm06016pxor 8(%edi),%mm46017movq %mm1,(%edi)6018movq %mm5,8(%edi)6019subl $16,%ecx6020jc .L038slow_dec_partial_sse6021movq %mm0,(%ebx)6022movq %mm4,8(%ebx)6023leal 16(%ebx),%ebx6024movl %ebx,36(%esp)6025leal 16(%esi),%esi6026movl %esi,32(%esp)6027movl %ecx,40(%esp)6028jnz .L037slow_dec_loop_sse6029emms6030movl 28(%esp),%esp6031popfl6032popl %edi6033popl %esi6034popl %ebx6035popl %ebp6036ret6037pushfl6038.align 166039.L038slow_dec_partial_sse:6040movq %mm0,(%eax)6041movq %mm4,8(%eax)6042emms6043addl $16,%ecx6044movl %ebx,%edi6045movl %eax,%esi6046.align 46047.long 27674517856048movl 28(%esp),%esp6049popfl6050popl %edi6051popl %esi6052popl %ebx6053popl %ebp6054ret6055pushfl6056.align 166057.L036slow_dec_loop_x86:6058movl (%esi),%eax6059movl 4(%esi),%ebx6060movl 8(%esi),%ecx6061movl 12(%esi),%edx6062leal 60(%esp),%edi6063movl %eax,(%edi)6064movl %ebx,4(%edi)6065movl %ecx,8(%edi)6066movl %edx,12(%edi)6067movl 44(%esp),%edi6068call _x86_AES_decrypt_compact6069movl 48(%esp),%edi6070movl 40(%esp),%esi6071xorl (%edi),%eax6072xorl 4(%edi),%ebx6073xorl 8(%edi),%ecx6074xorl 12(%edi),%edx6075subl $16,%esi6076jc .L039slow_dec_partial_x866077movl %esi,40(%esp)6078movl 36(%esp),%esi6079movl %eax,(%esi)6080movl %ebx,4(%esi)6081movl %ecx,8(%esi)6082movl %edx,12(%esi)6083leal 16(%esi),%esi6084movl %esi,36(%esp)6085leal 60(%esp),%esi6086movl (%esi),%eax6087movl 4(%esi),%ebx6088movl 8(%esi),%ecx6089movl 12(%esi),%edx6090movl %eax,(%edi)6091movl %ebx,4(%edi)6092movl %ecx,8(%edi)6093movl %edx,12(%edi)6094movl 32(%esp),%esi6095leal 16(%esi),%esi6096movl %esi,32(%esp)6097jnz .L036slow_dec_loop_x866098movl 28(%esp),%esp6099popfl6100popl %edi6101popl %esi6102popl %ebx6103popl %ebp6104ret6105pushfl6106.align 166107.L039slow_dec_partial_x86:6108leal 60(%esp),%esi6109movl %eax,(%esi)6110movl %ebx,4(%esi)6111movl %ecx,8(%esi)6112movl %edx,12(%esi)6113movl 32(%esp),%esi6114movl (%esi),%eax6115movl 4(%esi),%ebx6116movl 8(%esi),%ecx6117movl 12(%esi),%edx6118movl %eax,(%edi)6119movl %ebx,4(%edi)6120movl %ecx,8(%edi)6121movl %edx,12(%edi)6122movl 40(%esp),%ecx6123movl 36(%esp),%edi6124leal 60(%esp),%esi6125.align 46126.long 27674517856127movl 28(%esp),%esp6128popfl6129popl %edi6130popl %esi6131popl %ebx6132popl %ebp6133ret6134.size AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin6135.type _x86_AES_set_encrypt_key,@function6136.align 166137_x86_AES_set_encrypt_key:6138#ifdef __CET__61396140.byte 243,15,30,2516141#endif61426143pushl %ebp6144pushl %ebx6145pushl %esi6146pushl %edi6147movl 24(%esp),%esi6148movl 32(%esp),%edi6149testl $-1,%esi6150jz .L040badpointer6151testl $-1,%edi6152jz .L040badpointer6153call .L041pic_point6154.L041pic_point:6155popl %ebp6156leal .LAES_Te-.L041pic_point(%ebp),%ebp6157leal 2176(%ebp),%ebp6158movl -128(%ebp),%eax6159movl -96(%ebp),%ebx6160movl -64(%ebp),%ecx6161movl -32(%ebp),%edx6162movl (%ebp),%eax6163movl 32(%ebp),%ebx6164movl 64(%ebp),%ecx6165movl 96(%ebp),%edx6166movl 28(%esp),%ecx6167cmpl $128,%ecx6168je .L04210rounds6169cmpl $192,%ecx6170je .L04312rounds6171cmpl $256,%ecx6172je .L04414rounds6173movl $-2,%eax6174jmp .L045exit6175.L04210rounds:6176movl (%esi),%eax6177movl 4(%esi),%ebx6178movl 8(%esi),%ecx6179movl 12(%esi),%edx6180movl %eax,(%edi)6181movl %ebx,4(%edi)6182movl %ecx,8(%edi)6183movl %edx,12(%edi)6184xorl %ecx,%ecx6185jmp .L04610shortcut6186.align 46187.L04710loop:6188movl (%edi),%eax6189movl 12(%edi),%edx6190.L04610shortcut:6191movzbl %dl,%esi6192movzbl -128(%ebp,%esi,1),%ebx6193movzbl %dh,%esi6194shll $24,%ebx6195xorl %ebx,%eax6196movzbl -128(%ebp,%esi,1),%ebx6197shrl $16,%edx6198movzbl %dl,%esi6199xorl %ebx,%eax6200movzbl -128(%ebp,%esi,1),%ebx6201movzbl %dh,%esi6202shll $8,%ebx6203xorl %ebx,%eax6204movzbl -128(%ebp,%esi,1),%ebx6205shll $16,%ebx6206xorl %ebx,%eax6207xorl 896(%ebp,%ecx,4),%eax6208movl %eax,16(%edi)6209xorl 4(%edi),%eax6210movl %eax,20(%edi)6211xorl 8(%edi),%eax6212movl %eax,24(%edi)6213xorl 12(%edi),%eax6214movl %eax,28(%edi)6215incl %ecx6216addl $16,%edi6217cmpl $10,%ecx6218jl .L04710loop6219movl $10,80(%edi)6220xorl %eax,%eax6221jmp .L045exit6222.L04312rounds:6223movl (%esi),%eax6224movl 4(%esi),%ebx6225movl 8(%esi),%ecx6226movl 12(%esi),%edx6227movl %eax,(%edi)6228movl %ebx,4(%edi)6229movl %ecx,8(%edi)6230movl %edx,12(%edi)6231movl 16(%esi),%ecx6232movl 20(%esi),%edx6233movl %ecx,16(%edi)6234movl %edx,20(%edi)6235xorl %ecx,%ecx6236jmp .L04812shortcut6237.align 46238.L04912loop:6239movl (%edi),%eax6240movl 20(%edi),%edx6241.L04812shortcut:6242movzbl %dl,%esi6243movzbl -128(%ebp,%esi,1),%ebx6244movzbl %dh,%esi6245shll $24,%ebx6246xorl %ebx,%eax6247movzbl -128(%ebp,%esi,1),%ebx6248shrl $16,%edx6249movzbl %dl,%esi6250xorl %ebx,%eax6251movzbl -128(%ebp,%esi,1),%ebx6252movzbl %dh,%esi6253shll $8,%ebx6254xorl %ebx,%eax6255movzbl -128(%ebp,%esi,1),%ebx6256shll $16,%ebx6257xorl %ebx,%eax6258xorl 896(%ebp,%ecx,4),%eax6259movl %eax,24(%edi)6260xorl 4(%edi),%eax6261movl %eax,28(%edi)6262xorl 8(%edi),%eax6263movl %eax,32(%edi)6264xorl 12(%edi),%eax6265movl %eax,36(%edi)6266cmpl $7,%ecx6267je .L05012break6268incl %ecx6269xorl 16(%edi),%eax6270movl %eax,40(%edi)6271xorl 20(%edi),%eax6272movl %eax,44(%edi)6273addl $24,%edi6274jmp .L04912loop6275.L05012break:6276movl $12,72(%edi)6277xorl %eax,%eax6278jmp .L045exit6279.L04414rounds:6280movl (%esi),%eax6281movl 4(%esi),%ebx6282movl 8(%esi),%ecx6283movl 12(%esi),%edx6284movl %eax,(%edi)6285movl %ebx,4(%edi)6286movl %ecx,8(%edi)6287movl %edx,12(%edi)6288movl 16(%esi),%eax6289movl 20(%esi),%ebx6290movl 24(%esi),%ecx6291movl 28(%esi),%edx6292movl %eax,16(%edi)6293movl %ebx,20(%edi)6294movl %ecx,24(%edi)6295movl %edx,28(%edi)6296xorl %ecx,%ecx6297jmp .L05114shortcut6298.align 46299.L05214loop:6300movl 28(%edi),%edx6301.L05114shortcut:6302movl (%edi),%eax6303movzbl %dl,%esi6304movzbl -128(%ebp,%esi,1),%ebx6305movzbl %dh,%esi6306shll $24,%ebx6307xorl %ebx,%eax6308movzbl -128(%ebp,%esi,1),%ebx6309shrl $16,%edx6310movzbl %dl,%esi6311xorl %ebx,%eax6312movzbl -128(%ebp,%esi,1),%ebx6313movzbl %dh,%esi6314shll $8,%ebx6315xorl %ebx,%eax6316movzbl -128(%ebp,%esi,1),%ebx6317shll $16,%ebx6318xorl %ebx,%eax6319xorl 896(%ebp,%ecx,4),%eax6320movl %eax,32(%edi)6321xorl 4(%edi),%eax6322movl %eax,36(%edi)6323xorl 8(%edi),%eax6324movl %eax,40(%edi)6325xorl 12(%edi),%eax6326movl %eax,44(%edi)6327cmpl $6,%ecx6328je .L05314break6329incl %ecx6330movl %eax,%edx6331movl 16(%edi),%eax6332movzbl %dl,%esi6333movzbl -128(%ebp,%esi,1),%ebx6334movzbl %dh,%esi6335xorl %ebx,%eax6336movzbl -128(%ebp,%esi,1),%ebx6337shrl $16,%edx6338shll $8,%ebx6339movzbl %dl,%esi6340xorl %ebx,%eax6341movzbl -128(%ebp,%esi,1),%ebx6342movzbl %dh,%esi6343shll $16,%ebx6344xorl %ebx,%eax6345movzbl -128(%ebp,%esi,1),%ebx6346shll $24,%ebx6347xorl %ebx,%eax6348movl %eax,48(%edi)6349xorl 20(%edi),%eax6350movl %eax,52(%edi)6351xorl 24(%edi),%eax6352movl %eax,56(%edi)6353xorl 28(%edi),%eax6354movl %eax,60(%edi)6355addl $32,%edi6356jmp .L05214loop6357.L05314break:6358movl $14,48(%edi)6359xorl %eax,%eax6360jmp .L045exit6361.L040badpointer:6362movl $-1,%eax6363.L045exit:6364popl %edi6365popl %esi6366popl %ebx6367popl %ebp6368ret6369.size _x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key6370.globl AES_set_encrypt_key6371.type AES_set_encrypt_key,@function6372.align 166373AES_set_encrypt_key:6374.L_AES_set_encrypt_key_begin:6375#ifdef __CET__63766377.byte 243,15,30,2516378#endif63796380call _x86_AES_set_encrypt_key6381ret6382.size AES_set_encrypt_key,.-.L_AES_set_encrypt_key_begin6383.globl AES_set_decrypt_key6384.type AES_set_decrypt_key,@function6385.align 166386AES_set_decrypt_key:6387.L_AES_set_decrypt_key_begin:6388#ifdef __CET__63896390.byte 243,15,30,2516391#endif63926393call _x86_AES_set_encrypt_key6394cmpl $0,%eax6395je .L054proceed6396ret6397.L054proceed:6398pushl %ebp6399pushl %ebx6400pushl %esi6401pushl %edi6402movl 28(%esp),%esi6403movl 240(%esi),%ecx6404leal (,%ecx,4),%ecx6405leal (%esi,%ecx,4),%edi6406.align 46407.L055invert:6408movl (%esi),%eax6409movl 4(%esi),%ebx6410movl (%edi),%ecx6411movl 4(%edi),%edx6412movl %eax,(%edi)6413movl %ebx,4(%edi)6414movl %ecx,(%esi)6415movl %edx,4(%esi)6416movl 8(%esi),%eax6417movl 12(%esi),%ebx6418movl 8(%edi),%ecx6419movl 12(%edi),%edx6420movl %eax,8(%edi)6421movl %ebx,12(%edi)6422movl %ecx,8(%esi)6423movl %edx,12(%esi)6424addl $16,%esi6425subl $16,%edi6426cmpl %edi,%esi6427jne .L055invert6428movl 28(%esp),%edi6429movl 240(%edi),%esi6430leal -2(%esi,%esi,1),%esi6431leal (%edi,%esi,8),%esi6432movl %esi,28(%esp)6433movl 16(%edi),%eax6434.align 46435.L056permute:6436addl $16,%edi6437movl $2155905152,%ebp6438andl %eax,%ebp6439leal (%eax,%eax,1),%ebx6440movl %ebp,%esi6441shrl $7,%ebp6442subl %ebp,%esi6443andl $4278124286,%ebx6444andl $454761243,%esi6445xorl %esi,%ebx6446movl $2155905152,%ebp6447andl %ebx,%ebp6448leal (%ebx,%ebx,1),%ecx6449movl %ebp,%esi6450shrl $7,%ebp6451subl %ebp,%esi6452andl $4278124286,%ecx6453andl $454761243,%esi6454xorl %eax,%ebx6455xorl %esi,%ecx6456movl $2155905152,%ebp6457andl %ecx,%ebp6458leal (%ecx,%ecx,1),%edx6459movl %ebp,%esi6460shrl $7,%ebp6461xorl %eax,%ecx6462subl %ebp,%esi6463andl $4278124286,%edx6464andl $454761243,%esi6465roll $8,%eax6466xorl %esi,%edx6467movl 4(%edi),%ebp6468xorl %ebx,%eax6469xorl %edx,%ebx6470xorl %ecx,%eax6471roll $24,%ebx6472xorl %edx,%ecx6473xorl %edx,%eax6474roll $16,%ecx6475xorl %ebx,%eax6476roll $8,%edx6477xorl %ecx,%eax6478movl %ebp,%ebx6479xorl %edx,%eax6480movl %eax,(%edi)6481movl $2155905152,%ebp6482andl %ebx,%ebp6483leal (%ebx,%ebx,1),%ecx6484movl %ebp,%esi6485shrl $7,%ebp6486subl %ebp,%esi6487andl $4278124286,%ecx6488andl $454761243,%esi6489xorl %esi,%ecx6490movl $2155905152,%ebp6491andl %ecx,%ebp6492leal (%ecx,%ecx,1),%edx6493movl %ebp,%esi6494shrl $7,%ebp6495subl %ebp,%esi6496andl $4278124286,%edx6497andl $454761243,%esi6498xorl %ebx,%ecx6499xorl %esi,%edx6500movl $2155905152,%ebp6501andl %edx,%ebp6502leal (%edx,%edx,1),%eax6503movl %ebp,%esi6504shrl $7,%ebp6505xorl %ebx,%edx6506subl %ebp,%esi6507andl $4278124286,%eax6508andl $454761243,%esi6509roll $8,%ebx6510xorl %esi,%eax6511movl 8(%edi),%ebp6512xorl %ecx,%ebx6513xorl %eax,%ecx6514xorl %edx,%ebx6515roll $24,%ecx6516xorl %eax,%edx6517xorl %eax,%ebx6518roll $16,%edx6519xorl %ecx,%ebx6520roll $8,%eax6521xorl %edx,%ebx6522movl %ebp,%ecx6523xorl %eax,%ebx6524movl %ebx,4(%edi)6525movl $2155905152,%ebp6526andl %ecx,%ebp6527leal (%ecx,%ecx,1),%edx6528movl %ebp,%esi6529shrl $7,%ebp6530subl %ebp,%esi6531andl $4278124286,%edx6532andl $454761243,%esi6533xorl %esi,%edx6534movl $2155905152,%ebp6535andl %edx,%ebp6536leal (%edx,%edx,1),%eax6537movl %ebp,%esi6538shrl $7,%ebp6539subl %ebp,%esi6540andl $4278124286,%eax6541andl $454761243,%esi6542xorl %ecx,%edx6543xorl %esi,%eax6544movl $2155905152,%ebp6545andl %eax,%ebp6546leal (%eax,%eax,1),%ebx6547movl %ebp,%esi6548shrl $7,%ebp6549xorl %ecx,%eax6550subl %ebp,%esi6551andl $4278124286,%ebx6552andl $454761243,%esi6553roll $8,%ecx6554xorl %esi,%ebx6555movl 12(%edi),%ebp6556xorl %edx,%ecx6557xorl %ebx,%edx6558xorl %eax,%ecx6559roll $24,%edx6560xorl %ebx,%eax6561xorl %ebx,%ecx6562roll $16,%eax6563xorl %edx,%ecx6564roll $8,%ebx6565xorl %eax,%ecx6566movl %ebp,%edx6567xorl %ebx,%ecx6568movl %ecx,8(%edi)6569movl $2155905152,%ebp6570andl %edx,%ebp6571leal (%edx,%edx,1),%eax6572movl %ebp,%esi6573shrl $7,%ebp6574subl %ebp,%esi6575andl $4278124286,%eax6576andl $454761243,%esi6577xorl %esi,%eax6578movl $2155905152,%ebp6579andl %eax,%ebp6580leal (%eax,%eax,1),%ebx6581movl %ebp,%esi6582shrl $7,%ebp6583subl %ebp,%esi6584andl $4278124286,%ebx6585andl $454761243,%esi6586xorl %edx,%eax6587xorl %esi,%ebx6588movl $2155905152,%ebp6589andl %ebx,%ebp6590leal (%ebx,%ebx,1),%ecx6591movl %ebp,%esi6592shrl $7,%ebp6593xorl %edx,%ebx6594subl %ebp,%esi6595andl $4278124286,%ecx6596andl $454761243,%esi6597roll $8,%edx6598xorl %esi,%ecx6599movl 16(%edi),%ebp6600xorl %eax,%edx6601xorl %ecx,%eax6602xorl %ebx,%edx6603roll $24,%eax6604xorl %ecx,%ebx6605xorl %ecx,%edx6606roll $16,%ebx6607xorl %eax,%edx6608roll $8,%ecx6609xorl %ebx,%edx6610movl %ebp,%eax6611xorl %ecx,%edx6612movl %edx,12(%edi)6613cmpl 28(%esp),%edi6614jb .L056permute6615xorl %eax,%eax6616popl %edi6617popl %esi6618popl %ebx6619popl %ebp6620ret6621.size AES_set_decrypt_key,.-.L_AES_set_decrypt_key_begin6622.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,896623.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,1146624.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,06625.comm OPENSSL_ia32cap_P,40,466266627.section ".note.gnu.property", "a"6628.p2align 26629.long 1f - 0f6630.long 4f - 1f6631.long 566320:6633.asciz "GNU"66341:6635.p2align 26636.long 0xc00000026637.long 3f - 2f66382:6639.long 366403:6641.p2align 266424:6643#endif664466456646