sha1-mb-x86_64.masm 160 KB

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