sha256-586.S 96 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567
  1. // This file is generated from a similarly-named Perl script in the BoringSSL
  2. // source tree. Do not edit by hand.
  3. #if defined(__i386__)
  4. #if defined(BORINGSSL_PREFIX)
  5. #include <boringssl_prefix_symbols_asm.h>
  6. #endif
  7. .text
  8. .globl sha256_block_data_order
  9. .hidden sha256_block_data_order
  10. .type sha256_block_data_order,@function
  11. .align 16
  12. sha256_block_data_order:
  13. .L_sha256_block_data_order_begin:
  14. pushl %ebp
  15. pushl %ebx
  16. pushl %esi
  17. pushl %edi
  18. movl 20(%esp),%esi
  19. movl 24(%esp),%edi
  20. movl 28(%esp),%eax
  21. movl %esp,%ebx
  22. call .L000pic_point
  23. .L000pic_point:
  24. popl %ebp
  25. leal .L001K256-.L000pic_point(%ebp),%ebp
  26. subl $16,%esp
  27. andl $-64,%esp
  28. shll $6,%eax
  29. addl %edi,%eax
  30. movl %esi,(%esp)
  31. movl %edi,4(%esp)
  32. movl %eax,8(%esp)
  33. movl %ebx,12(%esp)
  34. leal OPENSSL_ia32cap_P-.L001K256(%ebp),%edx
  35. movl (%edx),%ecx
  36. movl 4(%edx),%ebx
  37. testl $1048576,%ecx
  38. jnz .L002loop
  39. movl 8(%edx),%edx
  40. testl $16777216,%ecx
  41. jz .L003no_xmm
  42. andl $1073741824,%ecx
  43. andl $268435968,%ebx
  44. orl %ebx,%ecx
  45. andl $1342177280,%ecx
  46. cmpl $1342177280,%ecx
  47. je .L004AVX
  48. testl $512,%ebx
  49. jnz .L005SSSE3
  50. .L003no_xmm:
  51. subl %edi,%eax
  52. cmpl $256,%eax
  53. jae .L006unrolled
  54. jmp .L002loop
  55. .align 16
  56. .L002loop:
  57. movl (%edi),%eax
  58. movl 4(%edi),%ebx
  59. movl 8(%edi),%ecx
  60. bswap %eax
  61. movl 12(%edi),%edx
  62. bswap %ebx
  63. pushl %eax
  64. bswap %ecx
  65. pushl %ebx
  66. bswap %edx
  67. pushl %ecx
  68. pushl %edx
  69. movl 16(%edi),%eax
  70. movl 20(%edi),%ebx
  71. movl 24(%edi),%ecx
  72. bswap %eax
  73. movl 28(%edi),%edx
  74. bswap %ebx
  75. pushl %eax
  76. bswap %ecx
  77. pushl %ebx
  78. bswap %edx
  79. pushl %ecx
  80. pushl %edx
  81. movl 32(%edi),%eax
  82. movl 36(%edi),%ebx
  83. movl 40(%edi),%ecx
  84. bswap %eax
  85. movl 44(%edi),%edx
  86. bswap %ebx
  87. pushl %eax
  88. bswap %ecx
  89. pushl %ebx
  90. bswap %edx
  91. pushl %ecx
  92. pushl %edx
  93. movl 48(%edi),%eax
  94. movl 52(%edi),%ebx
  95. movl 56(%edi),%ecx
  96. bswap %eax
  97. movl 60(%edi),%edx
  98. bswap %ebx
  99. pushl %eax
  100. bswap %ecx
  101. pushl %ebx
  102. bswap %edx
  103. pushl %ecx
  104. pushl %edx
  105. addl $64,%edi
  106. leal -36(%esp),%esp
  107. movl %edi,104(%esp)
  108. movl (%esi),%eax
  109. movl 4(%esi),%ebx
  110. movl 8(%esi),%ecx
  111. movl 12(%esi),%edi
  112. movl %ebx,8(%esp)
  113. xorl %ecx,%ebx
  114. movl %ecx,12(%esp)
  115. movl %edi,16(%esp)
  116. movl %ebx,(%esp)
  117. movl 16(%esi),%edx
  118. movl 20(%esi),%ebx
  119. movl 24(%esi),%ecx
  120. movl 28(%esi),%edi
  121. movl %ebx,24(%esp)
  122. movl %ecx,28(%esp)
  123. movl %edi,32(%esp)
  124. .align 16
  125. .L00700_15:
  126. movl %edx,%ecx
  127. movl 24(%esp),%esi
  128. rorl $14,%ecx
  129. movl 28(%esp),%edi
  130. xorl %edx,%ecx
  131. xorl %edi,%esi
  132. movl 96(%esp),%ebx
  133. rorl $5,%ecx
  134. andl %edx,%esi
  135. movl %edx,20(%esp)
  136. xorl %ecx,%edx
  137. addl 32(%esp),%ebx
  138. xorl %edi,%esi
  139. rorl $6,%edx
  140. movl %eax,%ecx
  141. addl %esi,%ebx
  142. rorl $9,%ecx
  143. addl %edx,%ebx
  144. movl 8(%esp),%edi
  145. xorl %eax,%ecx
  146. movl %eax,4(%esp)
  147. leal -4(%esp),%esp
  148. rorl $11,%ecx
  149. movl (%ebp),%esi
  150. xorl %eax,%ecx
  151. movl 20(%esp),%edx
  152. xorl %edi,%eax
  153. rorl $2,%ecx
  154. addl %esi,%ebx
  155. movl %eax,(%esp)
  156. addl %ebx,%edx
  157. andl 4(%esp),%eax
  158. addl %ecx,%ebx
  159. xorl %edi,%eax
  160. addl $4,%ebp
  161. addl %ebx,%eax
  162. cmpl $3248222580,%esi
  163. jne .L00700_15
  164. movl 156(%esp),%ecx
  165. jmp .L00816_63
  166. .align 16
  167. .L00816_63:
  168. movl %ecx,%ebx
  169. movl 104(%esp),%esi
  170. rorl $11,%ecx
  171. movl %esi,%edi
  172. rorl $2,%esi
  173. xorl %ebx,%ecx
  174. shrl $3,%ebx
  175. rorl $7,%ecx
  176. xorl %edi,%esi
  177. xorl %ecx,%ebx
  178. rorl $17,%esi
  179. addl 160(%esp),%ebx
  180. shrl $10,%edi
  181. addl 124(%esp),%ebx
  182. movl %edx,%ecx
  183. xorl %esi,%edi
  184. movl 24(%esp),%esi
  185. rorl $14,%ecx
  186. addl %edi,%ebx
  187. movl 28(%esp),%edi
  188. xorl %edx,%ecx
  189. xorl %edi,%esi
  190. movl %ebx,96(%esp)
  191. rorl $5,%ecx
  192. andl %edx,%esi
  193. movl %edx,20(%esp)
  194. xorl %ecx,%edx
  195. addl 32(%esp),%ebx
  196. xorl %edi,%esi
  197. rorl $6,%edx
  198. movl %eax,%ecx
  199. addl %esi,%ebx
  200. rorl $9,%ecx
  201. addl %edx,%ebx
  202. movl 8(%esp),%edi
  203. xorl %eax,%ecx
  204. movl %eax,4(%esp)
  205. leal -4(%esp),%esp
  206. rorl $11,%ecx
  207. movl (%ebp),%esi
  208. xorl %eax,%ecx
  209. movl 20(%esp),%edx
  210. xorl %edi,%eax
  211. rorl $2,%ecx
  212. addl %esi,%ebx
  213. movl %eax,(%esp)
  214. addl %ebx,%edx
  215. andl 4(%esp),%eax
  216. addl %ecx,%ebx
  217. xorl %edi,%eax
  218. movl 156(%esp),%ecx
  219. addl $4,%ebp
  220. addl %ebx,%eax
  221. cmpl $3329325298,%esi
  222. jne .L00816_63
  223. movl 356(%esp),%esi
  224. movl 8(%esp),%ebx
  225. movl 16(%esp),%ecx
  226. addl (%esi),%eax
  227. addl 4(%esi),%ebx
  228. addl 8(%esi),%edi
  229. addl 12(%esi),%ecx
  230. movl %eax,(%esi)
  231. movl %ebx,4(%esi)
  232. movl %edi,8(%esi)
  233. movl %ecx,12(%esi)
  234. movl 24(%esp),%eax
  235. movl 28(%esp),%ebx
  236. movl 32(%esp),%ecx
  237. movl 360(%esp),%edi
  238. addl 16(%esi),%edx
  239. addl 20(%esi),%eax
  240. addl 24(%esi),%ebx
  241. addl 28(%esi),%ecx
  242. movl %edx,16(%esi)
  243. movl %eax,20(%esi)
  244. movl %ebx,24(%esi)
  245. movl %ecx,28(%esi)
  246. leal 356(%esp),%esp
  247. subl $256,%ebp
  248. cmpl 8(%esp),%edi
  249. jb .L002loop
  250. movl 12(%esp),%esp
  251. popl %edi
  252. popl %esi
  253. popl %ebx
  254. popl %ebp
  255. ret
  256. .align 64
  257. .L001K256:
  258. .long 1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298
  259. .long 66051,67438087,134810123,202182159
  260. .byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
  261. .byte 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
  262. .byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
  263. .byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
  264. .byte 62,0
  265. .align 16
  266. .L006unrolled:
  267. leal -96(%esp),%esp
  268. movl (%esi),%eax
  269. movl 4(%esi),%ebp
  270. movl 8(%esi),%ecx
  271. movl 12(%esi),%ebx
  272. movl %ebp,4(%esp)
  273. xorl %ecx,%ebp
  274. movl %ecx,8(%esp)
  275. movl %ebx,12(%esp)
  276. movl 16(%esi),%edx
  277. movl 20(%esi),%ebx
  278. movl 24(%esi),%ecx
  279. movl 28(%esi),%esi
  280. movl %ebx,20(%esp)
  281. movl %ecx,24(%esp)
  282. movl %esi,28(%esp)
  283. jmp .L009grand_loop
  284. .align 16
  285. .L009grand_loop:
  286. movl (%edi),%ebx
  287. movl 4(%edi),%ecx
  288. bswap %ebx
  289. movl 8(%edi),%esi
  290. bswap %ecx
  291. movl %ebx,32(%esp)
  292. bswap %esi
  293. movl %ecx,36(%esp)
  294. movl %esi,40(%esp)
  295. movl 12(%edi),%ebx
  296. movl 16(%edi),%ecx
  297. bswap %ebx
  298. movl 20(%edi),%esi
  299. bswap %ecx
  300. movl %ebx,44(%esp)
  301. bswap %esi
  302. movl %ecx,48(%esp)
  303. movl %esi,52(%esp)
  304. movl 24(%edi),%ebx
  305. movl 28(%edi),%ecx
  306. bswap %ebx
  307. movl 32(%edi),%esi
  308. bswap %ecx
  309. movl %ebx,56(%esp)
  310. bswap %esi
  311. movl %ecx,60(%esp)
  312. movl %esi,64(%esp)
  313. movl 36(%edi),%ebx
  314. movl 40(%edi),%ecx
  315. bswap %ebx
  316. movl 44(%edi),%esi
  317. bswap %ecx
  318. movl %ebx,68(%esp)
  319. bswap %esi
  320. movl %ecx,72(%esp)
  321. movl %esi,76(%esp)
  322. movl 48(%edi),%ebx
  323. movl 52(%edi),%ecx
  324. bswap %ebx
  325. movl 56(%edi),%esi
  326. bswap %ecx
  327. movl %ebx,80(%esp)
  328. bswap %esi
  329. movl %ecx,84(%esp)
  330. movl %esi,88(%esp)
  331. movl 60(%edi),%ebx
  332. addl $64,%edi
  333. bswap %ebx
  334. movl %edi,100(%esp)
  335. movl %ebx,92(%esp)
  336. movl %edx,%ecx
  337. movl 20(%esp),%esi
  338. rorl $14,%edx
  339. movl 24(%esp),%edi
  340. xorl %ecx,%edx
  341. movl 32(%esp),%ebx
  342. xorl %edi,%esi
  343. rorl $5,%edx
  344. andl %ecx,%esi
  345. movl %ecx,16(%esp)
  346. xorl %ecx,%edx
  347. addl 28(%esp),%ebx
  348. xorl %esi,%edi
  349. rorl $6,%edx
  350. movl %eax,%ecx
  351. addl %edi,%ebx
  352. rorl $9,%ecx
  353. movl %eax,%esi
  354. movl 4(%esp),%edi
  355. xorl %eax,%ecx
  356. movl %eax,(%esp)
  357. xorl %edi,%eax
  358. rorl $11,%ecx
  359. andl %eax,%ebp
  360. leal 1116352408(%ebx,%edx,1),%edx
  361. xorl %esi,%ecx
  362. xorl %edi,%ebp
  363. rorl $2,%ecx
  364. addl %edx,%ebp
  365. addl 12(%esp),%edx
  366. addl %ecx,%ebp
  367. movl %edx,%esi
  368. movl 16(%esp),%ecx
  369. rorl $14,%edx
  370. movl 20(%esp),%edi
  371. xorl %esi,%edx
  372. movl 36(%esp),%ebx
  373. xorl %edi,%ecx
  374. rorl $5,%edx
  375. andl %esi,%ecx
  376. movl %esi,12(%esp)
  377. xorl %esi,%edx
  378. addl 24(%esp),%ebx
  379. xorl %ecx,%edi
  380. rorl $6,%edx
  381. movl %ebp,%esi
  382. addl %edi,%ebx
  383. rorl $9,%esi
  384. movl %ebp,%ecx
  385. movl (%esp),%edi
  386. xorl %ebp,%esi
  387. movl %ebp,28(%esp)
  388. xorl %edi,%ebp
  389. rorl $11,%esi
  390. andl %ebp,%eax
  391. leal 1899447441(%ebx,%edx,1),%edx
  392. xorl %ecx,%esi
  393. xorl %edi,%eax
  394. rorl $2,%esi
  395. addl %edx,%eax
  396. addl 8(%esp),%edx
  397. addl %esi,%eax
  398. movl %edx,%ecx
  399. movl 12(%esp),%esi
  400. rorl $14,%edx
  401. movl 16(%esp),%edi
  402. xorl %ecx,%edx
  403. movl 40(%esp),%ebx
  404. xorl %edi,%esi
  405. rorl $5,%edx
  406. andl %ecx,%esi
  407. movl %ecx,8(%esp)
  408. xorl %ecx,%edx
  409. addl 20(%esp),%ebx
  410. xorl %esi,%edi
  411. rorl $6,%edx
  412. movl %eax,%ecx
  413. addl %edi,%ebx
  414. rorl $9,%ecx
  415. movl %eax,%esi
  416. movl 28(%esp),%edi
  417. xorl %eax,%ecx
  418. movl %eax,24(%esp)
  419. xorl %edi,%eax
  420. rorl $11,%ecx
  421. andl %eax,%ebp
  422. leal 3049323471(%ebx,%edx,1),%edx
  423. xorl %esi,%ecx
  424. xorl %edi,%ebp
  425. rorl $2,%ecx
  426. addl %edx,%ebp
  427. addl 4(%esp),%edx
  428. addl %ecx,%ebp
  429. movl %edx,%esi
  430. movl 8(%esp),%ecx
  431. rorl $14,%edx
  432. movl 12(%esp),%edi
  433. xorl %esi,%edx
  434. movl 44(%esp),%ebx
  435. xorl %edi,%ecx
  436. rorl $5,%edx
  437. andl %esi,%ecx
  438. movl %esi,4(%esp)
  439. xorl %esi,%edx
  440. addl 16(%esp),%ebx
  441. xorl %ecx,%edi
  442. rorl $6,%edx
  443. movl %ebp,%esi
  444. addl %edi,%ebx
  445. rorl $9,%esi
  446. movl %ebp,%ecx
  447. movl 24(%esp),%edi
  448. xorl %ebp,%esi
  449. movl %ebp,20(%esp)
  450. xorl %edi,%ebp
  451. rorl $11,%esi
  452. andl %ebp,%eax
  453. leal 3921009573(%ebx,%edx,1),%edx
  454. xorl %ecx,%esi
  455. xorl %edi,%eax
  456. rorl $2,%esi
  457. addl %edx,%eax
  458. addl (%esp),%edx
  459. addl %esi,%eax
  460. movl %edx,%ecx
  461. movl 4(%esp),%esi
  462. rorl $14,%edx
  463. movl 8(%esp),%edi
  464. xorl %ecx,%edx
  465. movl 48(%esp),%ebx
  466. xorl %edi,%esi
  467. rorl $5,%edx
  468. andl %ecx,%esi
  469. movl %ecx,(%esp)
  470. xorl %ecx,%edx
  471. addl 12(%esp),%ebx
  472. xorl %esi,%edi
  473. rorl $6,%edx
  474. movl %eax,%ecx
  475. addl %edi,%ebx
  476. rorl $9,%ecx
  477. movl %eax,%esi
  478. movl 20(%esp),%edi
  479. xorl %eax,%ecx
  480. movl %eax,16(%esp)
  481. xorl %edi,%eax
  482. rorl $11,%ecx
  483. andl %eax,%ebp
  484. leal 961987163(%ebx,%edx,1),%edx
  485. xorl %esi,%ecx
  486. xorl %edi,%ebp
  487. rorl $2,%ecx
  488. addl %edx,%ebp
  489. addl 28(%esp),%edx
  490. addl %ecx,%ebp
  491. movl %edx,%esi
  492. movl (%esp),%ecx
  493. rorl $14,%edx
  494. movl 4(%esp),%edi
  495. xorl %esi,%edx
  496. movl 52(%esp),%ebx
  497. xorl %edi,%ecx
  498. rorl $5,%edx
  499. andl %esi,%ecx
  500. movl %esi,28(%esp)
  501. xorl %esi,%edx
  502. addl 8(%esp),%ebx
  503. xorl %ecx,%edi
  504. rorl $6,%edx
  505. movl %ebp,%esi
  506. addl %edi,%ebx
  507. rorl $9,%esi
  508. movl %ebp,%ecx
  509. movl 16(%esp),%edi
  510. xorl %ebp,%esi
  511. movl %ebp,12(%esp)
  512. xorl %edi,%ebp
  513. rorl $11,%esi
  514. andl %ebp,%eax
  515. leal 1508970993(%ebx,%edx,1),%edx
  516. xorl %ecx,%esi
  517. xorl %edi,%eax
  518. rorl $2,%esi
  519. addl %edx,%eax
  520. addl 24(%esp),%edx
  521. addl %esi,%eax
  522. movl %edx,%ecx
  523. movl 28(%esp),%esi
  524. rorl $14,%edx
  525. movl (%esp),%edi
  526. xorl %ecx,%edx
  527. movl 56(%esp),%ebx
  528. xorl %edi,%esi
  529. rorl $5,%edx
  530. andl %ecx,%esi
  531. movl %ecx,24(%esp)
  532. xorl %ecx,%edx
  533. addl 4(%esp),%ebx
  534. xorl %esi,%edi
  535. rorl $6,%edx
  536. movl %eax,%ecx
  537. addl %edi,%ebx
  538. rorl $9,%ecx
  539. movl %eax,%esi
  540. movl 12(%esp),%edi
  541. xorl %eax,%ecx
  542. movl %eax,8(%esp)
  543. xorl %edi,%eax
  544. rorl $11,%ecx
  545. andl %eax,%ebp
  546. leal 2453635748(%ebx,%edx,1),%edx
  547. xorl %esi,%ecx
  548. xorl %edi,%ebp
  549. rorl $2,%ecx
  550. addl %edx,%ebp
  551. addl 20(%esp),%edx
  552. addl %ecx,%ebp
  553. movl %edx,%esi
  554. movl 24(%esp),%ecx
  555. rorl $14,%edx
  556. movl 28(%esp),%edi
  557. xorl %esi,%edx
  558. movl 60(%esp),%ebx
  559. xorl %edi,%ecx
  560. rorl $5,%edx
  561. andl %esi,%ecx
  562. movl %esi,20(%esp)
  563. xorl %esi,%edx
  564. addl (%esp),%ebx
  565. xorl %ecx,%edi
  566. rorl $6,%edx
  567. movl %ebp,%esi
  568. addl %edi,%ebx
  569. rorl $9,%esi
  570. movl %ebp,%ecx
  571. movl 8(%esp),%edi
  572. xorl %ebp,%esi
  573. movl %ebp,4(%esp)
  574. xorl %edi,%ebp
  575. rorl $11,%esi
  576. andl %ebp,%eax
  577. leal 2870763221(%ebx,%edx,1),%edx
  578. xorl %ecx,%esi
  579. xorl %edi,%eax
  580. rorl $2,%esi
  581. addl %edx,%eax
  582. addl 16(%esp),%edx
  583. addl %esi,%eax
  584. movl %edx,%ecx
  585. movl 20(%esp),%esi
  586. rorl $14,%edx
  587. movl 24(%esp),%edi
  588. xorl %ecx,%edx
  589. movl 64(%esp),%ebx
  590. xorl %edi,%esi
  591. rorl $5,%edx
  592. andl %ecx,%esi
  593. movl %ecx,16(%esp)
  594. xorl %ecx,%edx
  595. addl 28(%esp),%ebx
  596. xorl %esi,%edi
  597. rorl $6,%edx
  598. movl %eax,%ecx
  599. addl %edi,%ebx
  600. rorl $9,%ecx
  601. movl %eax,%esi
  602. movl 4(%esp),%edi
  603. xorl %eax,%ecx
  604. movl %eax,(%esp)
  605. xorl %edi,%eax
  606. rorl $11,%ecx
  607. andl %eax,%ebp
  608. leal 3624381080(%ebx,%edx,1),%edx
  609. xorl %esi,%ecx
  610. xorl %edi,%ebp
  611. rorl $2,%ecx
  612. addl %edx,%ebp
  613. addl 12(%esp),%edx
  614. addl %ecx,%ebp
  615. movl %edx,%esi
  616. movl 16(%esp),%ecx
  617. rorl $14,%edx
  618. movl 20(%esp),%edi
  619. xorl %esi,%edx
  620. movl 68(%esp),%ebx
  621. xorl %edi,%ecx
  622. rorl $5,%edx
  623. andl %esi,%ecx
  624. movl %esi,12(%esp)
  625. xorl %esi,%edx
  626. addl 24(%esp),%ebx
  627. xorl %ecx,%edi
  628. rorl $6,%edx
  629. movl %ebp,%esi
  630. addl %edi,%ebx
  631. rorl $9,%esi
  632. movl %ebp,%ecx
  633. movl (%esp),%edi
  634. xorl %ebp,%esi
  635. movl %ebp,28(%esp)
  636. xorl %edi,%ebp
  637. rorl $11,%esi
  638. andl %ebp,%eax
  639. leal 310598401(%ebx,%edx,1),%edx
  640. xorl %ecx,%esi
  641. xorl %edi,%eax
  642. rorl $2,%esi
  643. addl %edx,%eax
  644. addl 8(%esp),%edx
  645. addl %esi,%eax
  646. movl %edx,%ecx
  647. movl 12(%esp),%esi
  648. rorl $14,%edx
  649. movl 16(%esp),%edi
  650. xorl %ecx,%edx
  651. movl 72(%esp),%ebx
  652. xorl %edi,%esi
  653. rorl $5,%edx
  654. andl %ecx,%esi
  655. movl %ecx,8(%esp)
  656. xorl %ecx,%edx
  657. addl 20(%esp),%ebx
  658. xorl %esi,%edi
  659. rorl $6,%edx
  660. movl %eax,%ecx
  661. addl %edi,%ebx
  662. rorl $9,%ecx
  663. movl %eax,%esi
  664. movl 28(%esp),%edi
  665. xorl %eax,%ecx
  666. movl %eax,24(%esp)
  667. xorl %edi,%eax
  668. rorl $11,%ecx
  669. andl %eax,%ebp
  670. leal 607225278(%ebx,%edx,1),%edx
  671. xorl %esi,%ecx
  672. xorl %edi,%ebp
  673. rorl $2,%ecx
  674. addl %edx,%ebp
  675. addl 4(%esp),%edx
  676. addl %ecx,%ebp
  677. movl %edx,%esi
  678. movl 8(%esp),%ecx
  679. rorl $14,%edx
  680. movl 12(%esp),%edi
  681. xorl %esi,%edx
  682. movl 76(%esp),%ebx
  683. xorl %edi,%ecx
  684. rorl $5,%edx
  685. andl %esi,%ecx
  686. movl %esi,4(%esp)
  687. xorl %esi,%edx
  688. addl 16(%esp),%ebx
  689. xorl %ecx,%edi
  690. rorl $6,%edx
  691. movl %ebp,%esi
  692. addl %edi,%ebx
  693. rorl $9,%esi
  694. movl %ebp,%ecx
  695. movl 24(%esp),%edi
  696. xorl %ebp,%esi
  697. movl %ebp,20(%esp)
  698. xorl %edi,%ebp
  699. rorl $11,%esi
  700. andl %ebp,%eax
  701. leal 1426881987(%ebx,%edx,1),%edx
  702. xorl %ecx,%esi
  703. xorl %edi,%eax
  704. rorl $2,%esi
  705. addl %edx,%eax
  706. addl (%esp),%edx
  707. addl %esi,%eax
  708. movl %edx,%ecx
  709. movl 4(%esp),%esi
  710. rorl $14,%edx
  711. movl 8(%esp),%edi
  712. xorl %ecx,%edx
  713. movl 80(%esp),%ebx
  714. xorl %edi,%esi
  715. rorl $5,%edx
  716. andl %ecx,%esi
  717. movl %ecx,(%esp)
  718. xorl %ecx,%edx
  719. addl 12(%esp),%ebx
  720. xorl %esi,%edi
  721. rorl $6,%edx
  722. movl %eax,%ecx
  723. addl %edi,%ebx
  724. rorl $9,%ecx
  725. movl %eax,%esi
  726. movl 20(%esp),%edi
  727. xorl %eax,%ecx
  728. movl %eax,16(%esp)
  729. xorl %edi,%eax
  730. rorl $11,%ecx
  731. andl %eax,%ebp
  732. leal 1925078388(%ebx,%edx,1),%edx
  733. xorl %esi,%ecx
  734. xorl %edi,%ebp
  735. rorl $2,%ecx
  736. addl %edx,%ebp
  737. addl 28(%esp),%edx
  738. addl %ecx,%ebp
  739. movl %edx,%esi
  740. movl (%esp),%ecx
  741. rorl $14,%edx
  742. movl 4(%esp),%edi
  743. xorl %esi,%edx
  744. movl 84(%esp),%ebx
  745. xorl %edi,%ecx
  746. rorl $5,%edx
  747. andl %esi,%ecx
  748. movl %esi,28(%esp)
  749. xorl %esi,%edx
  750. addl 8(%esp),%ebx
  751. xorl %ecx,%edi
  752. rorl $6,%edx
  753. movl %ebp,%esi
  754. addl %edi,%ebx
  755. rorl $9,%esi
  756. movl %ebp,%ecx
  757. movl 16(%esp),%edi
  758. xorl %ebp,%esi
  759. movl %ebp,12(%esp)
  760. xorl %edi,%ebp
  761. rorl $11,%esi
  762. andl %ebp,%eax
  763. leal 2162078206(%ebx,%edx,1),%edx
  764. xorl %ecx,%esi
  765. xorl %edi,%eax
  766. rorl $2,%esi
  767. addl %edx,%eax
  768. addl 24(%esp),%edx
  769. addl %esi,%eax
  770. movl %edx,%ecx
  771. movl 28(%esp),%esi
  772. rorl $14,%edx
  773. movl (%esp),%edi
  774. xorl %ecx,%edx
  775. movl 88(%esp),%ebx
  776. xorl %edi,%esi
  777. rorl $5,%edx
  778. andl %ecx,%esi
  779. movl %ecx,24(%esp)
  780. xorl %ecx,%edx
  781. addl 4(%esp),%ebx
  782. xorl %esi,%edi
  783. rorl $6,%edx
  784. movl %eax,%ecx
  785. addl %edi,%ebx
  786. rorl $9,%ecx
  787. movl %eax,%esi
  788. movl 12(%esp),%edi
  789. xorl %eax,%ecx
  790. movl %eax,8(%esp)
  791. xorl %edi,%eax
  792. rorl $11,%ecx
  793. andl %eax,%ebp
  794. leal 2614888103(%ebx,%edx,1),%edx
  795. xorl %esi,%ecx
  796. xorl %edi,%ebp
  797. rorl $2,%ecx
  798. addl %edx,%ebp
  799. addl 20(%esp),%edx
  800. addl %ecx,%ebp
  801. movl %edx,%esi
  802. movl 24(%esp),%ecx
  803. rorl $14,%edx
  804. movl 28(%esp),%edi
  805. xorl %esi,%edx
  806. movl 92(%esp),%ebx
  807. xorl %edi,%ecx
  808. rorl $5,%edx
  809. andl %esi,%ecx
  810. movl %esi,20(%esp)
  811. xorl %esi,%edx
  812. addl (%esp),%ebx
  813. xorl %ecx,%edi
  814. rorl $6,%edx
  815. movl %ebp,%esi
  816. addl %edi,%ebx
  817. rorl $9,%esi
  818. movl %ebp,%ecx
  819. movl 8(%esp),%edi
  820. xorl %ebp,%esi
  821. movl %ebp,4(%esp)
  822. xorl %edi,%ebp
  823. rorl $11,%esi
  824. andl %ebp,%eax
  825. leal 3248222580(%ebx,%edx,1),%edx
  826. xorl %ecx,%esi
  827. xorl %edi,%eax
  828. movl 36(%esp),%ecx
  829. rorl $2,%esi
  830. addl %edx,%eax
  831. addl 16(%esp),%edx
  832. addl %esi,%eax
  833. movl 88(%esp),%esi
  834. movl %ecx,%ebx
  835. rorl $11,%ecx
  836. movl %esi,%edi
  837. rorl $2,%esi
  838. xorl %ebx,%ecx
  839. shrl $3,%ebx
  840. rorl $7,%ecx
  841. xorl %edi,%esi
  842. xorl %ecx,%ebx
  843. rorl $17,%esi
  844. addl 32(%esp),%ebx
  845. shrl $10,%edi
  846. addl 68(%esp),%ebx
  847. movl %edx,%ecx
  848. xorl %esi,%edi
  849. movl 20(%esp),%esi
  850. rorl $14,%edx
  851. addl %edi,%ebx
  852. movl 24(%esp),%edi
  853. xorl %ecx,%edx
  854. movl %ebx,32(%esp)
  855. xorl %edi,%esi
  856. rorl $5,%edx
  857. andl %ecx,%esi
  858. movl %ecx,16(%esp)
  859. xorl %ecx,%edx
  860. addl 28(%esp),%ebx
  861. xorl %esi,%edi
  862. rorl $6,%edx
  863. movl %eax,%ecx
  864. addl %edi,%ebx
  865. rorl $9,%ecx
  866. movl %eax,%esi
  867. movl 4(%esp),%edi
  868. xorl %eax,%ecx
  869. movl %eax,(%esp)
  870. xorl %edi,%eax
  871. rorl $11,%ecx
  872. andl %eax,%ebp
  873. leal 3835390401(%ebx,%edx,1),%edx
  874. xorl %esi,%ecx
  875. xorl %edi,%ebp
  876. movl 40(%esp),%esi
  877. rorl $2,%ecx
  878. addl %edx,%ebp
  879. addl 12(%esp),%edx
  880. addl %ecx,%ebp
  881. movl 92(%esp),%ecx
  882. movl %esi,%ebx
  883. rorl $11,%esi
  884. movl %ecx,%edi
  885. rorl $2,%ecx
  886. xorl %ebx,%esi
  887. shrl $3,%ebx
  888. rorl $7,%esi
  889. xorl %edi,%ecx
  890. xorl %esi,%ebx
  891. rorl $17,%ecx
  892. addl 36(%esp),%ebx
  893. shrl $10,%edi
  894. addl 72(%esp),%ebx
  895. movl %edx,%esi
  896. xorl %ecx,%edi
  897. movl 16(%esp),%ecx
  898. rorl $14,%edx
  899. addl %edi,%ebx
  900. movl 20(%esp),%edi
  901. xorl %esi,%edx
  902. movl %ebx,36(%esp)
  903. xorl %edi,%ecx
  904. rorl $5,%edx
  905. andl %esi,%ecx
  906. movl %esi,12(%esp)
  907. xorl %esi,%edx
  908. addl 24(%esp),%ebx
  909. xorl %ecx,%edi
  910. rorl $6,%edx
  911. movl %ebp,%esi
  912. addl %edi,%ebx
  913. rorl $9,%esi
  914. movl %ebp,%ecx
  915. movl (%esp),%edi
  916. xorl %ebp,%esi
  917. movl %ebp,28(%esp)
  918. xorl %edi,%ebp
  919. rorl $11,%esi
  920. andl %ebp,%eax
  921. leal 4022224774(%ebx,%edx,1),%edx
  922. xorl %ecx,%esi
  923. xorl %edi,%eax
  924. movl 44(%esp),%ecx
  925. rorl $2,%esi
  926. addl %edx,%eax
  927. addl 8(%esp),%edx
  928. addl %esi,%eax
  929. movl 32(%esp),%esi
  930. movl %ecx,%ebx
  931. rorl $11,%ecx
  932. movl %esi,%edi
  933. rorl $2,%esi
  934. xorl %ebx,%ecx
  935. shrl $3,%ebx
  936. rorl $7,%ecx
  937. xorl %edi,%esi
  938. xorl %ecx,%ebx
  939. rorl $17,%esi
  940. addl 40(%esp),%ebx
  941. shrl $10,%edi
  942. addl 76(%esp),%ebx
  943. movl %edx,%ecx
  944. xorl %esi,%edi
  945. movl 12(%esp),%esi
  946. rorl $14,%edx
  947. addl %edi,%ebx
  948. movl 16(%esp),%edi
  949. xorl %ecx,%edx
  950. movl %ebx,40(%esp)
  951. xorl %edi,%esi
  952. rorl $5,%edx
  953. andl %ecx,%esi
  954. movl %ecx,8(%esp)
  955. xorl %ecx,%edx
  956. addl 20(%esp),%ebx
  957. xorl %esi,%edi
  958. rorl $6,%edx
  959. movl %eax,%ecx
  960. addl %edi,%ebx
  961. rorl $9,%ecx
  962. movl %eax,%esi
  963. movl 28(%esp),%edi
  964. xorl %eax,%ecx
  965. movl %eax,24(%esp)
  966. xorl %edi,%eax
  967. rorl $11,%ecx
  968. andl %eax,%ebp
  969. leal 264347078(%ebx,%edx,1),%edx
  970. xorl %esi,%ecx
  971. xorl %edi,%ebp
  972. movl 48(%esp),%esi
  973. rorl $2,%ecx
  974. addl %edx,%ebp
  975. addl 4(%esp),%edx
  976. addl %ecx,%ebp
  977. movl 36(%esp),%ecx
  978. movl %esi,%ebx
  979. rorl $11,%esi
  980. movl %ecx,%edi
  981. rorl $2,%ecx
  982. xorl %ebx,%esi
  983. shrl $3,%ebx
  984. rorl $7,%esi
  985. xorl %edi,%ecx
  986. xorl %esi,%ebx
  987. rorl $17,%ecx
  988. addl 44(%esp),%ebx
  989. shrl $10,%edi
  990. addl 80(%esp),%ebx
  991. movl %edx,%esi
  992. xorl %ecx,%edi
  993. movl 8(%esp),%ecx
  994. rorl $14,%edx
  995. addl %edi,%ebx
  996. movl 12(%esp),%edi
  997. xorl %esi,%edx
  998. movl %ebx,44(%esp)
  999. xorl %edi,%ecx
  1000. rorl $5,%edx
  1001. andl %esi,%ecx
  1002. movl %esi,4(%esp)
  1003. xorl %esi,%edx
  1004. addl 16(%esp),%ebx
  1005. xorl %ecx,%edi
  1006. rorl $6,%edx
  1007. movl %ebp,%esi
  1008. addl %edi,%ebx
  1009. rorl $9,%esi
  1010. movl %ebp,%ecx
  1011. movl 24(%esp),%edi
  1012. xorl %ebp,%esi
  1013. movl %ebp,20(%esp)
  1014. xorl %edi,%ebp
  1015. rorl $11,%esi
  1016. andl %ebp,%eax
  1017. leal 604807628(%ebx,%edx,1),%edx
  1018. xorl %ecx,%esi
  1019. xorl %edi,%eax
  1020. movl 52(%esp),%ecx
  1021. rorl $2,%esi
  1022. addl %edx,%eax
  1023. addl (%esp),%edx
  1024. addl %esi,%eax
  1025. movl 40(%esp),%esi
  1026. movl %ecx,%ebx
  1027. rorl $11,%ecx
  1028. movl %esi,%edi
  1029. rorl $2,%esi
  1030. xorl %ebx,%ecx
  1031. shrl $3,%ebx
  1032. rorl $7,%ecx
  1033. xorl %edi,%esi
  1034. xorl %ecx,%ebx
  1035. rorl $17,%esi
  1036. addl 48(%esp),%ebx
  1037. shrl $10,%edi
  1038. addl 84(%esp),%ebx
  1039. movl %edx,%ecx
  1040. xorl %esi,%edi
  1041. movl 4(%esp),%esi
  1042. rorl $14,%edx
  1043. addl %edi,%ebx
  1044. movl 8(%esp),%edi
  1045. xorl %ecx,%edx
  1046. movl %ebx,48(%esp)
  1047. xorl %edi,%esi
  1048. rorl $5,%edx
  1049. andl %ecx,%esi
  1050. movl %ecx,(%esp)
  1051. xorl %ecx,%edx
  1052. addl 12(%esp),%ebx
  1053. xorl %esi,%edi
  1054. rorl $6,%edx
  1055. movl %eax,%ecx
  1056. addl %edi,%ebx
  1057. rorl $9,%ecx
  1058. movl %eax,%esi
  1059. movl 20(%esp),%edi
  1060. xorl %eax,%ecx
  1061. movl %eax,16(%esp)
  1062. xorl %edi,%eax
  1063. rorl $11,%ecx
  1064. andl %eax,%ebp
  1065. leal 770255983(%ebx,%edx,1),%edx
  1066. xorl %esi,%ecx
  1067. xorl %edi,%ebp
  1068. movl 56(%esp),%esi
  1069. rorl $2,%ecx
  1070. addl %edx,%ebp
  1071. addl 28(%esp),%edx
  1072. addl %ecx,%ebp
  1073. movl 44(%esp),%ecx
  1074. movl %esi,%ebx
  1075. rorl $11,%esi
  1076. movl %ecx,%edi
  1077. rorl $2,%ecx
  1078. xorl %ebx,%esi
  1079. shrl $3,%ebx
  1080. rorl $7,%esi
  1081. xorl %edi,%ecx
  1082. xorl %esi,%ebx
  1083. rorl $17,%ecx
  1084. addl 52(%esp),%ebx
  1085. shrl $10,%edi
  1086. addl 88(%esp),%ebx
  1087. movl %edx,%esi
  1088. xorl %ecx,%edi
  1089. movl (%esp),%ecx
  1090. rorl $14,%edx
  1091. addl %edi,%ebx
  1092. movl 4(%esp),%edi
  1093. xorl %esi,%edx
  1094. movl %ebx,52(%esp)
  1095. xorl %edi,%ecx
  1096. rorl $5,%edx
  1097. andl %esi,%ecx
  1098. movl %esi,28(%esp)
  1099. xorl %esi,%edx
  1100. addl 8(%esp),%ebx
  1101. xorl %ecx,%edi
  1102. rorl $6,%edx
  1103. movl %ebp,%esi
  1104. addl %edi,%ebx
  1105. rorl $9,%esi
  1106. movl %ebp,%ecx
  1107. movl 16(%esp),%edi
  1108. xorl %ebp,%esi
  1109. movl %ebp,12(%esp)
  1110. xorl %edi,%ebp
  1111. rorl $11,%esi
  1112. andl %ebp,%eax
  1113. leal 1249150122(%ebx,%edx,1),%edx
  1114. xorl %ecx,%esi
  1115. xorl %edi,%eax
  1116. movl 60(%esp),%ecx
  1117. rorl $2,%esi
  1118. addl %edx,%eax
  1119. addl 24(%esp),%edx
  1120. addl %esi,%eax
  1121. movl 48(%esp),%esi
  1122. movl %ecx,%ebx
  1123. rorl $11,%ecx
  1124. movl %esi,%edi
  1125. rorl $2,%esi
  1126. xorl %ebx,%ecx
  1127. shrl $3,%ebx
  1128. rorl $7,%ecx
  1129. xorl %edi,%esi
  1130. xorl %ecx,%ebx
  1131. rorl $17,%esi
  1132. addl 56(%esp),%ebx
  1133. shrl $10,%edi
  1134. addl 92(%esp),%ebx
  1135. movl %edx,%ecx
  1136. xorl %esi,%edi
  1137. movl 28(%esp),%esi
  1138. rorl $14,%edx
  1139. addl %edi,%ebx
  1140. movl (%esp),%edi
  1141. xorl %ecx,%edx
  1142. movl %ebx,56(%esp)
  1143. xorl %edi,%esi
  1144. rorl $5,%edx
  1145. andl %ecx,%esi
  1146. movl %ecx,24(%esp)
  1147. xorl %ecx,%edx
  1148. addl 4(%esp),%ebx
  1149. xorl %esi,%edi
  1150. rorl $6,%edx
  1151. movl %eax,%ecx
  1152. addl %edi,%ebx
  1153. rorl $9,%ecx
  1154. movl %eax,%esi
  1155. movl 12(%esp),%edi
  1156. xorl %eax,%ecx
  1157. movl %eax,8(%esp)
  1158. xorl %edi,%eax
  1159. rorl $11,%ecx
  1160. andl %eax,%ebp
  1161. leal 1555081692(%ebx,%edx,1),%edx
  1162. xorl %esi,%ecx
  1163. xorl %edi,%ebp
  1164. movl 64(%esp),%esi
  1165. rorl $2,%ecx
  1166. addl %edx,%ebp
  1167. addl 20(%esp),%edx
  1168. addl %ecx,%ebp
  1169. movl 52(%esp),%ecx
  1170. movl %esi,%ebx
  1171. rorl $11,%esi
  1172. movl %ecx,%edi
  1173. rorl $2,%ecx
  1174. xorl %ebx,%esi
  1175. shrl $3,%ebx
  1176. rorl $7,%esi
  1177. xorl %edi,%ecx
  1178. xorl %esi,%ebx
  1179. rorl $17,%ecx
  1180. addl 60(%esp),%ebx
  1181. shrl $10,%edi
  1182. addl 32(%esp),%ebx
  1183. movl %edx,%esi
  1184. xorl %ecx,%edi
  1185. movl 24(%esp),%ecx
  1186. rorl $14,%edx
  1187. addl %edi,%ebx
  1188. movl 28(%esp),%edi
  1189. xorl %esi,%edx
  1190. movl %ebx,60(%esp)
  1191. xorl %edi,%ecx
  1192. rorl $5,%edx
  1193. andl %esi,%ecx
  1194. movl %esi,20(%esp)
  1195. xorl %esi,%edx
  1196. addl (%esp),%ebx
  1197. xorl %ecx,%edi
  1198. rorl $6,%edx
  1199. movl %ebp,%esi
  1200. addl %edi,%ebx
  1201. rorl $9,%esi
  1202. movl %ebp,%ecx
  1203. movl 8(%esp),%edi
  1204. xorl %ebp,%esi
  1205. movl %ebp,4(%esp)
  1206. xorl %edi,%ebp
  1207. rorl $11,%esi
  1208. andl %ebp,%eax
  1209. leal 1996064986(%ebx,%edx,1),%edx
  1210. xorl %ecx,%esi
  1211. xorl %edi,%eax
  1212. movl 68(%esp),%ecx
  1213. rorl $2,%esi
  1214. addl %edx,%eax
  1215. addl 16(%esp),%edx
  1216. addl %esi,%eax
  1217. movl 56(%esp),%esi
  1218. movl %ecx,%ebx
  1219. rorl $11,%ecx
  1220. movl %esi,%edi
  1221. rorl $2,%esi
  1222. xorl %ebx,%ecx
  1223. shrl $3,%ebx
  1224. rorl $7,%ecx
  1225. xorl %edi,%esi
  1226. xorl %ecx,%ebx
  1227. rorl $17,%esi
  1228. addl 64(%esp),%ebx
  1229. shrl $10,%edi
  1230. addl 36(%esp),%ebx
  1231. movl %edx,%ecx
  1232. xorl %esi,%edi
  1233. movl 20(%esp),%esi
  1234. rorl $14,%edx
  1235. addl %edi,%ebx
  1236. movl 24(%esp),%edi
  1237. xorl %ecx,%edx
  1238. movl %ebx,64(%esp)
  1239. xorl %edi,%esi
  1240. rorl $5,%edx
  1241. andl %ecx,%esi
  1242. movl %ecx,16(%esp)
  1243. xorl %ecx,%edx
  1244. addl 28(%esp),%ebx
  1245. xorl %esi,%edi
  1246. rorl $6,%edx
  1247. movl %eax,%ecx
  1248. addl %edi,%ebx
  1249. rorl $9,%ecx
  1250. movl %eax,%esi
  1251. movl 4(%esp),%edi
  1252. xorl %eax,%ecx
  1253. movl %eax,(%esp)
  1254. xorl %edi,%eax
  1255. rorl $11,%ecx
  1256. andl %eax,%ebp
  1257. leal 2554220882(%ebx,%edx,1),%edx
  1258. xorl %esi,%ecx
  1259. xorl %edi,%ebp
  1260. movl 72(%esp),%esi
  1261. rorl $2,%ecx
  1262. addl %edx,%ebp
  1263. addl 12(%esp),%edx
  1264. addl %ecx,%ebp
  1265. movl 60(%esp),%ecx
  1266. movl %esi,%ebx
  1267. rorl $11,%esi
  1268. movl %ecx,%edi
  1269. rorl $2,%ecx
  1270. xorl %ebx,%esi
  1271. shrl $3,%ebx
  1272. rorl $7,%esi
  1273. xorl %edi,%ecx
  1274. xorl %esi,%ebx
  1275. rorl $17,%ecx
  1276. addl 68(%esp),%ebx
  1277. shrl $10,%edi
  1278. addl 40(%esp),%ebx
  1279. movl %edx,%esi
  1280. xorl %ecx,%edi
  1281. movl 16(%esp),%ecx
  1282. rorl $14,%edx
  1283. addl %edi,%ebx
  1284. movl 20(%esp),%edi
  1285. xorl %esi,%edx
  1286. movl %ebx,68(%esp)
  1287. xorl %edi,%ecx
  1288. rorl $5,%edx
  1289. andl %esi,%ecx
  1290. movl %esi,12(%esp)
  1291. xorl %esi,%edx
  1292. addl 24(%esp),%ebx
  1293. xorl %ecx,%edi
  1294. rorl $6,%edx
  1295. movl %ebp,%esi
  1296. addl %edi,%ebx
  1297. rorl $9,%esi
  1298. movl %ebp,%ecx
  1299. movl (%esp),%edi
  1300. xorl %ebp,%esi
  1301. movl %ebp,28(%esp)
  1302. xorl %edi,%ebp
  1303. rorl $11,%esi
  1304. andl %ebp,%eax
  1305. leal 2821834349(%ebx,%edx,1),%edx
  1306. xorl %ecx,%esi
  1307. xorl %edi,%eax
  1308. movl 76(%esp),%ecx
  1309. rorl $2,%esi
  1310. addl %edx,%eax
  1311. addl 8(%esp),%edx
  1312. addl %esi,%eax
  1313. movl 64(%esp),%esi
  1314. movl %ecx,%ebx
  1315. rorl $11,%ecx
  1316. movl %esi,%edi
  1317. rorl $2,%esi
  1318. xorl %ebx,%ecx
  1319. shrl $3,%ebx
  1320. rorl $7,%ecx
  1321. xorl %edi,%esi
  1322. xorl %ecx,%ebx
  1323. rorl $17,%esi
  1324. addl 72(%esp),%ebx
  1325. shrl $10,%edi
  1326. addl 44(%esp),%ebx
  1327. movl %edx,%ecx
  1328. xorl %esi,%edi
  1329. movl 12(%esp),%esi
  1330. rorl $14,%edx
  1331. addl %edi,%ebx
  1332. movl 16(%esp),%edi
  1333. xorl %ecx,%edx
  1334. movl %ebx,72(%esp)
  1335. xorl %edi,%esi
  1336. rorl $5,%edx
  1337. andl %ecx,%esi
  1338. movl %ecx,8(%esp)
  1339. xorl %ecx,%edx
  1340. addl 20(%esp),%ebx
  1341. xorl %esi,%edi
  1342. rorl $6,%edx
  1343. movl %eax,%ecx
  1344. addl %edi,%ebx
  1345. rorl $9,%ecx
  1346. movl %eax,%esi
  1347. movl 28(%esp),%edi
  1348. xorl %eax,%ecx
  1349. movl %eax,24(%esp)
  1350. xorl %edi,%eax
  1351. rorl $11,%ecx
  1352. andl %eax,%ebp
  1353. leal 2952996808(%ebx,%edx,1),%edx
  1354. xorl %esi,%ecx
  1355. xorl %edi,%ebp
  1356. movl 80(%esp),%esi
  1357. rorl $2,%ecx
  1358. addl %edx,%ebp
  1359. addl 4(%esp),%edx
  1360. addl %ecx,%ebp
  1361. movl 68(%esp),%ecx
  1362. movl %esi,%ebx
  1363. rorl $11,%esi
  1364. movl %ecx,%edi
  1365. rorl $2,%ecx
  1366. xorl %ebx,%esi
  1367. shrl $3,%ebx
  1368. rorl $7,%esi
  1369. xorl %edi,%ecx
  1370. xorl %esi,%ebx
  1371. rorl $17,%ecx
  1372. addl 76(%esp),%ebx
  1373. shrl $10,%edi
  1374. addl 48(%esp),%ebx
  1375. movl %edx,%esi
  1376. xorl %ecx,%edi
  1377. movl 8(%esp),%ecx
  1378. rorl $14,%edx
  1379. addl %edi,%ebx
  1380. movl 12(%esp),%edi
  1381. xorl %esi,%edx
  1382. movl %ebx,76(%esp)
  1383. xorl %edi,%ecx
  1384. rorl $5,%edx
  1385. andl %esi,%ecx
  1386. movl %esi,4(%esp)
  1387. xorl %esi,%edx
  1388. addl 16(%esp),%ebx
  1389. xorl %ecx,%edi
  1390. rorl $6,%edx
  1391. movl %ebp,%esi
  1392. addl %edi,%ebx
  1393. rorl $9,%esi
  1394. movl %ebp,%ecx
  1395. movl 24(%esp),%edi
  1396. xorl %ebp,%esi
  1397. movl %ebp,20(%esp)
  1398. xorl %edi,%ebp
  1399. rorl $11,%esi
  1400. andl %ebp,%eax
  1401. leal 3210313671(%ebx,%edx,1),%edx
  1402. xorl %ecx,%esi
  1403. xorl %edi,%eax
  1404. movl 84(%esp),%ecx
  1405. rorl $2,%esi
  1406. addl %edx,%eax
  1407. addl (%esp),%edx
  1408. addl %esi,%eax
  1409. movl 72(%esp),%esi
  1410. movl %ecx,%ebx
  1411. rorl $11,%ecx
  1412. movl %esi,%edi
  1413. rorl $2,%esi
  1414. xorl %ebx,%ecx
  1415. shrl $3,%ebx
  1416. rorl $7,%ecx
  1417. xorl %edi,%esi
  1418. xorl %ecx,%ebx
  1419. rorl $17,%esi
  1420. addl 80(%esp),%ebx
  1421. shrl $10,%edi
  1422. addl 52(%esp),%ebx
  1423. movl %edx,%ecx
  1424. xorl %esi,%edi
  1425. movl 4(%esp),%esi
  1426. rorl $14,%edx
  1427. addl %edi,%ebx
  1428. movl 8(%esp),%edi
  1429. xorl %ecx,%edx
  1430. movl %ebx,80(%esp)
  1431. xorl %edi,%esi
  1432. rorl $5,%edx
  1433. andl %ecx,%esi
  1434. movl %ecx,(%esp)
  1435. xorl %ecx,%edx
  1436. addl 12(%esp),%ebx
  1437. xorl %esi,%edi
  1438. rorl $6,%edx
  1439. movl %eax,%ecx
  1440. addl %edi,%ebx
  1441. rorl $9,%ecx
  1442. movl %eax,%esi
  1443. movl 20(%esp),%edi
  1444. xorl %eax,%ecx
  1445. movl %eax,16(%esp)
  1446. xorl %edi,%eax
  1447. rorl $11,%ecx
  1448. andl %eax,%ebp
  1449. leal 3336571891(%ebx,%edx,1),%edx
  1450. xorl %esi,%ecx
  1451. xorl %edi,%ebp
  1452. movl 88(%esp),%esi
  1453. rorl $2,%ecx
  1454. addl %edx,%ebp
  1455. addl 28(%esp),%edx
  1456. addl %ecx,%ebp
  1457. movl 76(%esp),%ecx
  1458. movl %esi,%ebx
  1459. rorl $11,%esi
  1460. movl %ecx,%edi
  1461. rorl $2,%ecx
  1462. xorl %ebx,%esi
  1463. shrl $3,%ebx
  1464. rorl $7,%esi
  1465. xorl %edi,%ecx
  1466. xorl %esi,%ebx
  1467. rorl $17,%ecx
  1468. addl 84(%esp),%ebx
  1469. shrl $10,%edi
  1470. addl 56(%esp),%ebx
  1471. movl %edx,%esi
  1472. xorl %ecx,%edi
  1473. movl (%esp),%ecx
  1474. rorl $14,%edx
  1475. addl %edi,%ebx
  1476. movl 4(%esp),%edi
  1477. xorl %esi,%edx
  1478. movl %ebx,84(%esp)
  1479. xorl %edi,%ecx
  1480. rorl $5,%edx
  1481. andl %esi,%ecx
  1482. movl %esi,28(%esp)
  1483. xorl %esi,%edx
  1484. addl 8(%esp),%ebx
  1485. xorl %ecx,%edi
  1486. rorl $6,%edx
  1487. movl %ebp,%esi
  1488. addl %edi,%ebx
  1489. rorl $9,%esi
  1490. movl %ebp,%ecx
  1491. movl 16(%esp),%edi
  1492. xorl %ebp,%esi
  1493. movl %ebp,12(%esp)
  1494. xorl %edi,%ebp
  1495. rorl $11,%esi
  1496. andl %ebp,%eax
  1497. leal 3584528711(%ebx,%edx,1),%edx
  1498. xorl %ecx,%esi
  1499. xorl %edi,%eax
  1500. movl 92(%esp),%ecx
  1501. rorl $2,%esi
  1502. addl %edx,%eax
  1503. addl 24(%esp),%edx
  1504. addl %esi,%eax
  1505. movl 80(%esp),%esi
  1506. movl %ecx,%ebx
  1507. rorl $11,%ecx
  1508. movl %esi,%edi
  1509. rorl $2,%esi
  1510. xorl %ebx,%ecx
  1511. shrl $3,%ebx
  1512. rorl $7,%ecx
  1513. xorl %edi,%esi
  1514. xorl %ecx,%ebx
  1515. rorl $17,%esi
  1516. addl 88(%esp),%ebx
  1517. shrl $10,%edi
  1518. addl 60(%esp),%ebx
  1519. movl %edx,%ecx
  1520. xorl %esi,%edi
  1521. movl 28(%esp),%esi
  1522. rorl $14,%edx
  1523. addl %edi,%ebx
  1524. movl (%esp),%edi
  1525. xorl %ecx,%edx
  1526. movl %ebx,88(%esp)
  1527. xorl %edi,%esi
  1528. rorl $5,%edx
  1529. andl %ecx,%esi
  1530. movl %ecx,24(%esp)
  1531. xorl %ecx,%edx
  1532. addl 4(%esp),%ebx
  1533. xorl %esi,%edi
  1534. rorl $6,%edx
  1535. movl %eax,%ecx
  1536. addl %edi,%ebx
  1537. rorl $9,%ecx
  1538. movl %eax,%esi
  1539. movl 12(%esp),%edi
  1540. xorl %eax,%ecx
  1541. movl %eax,8(%esp)
  1542. xorl %edi,%eax
  1543. rorl $11,%ecx
  1544. andl %eax,%ebp
  1545. leal 113926993(%ebx,%edx,1),%edx
  1546. xorl %esi,%ecx
  1547. xorl %edi,%ebp
  1548. movl 32(%esp),%esi
  1549. rorl $2,%ecx
  1550. addl %edx,%ebp
  1551. addl 20(%esp),%edx
  1552. addl %ecx,%ebp
  1553. movl 84(%esp),%ecx
  1554. movl %esi,%ebx
  1555. rorl $11,%esi
  1556. movl %ecx,%edi
  1557. rorl $2,%ecx
  1558. xorl %ebx,%esi
  1559. shrl $3,%ebx
  1560. rorl $7,%esi
  1561. xorl %edi,%ecx
  1562. xorl %esi,%ebx
  1563. rorl $17,%ecx
  1564. addl 92(%esp),%ebx
  1565. shrl $10,%edi
  1566. addl 64(%esp),%ebx
  1567. movl %edx,%esi
  1568. xorl %ecx,%edi
  1569. movl 24(%esp),%ecx
  1570. rorl $14,%edx
  1571. addl %edi,%ebx
  1572. movl 28(%esp),%edi
  1573. xorl %esi,%edx
  1574. movl %ebx,92(%esp)
  1575. xorl %edi,%ecx
  1576. rorl $5,%edx
  1577. andl %esi,%ecx
  1578. movl %esi,20(%esp)
  1579. xorl %esi,%edx
  1580. addl (%esp),%ebx
  1581. xorl %ecx,%edi
  1582. rorl $6,%edx
  1583. movl %ebp,%esi
  1584. addl %edi,%ebx
  1585. rorl $9,%esi
  1586. movl %ebp,%ecx
  1587. movl 8(%esp),%edi
  1588. xorl %ebp,%esi
  1589. movl %ebp,4(%esp)
  1590. xorl %edi,%ebp
  1591. rorl $11,%esi
  1592. andl %ebp,%eax
  1593. leal 338241895(%ebx,%edx,1),%edx
  1594. xorl %ecx,%esi
  1595. xorl %edi,%eax
  1596. movl 36(%esp),%ecx
  1597. rorl $2,%esi
  1598. addl %edx,%eax
  1599. addl 16(%esp),%edx
  1600. addl %esi,%eax
  1601. movl 88(%esp),%esi
  1602. movl %ecx,%ebx
  1603. rorl $11,%ecx
  1604. movl %esi,%edi
  1605. rorl $2,%esi
  1606. xorl %ebx,%ecx
  1607. shrl $3,%ebx
  1608. rorl $7,%ecx
  1609. xorl %edi,%esi
  1610. xorl %ecx,%ebx
  1611. rorl $17,%esi
  1612. addl 32(%esp),%ebx
  1613. shrl $10,%edi
  1614. addl 68(%esp),%ebx
  1615. movl %edx,%ecx
  1616. xorl %esi,%edi
  1617. movl 20(%esp),%esi
  1618. rorl $14,%edx
  1619. addl %edi,%ebx
  1620. movl 24(%esp),%edi
  1621. xorl %ecx,%edx
  1622. movl %ebx,32(%esp)
  1623. xorl %edi,%esi
  1624. rorl $5,%edx
  1625. andl %ecx,%esi
  1626. movl %ecx,16(%esp)
  1627. xorl %ecx,%edx
  1628. addl 28(%esp),%ebx
  1629. xorl %esi,%edi
  1630. rorl $6,%edx
  1631. movl %eax,%ecx
  1632. addl %edi,%ebx
  1633. rorl $9,%ecx
  1634. movl %eax,%esi
  1635. movl 4(%esp),%edi
  1636. xorl %eax,%ecx
  1637. movl %eax,(%esp)
  1638. xorl %edi,%eax
  1639. rorl $11,%ecx
  1640. andl %eax,%ebp
  1641. leal 666307205(%ebx,%edx,1),%edx
  1642. xorl %esi,%ecx
  1643. xorl %edi,%ebp
  1644. movl 40(%esp),%esi
  1645. rorl $2,%ecx
  1646. addl %edx,%ebp
  1647. addl 12(%esp),%edx
  1648. addl %ecx,%ebp
  1649. movl 92(%esp),%ecx
  1650. movl %esi,%ebx
  1651. rorl $11,%esi
  1652. movl %ecx,%edi
  1653. rorl $2,%ecx
  1654. xorl %ebx,%esi
  1655. shrl $3,%ebx
  1656. rorl $7,%esi
  1657. xorl %edi,%ecx
  1658. xorl %esi,%ebx
  1659. rorl $17,%ecx
  1660. addl 36(%esp),%ebx
  1661. shrl $10,%edi
  1662. addl 72(%esp),%ebx
  1663. movl %edx,%esi
  1664. xorl %ecx,%edi
  1665. movl 16(%esp),%ecx
  1666. rorl $14,%edx
  1667. addl %edi,%ebx
  1668. movl 20(%esp),%edi
  1669. xorl %esi,%edx
  1670. movl %ebx,36(%esp)
  1671. xorl %edi,%ecx
  1672. rorl $5,%edx
  1673. andl %esi,%ecx
  1674. movl %esi,12(%esp)
  1675. xorl %esi,%edx
  1676. addl 24(%esp),%ebx
  1677. xorl %ecx,%edi
  1678. rorl $6,%edx
  1679. movl %ebp,%esi
  1680. addl %edi,%ebx
  1681. rorl $9,%esi
  1682. movl %ebp,%ecx
  1683. movl (%esp),%edi
  1684. xorl %ebp,%esi
  1685. movl %ebp,28(%esp)
  1686. xorl %edi,%ebp
  1687. rorl $11,%esi
  1688. andl %ebp,%eax
  1689. leal 773529912(%ebx,%edx,1),%edx
  1690. xorl %ecx,%esi
  1691. xorl %edi,%eax
  1692. movl 44(%esp),%ecx
  1693. rorl $2,%esi
  1694. addl %edx,%eax
  1695. addl 8(%esp),%edx
  1696. addl %esi,%eax
  1697. movl 32(%esp),%esi
  1698. movl %ecx,%ebx
  1699. rorl $11,%ecx
  1700. movl %esi,%edi
  1701. rorl $2,%esi
  1702. xorl %ebx,%ecx
  1703. shrl $3,%ebx
  1704. rorl $7,%ecx
  1705. xorl %edi,%esi
  1706. xorl %ecx,%ebx
  1707. rorl $17,%esi
  1708. addl 40(%esp),%ebx
  1709. shrl $10,%edi
  1710. addl 76(%esp),%ebx
  1711. movl %edx,%ecx
  1712. xorl %esi,%edi
  1713. movl 12(%esp),%esi
  1714. rorl $14,%edx
  1715. addl %edi,%ebx
  1716. movl 16(%esp),%edi
  1717. xorl %ecx,%edx
  1718. movl %ebx,40(%esp)
  1719. xorl %edi,%esi
  1720. rorl $5,%edx
  1721. andl %ecx,%esi
  1722. movl %ecx,8(%esp)
  1723. xorl %ecx,%edx
  1724. addl 20(%esp),%ebx
  1725. xorl %esi,%edi
  1726. rorl $6,%edx
  1727. movl %eax,%ecx
  1728. addl %edi,%ebx
  1729. rorl $9,%ecx
  1730. movl %eax,%esi
  1731. movl 28(%esp),%edi
  1732. xorl %eax,%ecx
  1733. movl %eax,24(%esp)
  1734. xorl %edi,%eax
  1735. rorl $11,%ecx
  1736. andl %eax,%ebp
  1737. leal 1294757372(%ebx,%edx,1),%edx
  1738. xorl %esi,%ecx
  1739. xorl %edi,%ebp
  1740. movl 48(%esp),%esi
  1741. rorl $2,%ecx
  1742. addl %edx,%ebp
  1743. addl 4(%esp),%edx
  1744. addl %ecx,%ebp
  1745. movl 36(%esp),%ecx
  1746. movl %esi,%ebx
  1747. rorl $11,%esi
  1748. movl %ecx,%edi
  1749. rorl $2,%ecx
  1750. xorl %ebx,%esi
  1751. shrl $3,%ebx
  1752. rorl $7,%esi
  1753. xorl %edi,%ecx
  1754. xorl %esi,%ebx
  1755. rorl $17,%ecx
  1756. addl 44(%esp),%ebx
  1757. shrl $10,%edi
  1758. addl 80(%esp),%ebx
  1759. movl %edx,%esi
  1760. xorl %ecx,%edi
  1761. movl 8(%esp),%ecx
  1762. rorl $14,%edx
  1763. addl %edi,%ebx
  1764. movl 12(%esp),%edi
  1765. xorl %esi,%edx
  1766. movl %ebx,44(%esp)
  1767. xorl %edi,%ecx
  1768. rorl $5,%edx
  1769. andl %esi,%ecx
  1770. movl %esi,4(%esp)
  1771. xorl %esi,%edx
  1772. addl 16(%esp),%ebx
  1773. xorl %ecx,%edi
  1774. rorl $6,%edx
  1775. movl %ebp,%esi
  1776. addl %edi,%ebx
  1777. rorl $9,%esi
  1778. movl %ebp,%ecx
  1779. movl 24(%esp),%edi
  1780. xorl %ebp,%esi
  1781. movl %ebp,20(%esp)
  1782. xorl %edi,%ebp
  1783. rorl $11,%esi
  1784. andl %ebp,%eax
  1785. leal 1396182291(%ebx,%edx,1),%edx
  1786. xorl %ecx,%esi
  1787. xorl %edi,%eax
  1788. movl 52(%esp),%ecx
  1789. rorl $2,%esi
  1790. addl %edx,%eax
  1791. addl (%esp),%edx
  1792. addl %esi,%eax
  1793. movl 40(%esp),%esi
  1794. movl %ecx,%ebx
  1795. rorl $11,%ecx
  1796. movl %esi,%edi
  1797. rorl $2,%esi
  1798. xorl %ebx,%ecx
  1799. shrl $3,%ebx
  1800. rorl $7,%ecx
  1801. xorl %edi,%esi
  1802. xorl %ecx,%ebx
  1803. rorl $17,%esi
  1804. addl 48(%esp),%ebx
  1805. shrl $10,%edi
  1806. addl 84(%esp),%ebx
  1807. movl %edx,%ecx
  1808. xorl %esi,%edi
  1809. movl 4(%esp),%esi
  1810. rorl $14,%edx
  1811. addl %edi,%ebx
  1812. movl 8(%esp),%edi
  1813. xorl %ecx,%edx
  1814. movl %ebx,48(%esp)
  1815. xorl %edi,%esi
  1816. rorl $5,%edx
  1817. andl %ecx,%esi
  1818. movl %ecx,(%esp)
  1819. xorl %ecx,%edx
  1820. addl 12(%esp),%ebx
  1821. xorl %esi,%edi
  1822. rorl $6,%edx
  1823. movl %eax,%ecx
  1824. addl %edi,%ebx
  1825. rorl $9,%ecx
  1826. movl %eax,%esi
  1827. movl 20(%esp),%edi
  1828. xorl %eax,%ecx
  1829. movl %eax,16(%esp)
  1830. xorl %edi,%eax
  1831. rorl $11,%ecx
  1832. andl %eax,%ebp
  1833. leal 1695183700(%ebx,%edx,1),%edx
  1834. xorl %esi,%ecx
  1835. xorl %edi,%ebp
  1836. movl 56(%esp),%esi
  1837. rorl $2,%ecx
  1838. addl %edx,%ebp
  1839. addl 28(%esp),%edx
  1840. addl %ecx,%ebp
  1841. movl 44(%esp),%ecx
  1842. movl %esi,%ebx
  1843. rorl $11,%esi
  1844. movl %ecx,%edi
  1845. rorl $2,%ecx
  1846. xorl %ebx,%esi
  1847. shrl $3,%ebx
  1848. rorl $7,%esi
  1849. xorl %edi,%ecx
  1850. xorl %esi,%ebx
  1851. rorl $17,%ecx
  1852. addl 52(%esp),%ebx
  1853. shrl $10,%edi
  1854. addl 88(%esp),%ebx
  1855. movl %edx,%esi
  1856. xorl %ecx,%edi
  1857. movl (%esp),%ecx
  1858. rorl $14,%edx
  1859. addl %edi,%ebx
  1860. movl 4(%esp),%edi
  1861. xorl %esi,%edx
  1862. movl %ebx,52(%esp)
  1863. xorl %edi,%ecx
  1864. rorl $5,%edx
  1865. andl %esi,%ecx
  1866. movl %esi,28(%esp)
  1867. xorl %esi,%edx
  1868. addl 8(%esp),%ebx
  1869. xorl %ecx,%edi
  1870. rorl $6,%edx
  1871. movl %ebp,%esi
  1872. addl %edi,%ebx
  1873. rorl $9,%esi
  1874. movl %ebp,%ecx
  1875. movl 16(%esp),%edi
  1876. xorl %ebp,%esi
  1877. movl %ebp,12(%esp)
  1878. xorl %edi,%ebp
  1879. rorl $11,%esi
  1880. andl %ebp,%eax
  1881. leal 1986661051(%ebx,%edx,1),%edx
  1882. xorl %ecx,%esi
  1883. xorl %edi,%eax
  1884. movl 60(%esp),%ecx
  1885. rorl $2,%esi
  1886. addl %edx,%eax
  1887. addl 24(%esp),%edx
  1888. addl %esi,%eax
  1889. movl 48(%esp),%esi
  1890. movl %ecx,%ebx
  1891. rorl $11,%ecx
  1892. movl %esi,%edi
  1893. rorl $2,%esi
  1894. xorl %ebx,%ecx
  1895. shrl $3,%ebx
  1896. rorl $7,%ecx
  1897. xorl %edi,%esi
  1898. xorl %ecx,%ebx
  1899. rorl $17,%esi
  1900. addl 56(%esp),%ebx
  1901. shrl $10,%edi
  1902. addl 92(%esp),%ebx
  1903. movl %edx,%ecx
  1904. xorl %esi,%edi
  1905. movl 28(%esp),%esi
  1906. rorl $14,%edx
  1907. addl %edi,%ebx
  1908. movl (%esp),%edi
  1909. xorl %ecx,%edx
  1910. movl %ebx,56(%esp)
  1911. xorl %edi,%esi
  1912. rorl $5,%edx
  1913. andl %ecx,%esi
  1914. movl %ecx,24(%esp)
  1915. xorl %ecx,%edx
  1916. addl 4(%esp),%ebx
  1917. xorl %esi,%edi
  1918. rorl $6,%edx
  1919. movl %eax,%ecx
  1920. addl %edi,%ebx
  1921. rorl $9,%ecx
  1922. movl %eax,%esi
  1923. movl 12(%esp),%edi
  1924. xorl %eax,%ecx
  1925. movl %eax,8(%esp)
  1926. xorl %edi,%eax
  1927. rorl $11,%ecx
  1928. andl %eax,%ebp
  1929. leal 2177026350(%ebx,%edx,1),%edx
  1930. xorl %esi,%ecx
  1931. xorl %edi,%ebp
  1932. movl 64(%esp),%esi
  1933. rorl $2,%ecx
  1934. addl %edx,%ebp
  1935. addl 20(%esp),%edx
  1936. addl %ecx,%ebp
  1937. movl 52(%esp),%ecx
  1938. movl %esi,%ebx
  1939. rorl $11,%esi
  1940. movl %ecx,%edi
  1941. rorl $2,%ecx
  1942. xorl %ebx,%esi
  1943. shrl $3,%ebx
  1944. rorl $7,%esi
  1945. xorl %edi,%ecx
  1946. xorl %esi,%ebx
  1947. rorl $17,%ecx
  1948. addl 60(%esp),%ebx
  1949. shrl $10,%edi
  1950. addl 32(%esp),%ebx
  1951. movl %edx,%esi
  1952. xorl %ecx,%edi
  1953. movl 24(%esp),%ecx
  1954. rorl $14,%edx
  1955. addl %edi,%ebx
  1956. movl 28(%esp),%edi
  1957. xorl %esi,%edx
  1958. movl %ebx,60(%esp)
  1959. xorl %edi,%ecx
  1960. rorl $5,%edx
  1961. andl %esi,%ecx
  1962. movl %esi,20(%esp)
  1963. xorl %esi,%edx
  1964. addl (%esp),%ebx
  1965. xorl %ecx,%edi
  1966. rorl $6,%edx
  1967. movl %ebp,%esi
  1968. addl %edi,%ebx
  1969. rorl $9,%esi
  1970. movl %ebp,%ecx
  1971. movl 8(%esp),%edi
  1972. xorl %ebp,%esi
  1973. movl %ebp,4(%esp)
  1974. xorl %edi,%ebp
  1975. rorl $11,%esi
  1976. andl %ebp,%eax
  1977. leal 2456956037(%ebx,%edx,1),%edx
  1978. xorl %ecx,%esi
  1979. xorl %edi,%eax
  1980. movl 68(%esp),%ecx
  1981. rorl $2,%esi
  1982. addl %edx,%eax
  1983. addl 16(%esp),%edx
  1984. addl %esi,%eax
  1985. movl 56(%esp),%esi
  1986. movl %ecx,%ebx
  1987. rorl $11,%ecx
  1988. movl %esi,%edi
  1989. rorl $2,%esi
  1990. xorl %ebx,%ecx
  1991. shrl $3,%ebx
  1992. rorl $7,%ecx
  1993. xorl %edi,%esi
  1994. xorl %ecx,%ebx
  1995. rorl $17,%esi
  1996. addl 64(%esp),%ebx
  1997. shrl $10,%edi
  1998. addl 36(%esp),%ebx
  1999. movl %edx,%ecx
  2000. xorl %esi,%edi
  2001. movl 20(%esp),%esi
  2002. rorl $14,%edx
  2003. addl %edi,%ebx
  2004. movl 24(%esp),%edi
  2005. xorl %ecx,%edx
  2006. movl %ebx,64(%esp)
  2007. xorl %edi,%esi
  2008. rorl $5,%edx
  2009. andl %ecx,%esi
  2010. movl %ecx,16(%esp)
  2011. xorl %ecx,%edx
  2012. addl 28(%esp),%ebx
  2013. xorl %esi,%edi
  2014. rorl $6,%edx
  2015. movl %eax,%ecx
  2016. addl %edi,%ebx
  2017. rorl $9,%ecx
  2018. movl %eax,%esi
  2019. movl 4(%esp),%edi
  2020. xorl %eax,%ecx
  2021. movl %eax,(%esp)
  2022. xorl %edi,%eax
  2023. rorl $11,%ecx
  2024. andl %eax,%ebp
  2025. leal 2730485921(%ebx,%edx,1),%edx
  2026. xorl %esi,%ecx
  2027. xorl %edi,%ebp
  2028. movl 72(%esp),%esi
  2029. rorl $2,%ecx
  2030. addl %edx,%ebp
  2031. addl 12(%esp),%edx
  2032. addl %ecx,%ebp
  2033. movl 60(%esp),%ecx
  2034. movl %esi,%ebx
  2035. rorl $11,%esi
  2036. movl %ecx,%edi
  2037. rorl $2,%ecx
  2038. xorl %ebx,%esi
  2039. shrl $3,%ebx
  2040. rorl $7,%esi
  2041. xorl %edi,%ecx
  2042. xorl %esi,%ebx
  2043. rorl $17,%ecx
  2044. addl 68(%esp),%ebx
  2045. shrl $10,%edi
  2046. addl 40(%esp),%ebx
  2047. movl %edx,%esi
  2048. xorl %ecx,%edi
  2049. movl 16(%esp),%ecx
  2050. rorl $14,%edx
  2051. addl %edi,%ebx
  2052. movl 20(%esp),%edi
  2053. xorl %esi,%edx
  2054. movl %ebx,68(%esp)
  2055. xorl %edi,%ecx
  2056. rorl $5,%edx
  2057. andl %esi,%ecx
  2058. movl %esi,12(%esp)
  2059. xorl %esi,%edx
  2060. addl 24(%esp),%ebx
  2061. xorl %ecx,%edi
  2062. rorl $6,%edx
  2063. movl %ebp,%esi
  2064. addl %edi,%ebx
  2065. rorl $9,%esi
  2066. movl %ebp,%ecx
  2067. movl (%esp),%edi
  2068. xorl %ebp,%esi
  2069. movl %ebp,28(%esp)
  2070. xorl %edi,%ebp
  2071. rorl $11,%esi
  2072. andl %ebp,%eax
  2073. leal 2820302411(%ebx,%edx,1),%edx
  2074. xorl %ecx,%esi
  2075. xorl %edi,%eax
  2076. movl 76(%esp),%ecx
  2077. rorl $2,%esi
  2078. addl %edx,%eax
  2079. addl 8(%esp),%edx
  2080. addl %esi,%eax
  2081. movl 64(%esp),%esi
  2082. movl %ecx,%ebx
  2083. rorl $11,%ecx
  2084. movl %esi,%edi
  2085. rorl $2,%esi
  2086. xorl %ebx,%ecx
  2087. shrl $3,%ebx
  2088. rorl $7,%ecx
  2089. xorl %edi,%esi
  2090. xorl %ecx,%ebx
  2091. rorl $17,%esi
  2092. addl 72(%esp),%ebx
  2093. shrl $10,%edi
  2094. addl 44(%esp),%ebx
  2095. movl %edx,%ecx
  2096. xorl %esi,%edi
  2097. movl 12(%esp),%esi
  2098. rorl $14,%edx
  2099. addl %edi,%ebx
  2100. movl 16(%esp),%edi
  2101. xorl %ecx,%edx
  2102. movl %ebx,72(%esp)
  2103. xorl %edi,%esi
  2104. rorl $5,%edx
  2105. andl %ecx,%esi
  2106. movl %ecx,8(%esp)
  2107. xorl %ecx,%edx
  2108. addl 20(%esp),%ebx
  2109. xorl %esi,%edi
  2110. rorl $6,%edx
  2111. movl %eax,%ecx
  2112. addl %edi,%ebx
  2113. rorl $9,%ecx
  2114. movl %eax,%esi
  2115. movl 28(%esp),%edi
  2116. xorl %eax,%ecx
  2117. movl %eax,24(%esp)
  2118. xorl %edi,%eax
  2119. rorl $11,%ecx
  2120. andl %eax,%ebp
  2121. leal 3259730800(%ebx,%edx,1),%edx
  2122. xorl %esi,%ecx
  2123. xorl %edi,%ebp
  2124. movl 80(%esp),%esi
  2125. rorl $2,%ecx
  2126. addl %edx,%ebp
  2127. addl 4(%esp),%edx
  2128. addl %ecx,%ebp
  2129. movl 68(%esp),%ecx
  2130. movl %esi,%ebx
  2131. rorl $11,%esi
  2132. movl %ecx,%edi
  2133. rorl $2,%ecx
  2134. xorl %ebx,%esi
  2135. shrl $3,%ebx
  2136. rorl $7,%esi
  2137. xorl %edi,%ecx
  2138. xorl %esi,%ebx
  2139. rorl $17,%ecx
  2140. addl 76(%esp),%ebx
  2141. shrl $10,%edi
  2142. addl 48(%esp),%ebx
  2143. movl %edx,%esi
  2144. xorl %ecx,%edi
  2145. movl 8(%esp),%ecx
  2146. rorl $14,%edx
  2147. addl %edi,%ebx
  2148. movl 12(%esp),%edi
  2149. xorl %esi,%edx
  2150. movl %ebx,76(%esp)
  2151. xorl %edi,%ecx
  2152. rorl $5,%edx
  2153. andl %esi,%ecx
  2154. movl %esi,4(%esp)
  2155. xorl %esi,%edx
  2156. addl 16(%esp),%ebx
  2157. xorl %ecx,%edi
  2158. rorl $6,%edx
  2159. movl %ebp,%esi
  2160. addl %edi,%ebx
  2161. rorl $9,%esi
  2162. movl %ebp,%ecx
  2163. movl 24(%esp),%edi
  2164. xorl %ebp,%esi
  2165. movl %ebp,20(%esp)
  2166. xorl %edi,%ebp
  2167. rorl $11,%esi
  2168. andl %ebp,%eax
  2169. leal 3345764771(%ebx,%edx,1),%edx
  2170. xorl %ecx,%esi
  2171. xorl %edi,%eax
  2172. movl 84(%esp),%ecx
  2173. rorl $2,%esi
  2174. addl %edx,%eax
  2175. addl (%esp),%edx
  2176. addl %esi,%eax
  2177. movl 72(%esp),%esi
  2178. movl %ecx,%ebx
  2179. rorl $11,%ecx
  2180. movl %esi,%edi
  2181. rorl $2,%esi
  2182. xorl %ebx,%ecx
  2183. shrl $3,%ebx
  2184. rorl $7,%ecx
  2185. xorl %edi,%esi
  2186. xorl %ecx,%ebx
  2187. rorl $17,%esi
  2188. addl 80(%esp),%ebx
  2189. shrl $10,%edi
  2190. addl 52(%esp),%ebx
  2191. movl %edx,%ecx
  2192. xorl %esi,%edi
  2193. movl 4(%esp),%esi
  2194. rorl $14,%edx
  2195. addl %edi,%ebx
  2196. movl 8(%esp),%edi
  2197. xorl %ecx,%edx
  2198. movl %ebx,80(%esp)
  2199. xorl %edi,%esi
  2200. rorl $5,%edx
  2201. andl %ecx,%esi
  2202. movl %ecx,(%esp)
  2203. xorl %ecx,%edx
  2204. addl 12(%esp),%ebx
  2205. xorl %esi,%edi
  2206. rorl $6,%edx
  2207. movl %eax,%ecx
  2208. addl %edi,%ebx
  2209. rorl $9,%ecx
  2210. movl %eax,%esi
  2211. movl 20(%esp),%edi
  2212. xorl %eax,%ecx
  2213. movl %eax,16(%esp)
  2214. xorl %edi,%eax
  2215. rorl $11,%ecx
  2216. andl %eax,%ebp
  2217. leal 3516065817(%ebx,%edx,1),%edx
  2218. xorl %esi,%ecx
  2219. xorl %edi,%ebp
  2220. movl 88(%esp),%esi
  2221. rorl $2,%ecx
  2222. addl %edx,%ebp
  2223. addl 28(%esp),%edx
  2224. addl %ecx,%ebp
  2225. movl 76(%esp),%ecx
  2226. movl %esi,%ebx
  2227. rorl $11,%esi
  2228. movl %ecx,%edi
  2229. rorl $2,%ecx
  2230. xorl %ebx,%esi
  2231. shrl $3,%ebx
  2232. rorl $7,%esi
  2233. xorl %edi,%ecx
  2234. xorl %esi,%ebx
  2235. rorl $17,%ecx
  2236. addl 84(%esp),%ebx
  2237. shrl $10,%edi
  2238. addl 56(%esp),%ebx
  2239. movl %edx,%esi
  2240. xorl %ecx,%edi
  2241. movl (%esp),%ecx
  2242. rorl $14,%edx
  2243. addl %edi,%ebx
  2244. movl 4(%esp),%edi
  2245. xorl %esi,%edx
  2246. movl %ebx,84(%esp)
  2247. xorl %edi,%ecx
  2248. rorl $5,%edx
  2249. andl %esi,%ecx
  2250. movl %esi,28(%esp)
  2251. xorl %esi,%edx
  2252. addl 8(%esp),%ebx
  2253. xorl %ecx,%edi
  2254. rorl $6,%edx
  2255. movl %ebp,%esi
  2256. addl %edi,%ebx
  2257. rorl $9,%esi
  2258. movl %ebp,%ecx
  2259. movl 16(%esp),%edi
  2260. xorl %ebp,%esi
  2261. movl %ebp,12(%esp)
  2262. xorl %edi,%ebp
  2263. rorl $11,%esi
  2264. andl %ebp,%eax
  2265. leal 3600352804(%ebx,%edx,1),%edx
  2266. xorl %ecx,%esi
  2267. xorl %edi,%eax
  2268. movl 92(%esp),%ecx
  2269. rorl $2,%esi
  2270. addl %edx,%eax
  2271. addl 24(%esp),%edx
  2272. addl %esi,%eax
  2273. movl 80(%esp),%esi
  2274. movl %ecx,%ebx
  2275. rorl $11,%ecx
  2276. movl %esi,%edi
  2277. rorl $2,%esi
  2278. xorl %ebx,%ecx
  2279. shrl $3,%ebx
  2280. rorl $7,%ecx
  2281. xorl %edi,%esi
  2282. xorl %ecx,%ebx
  2283. rorl $17,%esi
  2284. addl 88(%esp),%ebx
  2285. shrl $10,%edi
  2286. addl 60(%esp),%ebx
  2287. movl %edx,%ecx
  2288. xorl %esi,%edi
  2289. movl 28(%esp),%esi
  2290. rorl $14,%edx
  2291. addl %edi,%ebx
  2292. movl (%esp),%edi
  2293. xorl %ecx,%edx
  2294. movl %ebx,88(%esp)
  2295. xorl %edi,%esi
  2296. rorl $5,%edx
  2297. andl %ecx,%esi
  2298. movl %ecx,24(%esp)
  2299. xorl %ecx,%edx
  2300. addl 4(%esp),%ebx
  2301. xorl %esi,%edi
  2302. rorl $6,%edx
  2303. movl %eax,%ecx
  2304. addl %edi,%ebx
  2305. rorl $9,%ecx
  2306. movl %eax,%esi
  2307. movl 12(%esp),%edi
  2308. xorl %eax,%ecx
  2309. movl %eax,8(%esp)
  2310. xorl %edi,%eax
  2311. rorl $11,%ecx
  2312. andl %eax,%ebp
  2313. leal 4094571909(%ebx,%edx,1),%edx
  2314. xorl %esi,%ecx
  2315. xorl %edi,%ebp
  2316. movl 32(%esp),%esi
  2317. rorl $2,%ecx
  2318. addl %edx,%ebp
  2319. addl 20(%esp),%edx
  2320. addl %ecx,%ebp
  2321. movl 84(%esp),%ecx
  2322. movl %esi,%ebx
  2323. rorl $11,%esi
  2324. movl %ecx,%edi
  2325. rorl $2,%ecx
  2326. xorl %ebx,%esi
  2327. shrl $3,%ebx
  2328. rorl $7,%esi
  2329. xorl %edi,%ecx
  2330. xorl %esi,%ebx
  2331. rorl $17,%ecx
  2332. addl 92(%esp),%ebx
  2333. shrl $10,%edi
  2334. addl 64(%esp),%ebx
  2335. movl %edx,%esi
  2336. xorl %ecx,%edi
  2337. movl 24(%esp),%ecx
  2338. rorl $14,%edx
  2339. addl %edi,%ebx
  2340. movl 28(%esp),%edi
  2341. xorl %esi,%edx
  2342. movl %ebx,92(%esp)
  2343. xorl %edi,%ecx
  2344. rorl $5,%edx
  2345. andl %esi,%ecx
  2346. movl %esi,20(%esp)
  2347. xorl %esi,%edx
  2348. addl (%esp),%ebx
  2349. xorl %ecx,%edi
  2350. rorl $6,%edx
  2351. movl %ebp,%esi
  2352. addl %edi,%ebx
  2353. rorl $9,%esi
  2354. movl %ebp,%ecx
  2355. movl 8(%esp),%edi
  2356. xorl %ebp,%esi
  2357. movl %ebp,4(%esp)
  2358. xorl %edi,%ebp
  2359. rorl $11,%esi
  2360. andl %ebp,%eax
  2361. leal 275423344(%ebx,%edx,1),%edx
  2362. xorl %ecx,%esi
  2363. xorl %edi,%eax
  2364. movl 36(%esp),%ecx
  2365. rorl $2,%esi
  2366. addl %edx,%eax
  2367. addl 16(%esp),%edx
  2368. addl %esi,%eax
  2369. movl 88(%esp),%esi
  2370. movl %ecx,%ebx
  2371. rorl $11,%ecx
  2372. movl %esi,%edi
  2373. rorl $2,%esi
  2374. xorl %ebx,%ecx
  2375. shrl $3,%ebx
  2376. rorl $7,%ecx
  2377. xorl %edi,%esi
  2378. xorl %ecx,%ebx
  2379. rorl $17,%esi
  2380. addl 32(%esp),%ebx
  2381. shrl $10,%edi
  2382. addl 68(%esp),%ebx
  2383. movl %edx,%ecx
  2384. xorl %esi,%edi
  2385. movl 20(%esp),%esi
  2386. rorl $14,%edx
  2387. addl %edi,%ebx
  2388. movl 24(%esp),%edi
  2389. xorl %ecx,%edx
  2390. movl %ebx,32(%esp)
  2391. xorl %edi,%esi
  2392. rorl $5,%edx
  2393. andl %ecx,%esi
  2394. movl %ecx,16(%esp)
  2395. xorl %ecx,%edx
  2396. addl 28(%esp),%ebx
  2397. xorl %esi,%edi
  2398. rorl $6,%edx
  2399. movl %eax,%ecx
  2400. addl %edi,%ebx
  2401. rorl $9,%ecx
  2402. movl %eax,%esi
  2403. movl 4(%esp),%edi
  2404. xorl %eax,%ecx
  2405. movl %eax,(%esp)
  2406. xorl %edi,%eax
  2407. rorl $11,%ecx
  2408. andl %eax,%ebp
  2409. leal 430227734(%ebx,%edx,1),%edx
  2410. xorl %esi,%ecx
  2411. xorl %edi,%ebp
  2412. movl 40(%esp),%esi
  2413. rorl $2,%ecx
  2414. addl %edx,%ebp
  2415. addl 12(%esp),%edx
  2416. addl %ecx,%ebp
  2417. movl 92(%esp),%ecx
  2418. movl %esi,%ebx
  2419. rorl $11,%esi
  2420. movl %ecx,%edi
  2421. rorl $2,%ecx
  2422. xorl %ebx,%esi
  2423. shrl $3,%ebx
  2424. rorl $7,%esi
  2425. xorl %edi,%ecx
  2426. xorl %esi,%ebx
  2427. rorl $17,%ecx
  2428. addl 36(%esp),%ebx
  2429. shrl $10,%edi
  2430. addl 72(%esp),%ebx
  2431. movl %edx,%esi
  2432. xorl %ecx,%edi
  2433. movl 16(%esp),%ecx
  2434. rorl $14,%edx
  2435. addl %edi,%ebx
  2436. movl 20(%esp),%edi
  2437. xorl %esi,%edx
  2438. movl %ebx,36(%esp)
  2439. xorl %edi,%ecx
  2440. rorl $5,%edx
  2441. andl %esi,%ecx
  2442. movl %esi,12(%esp)
  2443. xorl %esi,%edx
  2444. addl 24(%esp),%ebx
  2445. xorl %ecx,%edi
  2446. rorl $6,%edx
  2447. movl %ebp,%esi
  2448. addl %edi,%ebx
  2449. rorl $9,%esi
  2450. movl %ebp,%ecx
  2451. movl (%esp),%edi
  2452. xorl %ebp,%esi
  2453. movl %ebp,28(%esp)
  2454. xorl %edi,%ebp
  2455. rorl $11,%esi
  2456. andl %ebp,%eax
  2457. leal 506948616(%ebx,%edx,1),%edx
  2458. xorl %ecx,%esi
  2459. xorl %edi,%eax
  2460. movl 44(%esp),%ecx
  2461. rorl $2,%esi
  2462. addl %edx,%eax
  2463. addl 8(%esp),%edx
  2464. addl %esi,%eax
  2465. movl 32(%esp),%esi
  2466. movl %ecx,%ebx
  2467. rorl $11,%ecx
  2468. movl %esi,%edi
  2469. rorl $2,%esi
  2470. xorl %ebx,%ecx
  2471. shrl $3,%ebx
  2472. rorl $7,%ecx
  2473. xorl %edi,%esi
  2474. xorl %ecx,%ebx
  2475. rorl $17,%esi
  2476. addl 40(%esp),%ebx
  2477. shrl $10,%edi
  2478. addl 76(%esp),%ebx
  2479. movl %edx,%ecx
  2480. xorl %esi,%edi
  2481. movl 12(%esp),%esi
  2482. rorl $14,%edx
  2483. addl %edi,%ebx
  2484. movl 16(%esp),%edi
  2485. xorl %ecx,%edx
  2486. movl %ebx,40(%esp)
  2487. xorl %edi,%esi
  2488. rorl $5,%edx
  2489. andl %ecx,%esi
  2490. movl %ecx,8(%esp)
  2491. xorl %ecx,%edx
  2492. addl 20(%esp),%ebx
  2493. xorl %esi,%edi
  2494. rorl $6,%edx
  2495. movl %eax,%ecx
  2496. addl %edi,%ebx
  2497. rorl $9,%ecx
  2498. movl %eax,%esi
  2499. movl 28(%esp),%edi
  2500. xorl %eax,%ecx
  2501. movl %eax,24(%esp)
  2502. xorl %edi,%eax
  2503. rorl $11,%ecx
  2504. andl %eax,%ebp
  2505. leal 659060556(%ebx,%edx,1),%edx
  2506. xorl %esi,%ecx
  2507. xorl %edi,%ebp
  2508. movl 48(%esp),%esi
  2509. rorl $2,%ecx
  2510. addl %edx,%ebp
  2511. addl 4(%esp),%edx
  2512. addl %ecx,%ebp
  2513. movl 36(%esp),%ecx
  2514. movl %esi,%ebx
  2515. rorl $11,%esi
  2516. movl %ecx,%edi
  2517. rorl $2,%ecx
  2518. xorl %ebx,%esi
  2519. shrl $3,%ebx
  2520. rorl $7,%esi
  2521. xorl %edi,%ecx
  2522. xorl %esi,%ebx
  2523. rorl $17,%ecx
  2524. addl 44(%esp),%ebx
  2525. shrl $10,%edi
  2526. addl 80(%esp),%ebx
  2527. movl %edx,%esi
  2528. xorl %ecx,%edi
  2529. movl 8(%esp),%ecx
  2530. rorl $14,%edx
  2531. addl %edi,%ebx
  2532. movl 12(%esp),%edi
  2533. xorl %esi,%edx
  2534. movl %ebx,44(%esp)
  2535. xorl %edi,%ecx
  2536. rorl $5,%edx
  2537. andl %esi,%ecx
  2538. movl %esi,4(%esp)
  2539. xorl %esi,%edx
  2540. addl 16(%esp),%ebx
  2541. xorl %ecx,%edi
  2542. rorl $6,%edx
  2543. movl %ebp,%esi
  2544. addl %edi,%ebx
  2545. rorl $9,%esi
  2546. movl %ebp,%ecx
  2547. movl 24(%esp),%edi
  2548. xorl %ebp,%esi
  2549. movl %ebp,20(%esp)
  2550. xorl %edi,%ebp
  2551. rorl $11,%esi
  2552. andl %ebp,%eax
  2553. leal 883997877(%ebx,%edx,1),%edx
  2554. xorl %ecx,%esi
  2555. xorl %edi,%eax
  2556. movl 52(%esp),%ecx
  2557. rorl $2,%esi
  2558. addl %edx,%eax
  2559. addl (%esp),%edx
  2560. addl %esi,%eax
  2561. movl 40(%esp),%esi
  2562. movl %ecx,%ebx
  2563. rorl $11,%ecx
  2564. movl %esi,%edi
  2565. rorl $2,%esi
  2566. xorl %ebx,%ecx
  2567. shrl $3,%ebx
  2568. rorl $7,%ecx
  2569. xorl %edi,%esi
  2570. xorl %ecx,%ebx
  2571. rorl $17,%esi
  2572. addl 48(%esp),%ebx
  2573. shrl $10,%edi
  2574. addl 84(%esp),%ebx
  2575. movl %edx,%ecx
  2576. xorl %esi,%edi
  2577. movl 4(%esp),%esi
  2578. rorl $14,%edx
  2579. addl %edi,%ebx
  2580. movl 8(%esp),%edi
  2581. xorl %ecx,%edx
  2582. movl %ebx,48(%esp)
  2583. xorl %edi,%esi
  2584. rorl $5,%edx
  2585. andl %ecx,%esi
  2586. movl %ecx,(%esp)
  2587. xorl %ecx,%edx
  2588. addl 12(%esp),%ebx
  2589. xorl %esi,%edi
  2590. rorl $6,%edx
  2591. movl %eax,%ecx
  2592. addl %edi,%ebx
  2593. rorl $9,%ecx
  2594. movl %eax,%esi
  2595. movl 20(%esp),%edi
  2596. xorl %eax,%ecx
  2597. movl %eax,16(%esp)
  2598. xorl %edi,%eax
  2599. rorl $11,%ecx
  2600. andl %eax,%ebp
  2601. leal 958139571(%ebx,%edx,1),%edx
  2602. xorl %esi,%ecx
  2603. xorl %edi,%ebp
  2604. movl 56(%esp),%esi
  2605. rorl $2,%ecx
  2606. addl %edx,%ebp
  2607. addl 28(%esp),%edx
  2608. addl %ecx,%ebp
  2609. movl 44(%esp),%ecx
  2610. movl %esi,%ebx
  2611. rorl $11,%esi
  2612. movl %ecx,%edi
  2613. rorl $2,%ecx
  2614. xorl %ebx,%esi
  2615. shrl $3,%ebx
  2616. rorl $7,%esi
  2617. xorl %edi,%ecx
  2618. xorl %esi,%ebx
  2619. rorl $17,%ecx
  2620. addl 52(%esp),%ebx
  2621. shrl $10,%edi
  2622. addl 88(%esp),%ebx
  2623. movl %edx,%esi
  2624. xorl %ecx,%edi
  2625. movl (%esp),%ecx
  2626. rorl $14,%edx
  2627. addl %edi,%ebx
  2628. movl 4(%esp),%edi
  2629. xorl %esi,%edx
  2630. movl %ebx,52(%esp)
  2631. xorl %edi,%ecx
  2632. rorl $5,%edx
  2633. andl %esi,%ecx
  2634. movl %esi,28(%esp)
  2635. xorl %esi,%edx
  2636. addl 8(%esp),%ebx
  2637. xorl %ecx,%edi
  2638. rorl $6,%edx
  2639. movl %ebp,%esi
  2640. addl %edi,%ebx
  2641. rorl $9,%esi
  2642. movl %ebp,%ecx
  2643. movl 16(%esp),%edi
  2644. xorl %ebp,%esi
  2645. movl %ebp,12(%esp)
  2646. xorl %edi,%ebp
  2647. rorl $11,%esi
  2648. andl %ebp,%eax
  2649. leal 1322822218(%ebx,%edx,1),%edx
  2650. xorl %ecx,%esi
  2651. xorl %edi,%eax
  2652. movl 60(%esp),%ecx
  2653. rorl $2,%esi
  2654. addl %edx,%eax
  2655. addl 24(%esp),%edx
  2656. addl %esi,%eax
  2657. movl 48(%esp),%esi
  2658. movl %ecx,%ebx
  2659. rorl $11,%ecx
  2660. movl %esi,%edi
  2661. rorl $2,%esi
  2662. xorl %ebx,%ecx
  2663. shrl $3,%ebx
  2664. rorl $7,%ecx
  2665. xorl %edi,%esi
  2666. xorl %ecx,%ebx
  2667. rorl $17,%esi
  2668. addl 56(%esp),%ebx
  2669. shrl $10,%edi
  2670. addl 92(%esp),%ebx
  2671. movl %edx,%ecx
  2672. xorl %esi,%edi
  2673. movl 28(%esp),%esi
  2674. rorl $14,%edx
  2675. addl %edi,%ebx
  2676. movl (%esp),%edi
  2677. xorl %ecx,%edx
  2678. movl %ebx,56(%esp)
  2679. xorl %edi,%esi
  2680. rorl $5,%edx
  2681. andl %ecx,%esi
  2682. movl %ecx,24(%esp)
  2683. xorl %ecx,%edx
  2684. addl 4(%esp),%ebx
  2685. xorl %esi,%edi
  2686. rorl $6,%edx
  2687. movl %eax,%ecx
  2688. addl %edi,%ebx
  2689. rorl $9,%ecx
  2690. movl %eax,%esi
  2691. movl 12(%esp),%edi
  2692. xorl %eax,%ecx
  2693. movl %eax,8(%esp)
  2694. xorl %edi,%eax
  2695. rorl $11,%ecx
  2696. andl %eax,%ebp
  2697. leal 1537002063(%ebx,%edx,1),%edx
  2698. xorl %esi,%ecx
  2699. xorl %edi,%ebp
  2700. movl 64(%esp),%esi
  2701. rorl $2,%ecx
  2702. addl %edx,%ebp
  2703. addl 20(%esp),%edx
  2704. addl %ecx,%ebp
  2705. movl 52(%esp),%ecx
  2706. movl %esi,%ebx
  2707. rorl $11,%esi
  2708. movl %ecx,%edi
  2709. rorl $2,%ecx
  2710. xorl %ebx,%esi
  2711. shrl $3,%ebx
  2712. rorl $7,%esi
  2713. xorl %edi,%ecx
  2714. xorl %esi,%ebx
  2715. rorl $17,%ecx
  2716. addl 60(%esp),%ebx
  2717. shrl $10,%edi
  2718. addl 32(%esp),%ebx
  2719. movl %edx,%esi
  2720. xorl %ecx,%edi
  2721. movl 24(%esp),%ecx
  2722. rorl $14,%edx
  2723. addl %edi,%ebx
  2724. movl 28(%esp),%edi
  2725. xorl %esi,%edx
  2726. movl %ebx,60(%esp)
  2727. xorl %edi,%ecx
  2728. rorl $5,%edx
  2729. andl %esi,%ecx
  2730. movl %esi,20(%esp)
  2731. xorl %esi,%edx
  2732. addl (%esp),%ebx
  2733. xorl %ecx,%edi
  2734. rorl $6,%edx
  2735. movl %ebp,%esi
  2736. addl %edi,%ebx
  2737. rorl $9,%esi
  2738. movl %ebp,%ecx
  2739. movl 8(%esp),%edi
  2740. xorl %ebp,%esi
  2741. movl %ebp,4(%esp)
  2742. xorl %edi,%ebp
  2743. rorl $11,%esi
  2744. andl %ebp,%eax
  2745. leal 1747873779(%ebx,%edx,1),%edx
  2746. xorl %ecx,%esi
  2747. xorl %edi,%eax
  2748. movl 68(%esp),%ecx
  2749. rorl $2,%esi
  2750. addl %edx,%eax
  2751. addl 16(%esp),%edx
  2752. addl %esi,%eax
  2753. movl 56(%esp),%esi
  2754. movl %ecx,%ebx
  2755. rorl $11,%ecx
  2756. movl %esi,%edi
  2757. rorl $2,%esi
  2758. xorl %ebx,%ecx
  2759. shrl $3,%ebx
  2760. rorl $7,%ecx
  2761. xorl %edi,%esi
  2762. xorl %ecx,%ebx
  2763. rorl $17,%esi
  2764. addl 64(%esp),%ebx
  2765. shrl $10,%edi
  2766. addl 36(%esp),%ebx
  2767. movl %edx,%ecx
  2768. xorl %esi,%edi
  2769. movl 20(%esp),%esi
  2770. rorl $14,%edx
  2771. addl %edi,%ebx
  2772. movl 24(%esp),%edi
  2773. xorl %ecx,%edx
  2774. movl %ebx,64(%esp)
  2775. xorl %edi,%esi
  2776. rorl $5,%edx
  2777. andl %ecx,%esi
  2778. movl %ecx,16(%esp)
  2779. xorl %ecx,%edx
  2780. addl 28(%esp),%ebx
  2781. xorl %esi,%edi
  2782. rorl $6,%edx
  2783. movl %eax,%ecx
  2784. addl %edi,%ebx
  2785. rorl $9,%ecx
  2786. movl %eax,%esi
  2787. movl 4(%esp),%edi
  2788. xorl %eax,%ecx
  2789. movl %eax,(%esp)
  2790. xorl %edi,%eax
  2791. rorl $11,%ecx
  2792. andl %eax,%ebp
  2793. leal 1955562222(%ebx,%edx,1),%edx
  2794. xorl %esi,%ecx
  2795. xorl %edi,%ebp
  2796. movl 72(%esp),%esi
  2797. rorl $2,%ecx
  2798. addl %edx,%ebp
  2799. addl 12(%esp),%edx
  2800. addl %ecx,%ebp
  2801. movl 60(%esp),%ecx
  2802. movl %esi,%ebx
  2803. rorl $11,%esi
  2804. movl %ecx,%edi
  2805. rorl $2,%ecx
  2806. xorl %ebx,%esi
  2807. shrl $3,%ebx
  2808. rorl $7,%esi
  2809. xorl %edi,%ecx
  2810. xorl %esi,%ebx
  2811. rorl $17,%ecx
  2812. addl 68(%esp),%ebx
  2813. shrl $10,%edi
  2814. addl 40(%esp),%ebx
  2815. movl %edx,%esi
  2816. xorl %ecx,%edi
  2817. movl 16(%esp),%ecx
  2818. rorl $14,%edx
  2819. addl %edi,%ebx
  2820. movl 20(%esp),%edi
  2821. xorl %esi,%edx
  2822. movl %ebx,68(%esp)
  2823. xorl %edi,%ecx
  2824. rorl $5,%edx
  2825. andl %esi,%ecx
  2826. movl %esi,12(%esp)
  2827. xorl %esi,%edx
  2828. addl 24(%esp),%ebx
  2829. xorl %ecx,%edi
  2830. rorl $6,%edx
  2831. movl %ebp,%esi
  2832. addl %edi,%ebx
  2833. rorl $9,%esi
  2834. movl %ebp,%ecx
  2835. movl (%esp),%edi
  2836. xorl %ebp,%esi
  2837. movl %ebp,28(%esp)
  2838. xorl %edi,%ebp
  2839. rorl $11,%esi
  2840. andl %ebp,%eax
  2841. leal 2024104815(%ebx,%edx,1),%edx
  2842. xorl %ecx,%esi
  2843. xorl %edi,%eax
  2844. movl 76(%esp),%ecx
  2845. rorl $2,%esi
  2846. addl %edx,%eax
  2847. addl 8(%esp),%edx
  2848. addl %esi,%eax
  2849. movl 64(%esp),%esi
  2850. movl %ecx,%ebx
  2851. rorl $11,%ecx
  2852. movl %esi,%edi
  2853. rorl $2,%esi
  2854. xorl %ebx,%ecx
  2855. shrl $3,%ebx
  2856. rorl $7,%ecx
  2857. xorl %edi,%esi
  2858. xorl %ecx,%ebx
  2859. rorl $17,%esi
  2860. addl 72(%esp),%ebx
  2861. shrl $10,%edi
  2862. addl 44(%esp),%ebx
  2863. movl %edx,%ecx
  2864. xorl %esi,%edi
  2865. movl 12(%esp),%esi
  2866. rorl $14,%edx
  2867. addl %edi,%ebx
  2868. movl 16(%esp),%edi
  2869. xorl %ecx,%edx
  2870. movl %ebx,72(%esp)
  2871. xorl %edi,%esi
  2872. rorl $5,%edx
  2873. andl %ecx,%esi
  2874. movl %ecx,8(%esp)
  2875. xorl %ecx,%edx
  2876. addl 20(%esp),%ebx
  2877. xorl %esi,%edi
  2878. rorl $6,%edx
  2879. movl %eax,%ecx
  2880. addl %edi,%ebx
  2881. rorl $9,%ecx
  2882. movl %eax,%esi
  2883. movl 28(%esp),%edi
  2884. xorl %eax,%ecx
  2885. movl %eax,24(%esp)
  2886. xorl %edi,%eax
  2887. rorl $11,%ecx
  2888. andl %eax,%ebp
  2889. leal 2227730452(%ebx,%edx,1),%edx
  2890. xorl %esi,%ecx
  2891. xorl %edi,%ebp
  2892. movl 80(%esp),%esi
  2893. rorl $2,%ecx
  2894. addl %edx,%ebp
  2895. addl 4(%esp),%edx
  2896. addl %ecx,%ebp
  2897. movl 68(%esp),%ecx
  2898. movl %esi,%ebx
  2899. rorl $11,%esi
  2900. movl %ecx,%edi
  2901. rorl $2,%ecx
  2902. xorl %ebx,%esi
  2903. shrl $3,%ebx
  2904. rorl $7,%esi
  2905. xorl %edi,%ecx
  2906. xorl %esi,%ebx
  2907. rorl $17,%ecx
  2908. addl 76(%esp),%ebx
  2909. shrl $10,%edi
  2910. addl 48(%esp),%ebx
  2911. movl %edx,%esi
  2912. xorl %ecx,%edi
  2913. movl 8(%esp),%ecx
  2914. rorl $14,%edx
  2915. addl %edi,%ebx
  2916. movl 12(%esp),%edi
  2917. xorl %esi,%edx
  2918. movl %ebx,76(%esp)
  2919. xorl %edi,%ecx
  2920. rorl $5,%edx
  2921. andl %esi,%ecx
  2922. movl %esi,4(%esp)
  2923. xorl %esi,%edx
  2924. addl 16(%esp),%ebx
  2925. xorl %ecx,%edi
  2926. rorl $6,%edx
  2927. movl %ebp,%esi
  2928. addl %edi,%ebx
  2929. rorl $9,%esi
  2930. movl %ebp,%ecx
  2931. movl 24(%esp),%edi
  2932. xorl %ebp,%esi
  2933. movl %ebp,20(%esp)
  2934. xorl %edi,%ebp
  2935. rorl $11,%esi
  2936. andl %ebp,%eax
  2937. leal 2361852424(%ebx,%edx,1),%edx
  2938. xorl %ecx,%esi
  2939. xorl %edi,%eax
  2940. movl 84(%esp),%ecx
  2941. rorl $2,%esi
  2942. addl %edx,%eax
  2943. addl (%esp),%edx
  2944. addl %esi,%eax
  2945. movl 72(%esp),%esi
  2946. movl %ecx,%ebx
  2947. rorl $11,%ecx
  2948. movl %esi,%edi
  2949. rorl $2,%esi
  2950. xorl %ebx,%ecx
  2951. shrl $3,%ebx
  2952. rorl $7,%ecx
  2953. xorl %edi,%esi
  2954. xorl %ecx,%ebx
  2955. rorl $17,%esi
  2956. addl 80(%esp),%ebx
  2957. shrl $10,%edi
  2958. addl 52(%esp),%ebx
  2959. movl %edx,%ecx
  2960. xorl %esi,%edi
  2961. movl 4(%esp),%esi
  2962. rorl $14,%edx
  2963. addl %edi,%ebx
  2964. movl 8(%esp),%edi
  2965. xorl %ecx,%edx
  2966. movl %ebx,80(%esp)
  2967. xorl %edi,%esi
  2968. rorl $5,%edx
  2969. andl %ecx,%esi
  2970. movl %ecx,(%esp)
  2971. xorl %ecx,%edx
  2972. addl 12(%esp),%ebx
  2973. xorl %esi,%edi
  2974. rorl $6,%edx
  2975. movl %eax,%ecx
  2976. addl %edi,%ebx
  2977. rorl $9,%ecx
  2978. movl %eax,%esi
  2979. movl 20(%esp),%edi
  2980. xorl %eax,%ecx
  2981. movl %eax,16(%esp)
  2982. xorl %edi,%eax
  2983. rorl $11,%ecx
  2984. andl %eax,%ebp
  2985. leal 2428436474(%ebx,%edx,1),%edx
  2986. xorl %esi,%ecx
  2987. xorl %edi,%ebp
  2988. movl 88(%esp),%esi
  2989. rorl $2,%ecx
  2990. addl %edx,%ebp
  2991. addl 28(%esp),%edx
  2992. addl %ecx,%ebp
  2993. movl 76(%esp),%ecx
  2994. movl %esi,%ebx
  2995. rorl $11,%esi
  2996. movl %ecx,%edi
  2997. rorl $2,%ecx
  2998. xorl %ebx,%esi
  2999. shrl $3,%ebx
  3000. rorl $7,%esi
  3001. xorl %edi,%ecx
  3002. xorl %esi,%ebx
  3003. rorl $17,%ecx
  3004. addl 84(%esp),%ebx
  3005. shrl $10,%edi
  3006. addl 56(%esp),%ebx
  3007. movl %edx,%esi
  3008. xorl %ecx,%edi
  3009. movl (%esp),%ecx
  3010. rorl $14,%edx
  3011. addl %edi,%ebx
  3012. movl 4(%esp),%edi
  3013. xorl %esi,%edx
  3014. movl %ebx,84(%esp)
  3015. xorl %edi,%ecx
  3016. rorl $5,%edx
  3017. andl %esi,%ecx
  3018. movl %esi,28(%esp)
  3019. xorl %esi,%edx
  3020. addl 8(%esp),%ebx
  3021. xorl %ecx,%edi
  3022. rorl $6,%edx
  3023. movl %ebp,%esi
  3024. addl %edi,%ebx
  3025. rorl $9,%esi
  3026. movl %ebp,%ecx
  3027. movl 16(%esp),%edi
  3028. xorl %ebp,%esi
  3029. movl %ebp,12(%esp)
  3030. xorl %edi,%ebp
  3031. rorl $11,%esi
  3032. andl %ebp,%eax
  3033. leal 2756734187(%ebx,%edx,1),%edx
  3034. xorl %ecx,%esi
  3035. xorl %edi,%eax
  3036. movl 92(%esp),%ecx
  3037. rorl $2,%esi
  3038. addl %edx,%eax
  3039. addl 24(%esp),%edx
  3040. addl %esi,%eax
  3041. movl 80(%esp),%esi
  3042. movl %ecx,%ebx
  3043. rorl $11,%ecx
  3044. movl %esi,%edi
  3045. rorl $2,%esi
  3046. xorl %ebx,%ecx
  3047. shrl $3,%ebx
  3048. rorl $7,%ecx
  3049. xorl %edi,%esi
  3050. xorl %ecx,%ebx
  3051. rorl $17,%esi
  3052. addl 88(%esp),%ebx
  3053. shrl $10,%edi
  3054. addl 60(%esp),%ebx
  3055. movl %edx,%ecx
  3056. xorl %esi,%edi
  3057. movl 28(%esp),%esi
  3058. rorl $14,%edx
  3059. addl %edi,%ebx
  3060. movl (%esp),%edi
  3061. xorl %ecx,%edx
  3062. xorl %edi,%esi
  3063. rorl $5,%edx
  3064. andl %ecx,%esi
  3065. movl %ecx,24(%esp)
  3066. xorl %ecx,%edx
  3067. addl 4(%esp),%ebx
  3068. xorl %esi,%edi
  3069. rorl $6,%edx
  3070. movl %eax,%ecx
  3071. addl %edi,%ebx
  3072. rorl $9,%ecx
  3073. movl %eax,%esi
  3074. movl 12(%esp),%edi
  3075. xorl %eax,%ecx
  3076. movl %eax,8(%esp)
  3077. xorl %edi,%eax
  3078. rorl $11,%ecx
  3079. andl %eax,%ebp
  3080. leal 3204031479(%ebx,%edx,1),%edx
  3081. xorl %esi,%ecx
  3082. xorl %edi,%ebp
  3083. movl 32(%esp),%esi
  3084. rorl $2,%ecx
  3085. addl %edx,%ebp
  3086. addl 20(%esp),%edx
  3087. addl %ecx,%ebp
  3088. movl 84(%esp),%ecx
  3089. movl %esi,%ebx
  3090. rorl $11,%esi
  3091. movl %ecx,%edi
  3092. rorl $2,%ecx
  3093. xorl %ebx,%esi
  3094. shrl $3,%ebx
  3095. rorl $7,%esi
  3096. xorl %edi,%ecx
  3097. xorl %esi,%ebx
  3098. rorl $17,%ecx
  3099. addl 92(%esp),%ebx
  3100. shrl $10,%edi
  3101. addl 64(%esp),%ebx
  3102. movl %edx,%esi
  3103. xorl %ecx,%edi
  3104. movl 24(%esp),%ecx
  3105. rorl $14,%edx
  3106. addl %edi,%ebx
  3107. movl 28(%esp),%edi
  3108. xorl %esi,%edx
  3109. xorl %edi,%ecx
  3110. rorl $5,%edx
  3111. andl %esi,%ecx
  3112. movl %esi,20(%esp)
  3113. xorl %esi,%edx
  3114. addl (%esp),%ebx
  3115. xorl %ecx,%edi
  3116. rorl $6,%edx
  3117. movl %ebp,%esi
  3118. addl %edi,%ebx
  3119. rorl $9,%esi
  3120. movl %ebp,%ecx
  3121. movl 8(%esp),%edi
  3122. xorl %ebp,%esi
  3123. movl %ebp,4(%esp)
  3124. xorl %edi,%ebp
  3125. rorl $11,%esi
  3126. andl %ebp,%eax
  3127. leal 3329325298(%ebx,%edx,1),%edx
  3128. xorl %ecx,%esi
  3129. xorl %edi,%eax
  3130. rorl $2,%esi
  3131. addl %edx,%eax
  3132. addl 16(%esp),%edx
  3133. addl %esi,%eax
  3134. movl 96(%esp),%esi
  3135. xorl %edi,%ebp
  3136. movl 12(%esp),%ecx
  3137. addl (%esi),%eax
  3138. addl 4(%esi),%ebp
  3139. addl 8(%esi),%edi
  3140. addl 12(%esi),%ecx
  3141. movl %eax,(%esi)
  3142. movl %ebp,4(%esi)
  3143. movl %edi,8(%esi)
  3144. movl %ecx,12(%esi)
  3145. movl %ebp,4(%esp)
  3146. xorl %edi,%ebp
  3147. movl %edi,8(%esp)
  3148. movl %ecx,12(%esp)
  3149. movl 20(%esp),%edi
  3150. movl 24(%esp),%ebx
  3151. movl 28(%esp),%ecx
  3152. addl 16(%esi),%edx
  3153. addl 20(%esi),%edi
  3154. addl 24(%esi),%ebx
  3155. addl 28(%esi),%ecx
  3156. movl %edx,16(%esi)
  3157. movl %edi,20(%esi)
  3158. movl %ebx,24(%esi)
  3159. movl %ecx,28(%esi)
  3160. movl %edi,20(%esp)
  3161. movl 100(%esp),%edi
  3162. movl %ebx,24(%esp)
  3163. movl %ecx,28(%esp)
  3164. cmpl 104(%esp),%edi
  3165. jb .L009grand_loop
  3166. movl 108(%esp),%esp
  3167. popl %edi
  3168. popl %esi
  3169. popl %ebx
  3170. popl %ebp
  3171. ret
  3172. .align 32
  3173. .L005SSSE3:
  3174. leal -96(%esp),%esp
  3175. movl (%esi),%eax
  3176. movl 4(%esi),%ebx
  3177. movl 8(%esi),%ecx
  3178. movl 12(%esi),%edi
  3179. movl %ebx,4(%esp)
  3180. xorl %ecx,%ebx
  3181. movl %ecx,8(%esp)
  3182. movl %edi,12(%esp)
  3183. movl 16(%esi),%edx
  3184. movl 20(%esi),%edi
  3185. movl 24(%esi),%ecx
  3186. movl 28(%esi),%esi
  3187. movl %edi,20(%esp)
  3188. movl 100(%esp),%edi
  3189. movl %ecx,24(%esp)
  3190. movl %esi,28(%esp)
  3191. movdqa 256(%ebp),%xmm7
  3192. jmp .L010grand_ssse3
  3193. .align 16
  3194. .L010grand_ssse3:
  3195. movdqu (%edi),%xmm0
  3196. movdqu 16(%edi),%xmm1
  3197. movdqu 32(%edi),%xmm2
  3198. movdqu 48(%edi),%xmm3
  3199. addl $64,%edi
  3200. .byte 102,15,56,0,199
  3201. movl %edi,100(%esp)
  3202. .byte 102,15,56,0,207
  3203. movdqa (%ebp),%xmm4
  3204. .byte 102,15,56,0,215
  3205. movdqa 16(%ebp),%xmm5
  3206. paddd %xmm0,%xmm4
  3207. .byte 102,15,56,0,223
  3208. movdqa 32(%ebp),%xmm6
  3209. paddd %xmm1,%xmm5
  3210. movdqa 48(%ebp),%xmm7
  3211. movdqa %xmm4,32(%esp)
  3212. paddd %xmm2,%xmm6
  3213. movdqa %xmm5,48(%esp)
  3214. paddd %xmm3,%xmm7
  3215. movdqa %xmm6,64(%esp)
  3216. movdqa %xmm7,80(%esp)
  3217. jmp .L011ssse3_00_47
  3218. .align 16
  3219. .L011ssse3_00_47:
  3220. addl $64,%ebp
  3221. movl %edx,%ecx
  3222. movdqa %xmm1,%xmm4
  3223. rorl $14,%edx
  3224. movl 20(%esp),%esi
  3225. movdqa %xmm3,%xmm7
  3226. xorl %ecx,%edx
  3227. movl 24(%esp),%edi
  3228. .byte 102,15,58,15,224,4
  3229. xorl %edi,%esi
  3230. rorl $5,%edx
  3231. andl %ecx,%esi
  3232. .byte 102,15,58,15,250,4
  3233. movl %ecx,16(%esp)
  3234. xorl %ecx,%edx
  3235. xorl %esi,%edi
  3236. movdqa %xmm4,%xmm5
  3237. rorl $6,%edx
  3238. movl %eax,%ecx
  3239. movdqa %xmm4,%xmm6
  3240. addl %edi,%edx
  3241. movl 4(%esp),%edi
  3242. psrld $3,%xmm4
  3243. movl %eax,%esi
  3244. rorl $9,%ecx
  3245. paddd %xmm7,%xmm0
  3246. movl %eax,(%esp)
  3247. xorl %eax,%ecx
  3248. psrld $7,%xmm6
  3249. xorl %edi,%eax
  3250. addl 28(%esp),%edx
  3251. rorl $11,%ecx
  3252. andl %eax,%ebx
  3253. pshufd $250,%xmm3,%xmm7
  3254. xorl %esi,%ecx
  3255. addl 32(%esp),%edx
  3256. pslld $14,%xmm5
  3257. xorl %edi,%ebx
  3258. rorl $2,%ecx
  3259. pxor %xmm6,%xmm4
  3260. addl %edx,%ebx
  3261. addl 12(%esp),%edx
  3262. psrld $11,%xmm6
  3263. addl %ecx,%ebx
  3264. movl %edx,%ecx
  3265. rorl $14,%edx
  3266. pxor %xmm5,%xmm4
  3267. movl 16(%esp),%esi
  3268. xorl %ecx,%edx
  3269. pslld $11,%xmm5
  3270. movl 20(%esp),%edi
  3271. xorl %edi,%esi
  3272. rorl $5,%edx
  3273. pxor %xmm6,%xmm4
  3274. andl %ecx,%esi
  3275. movl %ecx,12(%esp)
  3276. movdqa %xmm7,%xmm6
  3277. xorl %ecx,%edx
  3278. xorl %esi,%edi
  3279. rorl $6,%edx
  3280. pxor %xmm5,%xmm4
  3281. movl %ebx,%ecx
  3282. addl %edi,%edx
  3283. psrld $10,%xmm7
  3284. movl (%esp),%edi
  3285. movl %ebx,%esi
  3286. rorl $9,%ecx
  3287. paddd %xmm4,%xmm0
  3288. movl %ebx,28(%esp)
  3289. xorl %ebx,%ecx
  3290. psrlq $17,%xmm6
  3291. xorl %edi,%ebx
  3292. addl 24(%esp),%edx
  3293. rorl $11,%ecx
  3294. pxor %xmm6,%xmm7
  3295. andl %ebx,%eax
  3296. xorl %esi,%ecx
  3297. psrlq $2,%xmm6
  3298. addl 36(%esp),%edx
  3299. xorl %edi,%eax
  3300. rorl $2,%ecx
  3301. pxor %xmm6,%xmm7
  3302. addl %edx,%eax
  3303. addl 8(%esp),%edx
  3304. pshufd $128,%xmm7,%xmm7
  3305. addl %ecx,%eax
  3306. movl %edx,%ecx
  3307. rorl $14,%edx
  3308. movl 12(%esp),%esi
  3309. xorl %ecx,%edx
  3310. movl 16(%esp),%edi
  3311. xorl %edi,%esi
  3312. rorl $5,%edx
  3313. andl %ecx,%esi
  3314. psrldq $8,%xmm7
  3315. movl %ecx,8(%esp)
  3316. xorl %ecx,%edx
  3317. xorl %esi,%edi
  3318. paddd %xmm7,%xmm0
  3319. rorl $6,%edx
  3320. movl %eax,%ecx
  3321. addl %edi,%edx
  3322. movl 28(%esp),%edi
  3323. movl %eax,%esi
  3324. rorl $9,%ecx
  3325. movl %eax,24(%esp)
  3326. pshufd $80,%xmm0,%xmm7
  3327. xorl %eax,%ecx
  3328. xorl %edi,%eax
  3329. addl 20(%esp),%edx
  3330. movdqa %xmm7,%xmm6
  3331. rorl $11,%ecx
  3332. psrld $10,%xmm7
  3333. andl %eax,%ebx
  3334. psrlq $17,%xmm6
  3335. xorl %esi,%ecx
  3336. addl 40(%esp),%edx
  3337. xorl %edi,%ebx
  3338. rorl $2,%ecx
  3339. pxor %xmm6,%xmm7
  3340. addl %edx,%ebx
  3341. addl 4(%esp),%edx
  3342. psrlq $2,%xmm6
  3343. addl %ecx,%ebx
  3344. movl %edx,%ecx
  3345. rorl $14,%edx
  3346. pxor %xmm6,%xmm7
  3347. movl 8(%esp),%esi
  3348. xorl %ecx,%edx
  3349. movl 12(%esp),%edi
  3350. pshufd $8,%xmm7,%xmm7
  3351. xorl %edi,%esi
  3352. rorl $5,%edx
  3353. movdqa (%ebp),%xmm6
  3354. andl %ecx,%esi
  3355. movl %ecx,4(%esp)
  3356. pslldq $8,%xmm7
  3357. xorl %ecx,%edx
  3358. xorl %esi,%edi
  3359. rorl $6,%edx
  3360. movl %ebx,%ecx
  3361. addl %edi,%edx
  3362. movl 24(%esp),%edi
  3363. movl %ebx,%esi
  3364. rorl $9,%ecx
  3365. paddd %xmm7,%xmm0
  3366. movl %ebx,20(%esp)
  3367. xorl %ebx,%ecx
  3368. xorl %edi,%ebx
  3369. addl 16(%esp),%edx
  3370. paddd %xmm0,%xmm6
  3371. rorl $11,%ecx
  3372. andl %ebx,%eax
  3373. xorl %esi,%ecx
  3374. addl 44(%esp),%edx
  3375. xorl %edi,%eax
  3376. rorl $2,%ecx
  3377. addl %edx,%eax
  3378. addl (%esp),%edx
  3379. addl %ecx,%eax
  3380. movdqa %xmm6,32(%esp)
  3381. movl %edx,%ecx
  3382. movdqa %xmm2,%xmm4
  3383. rorl $14,%edx
  3384. movl 4(%esp),%esi
  3385. movdqa %xmm0,%xmm7
  3386. xorl %ecx,%edx
  3387. movl 8(%esp),%edi
  3388. .byte 102,15,58,15,225,4
  3389. xorl %edi,%esi
  3390. rorl $5,%edx
  3391. andl %ecx,%esi
  3392. .byte 102,15,58,15,251,4
  3393. movl %ecx,(%esp)
  3394. xorl %ecx,%edx
  3395. xorl %esi,%edi
  3396. movdqa %xmm4,%xmm5
  3397. rorl $6,%edx
  3398. movl %eax,%ecx
  3399. movdqa %xmm4,%xmm6
  3400. addl %edi,%edx
  3401. movl 20(%esp),%edi
  3402. psrld $3,%xmm4
  3403. movl %eax,%esi
  3404. rorl $9,%ecx
  3405. paddd %xmm7,%xmm1
  3406. movl %eax,16(%esp)
  3407. xorl %eax,%ecx
  3408. psrld $7,%xmm6
  3409. xorl %edi,%eax
  3410. addl 12(%esp),%edx
  3411. rorl $11,%ecx
  3412. andl %eax,%ebx
  3413. pshufd $250,%xmm0,%xmm7
  3414. xorl %esi,%ecx
  3415. addl 48(%esp),%edx
  3416. pslld $14,%xmm5
  3417. xorl %edi,%ebx
  3418. rorl $2,%ecx
  3419. pxor %xmm6,%xmm4
  3420. addl %edx,%ebx
  3421. addl 28(%esp),%edx
  3422. psrld $11,%xmm6
  3423. addl %ecx,%ebx
  3424. movl %edx,%ecx
  3425. rorl $14,%edx
  3426. pxor %xmm5,%xmm4
  3427. movl (%esp),%esi
  3428. xorl %ecx,%edx
  3429. pslld $11,%xmm5
  3430. movl 4(%esp),%edi
  3431. xorl %edi,%esi
  3432. rorl $5,%edx
  3433. pxor %xmm6,%xmm4
  3434. andl %ecx,%esi
  3435. movl %ecx,28(%esp)
  3436. movdqa %xmm7,%xmm6
  3437. xorl %ecx,%edx
  3438. xorl %esi,%edi
  3439. rorl $6,%edx
  3440. pxor %xmm5,%xmm4
  3441. movl %ebx,%ecx
  3442. addl %edi,%edx
  3443. psrld $10,%xmm7
  3444. movl 16(%esp),%edi
  3445. movl %ebx,%esi
  3446. rorl $9,%ecx
  3447. paddd %xmm4,%xmm1
  3448. movl %ebx,12(%esp)
  3449. xorl %ebx,%ecx
  3450. psrlq $17,%xmm6
  3451. xorl %edi,%ebx
  3452. addl 8(%esp),%edx
  3453. rorl $11,%ecx
  3454. pxor %xmm6,%xmm7
  3455. andl %ebx,%eax
  3456. xorl %esi,%ecx
  3457. psrlq $2,%xmm6
  3458. addl 52(%esp),%edx
  3459. xorl %edi,%eax
  3460. rorl $2,%ecx
  3461. pxor %xmm6,%xmm7
  3462. addl %edx,%eax
  3463. addl 24(%esp),%edx
  3464. pshufd $128,%xmm7,%xmm7
  3465. addl %ecx,%eax
  3466. movl %edx,%ecx
  3467. rorl $14,%edx
  3468. movl 28(%esp),%esi
  3469. xorl %ecx,%edx
  3470. movl (%esp),%edi
  3471. xorl %edi,%esi
  3472. rorl $5,%edx
  3473. andl %ecx,%esi
  3474. psrldq $8,%xmm7
  3475. movl %ecx,24(%esp)
  3476. xorl %ecx,%edx
  3477. xorl %esi,%edi
  3478. paddd %xmm7,%xmm1
  3479. rorl $6,%edx
  3480. movl %eax,%ecx
  3481. addl %edi,%edx
  3482. movl 12(%esp),%edi
  3483. movl %eax,%esi
  3484. rorl $9,%ecx
  3485. movl %eax,8(%esp)
  3486. pshufd $80,%xmm1,%xmm7
  3487. xorl %eax,%ecx
  3488. xorl %edi,%eax
  3489. addl 4(%esp),%edx
  3490. movdqa %xmm7,%xmm6
  3491. rorl $11,%ecx
  3492. psrld $10,%xmm7
  3493. andl %eax,%ebx
  3494. psrlq $17,%xmm6
  3495. xorl %esi,%ecx
  3496. addl 56(%esp),%edx
  3497. xorl %edi,%ebx
  3498. rorl $2,%ecx
  3499. pxor %xmm6,%xmm7
  3500. addl %edx,%ebx
  3501. addl 20(%esp),%edx
  3502. psrlq $2,%xmm6
  3503. addl %ecx,%ebx
  3504. movl %edx,%ecx
  3505. rorl $14,%edx
  3506. pxor %xmm6,%xmm7
  3507. movl 24(%esp),%esi
  3508. xorl %ecx,%edx
  3509. movl 28(%esp),%edi
  3510. pshufd $8,%xmm7,%xmm7
  3511. xorl %edi,%esi
  3512. rorl $5,%edx
  3513. movdqa 16(%ebp),%xmm6
  3514. andl %ecx,%esi
  3515. movl %ecx,20(%esp)
  3516. pslldq $8,%xmm7
  3517. xorl %ecx,%edx
  3518. xorl %esi,%edi
  3519. rorl $6,%edx
  3520. movl %ebx,%ecx
  3521. addl %edi,%edx
  3522. movl 8(%esp),%edi
  3523. movl %ebx,%esi
  3524. rorl $9,%ecx
  3525. paddd %xmm7,%xmm1
  3526. movl %ebx,4(%esp)
  3527. xorl %ebx,%ecx
  3528. xorl %edi,%ebx
  3529. addl (%esp),%edx
  3530. paddd %xmm1,%xmm6
  3531. rorl $11,%ecx
  3532. andl %ebx,%eax
  3533. xorl %esi,%ecx
  3534. addl 60(%esp),%edx
  3535. xorl %edi,%eax
  3536. rorl $2,%ecx
  3537. addl %edx,%eax
  3538. addl 16(%esp),%edx
  3539. addl %ecx,%eax
  3540. movdqa %xmm6,48(%esp)
  3541. movl %edx,%ecx
  3542. movdqa %xmm3,%xmm4
  3543. rorl $14,%edx
  3544. movl 20(%esp),%esi
  3545. movdqa %xmm1,%xmm7
  3546. xorl %ecx,%edx
  3547. movl 24(%esp),%edi
  3548. .byte 102,15,58,15,226,4
  3549. xorl %edi,%esi
  3550. rorl $5,%edx
  3551. andl %ecx,%esi
  3552. .byte 102,15,58,15,248,4
  3553. movl %ecx,16(%esp)
  3554. xorl %ecx,%edx
  3555. xorl %esi,%edi
  3556. movdqa %xmm4,%xmm5
  3557. rorl $6,%edx
  3558. movl %eax,%ecx
  3559. movdqa %xmm4,%xmm6
  3560. addl %edi,%edx
  3561. movl 4(%esp),%edi
  3562. psrld $3,%xmm4
  3563. movl %eax,%esi
  3564. rorl $9,%ecx
  3565. paddd %xmm7,%xmm2
  3566. movl %eax,(%esp)
  3567. xorl %eax,%ecx
  3568. psrld $7,%xmm6
  3569. xorl %edi,%eax
  3570. addl 28(%esp),%edx
  3571. rorl $11,%ecx
  3572. andl %eax,%ebx
  3573. pshufd $250,%xmm1,%xmm7
  3574. xorl %esi,%ecx
  3575. addl 64(%esp),%edx
  3576. pslld $14,%xmm5
  3577. xorl %edi,%ebx
  3578. rorl $2,%ecx
  3579. pxor %xmm6,%xmm4
  3580. addl %edx,%ebx
  3581. addl 12(%esp),%edx
  3582. psrld $11,%xmm6
  3583. addl %ecx,%ebx
  3584. movl %edx,%ecx
  3585. rorl $14,%edx
  3586. pxor %xmm5,%xmm4
  3587. movl 16(%esp),%esi
  3588. xorl %ecx,%edx
  3589. pslld $11,%xmm5
  3590. movl 20(%esp),%edi
  3591. xorl %edi,%esi
  3592. rorl $5,%edx
  3593. pxor %xmm6,%xmm4
  3594. andl %ecx,%esi
  3595. movl %ecx,12(%esp)
  3596. movdqa %xmm7,%xmm6
  3597. xorl %ecx,%edx
  3598. xorl %esi,%edi
  3599. rorl $6,%edx
  3600. pxor %xmm5,%xmm4
  3601. movl %ebx,%ecx
  3602. addl %edi,%edx
  3603. psrld $10,%xmm7
  3604. movl (%esp),%edi
  3605. movl %ebx,%esi
  3606. rorl $9,%ecx
  3607. paddd %xmm4,%xmm2
  3608. movl %ebx,28(%esp)
  3609. xorl %ebx,%ecx
  3610. psrlq $17,%xmm6
  3611. xorl %edi,%ebx
  3612. addl 24(%esp),%edx
  3613. rorl $11,%ecx
  3614. pxor %xmm6,%xmm7
  3615. andl %ebx,%eax
  3616. xorl %esi,%ecx
  3617. psrlq $2,%xmm6
  3618. addl 68(%esp),%edx
  3619. xorl %edi,%eax
  3620. rorl $2,%ecx
  3621. pxor %xmm6,%xmm7
  3622. addl %edx,%eax
  3623. addl 8(%esp),%edx
  3624. pshufd $128,%xmm7,%xmm7
  3625. addl %ecx,%eax
  3626. movl %edx,%ecx
  3627. rorl $14,%edx
  3628. movl 12(%esp),%esi
  3629. xorl %ecx,%edx
  3630. movl 16(%esp),%edi
  3631. xorl %edi,%esi
  3632. rorl $5,%edx
  3633. andl %ecx,%esi
  3634. psrldq $8,%xmm7
  3635. movl %ecx,8(%esp)
  3636. xorl %ecx,%edx
  3637. xorl %esi,%edi
  3638. paddd %xmm7,%xmm2
  3639. rorl $6,%edx
  3640. movl %eax,%ecx
  3641. addl %edi,%edx
  3642. movl 28(%esp),%edi
  3643. movl %eax,%esi
  3644. rorl $9,%ecx
  3645. movl %eax,24(%esp)
  3646. pshufd $80,%xmm2,%xmm7
  3647. xorl %eax,%ecx
  3648. xorl %edi,%eax
  3649. addl 20(%esp),%edx
  3650. movdqa %xmm7,%xmm6
  3651. rorl $11,%ecx
  3652. psrld $10,%xmm7
  3653. andl %eax,%ebx
  3654. psrlq $17,%xmm6
  3655. xorl %esi,%ecx
  3656. addl 72(%esp),%edx
  3657. xorl %edi,%ebx
  3658. rorl $2,%ecx
  3659. pxor %xmm6,%xmm7
  3660. addl %edx,%ebx
  3661. addl 4(%esp),%edx
  3662. psrlq $2,%xmm6
  3663. addl %ecx,%ebx
  3664. movl %edx,%ecx
  3665. rorl $14,%edx
  3666. pxor %xmm6,%xmm7
  3667. movl 8(%esp),%esi
  3668. xorl %ecx,%edx
  3669. movl 12(%esp),%edi
  3670. pshufd $8,%xmm7,%xmm7
  3671. xorl %edi,%esi
  3672. rorl $5,%edx
  3673. movdqa 32(%ebp),%xmm6
  3674. andl %ecx,%esi
  3675. movl %ecx,4(%esp)
  3676. pslldq $8,%xmm7
  3677. xorl %ecx,%edx
  3678. xorl %esi,%edi
  3679. rorl $6,%edx
  3680. movl %ebx,%ecx
  3681. addl %edi,%edx
  3682. movl 24(%esp),%edi
  3683. movl %ebx,%esi
  3684. rorl $9,%ecx
  3685. paddd %xmm7,%xmm2
  3686. movl %ebx,20(%esp)
  3687. xorl %ebx,%ecx
  3688. xorl %edi,%ebx
  3689. addl 16(%esp),%edx
  3690. paddd %xmm2,%xmm6
  3691. rorl $11,%ecx
  3692. andl %ebx,%eax
  3693. xorl %esi,%ecx
  3694. addl 76(%esp),%edx
  3695. xorl %edi,%eax
  3696. rorl $2,%ecx
  3697. addl %edx,%eax
  3698. addl (%esp),%edx
  3699. addl %ecx,%eax
  3700. movdqa %xmm6,64(%esp)
  3701. movl %edx,%ecx
  3702. movdqa %xmm0,%xmm4
  3703. rorl $14,%edx
  3704. movl 4(%esp),%esi
  3705. movdqa %xmm2,%xmm7
  3706. xorl %ecx,%edx
  3707. movl 8(%esp),%edi
  3708. .byte 102,15,58,15,227,4
  3709. xorl %edi,%esi
  3710. rorl $5,%edx
  3711. andl %ecx,%esi
  3712. .byte 102,15,58,15,249,4
  3713. movl %ecx,(%esp)
  3714. xorl %ecx,%edx
  3715. xorl %esi,%edi
  3716. movdqa %xmm4,%xmm5
  3717. rorl $6,%edx
  3718. movl %eax,%ecx
  3719. movdqa %xmm4,%xmm6
  3720. addl %edi,%edx
  3721. movl 20(%esp),%edi
  3722. psrld $3,%xmm4
  3723. movl %eax,%esi
  3724. rorl $9,%ecx
  3725. paddd %xmm7,%xmm3
  3726. movl %eax,16(%esp)
  3727. xorl %eax,%ecx
  3728. psrld $7,%xmm6
  3729. xorl %edi,%eax
  3730. addl 12(%esp),%edx
  3731. rorl $11,%ecx
  3732. andl %eax,%ebx
  3733. pshufd $250,%xmm2,%xmm7
  3734. xorl %esi,%ecx
  3735. addl 80(%esp),%edx
  3736. pslld $14,%xmm5
  3737. xorl %edi,%ebx
  3738. rorl $2,%ecx
  3739. pxor %xmm6,%xmm4
  3740. addl %edx,%ebx
  3741. addl 28(%esp),%edx
  3742. psrld $11,%xmm6
  3743. addl %ecx,%ebx
  3744. movl %edx,%ecx
  3745. rorl $14,%edx
  3746. pxor %xmm5,%xmm4
  3747. movl (%esp),%esi
  3748. xorl %ecx,%edx
  3749. pslld $11,%xmm5
  3750. movl 4(%esp),%edi
  3751. xorl %edi,%esi
  3752. rorl $5,%edx
  3753. pxor %xmm6,%xmm4
  3754. andl %ecx,%esi
  3755. movl %ecx,28(%esp)
  3756. movdqa %xmm7,%xmm6
  3757. xorl %ecx,%edx
  3758. xorl %esi,%edi
  3759. rorl $6,%edx
  3760. pxor %xmm5,%xmm4
  3761. movl %ebx,%ecx
  3762. addl %edi,%edx
  3763. psrld $10,%xmm7
  3764. movl 16(%esp),%edi
  3765. movl %ebx,%esi
  3766. rorl $9,%ecx
  3767. paddd %xmm4,%xmm3
  3768. movl %ebx,12(%esp)
  3769. xorl %ebx,%ecx
  3770. psrlq $17,%xmm6
  3771. xorl %edi,%ebx
  3772. addl 8(%esp),%edx
  3773. rorl $11,%ecx
  3774. pxor %xmm6,%xmm7
  3775. andl %ebx,%eax
  3776. xorl %esi,%ecx
  3777. psrlq $2,%xmm6
  3778. addl 84(%esp),%edx
  3779. xorl %edi,%eax
  3780. rorl $2,%ecx
  3781. pxor %xmm6,%xmm7
  3782. addl %edx,%eax
  3783. addl 24(%esp),%edx
  3784. pshufd $128,%xmm7,%xmm7
  3785. addl %ecx,%eax
  3786. movl %edx,%ecx
  3787. rorl $14,%edx
  3788. movl 28(%esp),%esi
  3789. xorl %ecx,%edx
  3790. movl (%esp),%edi
  3791. xorl %edi,%esi
  3792. rorl $5,%edx
  3793. andl %ecx,%esi
  3794. psrldq $8,%xmm7
  3795. movl %ecx,24(%esp)
  3796. xorl %ecx,%edx
  3797. xorl %esi,%edi
  3798. paddd %xmm7,%xmm3
  3799. rorl $6,%edx
  3800. movl %eax,%ecx
  3801. addl %edi,%edx
  3802. movl 12(%esp),%edi
  3803. movl %eax,%esi
  3804. rorl $9,%ecx
  3805. movl %eax,8(%esp)
  3806. pshufd $80,%xmm3,%xmm7
  3807. xorl %eax,%ecx
  3808. xorl %edi,%eax
  3809. addl 4(%esp),%edx
  3810. movdqa %xmm7,%xmm6
  3811. rorl $11,%ecx
  3812. psrld $10,%xmm7
  3813. andl %eax,%ebx
  3814. psrlq $17,%xmm6
  3815. xorl %esi,%ecx
  3816. addl 88(%esp),%edx
  3817. xorl %edi,%ebx
  3818. rorl $2,%ecx
  3819. pxor %xmm6,%xmm7
  3820. addl %edx,%ebx
  3821. addl 20(%esp),%edx
  3822. psrlq $2,%xmm6
  3823. addl %ecx,%ebx
  3824. movl %edx,%ecx
  3825. rorl $14,%edx
  3826. pxor %xmm6,%xmm7
  3827. movl 24(%esp),%esi
  3828. xorl %ecx,%edx
  3829. movl 28(%esp),%edi
  3830. pshufd $8,%xmm7,%xmm7
  3831. xorl %edi,%esi
  3832. rorl $5,%edx
  3833. movdqa 48(%ebp),%xmm6
  3834. andl %ecx,%esi
  3835. movl %ecx,20(%esp)
  3836. pslldq $8,%xmm7
  3837. xorl %ecx,%edx
  3838. xorl %esi,%edi
  3839. rorl $6,%edx
  3840. movl %ebx,%ecx
  3841. addl %edi,%edx
  3842. movl 8(%esp),%edi
  3843. movl %ebx,%esi
  3844. rorl $9,%ecx
  3845. paddd %xmm7,%xmm3
  3846. movl %ebx,4(%esp)
  3847. xorl %ebx,%ecx
  3848. xorl %edi,%ebx
  3849. addl (%esp),%edx
  3850. paddd %xmm3,%xmm6
  3851. rorl $11,%ecx
  3852. andl %ebx,%eax
  3853. xorl %esi,%ecx
  3854. addl 92(%esp),%edx
  3855. xorl %edi,%eax
  3856. rorl $2,%ecx
  3857. addl %edx,%eax
  3858. addl 16(%esp),%edx
  3859. addl %ecx,%eax
  3860. movdqa %xmm6,80(%esp)
  3861. cmpl $66051,64(%ebp)
  3862. jne .L011ssse3_00_47
  3863. movl %edx,%ecx
  3864. rorl $14,%edx
  3865. movl 20(%esp),%esi
  3866. xorl %ecx,%edx
  3867. movl 24(%esp),%edi
  3868. xorl %edi,%esi
  3869. rorl $5,%edx
  3870. andl %ecx,%esi
  3871. movl %ecx,16(%esp)
  3872. xorl %ecx,%edx
  3873. xorl %esi,%edi
  3874. rorl $6,%edx
  3875. movl %eax,%ecx
  3876. addl %edi,%edx
  3877. movl 4(%esp),%edi
  3878. movl %eax,%esi
  3879. rorl $9,%ecx
  3880. movl %eax,(%esp)
  3881. xorl %eax,%ecx
  3882. xorl %edi,%eax
  3883. addl 28(%esp),%edx
  3884. rorl $11,%ecx
  3885. andl %eax,%ebx
  3886. xorl %esi,%ecx
  3887. addl 32(%esp),%edx
  3888. xorl %edi,%ebx
  3889. rorl $2,%ecx
  3890. addl %edx,%ebx
  3891. addl 12(%esp),%edx
  3892. addl %ecx,%ebx
  3893. movl %edx,%ecx
  3894. rorl $14,%edx
  3895. movl 16(%esp),%esi
  3896. xorl %ecx,%edx
  3897. movl 20(%esp),%edi
  3898. xorl %edi,%esi
  3899. rorl $5,%edx
  3900. andl %ecx,%esi
  3901. movl %ecx,12(%esp)
  3902. xorl %ecx,%edx
  3903. xorl %esi,%edi
  3904. rorl $6,%edx
  3905. movl %ebx,%ecx
  3906. addl %edi,%edx
  3907. movl (%esp),%edi
  3908. movl %ebx,%esi
  3909. rorl $9,%ecx
  3910. movl %ebx,28(%esp)
  3911. xorl %ebx,%ecx
  3912. xorl %edi,%ebx
  3913. addl 24(%esp),%edx
  3914. rorl $11,%ecx
  3915. andl %ebx,%eax
  3916. xorl %esi,%ecx
  3917. addl 36(%esp),%edx
  3918. xorl %edi,%eax
  3919. rorl $2,%ecx
  3920. addl %edx,%eax
  3921. addl 8(%esp),%edx
  3922. addl %ecx,%eax
  3923. movl %edx,%ecx
  3924. rorl $14,%edx
  3925. movl 12(%esp),%esi
  3926. xorl %ecx,%edx
  3927. movl 16(%esp),%edi
  3928. xorl %edi,%esi
  3929. rorl $5,%edx
  3930. andl %ecx,%esi
  3931. movl %ecx,8(%esp)
  3932. xorl %ecx,%edx
  3933. xorl %esi,%edi
  3934. rorl $6,%edx
  3935. movl %eax,%ecx
  3936. addl %edi,%edx
  3937. movl 28(%esp),%edi
  3938. movl %eax,%esi
  3939. rorl $9,%ecx
  3940. movl %eax,24(%esp)
  3941. xorl %eax,%ecx
  3942. xorl %edi,%eax
  3943. addl 20(%esp),%edx
  3944. rorl $11,%ecx
  3945. andl %eax,%ebx
  3946. xorl %esi,%ecx
  3947. addl 40(%esp),%edx
  3948. xorl %edi,%ebx
  3949. rorl $2,%ecx
  3950. addl %edx,%ebx
  3951. addl 4(%esp),%edx
  3952. addl %ecx,%ebx
  3953. movl %edx,%ecx
  3954. rorl $14,%edx
  3955. movl 8(%esp),%esi
  3956. xorl %ecx,%edx
  3957. movl 12(%esp),%edi
  3958. xorl %edi,%esi
  3959. rorl $5,%edx
  3960. andl %ecx,%esi
  3961. movl %ecx,4(%esp)
  3962. xorl %ecx,%edx
  3963. xorl %esi,%edi
  3964. rorl $6,%edx
  3965. movl %ebx,%ecx
  3966. addl %edi,%edx
  3967. movl 24(%esp),%edi
  3968. movl %ebx,%esi
  3969. rorl $9,%ecx
  3970. movl %ebx,20(%esp)
  3971. xorl %ebx,%ecx
  3972. xorl %edi,%ebx
  3973. addl 16(%esp),%edx
  3974. rorl $11,%ecx
  3975. andl %ebx,%eax
  3976. xorl %esi,%ecx
  3977. addl 44(%esp),%edx
  3978. xorl %edi,%eax
  3979. rorl $2,%ecx
  3980. addl %edx,%eax
  3981. addl (%esp),%edx
  3982. addl %ecx,%eax
  3983. movl %edx,%ecx
  3984. rorl $14,%edx
  3985. movl 4(%esp),%esi
  3986. xorl %ecx,%edx
  3987. movl 8(%esp),%edi
  3988. xorl %edi,%esi
  3989. rorl $5,%edx
  3990. andl %ecx,%esi
  3991. movl %ecx,(%esp)
  3992. xorl %ecx,%edx
  3993. xorl %esi,%edi
  3994. rorl $6,%edx
  3995. movl %eax,%ecx
  3996. addl %edi,%edx
  3997. movl 20(%esp),%edi
  3998. movl %eax,%esi
  3999. rorl $9,%ecx
  4000. movl %eax,16(%esp)
  4001. xorl %eax,%ecx
  4002. xorl %edi,%eax
  4003. addl 12(%esp),%edx
  4004. rorl $11,%ecx
  4005. andl %eax,%ebx
  4006. xorl %esi,%ecx
  4007. addl 48(%esp),%edx
  4008. xorl %edi,%ebx
  4009. rorl $2,%ecx
  4010. addl %edx,%ebx
  4011. addl 28(%esp),%edx
  4012. addl %ecx,%ebx
  4013. movl %edx,%ecx
  4014. rorl $14,%edx
  4015. movl (%esp),%esi
  4016. xorl %ecx,%edx
  4017. movl 4(%esp),%edi
  4018. xorl %edi,%esi
  4019. rorl $5,%edx
  4020. andl %ecx,%esi
  4021. movl %ecx,28(%esp)
  4022. xorl %ecx,%edx
  4023. xorl %esi,%edi
  4024. rorl $6,%edx
  4025. movl %ebx,%ecx
  4026. addl %edi,%edx
  4027. movl 16(%esp),%edi
  4028. movl %ebx,%esi
  4029. rorl $9,%ecx
  4030. movl %ebx,12(%esp)
  4031. xorl %ebx,%ecx
  4032. xorl %edi,%ebx
  4033. addl 8(%esp),%edx
  4034. rorl $11,%ecx
  4035. andl %ebx,%eax
  4036. xorl %esi,%ecx
  4037. addl 52(%esp),%edx
  4038. xorl %edi,%eax
  4039. rorl $2,%ecx
  4040. addl %edx,%eax
  4041. addl 24(%esp),%edx
  4042. addl %ecx,%eax
  4043. movl %edx,%ecx
  4044. rorl $14,%edx
  4045. movl 28(%esp),%esi
  4046. xorl %ecx,%edx
  4047. movl (%esp),%edi
  4048. xorl %edi,%esi
  4049. rorl $5,%edx
  4050. andl %ecx,%esi
  4051. movl %ecx,24(%esp)
  4052. xorl %ecx,%edx
  4053. xorl %esi,%edi
  4054. rorl $6,%edx
  4055. movl %eax,%ecx
  4056. addl %edi,%edx
  4057. movl 12(%esp),%edi
  4058. movl %eax,%esi
  4059. rorl $9,%ecx
  4060. movl %eax,8(%esp)
  4061. xorl %eax,%ecx
  4062. xorl %edi,%eax
  4063. addl 4(%esp),%edx
  4064. rorl $11,%ecx
  4065. andl %eax,%ebx
  4066. xorl %esi,%ecx
  4067. addl 56(%esp),%edx
  4068. xorl %edi,%ebx
  4069. rorl $2,%ecx
  4070. addl %edx,%ebx
  4071. addl 20(%esp),%edx
  4072. addl %ecx,%ebx
  4073. movl %edx,%ecx
  4074. rorl $14,%edx
  4075. movl 24(%esp),%esi
  4076. xorl %ecx,%edx
  4077. movl 28(%esp),%edi
  4078. xorl %edi,%esi
  4079. rorl $5,%edx
  4080. andl %ecx,%esi
  4081. movl %ecx,20(%esp)
  4082. xorl %ecx,%edx
  4083. xorl %esi,%edi
  4084. rorl $6,%edx
  4085. movl %ebx,%ecx
  4086. addl %edi,%edx
  4087. movl 8(%esp),%edi
  4088. movl %ebx,%esi
  4089. rorl $9,%ecx
  4090. movl %ebx,4(%esp)
  4091. xorl %ebx,%ecx
  4092. xorl %edi,%ebx
  4093. addl (%esp),%edx
  4094. rorl $11,%ecx
  4095. andl %ebx,%eax
  4096. xorl %esi,%ecx
  4097. addl 60(%esp),%edx
  4098. xorl %edi,%eax
  4099. rorl $2,%ecx
  4100. addl %edx,%eax
  4101. addl 16(%esp),%edx
  4102. addl %ecx,%eax
  4103. movl %edx,%ecx
  4104. rorl $14,%edx
  4105. movl 20(%esp),%esi
  4106. xorl %ecx,%edx
  4107. movl 24(%esp),%edi
  4108. xorl %edi,%esi
  4109. rorl $5,%edx
  4110. andl %ecx,%esi
  4111. movl %ecx,16(%esp)
  4112. xorl %ecx,%edx
  4113. xorl %esi,%edi
  4114. rorl $6,%edx
  4115. movl %eax,%ecx
  4116. addl %edi,%edx
  4117. movl 4(%esp),%edi
  4118. movl %eax,%esi
  4119. rorl $9,%ecx
  4120. movl %eax,(%esp)
  4121. xorl %eax,%ecx
  4122. xorl %edi,%eax
  4123. addl 28(%esp),%edx
  4124. rorl $11,%ecx
  4125. andl %eax,%ebx
  4126. xorl %esi,%ecx
  4127. addl 64(%esp),%edx
  4128. xorl %edi,%ebx
  4129. rorl $2,%ecx
  4130. addl %edx,%ebx
  4131. addl 12(%esp),%edx
  4132. addl %ecx,%ebx
  4133. movl %edx,%ecx
  4134. rorl $14,%edx
  4135. movl 16(%esp),%esi
  4136. xorl %ecx,%edx
  4137. movl 20(%esp),%edi
  4138. xorl %edi,%esi
  4139. rorl $5,%edx
  4140. andl %ecx,%esi
  4141. movl %ecx,12(%esp)
  4142. xorl %ecx,%edx
  4143. xorl %esi,%edi
  4144. rorl $6,%edx
  4145. movl %ebx,%ecx
  4146. addl %edi,%edx
  4147. movl (%esp),%edi
  4148. movl %ebx,%esi
  4149. rorl $9,%ecx
  4150. movl %ebx,28(%esp)
  4151. xorl %ebx,%ecx
  4152. xorl %edi,%ebx
  4153. addl 24(%esp),%edx
  4154. rorl $11,%ecx
  4155. andl %ebx,%eax
  4156. xorl %esi,%ecx
  4157. addl 68(%esp),%edx
  4158. xorl %edi,%eax
  4159. rorl $2,%ecx
  4160. addl %edx,%eax
  4161. addl 8(%esp),%edx
  4162. addl %ecx,%eax
  4163. movl %edx,%ecx
  4164. rorl $14,%edx
  4165. movl 12(%esp),%esi
  4166. xorl %ecx,%edx
  4167. movl 16(%esp),%edi
  4168. xorl %edi,%esi
  4169. rorl $5,%edx
  4170. andl %ecx,%esi
  4171. movl %ecx,8(%esp)
  4172. xorl %ecx,%edx
  4173. xorl %esi,%edi
  4174. rorl $6,%edx
  4175. movl %eax,%ecx
  4176. addl %edi,%edx
  4177. movl 28(%esp),%edi
  4178. movl %eax,%esi
  4179. rorl $9,%ecx
  4180. movl %eax,24(%esp)
  4181. xorl %eax,%ecx
  4182. xorl %edi,%eax
  4183. addl 20(%esp),%edx
  4184. rorl $11,%ecx
  4185. andl %eax,%ebx
  4186. xorl %esi,%ecx
  4187. addl 72(%esp),%edx
  4188. xorl %edi,%ebx
  4189. rorl $2,%ecx
  4190. addl %edx,%ebx
  4191. addl 4(%esp),%edx
  4192. addl %ecx,%ebx
  4193. movl %edx,%ecx
  4194. rorl $14,%edx
  4195. movl 8(%esp),%esi
  4196. xorl %ecx,%edx
  4197. movl 12(%esp),%edi
  4198. xorl %edi,%esi
  4199. rorl $5,%edx
  4200. andl %ecx,%esi
  4201. movl %ecx,4(%esp)
  4202. xorl %ecx,%edx
  4203. xorl %esi,%edi
  4204. rorl $6,%edx
  4205. movl %ebx,%ecx
  4206. addl %edi,%edx
  4207. movl 24(%esp),%edi
  4208. movl %ebx,%esi
  4209. rorl $9,%ecx
  4210. movl %ebx,20(%esp)
  4211. xorl %ebx,%ecx
  4212. xorl %edi,%ebx
  4213. addl 16(%esp),%edx
  4214. rorl $11,%ecx
  4215. andl %ebx,%eax
  4216. xorl %esi,%ecx
  4217. addl 76(%esp),%edx
  4218. xorl %edi,%eax
  4219. rorl $2,%ecx
  4220. addl %edx,%eax
  4221. addl (%esp),%edx
  4222. addl %ecx,%eax
  4223. movl %edx,%ecx
  4224. rorl $14,%edx
  4225. movl 4(%esp),%esi
  4226. xorl %ecx,%edx
  4227. movl 8(%esp),%edi
  4228. xorl %edi,%esi
  4229. rorl $5,%edx
  4230. andl %ecx,%esi
  4231. movl %ecx,(%esp)
  4232. xorl %ecx,%edx
  4233. xorl %esi,%edi
  4234. rorl $6,%edx
  4235. movl %eax,%ecx
  4236. addl %edi,%edx
  4237. movl 20(%esp),%edi
  4238. movl %eax,%esi
  4239. rorl $9,%ecx
  4240. movl %eax,16(%esp)
  4241. xorl %eax,%ecx
  4242. xorl %edi,%eax
  4243. addl 12(%esp),%edx
  4244. rorl $11,%ecx
  4245. andl %eax,%ebx
  4246. xorl %esi,%ecx
  4247. addl 80(%esp),%edx
  4248. xorl %edi,%ebx
  4249. rorl $2,%ecx
  4250. addl %edx,%ebx
  4251. addl 28(%esp),%edx
  4252. addl %ecx,%ebx
  4253. movl %edx,%ecx
  4254. rorl $14,%edx
  4255. movl (%esp),%esi
  4256. xorl %ecx,%edx
  4257. movl 4(%esp),%edi
  4258. xorl %edi,%esi
  4259. rorl $5,%edx
  4260. andl %ecx,%esi
  4261. movl %ecx,28(%esp)
  4262. xorl %ecx,%edx
  4263. xorl %esi,%edi
  4264. rorl $6,%edx
  4265. movl %ebx,%ecx
  4266. addl %edi,%edx
  4267. movl 16(%esp),%edi
  4268. movl %ebx,%esi
  4269. rorl $9,%ecx
  4270. movl %ebx,12(%esp)
  4271. xorl %ebx,%ecx
  4272. xorl %edi,%ebx
  4273. addl 8(%esp),%edx
  4274. rorl $11,%ecx
  4275. andl %ebx,%eax
  4276. xorl %esi,%ecx
  4277. addl 84(%esp),%edx
  4278. xorl %edi,%eax
  4279. rorl $2,%ecx
  4280. addl %edx,%eax
  4281. addl 24(%esp),%edx
  4282. addl %ecx,%eax
  4283. movl %edx,%ecx
  4284. rorl $14,%edx
  4285. movl 28(%esp),%esi
  4286. xorl %ecx,%edx
  4287. movl (%esp),%edi
  4288. xorl %edi,%esi
  4289. rorl $5,%edx
  4290. andl %ecx,%esi
  4291. movl %ecx,24(%esp)
  4292. xorl %ecx,%edx
  4293. xorl %esi,%edi
  4294. rorl $6,%edx
  4295. movl %eax,%ecx
  4296. addl %edi,%edx
  4297. movl 12(%esp),%edi
  4298. movl %eax,%esi
  4299. rorl $9,%ecx
  4300. movl %eax,8(%esp)
  4301. xorl %eax,%ecx
  4302. xorl %edi,%eax
  4303. addl 4(%esp),%edx
  4304. rorl $11,%ecx
  4305. andl %eax,%ebx
  4306. xorl %esi,%ecx
  4307. addl 88(%esp),%edx
  4308. xorl %edi,%ebx
  4309. rorl $2,%ecx
  4310. addl %edx,%ebx
  4311. addl 20(%esp),%edx
  4312. addl %ecx,%ebx
  4313. movl %edx,%ecx
  4314. rorl $14,%edx
  4315. movl 24(%esp),%esi
  4316. xorl %ecx,%edx
  4317. movl 28(%esp),%edi
  4318. xorl %edi,%esi
  4319. rorl $5,%edx
  4320. andl %ecx,%esi
  4321. movl %ecx,20(%esp)
  4322. xorl %ecx,%edx
  4323. xorl %esi,%edi
  4324. rorl $6,%edx
  4325. movl %ebx,%ecx
  4326. addl %edi,%edx
  4327. movl 8(%esp),%edi
  4328. movl %ebx,%esi
  4329. rorl $9,%ecx
  4330. movl %ebx,4(%esp)
  4331. xorl %ebx,%ecx
  4332. xorl %edi,%ebx
  4333. addl (%esp),%edx
  4334. rorl $11,%ecx
  4335. andl %ebx,%eax
  4336. xorl %esi,%ecx
  4337. addl 92(%esp),%edx
  4338. xorl %edi,%eax
  4339. rorl $2,%ecx
  4340. addl %edx,%eax
  4341. addl 16(%esp),%edx
  4342. addl %ecx,%eax
  4343. movl 96(%esp),%esi
  4344. xorl %edi,%ebx
  4345. movl 12(%esp),%ecx
  4346. addl (%esi),%eax
  4347. addl 4(%esi),%ebx
  4348. addl 8(%esi),%edi
  4349. addl 12(%esi),%ecx
  4350. movl %eax,(%esi)
  4351. movl %ebx,4(%esi)
  4352. movl %edi,8(%esi)
  4353. movl %ecx,12(%esi)
  4354. movl %ebx,4(%esp)
  4355. xorl %edi,%ebx
  4356. movl %edi,8(%esp)
  4357. movl %ecx,12(%esp)
  4358. movl 20(%esp),%edi
  4359. movl 24(%esp),%ecx
  4360. addl 16(%esi),%edx
  4361. addl 20(%esi),%edi
  4362. addl 24(%esi),%ecx
  4363. movl %edx,16(%esi)
  4364. movl %edi,20(%esi)
  4365. movl %edi,20(%esp)
  4366. movl 28(%esp),%edi
  4367. movl %ecx,24(%esi)
  4368. addl 28(%esi),%edi
  4369. movl %ecx,24(%esp)
  4370. movl %edi,28(%esi)
  4371. movl %edi,28(%esp)
  4372. movl 100(%esp),%edi
  4373. movdqa 64(%ebp),%xmm7
  4374. subl $192,%ebp
  4375. cmpl 104(%esp),%edi
  4376. jb .L010grand_ssse3
  4377. movl 108(%esp),%esp
  4378. popl %edi
  4379. popl %esi
  4380. popl %ebx
  4381. popl %ebp
  4382. ret
  4383. .align 32
  4384. .L004AVX:
  4385. leal -96(%esp),%esp
  4386. vzeroall
  4387. movl (%esi),%eax
  4388. movl 4(%esi),%ebx
  4389. movl 8(%esi),%ecx
  4390. movl 12(%esi),%edi
  4391. movl %ebx,4(%esp)
  4392. xorl %ecx,%ebx
  4393. movl %ecx,8(%esp)
  4394. movl %edi,12(%esp)
  4395. movl 16(%esi),%edx
  4396. movl 20(%esi),%edi
  4397. movl 24(%esi),%ecx
  4398. movl 28(%esi),%esi
  4399. movl %edi,20(%esp)
  4400. movl 100(%esp),%edi
  4401. movl %ecx,24(%esp)
  4402. movl %esi,28(%esp)
  4403. vmovdqa 256(%ebp),%xmm7
  4404. jmp .L012grand_avx
  4405. .align 32
  4406. .L012grand_avx:
  4407. vmovdqu (%edi),%xmm0
  4408. vmovdqu 16(%edi),%xmm1
  4409. vmovdqu 32(%edi),%xmm2
  4410. vmovdqu 48(%edi),%xmm3
  4411. addl $64,%edi
  4412. vpshufb %xmm7,%xmm0,%xmm0
  4413. movl %edi,100(%esp)
  4414. vpshufb %xmm7,%xmm1,%xmm1
  4415. vpshufb %xmm7,%xmm2,%xmm2
  4416. vpaddd (%ebp),%xmm0,%xmm4
  4417. vpshufb %xmm7,%xmm3,%xmm3
  4418. vpaddd 16(%ebp),%xmm1,%xmm5
  4419. vpaddd 32(%ebp),%xmm2,%xmm6
  4420. vpaddd 48(%ebp),%xmm3,%xmm7
  4421. vmovdqa %xmm4,32(%esp)
  4422. vmovdqa %xmm5,48(%esp)
  4423. vmovdqa %xmm6,64(%esp)
  4424. vmovdqa %xmm7,80(%esp)
  4425. jmp .L013avx_00_47
  4426. .align 16
  4427. .L013avx_00_47:
  4428. addl $64,%ebp
  4429. vpalignr $4,%xmm0,%xmm1,%xmm4
  4430. movl %edx,%ecx
  4431. shrdl $14,%edx,%edx
  4432. movl 20(%esp),%esi
  4433. vpalignr $4,%xmm2,%xmm3,%xmm7
  4434. xorl %ecx,%edx
  4435. movl 24(%esp),%edi
  4436. xorl %edi,%esi
  4437. vpsrld $7,%xmm4,%xmm6
  4438. shrdl $5,%edx,%edx
  4439. andl %ecx,%esi
  4440. movl %ecx,16(%esp)
  4441. vpaddd %xmm7,%xmm0,%xmm0
  4442. xorl %ecx,%edx
  4443. xorl %esi,%edi
  4444. shrdl $6,%edx,%edx
  4445. vpsrld $3,%xmm4,%xmm7
  4446. movl %eax,%ecx
  4447. addl %edi,%edx
  4448. movl 4(%esp),%edi
  4449. vpslld $14,%xmm4,%xmm5
  4450. movl %eax,%esi
  4451. shrdl $9,%ecx,%ecx
  4452. movl %eax,(%esp)
  4453. vpxor %xmm6,%xmm7,%xmm4
  4454. xorl %eax,%ecx
  4455. xorl %edi,%eax
  4456. addl 28(%esp),%edx
  4457. vpshufd $250,%xmm3,%xmm7
  4458. shrdl $11,%ecx,%ecx
  4459. andl %eax,%ebx
  4460. xorl %esi,%ecx
  4461. vpsrld $11,%xmm6,%xmm6
  4462. addl 32(%esp),%edx
  4463. xorl %edi,%ebx
  4464. shrdl $2,%ecx,%ecx
  4465. vpxor %xmm5,%xmm4,%xmm4
  4466. addl %edx,%ebx
  4467. addl 12(%esp),%edx
  4468. addl %ecx,%ebx
  4469. vpslld $11,%xmm5,%xmm5
  4470. movl %edx,%ecx
  4471. shrdl $14,%edx,%edx
  4472. movl 16(%esp),%esi
  4473. vpxor %xmm6,%xmm4,%xmm4
  4474. xorl %ecx,%edx
  4475. movl 20(%esp),%edi
  4476. xorl %edi,%esi
  4477. vpsrld $10,%xmm7,%xmm6
  4478. shrdl $5,%edx,%edx
  4479. andl %ecx,%esi
  4480. movl %ecx,12(%esp)
  4481. vpxor %xmm5,%xmm4,%xmm4
  4482. xorl %ecx,%edx
  4483. xorl %esi,%edi
  4484. shrdl $6,%edx,%edx
  4485. vpsrlq $17,%xmm7,%xmm5
  4486. movl %ebx,%ecx
  4487. addl %edi,%edx
  4488. movl (%esp),%edi
  4489. vpaddd %xmm4,%xmm0,%xmm0
  4490. movl %ebx,%esi
  4491. shrdl $9,%ecx,%ecx
  4492. movl %ebx,28(%esp)
  4493. vpxor %xmm5,%xmm6,%xmm6
  4494. xorl %ebx,%ecx
  4495. xorl %edi,%ebx
  4496. addl 24(%esp),%edx
  4497. vpsrlq $19,%xmm7,%xmm7
  4498. shrdl $11,%ecx,%ecx
  4499. andl %ebx,%eax
  4500. xorl %esi,%ecx
  4501. vpxor %xmm7,%xmm6,%xmm6
  4502. addl 36(%esp),%edx
  4503. xorl %edi,%eax
  4504. shrdl $2,%ecx,%ecx
  4505. vpshufd $132,%xmm6,%xmm7
  4506. addl %edx,%eax
  4507. addl 8(%esp),%edx
  4508. addl %ecx,%eax
  4509. vpsrldq $8,%xmm7,%xmm7
  4510. movl %edx,%ecx
  4511. shrdl $14,%edx,%edx
  4512. movl 12(%esp),%esi
  4513. vpaddd %xmm7,%xmm0,%xmm0
  4514. xorl %ecx,%edx
  4515. movl 16(%esp),%edi
  4516. xorl %edi,%esi
  4517. vpshufd $80,%xmm0,%xmm7
  4518. shrdl $5,%edx,%edx
  4519. andl %ecx,%esi
  4520. movl %ecx,8(%esp)
  4521. vpsrld $10,%xmm7,%xmm6
  4522. xorl %ecx,%edx
  4523. xorl %esi,%edi
  4524. shrdl $6,%edx,%edx
  4525. vpsrlq $17,%xmm7,%xmm5
  4526. movl %eax,%ecx
  4527. addl %edi,%edx
  4528. movl 28(%esp),%edi
  4529. vpxor %xmm5,%xmm6,%xmm6
  4530. movl %eax,%esi
  4531. shrdl $9,%ecx,%ecx
  4532. movl %eax,24(%esp)
  4533. vpsrlq $19,%xmm7,%xmm7
  4534. xorl %eax,%ecx
  4535. xorl %edi,%eax
  4536. addl 20(%esp),%edx
  4537. vpxor %xmm7,%xmm6,%xmm6
  4538. shrdl $11,%ecx,%ecx
  4539. andl %eax,%ebx
  4540. xorl %esi,%ecx
  4541. vpshufd $232,%xmm6,%xmm7
  4542. addl 40(%esp),%edx
  4543. xorl %edi,%ebx
  4544. shrdl $2,%ecx,%ecx
  4545. vpslldq $8,%xmm7,%xmm7
  4546. addl %edx,%ebx
  4547. addl 4(%esp),%edx
  4548. addl %ecx,%ebx
  4549. vpaddd %xmm7,%xmm0,%xmm0
  4550. movl %edx,%ecx
  4551. shrdl $14,%edx,%edx
  4552. movl 8(%esp),%esi
  4553. vpaddd (%ebp),%xmm0,%xmm6
  4554. xorl %ecx,%edx
  4555. movl 12(%esp),%edi
  4556. xorl %edi,%esi
  4557. shrdl $5,%edx,%edx
  4558. andl %ecx,%esi
  4559. movl %ecx,4(%esp)
  4560. xorl %ecx,%edx
  4561. xorl %esi,%edi
  4562. shrdl $6,%edx,%edx
  4563. movl %ebx,%ecx
  4564. addl %edi,%edx
  4565. movl 24(%esp),%edi
  4566. movl %ebx,%esi
  4567. shrdl $9,%ecx,%ecx
  4568. movl %ebx,20(%esp)
  4569. xorl %ebx,%ecx
  4570. xorl %edi,%ebx
  4571. addl 16(%esp),%edx
  4572. shrdl $11,%ecx,%ecx
  4573. andl %ebx,%eax
  4574. xorl %esi,%ecx
  4575. addl 44(%esp),%edx
  4576. xorl %edi,%eax
  4577. shrdl $2,%ecx,%ecx
  4578. addl %edx,%eax
  4579. addl (%esp),%edx
  4580. addl %ecx,%eax
  4581. vmovdqa %xmm6,32(%esp)
  4582. vpalignr $4,%xmm1,%xmm2,%xmm4
  4583. movl %edx,%ecx
  4584. shrdl $14,%edx,%edx
  4585. movl 4(%esp),%esi
  4586. vpalignr $4,%xmm3,%xmm0,%xmm7
  4587. xorl %ecx,%edx
  4588. movl 8(%esp),%edi
  4589. xorl %edi,%esi
  4590. vpsrld $7,%xmm4,%xmm6
  4591. shrdl $5,%edx,%edx
  4592. andl %ecx,%esi
  4593. movl %ecx,(%esp)
  4594. vpaddd %xmm7,%xmm1,%xmm1
  4595. xorl %ecx,%edx
  4596. xorl %esi,%edi
  4597. shrdl $6,%edx,%edx
  4598. vpsrld $3,%xmm4,%xmm7
  4599. movl %eax,%ecx
  4600. addl %edi,%edx
  4601. movl 20(%esp),%edi
  4602. vpslld $14,%xmm4,%xmm5
  4603. movl %eax,%esi
  4604. shrdl $9,%ecx,%ecx
  4605. movl %eax,16(%esp)
  4606. vpxor %xmm6,%xmm7,%xmm4
  4607. xorl %eax,%ecx
  4608. xorl %edi,%eax
  4609. addl 12(%esp),%edx
  4610. vpshufd $250,%xmm0,%xmm7
  4611. shrdl $11,%ecx,%ecx
  4612. andl %eax,%ebx
  4613. xorl %esi,%ecx
  4614. vpsrld $11,%xmm6,%xmm6
  4615. addl 48(%esp),%edx
  4616. xorl %edi,%ebx
  4617. shrdl $2,%ecx,%ecx
  4618. vpxor %xmm5,%xmm4,%xmm4
  4619. addl %edx,%ebx
  4620. addl 28(%esp),%edx
  4621. addl %ecx,%ebx
  4622. vpslld $11,%xmm5,%xmm5
  4623. movl %edx,%ecx
  4624. shrdl $14,%edx,%edx
  4625. movl (%esp),%esi
  4626. vpxor %xmm6,%xmm4,%xmm4
  4627. xorl %ecx,%edx
  4628. movl 4(%esp),%edi
  4629. xorl %edi,%esi
  4630. vpsrld $10,%xmm7,%xmm6
  4631. shrdl $5,%edx,%edx
  4632. andl %ecx,%esi
  4633. movl %ecx,28(%esp)
  4634. vpxor %xmm5,%xmm4,%xmm4
  4635. xorl %ecx,%edx
  4636. xorl %esi,%edi
  4637. shrdl $6,%edx,%edx
  4638. vpsrlq $17,%xmm7,%xmm5
  4639. movl %ebx,%ecx
  4640. addl %edi,%edx
  4641. movl 16(%esp),%edi
  4642. vpaddd %xmm4,%xmm1,%xmm1
  4643. movl %ebx,%esi
  4644. shrdl $9,%ecx,%ecx
  4645. movl %ebx,12(%esp)
  4646. vpxor %xmm5,%xmm6,%xmm6
  4647. xorl %ebx,%ecx
  4648. xorl %edi,%ebx
  4649. addl 8(%esp),%edx
  4650. vpsrlq $19,%xmm7,%xmm7
  4651. shrdl $11,%ecx,%ecx
  4652. andl %ebx,%eax
  4653. xorl %esi,%ecx
  4654. vpxor %xmm7,%xmm6,%xmm6
  4655. addl 52(%esp),%edx
  4656. xorl %edi,%eax
  4657. shrdl $2,%ecx,%ecx
  4658. vpshufd $132,%xmm6,%xmm7
  4659. addl %edx,%eax
  4660. addl 24(%esp),%edx
  4661. addl %ecx,%eax
  4662. vpsrldq $8,%xmm7,%xmm7
  4663. movl %edx,%ecx
  4664. shrdl $14,%edx,%edx
  4665. movl 28(%esp),%esi
  4666. vpaddd %xmm7,%xmm1,%xmm1
  4667. xorl %ecx,%edx
  4668. movl (%esp),%edi
  4669. xorl %edi,%esi
  4670. vpshufd $80,%xmm1,%xmm7
  4671. shrdl $5,%edx,%edx
  4672. andl %ecx,%esi
  4673. movl %ecx,24(%esp)
  4674. vpsrld $10,%xmm7,%xmm6
  4675. xorl %ecx,%edx
  4676. xorl %esi,%edi
  4677. shrdl $6,%edx,%edx
  4678. vpsrlq $17,%xmm7,%xmm5
  4679. movl %eax,%ecx
  4680. addl %edi,%edx
  4681. movl 12(%esp),%edi
  4682. vpxor %xmm5,%xmm6,%xmm6
  4683. movl %eax,%esi
  4684. shrdl $9,%ecx,%ecx
  4685. movl %eax,8(%esp)
  4686. vpsrlq $19,%xmm7,%xmm7
  4687. xorl %eax,%ecx
  4688. xorl %edi,%eax
  4689. addl 4(%esp),%edx
  4690. vpxor %xmm7,%xmm6,%xmm6
  4691. shrdl $11,%ecx,%ecx
  4692. andl %eax,%ebx
  4693. xorl %esi,%ecx
  4694. vpshufd $232,%xmm6,%xmm7
  4695. addl 56(%esp),%edx
  4696. xorl %edi,%ebx
  4697. shrdl $2,%ecx,%ecx
  4698. vpslldq $8,%xmm7,%xmm7
  4699. addl %edx,%ebx
  4700. addl 20(%esp),%edx
  4701. addl %ecx,%ebx
  4702. vpaddd %xmm7,%xmm1,%xmm1
  4703. movl %edx,%ecx
  4704. shrdl $14,%edx,%edx
  4705. movl 24(%esp),%esi
  4706. vpaddd 16(%ebp),%xmm1,%xmm6
  4707. xorl %ecx,%edx
  4708. movl 28(%esp),%edi
  4709. xorl %edi,%esi
  4710. shrdl $5,%edx,%edx
  4711. andl %ecx,%esi
  4712. movl %ecx,20(%esp)
  4713. xorl %ecx,%edx
  4714. xorl %esi,%edi
  4715. shrdl $6,%edx,%edx
  4716. movl %ebx,%ecx
  4717. addl %edi,%edx
  4718. movl 8(%esp),%edi
  4719. movl %ebx,%esi
  4720. shrdl $9,%ecx,%ecx
  4721. movl %ebx,4(%esp)
  4722. xorl %ebx,%ecx
  4723. xorl %edi,%ebx
  4724. addl (%esp),%edx
  4725. shrdl $11,%ecx,%ecx
  4726. andl %ebx,%eax
  4727. xorl %esi,%ecx
  4728. addl 60(%esp),%edx
  4729. xorl %edi,%eax
  4730. shrdl $2,%ecx,%ecx
  4731. addl %edx,%eax
  4732. addl 16(%esp),%edx
  4733. addl %ecx,%eax
  4734. vmovdqa %xmm6,48(%esp)
  4735. vpalignr $4,%xmm2,%xmm3,%xmm4
  4736. movl %edx,%ecx
  4737. shrdl $14,%edx,%edx
  4738. movl 20(%esp),%esi
  4739. vpalignr $4,%xmm0,%xmm1,%xmm7
  4740. xorl %ecx,%edx
  4741. movl 24(%esp),%edi
  4742. xorl %edi,%esi
  4743. vpsrld $7,%xmm4,%xmm6
  4744. shrdl $5,%edx,%edx
  4745. andl %ecx,%esi
  4746. movl %ecx,16(%esp)
  4747. vpaddd %xmm7,%xmm2,%xmm2
  4748. xorl %ecx,%edx
  4749. xorl %esi,%edi
  4750. shrdl $6,%edx,%edx
  4751. vpsrld $3,%xmm4,%xmm7
  4752. movl %eax,%ecx
  4753. addl %edi,%edx
  4754. movl 4(%esp),%edi
  4755. vpslld $14,%xmm4,%xmm5
  4756. movl %eax,%esi
  4757. shrdl $9,%ecx,%ecx
  4758. movl %eax,(%esp)
  4759. vpxor %xmm6,%xmm7,%xmm4
  4760. xorl %eax,%ecx
  4761. xorl %edi,%eax
  4762. addl 28(%esp),%edx
  4763. vpshufd $250,%xmm1,%xmm7
  4764. shrdl $11,%ecx,%ecx
  4765. andl %eax,%ebx
  4766. xorl %esi,%ecx
  4767. vpsrld $11,%xmm6,%xmm6
  4768. addl 64(%esp),%edx
  4769. xorl %edi,%ebx
  4770. shrdl $2,%ecx,%ecx
  4771. vpxor %xmm5,%xmm4,%xmm4
  4772. addl %edx,%ebx
  4773. addl 12(%esp),%edx
  4774. addl %ecx,%ebx
  4775. vpslld $11,%xmm5,%xmm5
  4776. movl %edx,%ecx
  4777. shrdl $14,%edx,%edx
  4778. movl 16(%esp),%esi
  4779. vpxor %xmm6,%xmm4,%xmm4
  4780. xorl %ecx,%edx
  4781. movl 20(%esp),%edi
  4782. xorl %edi,%esi
  4783. vpsrld $10,%xmm7,%xmm6
  4784. shrdl $5,%edx,%edx
  4785. andl %ecx,%esi
  4786. movl %ecx,12(%esp)
  4787. vpxor %xmm5,%xmm4,%xmm4
  4788. xorl %ecx,%edx
  4789. xorl %esi,%edi
  4790. shrdl $6,%edx,%edx
  4791. vpsrlq $17,%xmm7,%xmm5
  4792. movl %ebx,%ecx
  4793. addl %edi,%edx
  4794. movl (%esp),%edi
  4795. vpaddd %xmm4,%xmm2,%xmm2
  4796. movl %ebx,%esi
  4797. shrdl $9,%ecx,%ecx
  4798. movl %ebx,28(%esp)
  4799. vpxor %xmm5,%xmm6,%xmm6
  4800. xorl %ebx,%ecx
  4801. xorl %edi,%ebx
  4802. addl 24(%esp),%edx
  4803. vpsrlq $19,%xmm7,%xmm7
  4804. shrdl $11,%ecx,%ecx
  4805. andl %ebx,%eax
  4806. xorl %esi,%ecx
  4807. vpxor %xmm7,%xmm6,%xmm6
  4808. addl 68(%esp),%edx
  4809. xorl %edi,%eax
  4810. shrdl $2,%ecx,%ecx
  4811. vpshufd $132,%xmm6,%xmm7
  4812. addl %edx,%eax
  4813. addl 8(%esp),%edx
  4814. addl %ecx,%eax
  4815. vpsrldq $8,%xmm7,%xmm7
  4816. movl %edx,%ecx
  4817. shrdl $14,%edx,%edx
  4818. movl 12(%esp),%esi
  4819. vpaddd %xmm7,%xmm2,%xmm2
  4820. xorl %ecx,%edx
  4821. movl 16(%esp),%edi
  4822. xorl %edi,%esi
  4823. vpshufd $80,%xmm2,%xmm7
  4824. shrdl $5,%edx,%edx
  4825. andl %ecx,%esi
  4826. movl %ecx,8(%esp)
  4827. vpsrld $10,%xmm7,%xmm6
  4828. xorl %ecx,%edx
  4829. xorl %esi,%edi
  4830. shrdl $6,%edx,%edx
  4831. vpsrlq $17,%xmm7,%xmm5
  4832. movl %eax,%ecx
  4833. addl %edi,%edx
  4834. movl 28(%esp),%edi
  4835. vpxor %xmm5,%xmm6,%xmm6
  4836. movl %eax,%esi
  4837. shrdl $9,%ecx,%ecx
  4838. movl %eax,24(%esp)
  4839. vpsrlq $19,%xmm7,%xmm7
  4840. xorl %eax,%ecx
  4841. xorl %edi,%eax
  4842. addl 20(%esp),%edx
  4843. vpxor %xmm7,%xmm6,%xmm6
  4844. shrdl $11,%ecx,%ecx
  4845. andl %eax,%ebx
  4846. xorl %esi,%ecx
  4847. vpshufd $232,%xmm6,%xmm7
  4848. addl 72(%esp),%edx
  4849. xorl %edi,%ebx
  4850. shrdl $2,%ecx,%ecx
  4851. vpslldq $8,%xmm7,%xmm7
  4852. addl %edx,%ebx
  4853. addl 4(%esp),%edx
  4854. addl %ecx,%ebx
  4855. vpaddd %xmm7,%xmm2,%xmm2
  4856. movl %edx,%ecx
  4857. shrdl $14,%edx,%edx
  4858. movl 8(%esp),%esi
  4859. vpaddd 32(%ebp),%xmm2,%xmm6
  4860. xorl %ecx,%edx
  4861. movl 12(%esp),%edi
  4862. xorl %edi,%esi
  4863. shrdl $5,%edx,%edx
  4864. andl %ecx,%esi
  4865. movl %ecx,4(%esp)
  4866. xorl %ecx,%edx
  4867. xorl %esi,%edi
  4868. shrdl $6,%edx,%edx
  4869. movl %ebx,%ecx
  4870. addl %edi,%edx
  4871. movl 24(%esp),%edi
  4872. movl %ebx,%esi
  4873. shrdl $9,%ecx,%ecx
  4874. movl %ebx,20(%esp)
  4875. xorl %ebx,%ecx
  4876. xorl %edi,%ebx
  4877. addl 16(%esp),%edx
  4878. shrdl $11,%ecx,%ecx
  4879. andl %ebx,%eax
  4880. xorl %esi,%ecx
  4881. addl 76(%esp),%edx
  4882. xorl %edi,%eax
  4883. shrdl $2,%ecx,%ecx
  4884. addl %edx,%eax
  4885. addl (%esp),%edx
  4886. addl %ecx,%eax
  4887. vmovdqa %xmm6,64(%esp)
  4888. vpalignr $4,%xmm3,%xmm0,%xmm4
  4889. movl %edx,%ecx
  4890. shrdl $14,%edx,%edx
  4891. movl 4(%esp),%esi
  4892. vpalignr $4,%xmm1,%xmm2,%xmm7
  4893. xorl %ecx,%edx
  4894. movl 8(%esp),%edi
  4895. xorl %edi,%esi
  4896. vpsrld $7,%xmm4,%xmm6
  4897. shrdl $5,%edx,%edx
  4898. andl %ecx,%esi
  4899. movl %ecx,(%esp)
  4900. vpaddd %xmm7,%xmm3,%xmm3
  4901. xorl %ecx,%edx
  4902. xorl %esi,%edi
  4903. shrdl $6,%edx,%edx
  4904. vpsrld $3,%xmm4,%xmm7
  4905. movl %eax,%ecx
  4906. addl %edi,%edx
  4907. movl 20(%esp),%edi
  4908. vpslld $14,%xmm4,%xmm5
  4909. movl %eax,%esi
  4910. shrdl $9,%ecx,%ecx
  4911. movl %eax,16(%esp)
  4912. vpxor %xmm6,%xmm7,%xmm4
  4913. xorl %eax,%ecx
  4914. xorl %edi,%eax
  4915. addl 12(%esp),%edx
  4916. vpshufd $250,%xmm2,%xmm7
  4917. shrdl $11,%ecx,%ecx
  4918. andl %eax,%ebx
  4919. xorl %esi,%ecx
  4920. vpsrld $11,%xmm6,%xmm6
  4921. addl 80(%esp),%edx
  4922. xorl %edi,%ebx
  4923. shrdl $2,%ecx,%ecx
  4924. vpxor %xmm5,%xmm4,%xmm4
  4925. addl %edx,%ebx
  4926. addl 28(%esp),%edx
  4927. addl %ecx,%ebx
  4928. vpslld $11,%xmm5,%xmm5
  4929. movl %edx,%ecx
  4930. shrdl $14,%edx,%edx
  4931. movl (%esp),%esi
  4932. vpxor %xmm6,%xmm4,%xmm4
  4933. xorl %ecx,%edx
  4934. movl 4(%esp),%edi
  4935. xorl %edi,%esi
  4936. vpsrld $10,%xmm7,%xmm6
  4937. shrdl $5,%edx,%edx
  4938. andl %ecx,%esi
  4939. movl %ecx,28(%esp)
  4940. vpxor %xmm5,%xmm4,%xmm4
  4941. xorl %ecx,%edx
  4942. xorl %esi,%edi
  4943. shrdl $6,%edx,%edx
  4944. vpsrlq $17,%xmm7,%xmm5
  4945. movl %ebx,%ecx
  4946. addl %edi,%edx
  4947. movl 16(%esp),%edi
  4948. vpaddd %xmm4,%xmm3,%xmm3
  4949. movl %ebx,%esi
  4950. shrdl $9,%ecx,%ecx
  4951. movl %ebx,12(%esp)
  4952. vpxor %xmm5,%xmm6,%xmm6
  4953. xorl %ebx,%ecx
  4954. xorl %edi,%ebx
  4955. addl 8(%esp),%edx
  4956. vpsrlq $19,%xmm7,%xmm7
  4957. shrdl $11,%ecx,%ecx
  4958. andl %ebx,%eax
  4959. xorl %esi,%ecx
  4960. vpxor %xmm7,%xmm6,%xmm6
  4961. addl 84(%esp),%edx
  4962. xorl %edi,%eax
  4963. shrdl $2,%ecx,%ecx
  4964. vpshufd $132,%xmm6,%xmm7
  4965. addl %edx,%eax
  4966. addl 24(%esp),%edx
  4967. addl %ecx,%eax
  4968. vpsrldq $8,%xmm7,%xmm7
  4969. movl %edx,%ecx
  4970. shrdl $14,%edx,%edx
  4971. movl 28(%esp),%esi
  4972. vpaddd %xmm7,%xmm3,%xmm3
  4973. xorl %ecx,%edx
  4974. movl (%esp),%edi
  4975. xorl %edi,%esi
  4976. vpshufd $80,%xmm3,%xmm7
  4977. shrdl $5,%edx,%edx
  4978. andl %ecx,%esi
  4979. movl %ecx,24(%esp)
  4980. vpsrld $10,%xmm7,%xmm6
  4981. xorl %ecx,%edx
  4982. xorl %esi,%edi
  4983. shrdl $6,%edx,%edx
  4984. vpsrlq $17,%xmm7,%xmm5
  4985. movl %eax,%ecx
  4986. addl %edi,%edx
  4987. movl 12(%esp),%edi
  4988. vpxor %xmm5,%xmm6,%xmm6
  4989. movl %eax,%esi
  4990. shrdl $9,%ecx,%ecx
  4991. movl %eax,8(%esp)
  4992. vpsrlq $19,%xmm7,%xmm7
  4993. xorl %eax,%ecx
  4994. xorl %edi,%eax
  4995. addl 4(%esp),%edx
  4996. vpxor %xmm7,%xmm6,%xmm6
  4997. shrdl $11,%ecx,%ecx
  4998. andl %eax,%ebx
  4999. xorl %esi,%ecx
  5000. vpshufd $232,%xmm6,%xmm7
  5001. addl 88(%esp),%edx
  5002. xorl %edi,%ebx
  5003. shrdl $2,%ecx,%ecx
  5004. vpslldq $8,%xmm7,%xmm7
  5005. addl %edx,%ebx
  5006. addl 20(%esp),%edx
  5007. addl %ecx,%ebx
  5008. vpaddd %xmm7,%xmm3,%xmm3
  5009. movl %edx,%ecx
  5010. shrdl $14,%edx,%edx
  5011. movl 24(%esp),%esi
  5012. vpaddd 48(%ebp),%xmm3,%xmm6
  5013. xorl %ecx,%edx
  5014. movl 28(%esp),%edi
  5015. xorl %edi,%esi
  5016. shrdl $5,%edx,%edx
  5017. andl %ecx,%esi
  5018. movl %ecx,20(%esp)
  5019. xorl %ecx,%edx
  5020. xorl %esi,%edi
  5021. shrdl $6,%edx,%edx
  5022. movl %ebx,%ecx
  5023. addl %edi,%edx
  5024. movl 8(%esp),%edi
  5025. movl %ebx,%esi
  5026. shrdl $9,%ecx,%ecx
  5027. movl %ebx,4(%esp)
  5028. xorl %ebx,%ecx
  5029. xorl %edi,%ebx
  5030. addl (%esp),%edx
  5031. shrdl $11,%ecx,%ecx
  5032. andl %ebx,%eax
  5033. xorl %esi,%ecx
  5034. addl 92(%esp),%edx
  5035. xorl %edi,%eax
  5036. shrdl $2,%ecx,%ecx
  5037. addl %edx,%eax
  5038. addl 16(%esp),%edx
  5039. addl %ecx,%eax
  5040. vmovdqa %xmm6,80(%esp)
  5041. cmpl $66051,64(%ebp)
  5042. jne .L013avx_00_47
  5043. movl %edx,%ecx
  5044. shrdl $14,%edx,%edx
  5045. movl 20(%esp),%esi
  5046. xorl %ecx,%edx
  5047. movl 24(%esp),%edi
  5048. xorl %edi,%esi
  5049. shrdl $5,%edx,%edx
  5050. andl %ecx,%esi
  5051. movl %ecx,16(%esp)
  5052. xorl %ecx,%edx
  5053. xorl %esi,%edi
  5054. shrdl $6,%edx,%edx
  5055. movl %eax,%ecx
  5056. addl %edi,%edx
  5057. movl 4(%esp),%edi
  5058. movl %eax,%esi
  5059. shrdl $9,%ecx,%ecx
  5060. movl %eax,(%esp)
  5061. xorl %eax,%ecx
  5062. xorl %edi,%eax
  5063. addl 28(%esp),%edx
  5064. shrdl $11,%ecx,%ecx
  5065. andl %eax,%ebx
  5066. xorl %esi,%ecx
  5067. addl 32(%esp),%edx
  5068. xorl %edi,%ebx
  5069. shrdl $2,%ecx,%ecx
  5070. addl %edx,%ebx
  5071. addl 12(%esp),%edx
  5072. addl %ecx,%ebx
  5073. movl %edx,%ecx
  5074. shrdl $14,%edx,%edx
  5075. movl 16(%esp),%esi
  5076. xorl %ecx,%edx
  5077. movl 20(%esp),%edi
  5078. xorl %edi,%esi
  5079. shrdl $5,%edx,%edx
  5080. andl %ecx,%esi
  5081. movl %ecx,12(%esp)
  5082. xorl %ecx,%edx
  5083. xorl %esi,%edi
  5084. shrdl $6,%edx,%edx
  5085. movl %ebx,%ecx
  5086. addl %edi,%edx
  5087. movl (%esp),%edi
  5088. movl %ebx,%esi
  5089. shrdl $9,%ecx,%ecx
  5090. movl %ebx,28(%esp)
  5091. xorl %ebx,%ecx
  5092. xorl %edi,%ebx
  5093. addl 24(%esp),%edx
  5094. shrdl $11,%ecx,%ecx
  5095. andl %ebx,%eax
  5096. xorl %esi,%ecx
  5097. addl 36(%esp),%edx
  5098. xorl %edi,%eax
  5099. shrdl $2,%ecx,%ecx
  5100. addl %edx,%eax
  5101. addl 8(%esp),%edx
  5102. addl %ecx,%eax
  5103. movl %edx,%ecx
  5104. shrdl $14,%edx,%edx
  5105. movl 12(%esp),%esi
  5106. xorl %ecx,%edx
  5107. movl 16(%esp),%edi
  5108. xorl %edi,%esi
  5109. shrdl $5,%edx,%edx
  5110. andl %ecx,%esi
  5111. movl %ecx,8(%esp)
  5112. xorl %ecx,%edx
  5113. xorl %esi,%edi
  5114. shrdl $6,%edx,%edx
  5115. movl %eax,%ecx
  5116. addl %edi,%edx
  5117. movl 28(%esp),%edi
  5118. movl %eax,%esi
  5119. shrdl $9,%ecx,%ecx
  5120. movl %eax,24(%esp)
  5121. xorl %eax,%ecx
  5122. xorl %edi,%eax
  5123. addl 20(%esp),%edx
  5124. shrdl $11,%ecx,%ecx
  5125. andl %eax,%ebx
  5126. xorl %esi,%ecx
  5127. addl 40(%esp),%edx
  5128. xorl %edi,%ebx
  5129. shrdl $2,%ecx,%ecx
  5130. addl %edx,%ebx
  5131. addl 4(%esp),%edx
  5132. addl %ecx,%ebx
  5133. movl %edx,%ecx
  5134. shrdl $14,%edx,%edx
  5135. movl 8(%esp),%esi
  5136. xorl %ecx,%edx
  5137. movl 12(%esp),%edi
  5138. xorl %edi,%esi
  5139. shrdl $5,%edx,%edx
  5140. andl %ecx,%esi
  5141. movl %ecx,4(%esp)
  5142. xorl %ecx,%edx
  5143. xorl %esi,%edi
  5144. shrdl $6,%edx,%edx
  5145. movl %ebx,%ecx
  5146. addl %edi,%edx
  5147. movl 24(%esp),%edi
  5148. movl %ebx,%esi
  5149. shrdl $9,%ecx,%ecx
  5150. movl %ebx,20(%esp)
  5151. xorl %ebx,%ecx
  5152. xorl %edi,%ebx
  5153. addl 16(%esp),%edx
  5154. shrdl $11,%ecx,%ecx
  5155. andl %ebx,%eax
  5156. xorl %esi,%ecx
  5157. addl 44(%esp),%edx
  5158. xorl %edi,%eax
  5159. shrdl $2,%ecx,%ecx
  5160. addl %edx,%eax
  5161. addl (%esp),%edx
  5162. addl %ecx,%eax
  5163. movl %edx,%ecx
  5164. shrdl $14,%edx,%edx
  5165. movl 4(%esp),%esi
  5166. xorl %ecx,%edx
  5167. movl 8(%esp),%edi
  5168. xorl %edi,%esi
  5169. shrdl $5,%edx,%edx
  5170. andl %ecx,%esi
  5171. movl %ecx,(%esp)
  5172. xorl %ecx,%edx
  5173. xorl %esi,%edi
  5174. shrdl $6,%edx,%edx
  5175. movl %eax,%ecx
  5176. addl %edi,%edx
  5177. movl 20(%esp),%edi
  5178. movl %eax,%esi
  5179. shrdl $9,%ecx,%ecx
  5180. movl %eax,16(%esp)
  5181. xorl %eax,%ecx
  5182. xorl %edi,%eax
  5183. addl 12(%esp),%edx
  5184. shrdl $11,%ecx,%ecx
  5185. andl %eax,%ebx
  5186. xorl %esi,%ecx
  5187. addl 48(%esp),%edx
  5188. xorl %edi,%ebx
  5189. shrdl $2,%ecx,%ecx
  5190. addl %edx,%ebx
  5191. addl 28(%esp),%edx
  5192. addl %ecx,%ebx
  5193. movl %edx,%ecx
  5194. shrdl $14,%edx,%edx
  5195. movl (%esp),%esi
  5196. xorl %ecx,%edx
  5197. movl 4(%esp),%edi
  5198. xorl %edi,%esi
  5199. shrdl $5,%edx,%edx
  5200. andl %ecx,%esi
  5201. movl %ecx,28(%esp)
  5202. xorl %ecx,%edx
  5203. xorl %esi,%edi
  5204. shrdl $6,%edx,%edx
  5205. movl %ebx,%ecx
  5206. addl %edi,%edx
  5207. movl 16(%esp),%edi
  5208. movl %ebx,%esi
  5209. shrdl $9,%ecx,%ecx
  5210. movl %ebx,12(%esp)
  5211. xorl %ebx,%ecx
  5212. xorl %edi,%ebx
  5213. addl 8(%esp),%edx
  5214. shrdl $11,%ecx,%ecx
  5215. andl %ebx,%eax
  5216. xorl %esi,%ecx
  5217. addl 52(%esp),%edx
  5218. xorl %edi,%eax
  5219. shrdl $2,%ecx,%ecx
  5220. addl %edx,%eax
  5221. addl 24(%esp),%edx
  5222. addl %ecx,%eax
  5223. movl %edx,%ecx
  5224. shrdl $14,%edx,%edx
  5225. movl 28(%esp),%esi
  5226. xorl %ecx,%edx
  5227. movl (%esp),%edi
  5228. xorl %edi,%esi
  5229. shrdl $5,%edx,%edx
  5230. andl %ecx,%esi
  5231. movl %ecx,24(%esp)
  5232. xorl %ecx,%edx
  5233. xorl %esi,%edi
  5234. shrdl $6,%edx,%edx
  5235. movl %eax,%ecx
  5236. addl %edi,%edx
  5237. movl 12(%esp),%edi
  5238. movl %eax,%esi
  5239. shrdl $9,%ecx,%ecx
  5240. movl %eax,8(%esp)
  5241. xorl %eax,%ecx
  5242. xorl %edi,%eax
  5243. addl 4(%esp),%edx
  5244. shrdl $11,%ecx,%ecx
  5245. andl %eax,%ebx
  5246. xorl %esi,%ecx
  5247. addl 56(%esp),%edx
  5248. xorl %edi,%ebx
  5249. shrdl $2,%ecx,%ecx
  5250. addl %edx,%ebx
  5251. addl 20(%esp),%edx
  5252. addl %ecx,%ebx
  5253. movl %edx,%ecx
  5254. shrdl $14,%edx,%edx
  5255. movl 24(%esp),%esi
  5256. xorl %ecx,%edx
  5257. movl 28(%esp),%edi
  5258. xorl %edi,%esi
  5259. shrdl $5,%edx,%edx
  5260. andl %ecx,%esi
  5261. movl %ecx,20(%esp)
  5262. xorl %ecx,%edx
  5263. xorl %esi,%edi
  5264. shrdl $6,%edx,%edx
  5265. movl %ebx,%ecx
  5266. addl %edi,%edx
  5267. movl 8(%esp),%edi
  5268. movl %ebx,%esi
  5269. shrdl $9,%ecx,%ecx
  5270. movl %ebx,4(%esp)
  5271. xorl %ebx,%ecx
  5272. xorl %edi,%ebx
  5273. addl (%esp),%edx
  5274. shrdl $11,%ecx,%ecx
  5275. andl %ebx,%eax
  5276. xorl %esi,%ecx
  5277. addl 60(%esp),%edx
  5278. xorl %edi,%eax
  5279. shrdl $2,%ecx,%ecx
  5280. addl %edx,%eax
  5281. addl 16(%esp),%edx
  5282. addl %ecx,%eax
  5283. movl %edx,%ecx
  5284. shrdl $14,%edx,%edx
  5285. movl 20(%esp),%esi
  5286. xorl %ecx,%edx
  5287. movl 24(%esp),%edi
  5288. xorl %edi,%esi
  5289. shrdl $5,%edx,%edx
  5290. andl %ecx,%esi
  5291. movl %ecx,16(%esp)
  5292. xorl %ecx,%edx
  5293. xorl %esi,%edi
  5294. shrdl $6,%edx,%edx
  5295. movl %eax,%ecx
  5296. addl %edi,%edx
  5297. movl 4(%esp),%edi
  5298. movl %eax,%esi
  5299. shrdl $9,%ecx,%ecx
  5300. movl %eax,(%esp)
  5301. xorl %eax,%ecx
  5302. xorl %edi,%eax
  5303. addl 28(%esp),%edx
  5304. shrdl $11,%ecx,%ecx
  5305. andl %eax,%ebx
  5306. xorl %esi,%ecx
  5307. addl 64(%esp),%edx
  5308. xorl %edi,%ebx
  5309. shrdl $2,%ecx,%ecx
  5310. addl %edx,%ebx
  5311. addl 12(%esp),%edx
  5312. addl %ecx,%ebx
  5313. movl %edx,%ecx
  5314. shrdl $14,%edx,%edx
  5315. movl 16(%esp),%esi
  5316. xorl %ecx,%edx
  5317. movl 20(%esp),%edi
  5318. xorl %edi,%esi
  5319. shrdl $5,%edx,%edx
  5320. andl %ecx,%esi
  5321. movl %ecx,12(%esp)
  5322. xorl %ecx,%edx
  5323. xorl %esi,%edi
  5324. shrdl $6,%edx,%edx
  5325. movl %ebx,%ecx
  5326. addl %edi,%edx
  5327. movl (%esp),%edi
  5328. movl %ebx,%esi
  5329. shrdl $9,%ecx,%ecx
  5330. movl %ebx,28(%esp)
  5331. xorl %ebx,%ecx
  5332. xorl %edi,%ebx
  5333. addl 24(%esp),%edx
  5334. shrdl $11,%ecx,%ecx
  5335. andl %ebx,%eax
  5336. xorl %esi,%ecx
  5337. addl 68(%esp),%edx
  5338. xorl %edi,%eax
  5339. shrdl $2,%ecx,%ecx
  5340. addl %edx,%eax
  5341. addl 8(%esp),%edx
  5342. addl %ecx,%eax
  5343. movl %edx,%ecx
  5344. shrdl $14,%edx,%edx
  5345. movl 12(%esp),%esi
  5346. xorl %ecx,%edx
  5347. movl 16(%esp),%edi
  5348. xorl %edi,%esi
  5349. shrdl $5,%edx,%edx
  5350. andl %ecx,%esi
  5351. movl %ecx,8(%esp)
  5352. xorl %ecx,%edx
  5353. xorl %esi,%edi
  5354. shrdl $6,%edx,%edx
  5355. movl %eax,%ecx
  5356. addl %edi,%edx
  5357. movl 28(%esp),%edi
  5358. movl %eax,%esi
  5359. shrdl $9,%ecx,%ecx
  5360. movl %eax,24(%esp)
  5361. xorl %eax,%ecx
  5362. xorl %edi,%eax
  5363. addl 20(%esp),%edx
  5364. shrdl $11,%ecx,%ecx
  5365. andl %eax,%ebx
  5366. xorl %esi,%ecx
  5367. addl 72(%esp),%edx
  5368. xorl %edi,%ebx
  5369. shrdl $2,%ecx,%ecx
  5370. addl %edx,%ebx
  5371. addl 4(%esp),%edx
  5372. addl %ecx,%ebx
  5373. movl %edx,%ecx
  5374. shrdl $14,%edx,%edx
  5375. movl 8(%esp),%esi
  5376. xorl %ecx,%edx
  5377. movl 12(%esp),%edi
  5378. xorl %edi,%esi
  5379. shrdl $5,%edx,%edx
  5380. andl %ecx,%esi
  5381. movl %ecx,4(%esp)
  5382. xorl %ecx,%edx
  5383. xorl %esi,%edi
  5384. shrdl $6,%edx,%edx
  5385. movl %ebx,%ecx
  5386. addl %edi,%edx
  5387. movl 24(%esp),%edi
  5388. movl %ebx,%esi
  5389. shrdl $9,%ecx,%ecx
  5390. movl %ebx,20(%esp)
  5391. xorl %ebx,%ecx
  5392. xorl %edi,%ebx
  5393. addl 16(%esp),%edx
  5394. shrdl $11,%ecx,%ecx
  5395. andl %ebx,%eax
  5396. xorl %esi,%ecx
  5397. addl 76(%esp),%edx
  5398. xorl %edi,%eax
  5399. shrdl $2,%ecx,%ecx
  5400. addl %edx,%eax
  5401. addl (%esp),%edx
  5402. addl %ecx,%eax
  5403. movl %edx,%ecx
  5404. shrdl $14,%edx,%edx
  5405. movl 4(%esp),%esi
  5406. xorl %ecx,%edx
  5407. movl 8(%esp),%edi
  5408. xorl %edi,%esi
  5409. shrdl $5,%edx,%edx
  5410. andl %ecx,%esi
  5411. movl %ecx,(%esp)
  5412. xorl %ecx,%edx
  5413. xorl %esi,%edi
  5414. shrdl $6,%edx,%edx
  5415. movl %eax,%ecx
  5416. addl %edi,%edx
  5417. movl 20(%esp),%edi
  5418. movl %eax,%esi
  5419. shrdl $9,%ecx,%ecx
  5420. movl %eax,16(%esp)
  5421. xorl %eax,%ecx
  5422. xorl %edi,%eax
  5423. addl 12(%esp),%edx
  5424. shrdl $11,%ecx,%ecx
  5425. andl %eax,%ebx
  5426. xorl %esi,%ecx
  5427. addl 80(%esp),%edx
  5428. xorl %edi,%ebx
  5429. shrdl $2,%ecx,%ecx
  5430. addl %edx,%ebx
  5431. addl 28(%esp),%edx
  5432. addl %ecx,%ebx
  5433. movl %edx,%ecx
  5434. shrdl $14,%edx,%edx
  5435. movl (%esp),%esi
  5436. xorl %ecx,%edx
  5437. movl 4(%esp),%edi
  5438. xorl %edi,%esi
  5439. shrdl $5,%edx,%edx
  5440. andl %ecx,%esi
  5441. movl %ecx,28(%esp)
  5442. xorl %ecx,%edx
  5443. xorl %esi,%edi
  5444. shrdl $6,%edx,%edx
  5445. movl %ebx,%ecx
  5446. addl %edi,%edx
  5447. movl 16(%esp),%edi
  5448. movl %ebx,%esi
  5449. shrdl $9,%ecx,%ecx
  5450. movl %ebx,12(%esp)
  5451. xorl %ebx,%ecx
  5452. xorl %edi,%ebx
  5453. addl 8(%esp),%edx
  5454. shrdl $11,%ecx,%ecx
  5455. andl %ebx,%eax
  5456. xorl %esi,%ecx
  5457. addl 84(%esp),%edx
  5458. xorl %edi,%eax
  5459. shrdl $2,%ecx,%ecx
  5460. addl %edx,%eax
  5461. addl 24(%esp),%edx
  5462. addl %ecx,%eax
  5463. movl %edx,%ecx
  5464. shrdl $14,%edx,%edx
  5465. movl 28(%esp),%esi
  5466. xorl %ecx,%edx
  5467. movl (%esp),%edi
  5468. xorl %edi,%esi
  5469. shrdl $5,%edx,%edx
  5470. andl %ecx,%esi
  5471. movl %ecx,24(%esp)
  5472. xorl %ecx,%edx
  5473. xorl %esi,%edi
  5474. shrdl $6,%edx,%edx
  5475. movl %eax,%ecx
  5476. addl %edi,%edx
  5477. movl 12(%esp),%edi
  5478. movl %eax,%esi
  5479. shrdl $9,%ecx,%ecx
  5480. movl %eax,8(%esp)
  5481. xorl %eax,%ecx
  5482. xorl %edi,%eax
  5483. addl 4(%esp),%edx
  5484. shrdl $11,%ecx,%ecx
  5485. andl %eax,%ebx
  5486. xorl %esi,%ecx
  5487. addl 88(%esp),%edx
  5488. xorl %edi,%ebx
  5489. shrdl $2,%ecx,%ecx
  5490. addl %edx,%ebx
  5491. addl 20(%esp),%edx
  5492. addl %ecx,%ebx
  5493. movl %edx,%ecx
  5494. shrdl $14,%edx,%edx
  5495. movl 24(%esp),%esi
  5496. xorl %ecx,%edx
  5497. movl 28(%esp),%edi
  5498. xorl %edi,%esi
  5499. shrdl $5,%edx,%edx
  5500. andl %ecx,%esi
  5501. movl %ecx,20(%esp)
  5502. xorl %ecx,%edx
  5503. xorl %esi,%edi
  5504. shrdl $6,%edx,%edx
  5505. movl %ebx,%ecx
  5506. addl %edi,%edx
  5507. movl 8(%esp),%edi
  5508. movl %ebx,%esi
  5509. shrdl $9,%ecx,%ecx
  5510. movl %ebx,4(%esp)
  5511. xorl %ebx,%ecx
  5512. xorl %edi,%ebx
  5513. addl (%esp),%edx
  5514. shrdl $11,%ecx,%ecx
  5515. andl %ebx,%eax
  5516. xorl %esi,%ecx
  5517. addl 92(%esp),%edx
  5518. xorl %edi,%eax
  5519. shrdl $2,%ecx,%ecx
  5520. addl %edx,%eax
  5521. addl 16(%esp),%edx
  5522. addl %ecx,%eax
  5523. movl 96(%esp),%esi
  5524. xorl %edi,%ebx
  5525. movl 12(%esp),%ecx
  5526. addl (%esi),%eax
  5527. addl 4(%esi),%ebx
  5528. addl 8(%esi),%edi
  5529. addl 12(%esi),%ecx
  5530. movl %eax,(%esi)
  5531. movl %ebx,4(%esi)
  5532. movl %edi,8(%esi)
  5533. movl %ecx,12(%esi)
  5534. movl %ebx,4(%esp)
  5535. xorl %edi,%ebx
  5536. movl %edi,8(%esp)
  5537. movl %ecx,12(%esp)
  5538. movl 20(%esp),%edi
  5539. movl 24(%esp),%ecx
  5540. addl 16(%esi),%edx
  5541. addl 20(%esi),%edi
  5542. addl 24(%esi),%ecx
  5543. movl %edx,16(%esi)
  5544. movl %edi,20(%esi)
  5545. movl %edi,20(%esp)
  5546. movl 28(%esp),%edi
  5547. movl %ecx,24(%esi)
  5548. addl 28(%esi),%edi
  5549. movl %ecx,24(%esp)
  5550. movl %edi,28(%esi)
  5551. movl %edi,28(%esp)
  5552. movl 100(%esp),%edi
  5553. vmovdqa 64(%ebp),%xmm7
  5554. subl $192,%ebp
  5555. cmpl 104(%esp),%edi
  5556. jb .L012grand_avx
  5557. movl 108(%esp),%esp
  5558. vzeroall
  5559. popl %edi
  5560. popl %esi
  5561. popl %ebx
  5562. popl %ebp
  5563. ret
  5564. .size sha256_block_data_order,.-.L_sha256_block_data_order_begin
  5565. #endif
  5566. .section .note.GNU-stack,"",@progbits