Surprise! We've been running on hardware provided by BuyVM for a few months and wanted to show them a little appreciation.
Running a paste site comes with unique challenges, ones that aren't always obvious and hard to control. As such, BuyVM offered us a home where we could worry less about the hosting side of things and focus on maintaining a clean and useful service! Go check them out and show them some love!
Description: hello.v
Submitted on October 23, 2019 at 05:14 PM

New Paste 1 (Intel x86 Assembly)

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283
hello:
(__TEXT,__text) section
start:
0000000100000d10	pushq	$0x0
0000000100000d12	movq	%rsp, %rbp
0000000100000d15	andq	$-0x10, %rsp
0000000100000d19	movq	0x8(%rbp), %rdi
0000000100000d1d	leaq	0x10(%rbp), %rsi
0000000100000d21	movl	%edi, %edx
0000000100000d23	addl	$0x1, %edx
0000000100000d26	shll	$0x3, %edx
0000000100000d29	addq	%rsi, %rdx
0000000100000d2c	movq	%rdx, %rcx
0000000100000d2f	jmp	0x100000d35
0000000100000d31	addq	$0x8, %rcx
0000000100000d35	cmpq	$0x0, (%rcx)
0000000100000d39	jne	0x100000d31
0000000100000d3b	addq	$0x8, %rcx
0000000100000d3f	callq	_main
0000000100000d44	movl	%eax, %edi
0000000100000d46	callq	0x10000a5da ## symbol stub for: _exit
0000000100000d4b	hlt
0000000100000d4c	nop
0000000100000d4d	nop
0000000100000d4e	nop
0000000100000d4f	nop
_new_array:
0000000100000d50	pushq	%rbp
0000000100000d51	movq	%rsp, %rbp
0000000100000d54	subq	$0x20, %rsp
0000000100000d58	movq	%rdi, %rax
0000000100000d5b	movl	%esi, -0x4(%rbp)
0000000100000d5e	movl	%edx, -0x8(%rbp)
0000000100000d61	movl	%ecx, -0xc(%rbp)
0000000100000d64	movl	-0x8(%rbp), %ecx
0000000100000d67	imull	-0xc(%rbp), %ecx
0000000100000d6b	movq	%rdi, -0x18(%rbp)
0000000100000d6f	movl	%ecx, %edi
0000000100000d71	movq	%rax, -0x20(%rbp)
0000000100000d75	callq	_v_calloc
0000000100000d7a	movq	-0x18(%rbp), %r8
0000000100000d7e	movq	%rax, (%r8)
0000000100000d81	movl	-0x4(%rbp), %ecx
0000000100000d84	movl	%ecx, 0x8(%r8)
0000000100000d88	movl	-0x8(%rbp), %ecx
0000000100000d8b	movl	%ecx, 0xc(%r8)
0000000100000d8f	movl	-0xc(%rbp), %ecx
0000000100000d92	movl	%ecx, 0x10(%r8)
0000000100000d96	movq	-0x20(%rbp), %rax
0000000100000d9a	addq	$0x20, %rsp
0000000100000d9e	popq	%rbp
0000000100000d9f	retq
_v_calloc:
0000000100000da0	pushq	%rbp
0000000100000da1	movq	%rsp, %rbp
0000000100000da4	subq	$0x20, %rsp
0000000100000da8	movl	%edi, -0x4(%rbp)
0000000100000dab	cmpl	$0x0, -0x4(%rbp)
0000000100000daf	jge	0x100000dd4
0000000100000db5	leaq	0x9bd3(%rip), %rdi ## literal pool for: "calloc(<0)"
0000000100000dbc	callq	_tos3
0000000100000dc1	movq	%rax, -0x18(%rbp)
0000000100000dc5	movl	%edx, -0x10(%rbp)
0000000100000dc8	movq	-0x18(%rbp), %rdi
0000000100000dcc	movl	-0x10(%rbp), %esi
0000000100000dcf	callq	_v_panic
0000000100000dd4	movl	$0x1, %eax
0000000100000dd9	movl	%eax, %esi
0000000100000ddb	movslq	-0x4(%rbp), %rdi
0000000100000ddf	callq	0x10000a5d4 ## symbol stub for: _calloc
0000000100000de4	addq	$0x20, %rsp
0000000100000de8	popq	%rbp
0000000100000de9	retq
0000000100000dea	nopw	(%rax,%rax)
_make:
0000000100000df0	pushq	%rbp
0000000100000df1	movq	%rsp, %rbp
0000000100000df4	subq	$0x20, %rsp
0000000100000df8	movq	%rdi, %rax
0000000100000dfb	movl	%esi, -0x4(%rbp)
0000000100000dfe	movl	%edx, -0x8(%rbp)
0000000100000e01	movl	%ecx, -0xc(%rbp)
0000000100000e04	movl	-0x4(%rbp), %esi
0000000100000e07	movl	-0x8(%rbp), %edx
0000000100000e0a	movl	-0xc(%rbp), %ecx
0000000100000e0d	movq	%rax, -0x18(%rbp)
0000000100000e11	callq	_new_array
0000000100000e16	movq	-0x18(%rbp), %rax
0000000100000e1a	addq	$0x20, %rsp
0000000100000e1e	popq	%rbp
0000000100000e1f	retq
_new_array_from_c_array:
0000000100000e20	pushq	%rbp
0000000100000e21	movq	%rsp, %rbp
0000000100000e24	subq	$0x30, %rsp
0000000100000e28	movq	%rdi, %rax
0000000100000e2b	movl	%esi, -0x4(%rbp)
0000000100000e2e	movl	%edx, -0x8(%rbp)
0000000100000e31	movl	%ecx, -0xc(%rbp)
0000000100000e34	movq	%r8, -0x18(%rbp)
0000000100000e38	movl	-0x8(%rbp), %ecx
0000000100000e3b	imull	-0xc(%rbp), %ecx
0000000100000e3f	movq	%rdi, -0x20(%rbp)
0000000100000e43	movl	%ecx, %edi
0000000100000e45	movq	%rax, -0x28(%rbp)
0000000100000e49	callq	_v_calloc
0000000100000e4e	movq	$-0x1, %rcx
0000000100000e55	movq	-0x20(%rbp), %r8
0000000100000e59	movq	%rax, (%r8)
0000000100000e5c	movl	-0x4(%rbp), %edx
0000000100000e5f	movl	%edx, 0x8(%r8)
0000000100000e63	movl	-0x8(%rbp), %edx
0000000100000e66	movl	%edx, 0xc(%r8)
0000000100000e6a	movl	-0xc(%rbp), %edx
0000000100000e6d	movl	%edx, 0x10(%r8)
0000000100000e71	movq	(%r8), %rdi
0000000100000e74	movq	-0x18(%rbp), %rsi
0000000100000e78	movl	-0x4(%rbp), %edx
0000000100000e7b	imull	-0xc(%rbp), %edx
0000000100000e7f	movslq	%edx, %rdx
0000000100000e82	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100000e87	movq	-0x28(%rbp), %rcx
0000000100000e8b	movq	%rax, -0x30(%rbp)
0000000100000e8f	movq	%rcx, %rax
0000000100000e92	addq	$0x30, %rsp
0000000100000e96	popq	%rbp
0000000100000e97	retq
0000000100000e98	nopl	(%rax,%rax)
_new_array_from_c_array_no_alloc:
0000000100000ea0	pushq	%rbp
0000000100000ea1	movq	%rsp, %rbp
0000000100000ea4	movq	%rdi, %rax
0000000100000ea7	movl	%esi, -0x4(%rbp)
0000000100000eaa	movl	%edx, -0x8(%rbp)
0000000100000ead	movl	%ecx, -0xc(%rbp)
0000000100000eb0	movq	%r8, -0x18(%rbp)
0000000100000eb4	movq	-0x18(%rbp), %r8
0000000100000eb8	movq	%r8, (%rdi)
0000000100000ebb	movl	-0x4(%rbp), %ecx
0000000100000ebe	movl	%ecx, 0x8(%rdi)
0000000100000ec1	movl	-0x8(%rbp), %ecx
0000000100000ec4	movl	%ecx, 0xc(%rdi)
0000000100000ec7	movl	-0xc(%rbp), %ecx
0000000100000eca	movl	%ecx, 0x10(%rdi)
0000000100000ecd	popq	%rbp
0000000100000ece	retq
0000000100000ecf	nop
_array_repeat_old:
0000000100000ed0	pushq	%rbp
0000000100000ed1	movq	%rsp, %rbp
0000000100000ed4	subq	$0x40, %rsp
0000000100000ed8	movq	%rdi, %rax
0000000100000edb	movq	%rsi, -0x8(%rbp)
0000000100000edf	movl	%edx, -0xc(%rbp)
0000000100000ee2	movl	%ecx, -0x10(%rbp)
0000000100000ee5	movl	-0xc(%rbp), %ecx
0000000100000ee8	imull	-0x10(%rbp), %ecx
0000000100000eec	movq	%rdi, -0x20(%rbp)
0000000100000ef0	movl	%ecx, %edi
0000000100000ef2	movq	%rax, -0x28(%rbp)
0000000100000ef6	callq	_v_calloc
0000000100000efb	movq	-0x20(%rbp), %rsi
0000000100000eff	movq	%rax, (%rsi)
0000000100000f02	movl	-0xc(%rbp), %ecx
0000000100000f05	movl	%ecx, 0x8(%rsi)
0000000100000f08	movl	-0xc(%rbp), %ecx
0000000100000f0b	movl	%ecx, 0xc(%rsi)
0000000100000f0e	movl	-0x10(%rbp), %ecx
0000000100000f11	movl	%ecx, 0x10(%rsi)
0000000100000f14	movl	$0x0, -0x14(%rbp)
0000000100000f1b	movl	-0x14(%rbp), %eax
0000000100000f1e	cmpl	-0xc(%rbp), %eax
0000000100000f21	jge	0x100000f6c
0000000100000f27	movq	$-0x1, %rcx
0000000100000f2e	movq	-0x20(%rbp), %rax
0000000100000f32	movq	(%rax), %rdx
0000000100000f35	movl	-0x14(%rbp), %esi
0000000100000f38	imull	-0x10(%rbp), %esi
0000000100000f3c	movslq	%esi, %rdi
0000000100000f3f	addq	%rdi, %rdx
0000000100000f42	movq	-0x8(%rbp), %rsi
0000000100000f46	movslq	-0x10(%rbp), %rdi
0000000100000f4a	movq	%rdi, -0x30(%rbp)
0000000100000f4e	movq	%rdx, %rdi
0000000100000f51	movq	-0x30(%rbp), %rdx
0000000100000f55	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100000f5a	movq	%rax, -0x38(%rbp)
0000000100000f5e	movl	-0x14(%rbp), %eax
0000000100000f61	addl	$0x1, %eax
0000000100000f64	movl	%eax, -0x14(%rbp)
0000000100000f67	jmp	0x100000f1b
0000000100000f6c	movq	-0x28(%rbp), %rax
0000000100000f70	addq	$0x40, %rsp
0000000100000f74	popq	%rbp
0000000100000f75	retq
0000000100000f76	nopw	%cs:(%rax,%rax)
_array_repeat:
0000000100000f80	pushq	%rbp
0000000100000f81	movq	%rsp, %rbp
0000000100000f84	subq	$0x40, %rsp
0000000100000f88	movq	%rdi, %rax
0000000100000f8b	leaq	0x10(%rbp), %rcx
0000000100000f8f	movl	%esi, -0x4(%rbp)
0000000100000f92	movl	-0x4(%rbp), %esi
0000000100000f95	imull	0x10(%rcx), %esi
0000000100000f99	movq	%rdi, -0x20(%rbp)
0000000100000f9d	movl	%esi, %edi
0000000100000f9f	movq	%rax, -0x28(%rbp)
0000000100000fa3	movq	%rcx, -0x30(%rbp)
0000000100000fa7	callq	_v_calloc
0000000100000fac	movq	-0x20(%rbp), %rcx
0000000100000fb0	movq	%rax, (%rcx)
0000000100000fb3	movl	-0x4(%rbp), %esi
0000000100000fb6	movl	%esi, 0x8(%rcx)
0000000100000fb9	movl	-0x4(%rbp), %esi
0000000100000fbc	movl	%esi, 0xc(%rcx)
0000000100000fbf	movq	-0x30(%rbp), %rax
0000000100000fc3	movl	0x10(%rax), %esi
0000000100000fc6	movl	%esi, 0x10(%rcx)
0000000100000fc9	movq	(%rax), %rdx
0000000100000fcc	movq	%rdx, -0x10(%rbp)
0000000100000fd0	movl	$0x0, -0x14(%rbp)
0000000100000fd7	movl	-0x14(%rbp), %eax
0000000100000fda	cmpl	-0x4(%rbp), %eax
0000000100000fdd	jge	0x100001027
0000000100000fe3	movq	$-0x1, %rcx
0000000100000fea	movq	-0x20(%rbp), %rax
0000000100000fee	movq	(%rax), %rdx
0000000100000ff1	movl	-0x14(%rbp), %esi
0000000100000ff4	movq	-0x30(%rbp), %rdi
0000000100000ff8	imull	0x10(%rdi), %esi
0000000100000ffc	movslq	%esi, %r8
0000000100000fff	addq	%r8, %rdx
0000000100001002	movq	-0x10(%rbp), %rsi
0000000100001006	movslq	0x10(%rdi), %r8
000000010000100a	movq	%rdx, %rdi
000000010000100d	movq	%r8, %rdx
0000000100001010	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100001015	movq	%rax, -0x38(%rbp)
0000000100001019	movl	-0x14(%rbp), %eax
000000010000101c	addl	$0x1, %eax
000000010000101f	movl	%eax, -0x14(%rbp)
0000000100001022	jmp	0x100000fd7
0000000100001027	movq	-0x28(%rbp), %rax
000000010000102b	addq	$0x40, %rsp
000000010000102f	popq	%rbp
0000000100001030	retq
0000000100001031	nopw	%cs:(%rax,%rax)
_array_sort_with_compare:
0000000100001040	pushq	%rbp
0000000100001041	movq	%rsp, %rbp
0000000100001044	subq	$0x10, %rsp
0000000100001048	movq	%rdi, -0x8(%rbp)
000000010000104c	movq	%rsi, -0x10(%rbp)
0000000100001050	movq	-0x8(%rbp), %rsi
0000000100001054	movq	(%rsi), %rdi
0000000100001057	movq	-0x8(%rbp), %rsi
000000010000105b	movslq	0x8(%rsi), %rsi
000000010000105f	movq	-0x8(%rbp), %rax
0000000100001063	movslq	0x10(%rax), %rdx
0000000100001067	movq	-0x10(%rbp), %rax
000000010000106b	movq	%rax, %rcx
000000010000106e	callq	0x10000a610 ## symbol stub for: _qsort
0000000100001073	addq	$0x10, %rsp
0000000100001077	popq	%rbp
0000000100001078	retq
0000000100001079	nopl	(%rax)
_array_insert:
0000000100001080	pushq	%rbp
0000000100001081	movq	%rsp, %rbp
0000000100001084	subq	$0x40, %rsp
0000000100001088	movq	%rdi, -0x8(%rbp)
000000010000108c	movl	%esi, -0xc(%rbp)
000000010000108f	movq	%rdx, -0x18(%rbp)
0000000100001093	movl	-0xc(%rbp), %esi
0000000100001096	movq	-0x8(%rbp), %rdx
000000010000109a	cmpl	0x8(%rdx), %esi
000000010000109d	jl	0x1000010c2
00000001000010a3	leaq	0x96c2(%rip), %rdi ## literal pool for: "array.insert: index larger than length"
00000001000010aa	callq	_tos3
00000001000010af	movq	%rax, -0x28(%rbp)
00000001000010b3	movl	%edx, -0x20(%rbp)
00000001000010b6	movq	-0x28(%rbp), %rdi
00000001000010ba	movl	-0x20(%rbp), %esi
00000001000010bd	callq	_v_panic
00000001000010c2	movq	-0x8(%rbp), %rdi
00000001000010c6	movq	-0x18(%rbp), %rsi
00000001000010ca	callq	_array_push
00000001000010cf	movq	$-0x1, %rcx
00000001000010d6	movq	-0x8(%rbp), %rsi
00000001000010da	movl	0x10(%rsi), %eax
00000001000010dd	movl	%eax, -0x2c(%rbp)
00000001000010e0	movq	-0x8(%rbp), %rsi
00000001000010e4	movq	(%rsi), %rsi
00000001000010e7	movl	-0xc(%rbp), %eax
00000001000010ea	addl	$0x1, %eax
00000001000010ed	imull	-0x2c(%rbp), %eax
00000001000010f1	movslq	%eax, %rdi
00000001000010f4	addq	%rdi, %rsi
00000001000010f7	movq	-0x8(%rbp), %rdi
00000001000010fb	movq	(%rdi), %rdi
00000001000010fe	movl	-0xc(%rbp), %eax
0000000100001101	imull	-0x2c(%rbp), %eax
0000000100001105	movslq	%eax, %rdx
0000000100001108	addq	%rdx, %rdi
000000010000110b	movq	-0x8(%rbp), %rdx
000000010000110f	movl	0x8(%rdx), %eax
0000000100001112	subl	-0xc(%rbp), %eax
0000000100001115	imull	-0x2c(%rbp), %eax
0000000100001119	movslq	%eax, %rdx
000000010000111c	movq	%rdi, -0x38(%rbp)
0000000100001120	movq	%rsi, %rdi
0000000100001123	movq	-0x38(%rbp), %rsi
0000000100001127	callq	0x10000a59e ## symbol stub for: ___memmove_chk
000000010000112c	movq	-0x8(%rbp), %rdi
0000000100001130	movl	-0xc(%rbp), %esi
0000000100001133	movq	-0x18(%rbp), %rdx
0000000100001137	movq	%rax, -0x40(%rbp)
000000010000113b	callq	_array_set
0000000100001140	addq	$0x40, %rsp
0000000100001144	popq	%rbp
0000000100001145	retq
0000000100001146	nopw	%cs:(%rax,%rax)
_v_panic:
0000000100001150	pushq	%rbp
0000000100001151	movq	%rsp, %rbp
0000000100001154	subq	$0x20, %rsp
0000000100001158	movq	%rdi, -0x10(%rbp)
000000010000115c	movl	%esi, -0x8(%rbp)
000000010000115f	movl	-0x8(%rbp), %esi
0000000100001162	movq	-0x10(%rbp), %rdx
0000000100001166	leaq	0x97d0(%rip), %rdi ## literal pool for: "V panic: %.*s\n"
000000010000116d	xorl	%eax, %eax
000000010000116f	movb	%al, %cl
0000000100001171	movb	%cl, %al
0000000100001173	callq	0x10000a60a ## symbol stub for: _printf
0000000100001178	movl	%eax, -0x14(%rbp)
000000010000117b	callq	_print_backtrace
0000000100001180	movl	$0x1, %edi
0000000100001185	callq	0x10000a5da ## symbol stub for: _exit
000000010000118a	nopw	(%rax,%rax)
_tos3:
0000000100001190	pushq	%rbp
0000000100001191	movq	%rsp, %rbp
0000000100001194	subq	$0x30, %rsp
0000000100001198	movq	%rdi, -0x18(%rbp)
000000010000119c	cmpq	$0x0, -0x18(%rbp)
00000001000011a1	jne	0x1000011c6
00000001000011a7	leaq	0x98ad(%rip), %rdi ## literal pool for: "tos3: nil string"
00000001000011ae	callq	_tos3
00000001000011b3	movq	%rax, -0x28(%rbp)
00000001000011b7	movl	%edx, -0x20(%rbp)
00000001000011ba	movq	-0x28(%rbp), %rdi
00000001000011be	movl	-0x20(%rbp), %esi
00000001000011c1	callq	_v_panic
00000001000011c6	movq	-0x18(%rbp), %rax
00000001000011ca	movq	%rax, -0x10(%rbp)
00000001000011ce	movq	-0x18(%rbp), %rdi
00000001000011d2	callq	0x10000a61c ## symbol stub for: _strlen
00000001000011d7	movl	%eax, %ecx
00000001000011d9	movl	%ecx, -0x8(%rbp)
00000001000011dc	movq	-0x10(%rbp), %rax
00000001000011e0	movl	-0x8(%rbp), %edx
00000001000011e3	addq	$0x30, %rsp
00000001000011e7	popq	%rbp
00000001000011e8	retq
00000001000011e9	nopl	(%rax)
_array_push:
00000001000011f0	pushq	%rbp
00000001000011f1	movq	%rsp, %rbp
00000001000011f4	subq	$0x20, %rsp
00000001000011f8	movq	%rdi, -0x8(%rbp)
00000001000011fc	movq	%rsi, -0x10(%rbp)
0000000100001200	movq	-0x8(%rbp), %rsi
0000000100001204	movl	0x8(%rsi), %eax
0000000100001207	movq	-0x8(%rbp), %rsi
000000010000120b	movl	0xc(%rsi), %ecx
000000010000120e	subl	$0x1, %ecx
0000000100001211	cmpl	%ecx, %eax
0000000100001213	jl	0x100001280
0000000100001219	movq	-0x8(%rbp), %rax
000000010000121d	movl	0x8(%rax), %ecx
0000000100001220	addl	$0x1, %ecx
0000000100001223	shll	$0x1, %ecx
0000000100001226	movl	%ecx, -0x14(%rbp)
0000000100001229	movq	-0x8(%rbp), %rax
000000010000122d	cmpl	$0x0, 0xc(%rax)
0000000100001231	jne	0x100001255
0000000100001237	movl	-0x14(%rbp), %eax
000000010000123a	movq	-0x8(%rbp), %rcx
000000010000123e	imull	0x10(%rcx), %eax
0000000100001242	movl	%eax, %edi
0000000100001244	callq	_v_calloc
0000000100001249	movq	-0x8(%rbp), %rcx
000000010000124d	movq	%rax, (%rcx)
0000000100001250	jmp	0x100001276
0000000100001255	movq	-0x8(%rbp), %rax
0000000100001259	movq	(%rax), %rdi
000000010000125c	movl	-0x14(%rbp), %ecx
000000010000125f	movq	-0x8(%rbp), %rax
0000000100001263	imull	0x10(%rax), %ecx
0000000100001267	movslq	%ecx, %rsi
000000010000126a	callq	0x10000a616 ## symbol stub for: _realloc
000000010000126f	movq	-0x8(%rbp), %rsi
0000000100001273	movq	%rax, (%rsi)
0000000100001276	movl	-0x14(%rbp), %eax
0000000100001279	movq	-0x8(%rbp), %rcx
000000010000127d	movl	%eax, 0xc(%rcx)
0000000100001280	movq	$-0x1, %rcx
0000000100001287	movq	-0x8(%rbp), %rax
000000010000128b	movq	(%rax), %rax
000000010000128e	movq	-0x8(%rbp), %rdx
0000000100001292	movl	0x10(%rdx), %esi
0000000100001295	movq	-0x8(%rbp), %rdx
0000000100001299	imull	0x8(%rdx), %esi
000000010000129d	movslq	%esi, %rdx
00000001000012a0	addq	%rdx, %rax
00000001000012a3	movq	-0x10(%rbp), %rsi
00000001000012a7	movq	-0x8(%rbp), %rdx
00000001000012ab	movslq	0x10(%rdx), %rdx
00000001000012af	movq	%rax, %rdi
00000001000012b2	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
00000001000012b7	movq	-0x8(%rbp), %rcx
00000001000012bb	movl	0x8(%rcx), %r8d
00000001000012bf	addl	$0x1, %r8d
00000001000012c3	movl	%r8d, 0x8(%rcx)
00000001000012c7	movq	%rax, -0x20(%rbp)
00000001000012cb	addq	$0x20, %rsp
00000001000012cf	popq	%rbp
00000001000012d0	retq
00000001000012d1	nopw	%cs:(%rax,%rax)
_array_set:
00000001000012e0	pushq	%rbp
00000001000012e1	movq	%rsp, %rbp
00000001000012e4	subq	$0x30, %rsp
00000001000012e8	movq	%rdi, -0x8(%rbp)
00000001000012ec	movl	%esi, -0xc(%rbp)
00000001000012ef	movq	%rdx, -0x18(%rbp)
00000001000012f3	cmpl	$0x0, -0xc(%rbp)
00000001000012f7	jl	0x10000130d
00000001000012fd	movl	-0xc(%rbp), %eax
0000000100001300	movq	-0x8(%rbp), %rcx
0000000100001304	cmpl	0x8(%rcx), %eax
0000000100001307	jl	0x100001338
000000010000130d	leaq	0x9553(%rip), %rdi ## literal pool for: "array index out of range: %d / %d"
0000000100001314	movl	-0xc(%rbp), %esi
0000000100001317	movq	-0x8(%rbp), %rax
000000010000131b	movl	0x8(%rax), %edx
000000010000131e	movb	$0x0, %al
0000000100001320	callq	__STR
0000000100001325	movq	%rax, -0x28(%rbp)
0000000100001329	movl	%edx, -0x20(%rbp)
000000010000132c	movq	-0x28(%rbp), %rdi
0000000100001330	movl	-0x20(%rbp), %esi
0000000100001333	callq	_v_panic
0000000100001338	movq	$-0x1, %rcx
000000010000133f	movq	-0x8(%rbp), %rax
0000000100001343	movq	(%rax), %rax
0000000100001346	movq	-0x8(%rbp), %rdx
000000010000134a	movl	0x10(%rdx), %esi
000000010000134d	imull	-0xc(%rbp), %esi
0000000100001351	movslq	%esi, %rdx
0000000100001354	addq	%rdx, %rax
0000000100001357	movq	-0x18(%rbp), %rsi
000000010000135b	movq	-0x8(%rbp), %rdx
000000010000135f	movslq	0x10(%rdx), %rdx
0000000100001363	movq	%rax, %rdi
0000000100001366	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
000000010000136b	movq	%rax, -0x30(%rbp)
000000010000136f	addq	$0x30, %rsp
0000000100001373	popq	%rbp
0000000100001374	retq
0000000100001375	nopw	%cs:(%rax,%rax)
_array_prepend:
0000000100001380	pushq	%rbp
0000000100001381	movq	%rsp, %rbp
0000000100001384	subq	$0x10, %rsp
0000000100001388	xorl	%eax, %eax
000000010000138a	movq	%rdi, -0x8(%rbp)
000000010000138e	movq	%rsi, -0x10(%rbp)
0000000100001392	movq	-0x8(%rbp), %rdi
0000000100001396	movq	-0x10(%rbp), %rdx
000000010000139a	movl	%eax, %esi
000000010000139c	callq	_array_insert
00000001000013a1	addq	$0x10, %rsp
00000001000013a5	popq	%rbp
00000001000013a6	retq
00000001000013a7	nopw	(%rax,%rax)
_v_array_delete:
00000001000013b0	pushq	%rbp
00000001000013b1	movq	%rsp, %rbp
00000001000013b4	subq	$0x20, %rsp
00000001000013b8	movq	$-0x1, %rcx
00000001000013bf	movq	%rdi, -0x8(%rbp)
00000001000013c3	movl	%esi, -0xc(%rbp)
00000001000013c6	movq	-0x8(%rbp), %rdi
00000001000013ca	movl	0x10(%rdi), %esi
00000001000013cd	movl	%esi, -0x10(%rbp)
00000001000013d0	movq	-0x8(%rbp), %rdi
00000001000013d4	movq	(%rdi), %rdi
00000001000013d7	movl	-0xc(%rbp), %esi
00000001000013da	imull	-0x10(%rbp), %esi
00000001000013de	movslq	%esi, %rax
00000001000013e1	addq	%rax, %rdi
00000001000013e4	movq	-0x8(%rbp), %rax
00000001000013e8	movq	(%rax), %rax
00000001000013eb	movl	-0xc(%rbp), %esi
00000001000013ee	addl	$0x1, %esi
00000001000013f1	imull	-0x10(%rbp), %esi
00000001000013f5	movslq	%esi, %rdx
00000001000013f8	addq	%rdx, %rax
00000001000013fb	movq	-0x8(%rbp), %rdx
00000001000013ff	movl	0x8(%rdx), %esi
0000000100001402	subl	-0xc(%rbp), %esi
0000000100001405	imull	-0x10(%rbp), %esi
0000000100001409	movslq	%esi, %rdx
000000010000140c	movq	%rax, %rsi
000000010000140f	callq	0x10000a59e ## symbol stub for: ___memmove_chk
0000000100001414	movq	-0x8(%rbp), %rcx
0000000100001418	movl	0x8(%rcx), %r8d
000000010000141c	addl	$-0x1, %r8d
0000000100001420	movl	%r8d, 0x8(%rcx)
0000000100001424	movq	-0x8(%rbp), %rcx
0000000100001428	movl	0xc(%rcx), %r8d
000000010000142c	addl	$-0x1, %r8d
0000000100001430	movl	%r8d, 0xc(%rcx)
0000000100001434	movq	%rax, -0x18(%rbp)
0000000100001438	addq	$0x20, %rsp
000000010000143c	popq	%rbp
000000010000143d	retq
000000010000143e	nop
_array_get:
0000000100001440	pushq	%rbp
0000000100001441	movq	%rsp, %rbp
0000000100001444	subq	$0x20, %rsp
0000000100001448	leaq	0x10(%rbp), %rax
000000010000144c	movl	%edi, -0x4(%rbp)
000000010000144f	cmpl	$0x0, -0x4(%rbp)
0000000100001453	movq	%rax, -0x20(%rbp)
0000000100001457	jl	0x10000146d
000000010000145d	movl	-0x4(%rbp), %eax
0000000100001460	movq	-0x20(%rbp), %rcx
0000000100001464	cmpl	0x8(%rcx), %eax
0000000100001467	jl	0x100001498
000000010000146d	leaq	0x931f(%rip), %rdi ## literal pool for: "array index out of range: %d/%d"
0000000100001474	movl	-0x4(%rbp), %esi
0000000100001477	movq	-0x20(%rbp), %rax
000000010000147b	movl	0x8(%rax), %edx
000000010000147e	movb	$0x0, %al
0000000100001480	callq	__STR
0000000100001485	movq	%rax, -0x18(%rbp)
0000000100001489	movl	%edx, -0x10(%rbp)
000000010000148c	movq	-0x18(%rbp), %rdi
0000000100001490	movl	-0x10(%rbp), %esi
0000000100001493	callq	_v_panic
0000000100001498	movq	-0x20(%rbp), %rax
000000010000149c	movq	(%rax), %rcx
000000010000149f	movl	-0x4(%rbp), %edx
00000001000014a2	imull	0x10(%rax), %edx
00000001000014a6	movslq	%edx, %rsi
00000001000014a9	addq	%rsi, %rcx
00000001000014ac	movq	%rcx, %rax
00000001000014af	addq	$0x20, %rsp
00000001000014b3	popq	%rbp
00000001000014b4	retq
00000001000014b5	nopw	%cs:(%rax,%rax)
__STR:
00000001000014c0	pushq	%rbp
00000001000014c1	movq	%rsp, %rbp
00000001000014c4	pushq	%r15
00000001000014c6	pushq	%r14
00000001000014c8	pushq	%rbx
00000001000014c9	subq	$0x1f8, %rsp
00000001000014d0	testb	%al, %al
00000001000014d2	movaps	%xmm7, -0x130(%rbp)
00000001000014d9	movaps	%xmm6, -0x140(%rbp)
00000001000014e0	movaps	%xmm5, -0x150(%rbp)
00000001000014e7	movaps	%xmm4, -0x160(%rbp)
00000001000014ee	movaps	%xmm3, -0x170(%rbp)
00000001000014f5	movaps	%xmm2, -0x180(%rbp)
00000001000014fc	movaps	%xmm1, -0x190(%rbp)
0000000100001503	movaps	%xmm0, -0x1a0(%rbp)
000000010000150a	movq	%rdi, -0x1a8(%rbp)
0000000100001511	movq	%r9, -0x1b0(%rbp)
0000000100001518	movq	%r8, -0x1b8(%rbp)
000000010000151f	movq	%rcx, -0x1c0(%rbp)
0000000100001526	movq	%rdx, -0x1c8(%rbp)
000000010000152d	movq	%rsi, -0x1d0(%rbp)
0000000100001534	je	0x1000015a7
000000010000153a	movaps	-0x1a0(%rbp), %xmm0
0000000100001541	movaps	%xmm0, -0xf0(%rbp)
0000000100001548	movaps	-0x190(%rbp), %xmm1
000000010000154f	movaps	%xmm1, -0xe0(%rbp)
0000000100001556	movaps	-0x180(%rbp), %xmm2
000000010000155d	movaps	%xmm2, -0xd0(%rbp)
0000000100001564	movaps	-0x170(%rbp), %xmm3
000000010000156b	movaps	%xmm3, -0xc0(%rbp)
0000000100001572	movaps	-0x160(%rbp), %xmm4
0000000100001579	movaps	%xmm4, -0xb0(%rbp)
0000000100001580	movaps	-0x150(%rbp), %xmm5
0000000100001587	movaps	%xmm5, -0xa0(%rbp)
000000010000158e	movaps	-0x140(%rbp), %xmm6
0000000100001595	movaps	%xmm6, -0x90(%rbp)
000000010000159c	movaps	-0x130(%rbp), %xmm7
00000001000015a3	movaps	%xmm7, -0x80(%rbp)
00000001000015a7	movq	-0x1b0(%rbp), %rax
00000001000015ae	movq	%rax, -0xf8(%rbp)
00000001000015b5	movq	-0x1b8(%rbp), %rcx
00000001000015bc	movq	%rcx, -0x100(%rbp)
00000001000015c3	movq	-0x1c0(%rbp), %rdx
00000001000015ca	movq	%rdx, -0x108(%rbp)
00000001000015d1	movq	-0x1c8(%rbp), %rsi
00000001000015d8	movq	%rsi, -0x110(%rbp)
00000001000015df	movq	-0x1d0(%rbp), %rdi
00000001000015e6	movq	%rdi, -0x118(%rbp)
00000001000015ed	movq	-0x1a8(%rbp), %r8
00000001000015f4	movq	0xba3d(%rip), %r9 ## literal pool symbol address: ___stack_chk_guard
00000001000015fb	movq	(%r9), %r9
00000001000015fe	movq	%r9, -0x20(%rbp)
0000000100001602	movq	%r8, -0x58(%rbp)
0000000100001606	leaq	-0x120(%rbp), %r8
000000010000160d	movq	%r8, -0x30(%rbp)
0000000100001611	leaq	0x10(%rbp), %r9
0000000100001615	movq	%r9, -0x38(%rbp)
0000000100001619	movl	$0x30, -0x3c(%rbp)
0000000100001620	movl	$0x8, -0x40(%rbp)
0000000100001627	movq	-0x58(%rbp), %r10
000000010000162b	xorl	%r11d, %r11d
000000010000162e	movl	%r11d, %ebx
0000000100001631	movq	$-0x1, %r14
0000000100001638	leaq	-0x40(%rbp), %r15
000000010000163c	movq	%rbx, %rdi
000000010000163f	movq	%rbx, %rsi
0000000100001642	movl	%r11d, %edx
0000000100001645	movq	%r14, %rcx
0000000100001648	movq	%r8, -0x1d8(%rbp)
000000010000164f	movq	%r10, %r8
0000000100001652	movq	%r9, -0x1e0(%rbp)
0000000100001659	movq	%r15, %r9
000000010000165c	movq	%r15, -0x1e8(%rbp)
0000000100001663	movl	%r11d, -0x1ec(%rbp)
000000010000166a	movq	%r14, -0x1f8(%rbp)
0000000100001671	callq	0x10000a5b6 ## symbol stub for: ___vsnprintf_chk
0000000100001676	incl	%eax
0000000100001678	movslq	%eax, %rcx
000000010000167b	movq	%rcx, -0x60(%rbp)
000000010000167f	movq	-0x60(%rbp), %rdi
0000000100001683	callq	0x10000a5fe ## symbol stub for: _malloc
0000000100001688	movq	%rax, -0x68(%rbp)
000000010000168c	movq	-0x1d8(%rbp), %rax
0000000100001693	movq	%rax, -0x30(%rbp)
0000000100001697	movq	-0x1e0(%rbp), %rcx
000000010000169e	movq	%rcx, -0x38(%rbp)
00000001000016a2	movl	$0x30, -0x3c(%rbp)
00000001000016a9	movl	$0x8, -0x40(%rbp)
00000001000016b0	movq	-0x68(%rbp), %rdi
00000001000016b4	movq	-0x58(%rbp), %rcx
00000001000016b8	movl	-0x1ec(%rbp), %esi
00000001000016be	movq	-0x1f8(%rbp), %rdx
00000001000016c5	movq	-0x1e8(%rbp), %r8
00000001000016cc	callq	0x10000a5bc ## symbol stub for: ___vsprintf_chk
00000001000016d1	movq	-0x68(%rbp), %rdi
00000001000016d5	movl	%eax, -0x1fc(%rbp)
00000001000016db	callq	_tos2
00000001000016e0	movq	%rax, -0x50(%rbp)
00000001000016e4	movl	%edx, -0x48(%rbp)
00000001000016e7	movl	-0x48(%rbp), %edx
00000001000016ea	movq	-0x50(%rbp), %rax
00000001000016ee	movq	0xb943(%rip), %rcx ## literal pool symbol address: ___stack_chk_guard
00000001000016f5	movq	(%rcx), %rcx
00000001000016f8	movq	-0x20(%rbp), %rdi
00000001000016fc	cmpq	%rdi, %rcx
00000001000016ff	movl	%edx, -0x200(%rbp)
0000000100001705	movq	%rax, -0x208(%rbp)
000000010000170c	jne	0x10000172d
0000000100001712	movq	-0x208(%rbp), %rax
0000000100001719	movl	-0x200(%rbp), %edx
000000010000171f	addq	$0x1f8, %rsp
0000000100001726	popq	%rbx
0000000100001727	popq	%r14
0000000100001729	popq	%r15
000000010000172b	popq	%rbp
000000010000172c	retq
000000010000172d	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
0000000100001732	ud2
0000000100001734	nopw	%cs:(%rax,%rax)
_array_first:
0000000100001740	pushq	%rbp
0000000100001741	movq	%rsp, %rbp
0000000100001744	subq	$0x20, %rsp
0000000100001748	leaq	0x10(%rbp), %rax
000000010000174c	cmpl	$0x0, 0x8(%rax)
0000000100001750	movq	%rax, -0x18(%rbp)
0000000100001754	jne	0x100001779
000000010000175a	leaq	0x9052(%rip), %rdi ## literal pool for: "array.first: empty array"
0000000100001761	callq	_tos3
0000000100001766	movq	%rax, -0x10(%rbp)
000000010000176a	movl	%edx, -0x8(%rbp)
000000010000176d	movq	-0x10(%rbp), %rdi
0000000100001771	movl	-0x8(%rbp), %esi
0000000100001774	callq	_v_panic
0000000100001779	movq	-0x18(%rbp), %rax
000000010000177d	movq	(%rax), %rax
0000000100001780	addq	$0x20, %rsp
0000000100001784	popq	%rbp
0000000100001785	retq
0000000100001786	nopw	%cs:(%rax,%rax)
_array_last:
0000000100001790	pushq	%rbp
0000000100001791	movq	%rsp, %rbp
0000000100001794	subq	$0x20, %rsp
0000000100001798	leaq	0x10(%rbp), %rax
000000010000179c	cmpl	$0x0, 0x8(%rax)
00000001000017a0	movq	%rax, -0x18(%rbp)
00000001000017a4	jne	0x1000017c9
00000001000017aa	leaq	0x901b(%rip), %rdi ## literal pool for: "array.last: empty array"
00000001000017b1	callq	_tos3
00000001000017b6	movq	%rax, -0x10(%rbp)
00000001000017ba	movl	%edx, -0x8(%rbp)
00000001000017bd	movq	-0x10(%rbp), %rdi
00000001000017c1	movl	-0x8(%rbp), %esi
00000001000017c4	callq	_v_panic
00000001000017c9	movq	-0x18(%rbp), %rax
00000001000017cd	movq	(%rax), %rcx
00000001000017d0	movl	0x8(%rax), %edx
00000001000017d3	subl	$0x1, %edx
00000001000017d6	imull	0x10(%rax), %edx
00000001000017da	movslq	%edx, %rsi
00000001000017dd	addq	%rsi, %rcx
00000001000017e0	movq	%rcx, %rax
00000001000017e3	addq	$0x20, %rsp
00000001000017e7	popq	%rbp
00000001000017e8	retq
00000001000017e9	nopl	(%rax)
_array_left:
00000001000017f0	pushq	%rbp
00000001000017f1	movq	%rsp, %rbp
00000001000017f4	subq	$0x40, %rsp
00000001000017f8	movq	%rdi, %rax
00000001000017fb	leaq	0x10(%rbp), %rcx
00000001000017ff	movl	%esi, -0x4(%rbp)
0000000100001802	movl	-0x4(%rbp), %esi
0000000100001805	cmpl	0x8(%rcx), %esi
0000000100001808	movq	%rax, -0x10(%rbp)
000000010000180c	movq	%rcx, -0x18(%rbp)
0000000100001810	movq	%rdi, -0x20(%rbp)
0000000100001814	jl	0x10000183d
000000010000181a	movq	-0x18(%rbp), %rax
000000010000181e	movq	(%rax), %rcx
0000000100001821	movq	-0x20(%rbp), %rdx
0000000100001825	movq	%rcx, (%rdx)
0000000100001828	movq	0x8(%rax), %rcx
000000010000182c	movq	%rcx, 0x8(%rdx)
0000000100001830	movq	0x10(%rax), %rcx
0000000100001834	movq	%rcx, 0x10(%rdx)
0000000100001838	jmp	0x100001868
000000010000183d	xorl	%esi, %esi
000000010000183f	movl	-0x4(%rbp), %edx
0000000100001842	movq	-0x20(%rbp), %rdi
0000000100001846	movq	-0x18(%rbp), %rax
000000010000184a	movq	(%rax), %rcx
000000010000184d	movq	%rcx, (%rsp)
0000000100001851	movq	0x8(%rax), %rcx
0000000100001855	movq	%rcx, 0x8(%rsp)
000000010000185a	movq	0x10(%rax), %rcx
000000010000185e	movq	%rcx, 0x10(%rsp)
0000000100001863	callq	_array_slice
0000000100001868	movq	-0x10(%rbp), %rax
000000010000186c	addq	$0x40, %rsp
0000000100001870	popq	%rbp
0000000100001871	retq
0000000100001872	nopw	%cs:(%rax,%rax)
_array_slice:
0000000100001880	pushq	%rbp
0000000100001881	movq	%rsp, %rbp
0000000100001884	subq	$0x60, %rsp
0000000100001888	movq	%rdi, %rax
000000010000188b	leaq	0x10(%rbp), %rcx
000000010000188f	movl	%esi, -0x4(%rbp)
0000000100001892	movl	%edx, -0x8(%rbp)
0000000100001895	movl	-0x8(%rbp), %edx
0000000100001898	movl	%edx, -0xc(%rbp)
000000010000189b	movl	-0x4(%rbp), %edx
000000010000189e	cmpl	-0xc(%rbp), %edx
00000001000018a1	movq	%rax, -0x50(%rbp)
00000001000018a5	movq	%rdi, -0x58(%rbp)
00000001000018a9	movq	%rcx, -0x60(%rbp)
00000001000018ad	jle	0x1000018da
00000001000018b3	leaq	0x8f2a(%rip), %rdi ## literal pool for: "invalid slice index: %d > %d"
00000001000018ba	movl	-0x4(%rbp), %esi
00000001000018bd	movl	-0xc(%rbp), %edx
00000001000018c0	movb	$0x0, %al
00000001000018c2	callq	__STR
00000001000018c7	movq	%rax, -0x20(%rbp)
00000001000018cb	movl	%edx, -0x18(%rbp)
00000001000018ce	movq	-0x20(%rbp), %rdi
00000001000018d2	movl	-0x18(%rbp), %esi
00000001000018d5	callq	_v_panic
00000001000018da	movl	-0xc(%rbp), %eax
00000001000018dd	movq	-0x60(%rbp), %rcx
00000001000018e1	cmpl	0x8(%rcx), %eax
00000001000018e4	jle	0x100001915
00000001000018ea	leaq	0x8f10(%rip), %rdi ## literal pool for: "runtime error: slice bounds out of range (%d >= %d)"
00000001000018f1	movl	-0xc(%rbp), %esi
00000001000018f4	movq	-0x60(%rbp), %rax
00000001000018f8	movl	0x8(%rax), %edx
00000001000018fb	movb	$0x0, %al
00000001000018fd	callq	__STR
0000000100001902	movq	%rax, -0x30(%rbp)
0000000100001906	movl	%edx, -0x28(%rbp)
0000000100001909	movq	-0x30(%rbp), %rdi
000000010000190d	movl	-0x28(%rbp), %esi
0000000100001910	callq	_v_panic
0000000100001915	cmpl	$0x0, -0x4(%rbp)
0000000100001919	jge	0x100001943
000000010000191f	leaq	0x8f0f(%rip), %rdi ## literal pool for: "runtime error: slice bounds out of range (%d < 0)"
0000000100001926	movl	-0x4(%rbp), %esi
0000000100001929	movb	$0x0, %al
000000010000192b	callq	__STR
0000000100001930	movq	%rax, -0x40(%rbp)
0000000100001934	movl	%edx, -0x38(%rbp)
0000000100001937	movq	-0x40(%rbp), %rdi
000000010000193b	movl	-0x38(%rbp), %esi
000000010000193e	callq	_v_panic
0000000100001943	movl	-0xc(%rbp), %eax
0000000100001946	subl	-0x4(%rbp), %eax
0000000100001949	movl	%eax, -0x44(%rbp)
000000010000194c	movq	-0x60(%rbp), %rcx
0000000100001950	movq	(%rcx), %rdx
0000000100001953	movl	-0x4(%rbp), %eax
0000000100001956	imull	0x10(%rcx), %eax
000000010000195a	movslq	%eax, %rsi
000000010000195d	addq	%rsi, %rdx
0000000100001960	movq	-0x58(%rbp), %rsi
0000000100001964	movq	%rdx, (%rsi)
0000000100001967	movl	-0x44(%rbp), %eax
000000010000196a	movl	%eax, 0x8(%rsi)
000000010000196d	movl	-0x44(%rbp), %eax
0000000100001970	movl	%eax, 0xc(%rsi)
0000000100001973	movl	0x10(%rcx), %eax
0000000100001976	movl	%eax, 0x10(%rsi)
0000000100001979	movq	-0x50(%rbp), %rax
000000010000197d	addq	$0x60, %rsp
0000000100001981	popq	%rbp
0000000100001982	retq
0000000100001983	nopw	%cs:(%rax,%rax)
_array_right:
0000000100001990	pushq	%rbp
0000000100001991	movq	%rsp, %rbp
0000000100001994	subq	$0x40, %rsp
0000000100001998	movq	%rdi, %rax
000000010000199b	leaq	0x10(%rbp), %rcx
000000010000199f	movl	%esi, -0x4(%rbp)
00000001000019a2	movl	-0x4(%rbp), %esi
00000001000019a5	cmpl	0x8(%rcx), %esi
00000001000019a8	movq	%rax, -0x10(%rbp)
00000001000019ac	movq	%rcx, -0x18(%rbp)
00000001000019b0	movq	%rdi, -0x20(%rbp)
00000001000019b4	jl	0x1000019d5
00000001000019ba	xorl	%eax, %eax
00000001000019bc	movq	-0x18(%rbp), %rcx
00000001000019c0	movl	0x10(%rcx), %ecx
00000001000019c3	movq	-0x20(%rbp), %rdi
00000001000019c7	movl	%eax, %esi
00000001000019c9	movl	%eax, %edx
00000001000019cb	callq	_new_array
00000001000019d0	jmp	0x100001a01
00000001000019d5	movl	-0x4(%rbp), %esi
00000001000019d8	movq	-0x18(%rbp), %rax
00000001000019dc	movl	0x8(%rax), %edx
00000001000019df	movq	-0x20(%rbp), %rdi
00000001000019e3	movq	(%rax), %rcx
00000001000019e6	movq	%rcx, (%rsp)
00000001000019ea	movq	0x8(%rax), %rcx
00000001000019ee	movq	%rcx, 0x8(%rsp)
00000001000019f3	movq	0x10(%rax), %rcx
00000001000019f7	movq	%rcx, 0x10(%rsp)
00000001000019fc	callq	_array_slice
0000000100001a01	movq	-0x10(%rbp), %rax
0000000100001a05	addq	$0x40, %rsp
0000000100001a09	popq	%rbp
0000000100001a0a	retq
0000000100001a0b	nopl	(%rax,%rax)
_array_push_many:
0000000100001a10	pushq	%rbp
0000000100001a11	movq	%rsp, %rbp
0000000100001a14	subq	$0x20, %rsp
0000000100001a18	movq	%rdi, -0x8(%rbp)
0000000100001a1c	movq	%rsi, -0x10(%rbp)
0000000100001a20	movl	%edx, -0x14(%rbp)
0000000100001a23	movq	-0x8(%rbp), %rsi
0000000100001a27	movl	0x8(%rsi), %edx
0000000100001a2a	movq	-0x8(%rbp), %rsi
0000000100001a2e	movl	0xc(%rsi), %eax
0000000100001a31	subl	-0x14(%rbp), %eax
0000000100001a34	cmpl	%eax, %edx
0000000100001a36	jl	0x100001aa3
0000000100001a3c	movq	-0x8(%rbp), %rax
0000000100001a40	movl	0x8(%rax), %ecx
0000000100001a43	addl	-0x14(%rbp), %ecx
0000000100001a46	shll	$0x1, %ecx
0000000100001a49	movl	%ecx, -0x18(%rbp)
0000000100001a4c	movq	-0x8(%rbp), %rax
0000000100001a50	cmpl	$0x0, 0xc(%rax)
0000000100001a54	jne	0x100001a78
0000000100001a5a	movl	-0x18(%rbp), %eax
0000000100001a5d	movq	-0x8(%rbp), %rcx
0000000100001a61	imull	0x10(%rcx), %eax
0000000100001a65	movl	%eax, %edi
0000000100001a67	callq	_v_calloc
0000000100001a6c	movq	-0x8(%rbp), %rcx
0000000100001a70	movq	%rax, (%rcx)
0000000100001a73	jmp	0x100001a99
0000000100001a78	movq	-0x8(%rbp), %rax
0000000100001a7c	movq	(%rax), %rdi
0000000100001a7f	movl	-0x18(%rbp), %ecx
0000000100001a82	movq	-0x8(%rbp), %rax
0000000100001a86	imull	0x10(%rax), %ecx
0000000100001a8a	movslq	%ecx, %rsi
0000000100001a8d	callq	0x10000a616 ## symbol stub for: _realloc
0000000100001a92	movq	-0x8(%rbp), %rsi
0000000100001a96	movq	%rax, (%rsi)
0000000100001a99	movl	-0x18(%rbp), %eax
0000000100001a9c	movq	-0x8(%rbp), %rcx
0000000100001aa0	movl	%eax, 0xc(%rcx)
0000000100001aa3	movq	$-0x1, %rcx
0000000100001aaa	movq	-0x8(%rbp), %rax
0000000100001aae	movq	(%rax), %rax
0000000100001ab1	movq	-0x8(%rbp), %rdx
0000000100001ab5	movl	0x10(%rdx), %esi
0000000100001ab8	movq	-0x8(%rbp), %rdx
0000000100001abc	imull	0x8(%rdx), %esi
0000000100001ac0	movslq	%esi, %rdx
0000000100001ac3	addq	%rdx, %rax
0000000100001ac6	movq	-0x10(%rbp), %rsi
0000000100001aca	movq	-0x8(%rbp), %rdx
0000000100001ace	movl	0x10(%rdx), %edi
0000000100001ad1	imull	-0x14(%rbp), %edi
0000000100001ad5	movslq	%edi, %rdx
0000000100001ad8	movq	%rax, %rdi
0000000100001adb	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100001ae0	movl	-0x14(%rbp), %r8d
0000000100001ae4	movq	-0x8(%rbp), %rcx
0000000100001ae8	addl	0x8(%rcx), %r8d
0000000100001aec	movl	%r8d, 0x8(%rcx)
0000000100001af0	movq	%rax, -0x20(%rbp)
0000000100001af4	addq	$0x20, %rsp
0000000100001af8	popq	%rbp
0000000100001af9	retq
0000000100001afa	nopw	(%rax,%rax)
_array_reverse:
0000000100001b00	pushq	%rbp
0000000100001b01	movq	%rsp, %rbp
0000000100001b04	subq	$0x50, %rsp
0000000100001b08	movq	%rdi, %rax
0000000100001b0b	leaq	0x10(%rbp), %rcx
0000000100001b0f	movl	0xc(%rcx), %edx
0000000100001b12	imull	0x10(%rcx), %edx
0000000100001b16	movq	%rdi, -0x10(%rbp)
0000000100001b1a	movl	%edx, %edi
0000000100001b1c	movq	%rcx, -0x18(%rbp)
0000000100001b20	movq	%rax, -0x20(%rbp)
0000000100001b24	callq	_v_calloc
0000000100001b29	movq	-0x10(%rbp), %rcx
0000000100001b2d	movq	%rax, (%rcx)
0000000100001b30	movq	-0x18(%rbp), %rax
0000000100001b34	movl	0x8(%rax), %edx
0000000100001b37	movl	%edx, 0x8(%rcx)
0000000100001b3a	movl	0xc(%rax), %edx
0000000100001b3d	movl	%edx, 0xc(%rcx)
0000000100001b40	movl	0x10(%rax), %edx
0000000100001b43	movl	%edx, 0x10(%rcx)
0000000100001b46	movl	$0x0, -0x4(%rbp)
0000000100001b4d	movl	-0x4(%rbp), %eax
0000000100001b50	movq	-0x18(%rbp), %rcx
0000000100001b54	cmpl	0x8(%rcx), %eax
0000000100001b57	jge	0x100001bcf
0000000100001b5d	movq	-0x10(%rbp), %rax
0000000100001b61	movq	(%rax), %rcx
0000000100001b64	movl	-0x4(%rbp), %edx
0000000100001b67	imull	0x10(%rax), %edx
0000000100001b6b	movslq	%edx, %rsi
0000000100001b6e	addq	%rsi, %rcx
0000000100001b71	movq	-0x18(%rbp), %rsi
0000000100001b75	movl	0x8(%rsi), %edx
0000000100001b78	subl	$0x1, %edx
0000000100001b7b	subl	-0x4(%rbp), %edx
0000000100001b7e	movq	(%rsi), %rdi
0000000100001b81	movq	%rdi, (%rsp)
0000000100001b85	movq	0x8(%rsi), %rdi
0000000100001b89	movq	%rdi, 0x8(%rsp)
0000000100001b8e	movq	0x10(%rsi), %rdi
0000000100001b92	movq	%rdi, 0x10(%rsp)
0000000100001b97	movl	%edx, %edi
0000000100001b99	movq	%rcx, -0x28(%rbp)
0000000100001b9d	callq	_array_get
0000000100001ba2	movq	$-0x1, %rcx
0000000100001ba9	movq	-0x10(%rbp), %rsi
0000000100001bad	movslq	0x10(%rsi), %rdx
0000000100001bb1	movq	-0x28(%rbp), %rdi
0000000100001bb5	movq	%rax, %rsi
0000000100001bb8	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100001bbd	movq	%rax, -0x30(%rbp)
0000000100001bc1	movl	-0x4(%rbp), %eax
0000000100001bc4	addl	$0x1, %eax
0000000100001bc7	movl	%eax, -0x4(%rbp)
0000000100001bca	jmp	0x100001b4d
0000000100001bcf	movq	-0x20(%rbp), %rax
0000000100001bd3	addq	$0x50, %rsp
0000000100001bd7	popq	%rbp
0000000100001bd8	retq
0000000100001bd9	nopl	(%rax)
_array_clone:
0000000100001be0	pushq	%rbp
0000000100001be1	movq	%rsp, %rbp
0000000100001be4	subq	$0x20, %rsp
0000000100001be8	movq	%rdi, %rax
0000000100001beb	leaq	0x10(%rbp), %rcx
0000000100001bef	movl	0xc(%rcx), %edx
0000000100001bf2	imull	0x10(%rcx), %edx
0000000100001bf6	movq	%rdi, -0x8(%rbp)
0000000100001bfa	movl	%edx, %edi
0000000100001bfc	movq	%rcx, -0x10(%rbp)
0000000100001c00	movq	%rax, -0x18(%rbp)
0000000100001c04	callq	_v_calloc
0000000100001c09	movq	$-0x1, %rcx
0000000100001c10	movq	-0x8(%rbp), %rsi
0000000100001c14	movq	%rax, (%rsi)
0000000100001c17	movq	-0x10(%rbp), %rax
0000000100001c1b	movl	0x8(%rax), %edx
0000000100001c1e	movl	%edx, 0x8(%rsi)
0000000100001c21	movl	0xc(%rax), %edx
0000000100001c24	movl	%edx, 0xc(%rsi)
0000000100001c27	movl	0x10(%rax), %edx
0000000100001c2a	movl	%edx, 0x10(%rsi)
0000000100001c2d	movq	(%rsi), %rdi
0000000100001c30	movq	(%rax), %rsi
0000000100001c33	movl	0xc(%rax), %edx
0000000100001c36	imull	0x10(%rax), %edx
0000000100001c3a	movslq	%edx, %rdx
0000000100001c3d	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100001c42	movq	-0x18(%rbp), %rcx
0000000100001c46	movq	%rax, -0x20(%rbp)
0000000100001c4a	movq	%rcx, %rax
0000000100001c4d	addq	$0x20, %rsp
0000000100001c51	popq	%rbp
0000000100001c52	retq
0000000100001c53	nopw	%cs:(%rax,%rax)
_v_array_free:
0000000100001c60	pushq	%rbp
0000000100001c61	movq	%rsp, %rbp
0000000100001c64	leaq	0x10(%rbp), %rax
0000000100001c68	movq	(%rax), %rdi
0000000100001c6b	callq	0x10000a5ec ## symbol stub for: _free
0000000100001c70	popq	%rbp
0000000100001c71	retq
0000000100001c72	nopw	%cs:(%rax,%rax)
_array_string_str:
0000000100001c80	pushq	%rbp
0000000100001c81	movq	%rsp, %rbp
0000000100001c84	subq	$0xc0, %rsp
0000000100001c8b	leaq	0x10(%rbp), %rax
0000000100001c8f	leaq	-0x30(%rbp), %rdi
0000000100001c93	imull	$0x3, 0x8(%rax), %esi
0000000100001c97	movq	%rax, -0xa0(%rbp)
0000000100001c9e	callq	_strings__new_builder
0000000100001ca3	leaq	0x8bdf(%rip), %rdi ## literal pool for: "["
0000000100001caa	callq	_tos3
0000000100001caf	leaq	-0x30(%rbp), %rdi
0000000100001cb3	movq	%rax, -0x40(%rbp)
0000000100001cb7	movl	%edx, -0x38(%rbp)
0000000100001cba	movq	-0x40(%rbp), %rsi
0000000100001cbe	movl	-0x38(%rbp), %edx
0000000100001cc1	callq	_strings__Builder_write
0000000100001cc6	movl	$0x0, -0x44(%rbp)
0000000100001ccd	movl	-0x44(%rbp), %eax
0000000100001cd0	movq	-0xa0(%rbp), %rcx
0000000100001cd7	cmpl	0x8(%rcx), %eax
0000000100001cda	jge	0x100001dc4
0000000100001ce0	movl	-0x44(%rbp), %edi
0000000100001ce3	movq	-0xa0(%rbp), %rax
0000000100001cea	movq	(%rax), %rcx
0000000100001ced	movq	%rcx, (%rsp)
0000000100001cf1	movq	0x8(%rax), %rcx
0000000100001cf5	movq	%rcx, 0x8(%rsp)
0000000100001cfa	movq	0x10(%rax), %rcx
0000000100001cfe	movq	%rcx, 0x10(%rsp)
0000000100001d03	callq	_array_get
0000000100001d08	leaq	0x8b7c(%rip), %rdi ## literal pool for: "\""
0000000100001d0f	movq	(%rax), %rcx
0000000100001d12	movq	%rcx, -0x58(%rbp)
0000000100001d16	movq	0x8(%rax), %rax
0000000100001d1a	movq	%rax, -0x50(%rbp)
0000000100001d1e	callq	_tos3
0000000100001d23	leaq	-0x30(%rbp), %rdi
0000000100001d27	movq	%rax, -0x68(%rbp)
0000000100001d2b	movl	%edx, -0x60(%rbp)
0000000100001d2e	movq	-0x68(%rbp), %rsi
0000000100001d32	movl	-0x60(%rbp), %edx
0000000100001d35	callq	_strings__Builder_write
0000000100001d3a	leaq	-0x30(%rbp), %rdi
0000000100001d3e	movq	-0x58(%rbp), %rsi
0000000100001d42	movl	-0x50(%rbp), %edx
0000000100001d45	callq	_strings__Builder_write
0000000100001d4a	leaq	0x8b3a(%rip), %rdi ## literal pool for: "\""
0000000100001d51	callq	_tos3
0000000100001d56	leaq	-0x30(%rbp), %rdi
0000000100001d5a	movq	%rax, -0x78(%rbp)
0000000100001d5e	movl	%edx, -0x70(%rbp)
0000000100001d61	movq	-0x78(%rbp), %rsi
0000000100001d65	movl	-0x70(%rbp), %edx
0000000100001d68	callq	_strings__Builder_write
0000000100001d6d	movl	-0x44(%rbp), %edx
0000000100001d70	movq	-0xa0(%rbp), %rax
0000000100001d77	movl	0x8(%rax), %r8d
0000000100001d7b	subl	$0x1, %r8d
0000000100001d7f	cmpl	%r8d, %edx
0000000100001d82	jge	0x100001db1
0000000100001d88	leaq	0x8afe(%rip), %rdi ## literal pool for: ", "
0000000100001d8f	callq	_tos3
0000000100001d94	leaq	-0x30(%rbp), %rdi
0000000100001d98	movq	%rax, -0x88(%rbp)
0000000100001d9f	movl	%edx, -0x80(%rbp)
0000000100001da2	movq	-0x88(%rbp), %rsi
0000000100001da9	movl	-0x80(%rbp), %edx
0000000100001dac	callq	_strings__Builder_write
0000000100001db1	jmp	0x100001db6
0000000100001db6	movl	-0x44(%rbp), %eax
0000000100001db9	addl	$0x1, %eax
0000000100001dbc	movl	%eax, -0x44(%rbp)
0000000100001dbf	jmp	0x100001ccd
0000000100001dc4	leaq	0x8ac5(%rip), %rdi ## literal pool for: "]"
0000000100001dcb	callq	_tos3
0000000100001dd0	movq	%rax, -0x98(%rbp)
0000000100001dd7	movl	%edx, -0x90(%rbp)
0000000100001ddd	movq	-0x98(%rbp), %rsi
0000000100001de4	movl	-0x90(%rbp), %edx
0000000100001dea	leaq	-0x30(%rbp), %rdi
0000000100001dee	callq	_strings__Builder_write
0000000100001df3	movq	-0x18(%rbp), %rax
0000000100001df7	movq	%rsp, %rsi
0000000100001dfa	movq	%rax, 0x18(%rsi)
0000000100001dfe	movq	-0x20(%rbp), %rax
0000000100001e02	movq	%rax, 0x10(%rsi)
0000000100001e06	movq	-0x30(%rbp), %rax
0000000100001e0a	movq	-0x28(%rbp), %rdi
0000000100001e0e	movq	%rdi, 0x8(%rsi)
0000000100001e12	movq	%rax, (%rsi)
0000000100001e15	callq	_strings__Builder_str
0000000100001e1a	movq	%rax, -0x10(%rbp)
0000000100001e1e	movl	%edx, -0x8(%rbp)
0000000100001e21	movq	-0x10(%rbp), %rax
0000000100001e25	movl	-0x8(%rbp), %edx
0000000100001e28	addq	$0xc0, %rsp
0000000100001e2f	popq	%rbp
0000000100001e30	retq
0000000100001e31	nopw	%cs:(%rax,%rax)
_strings__new_builder:
0000000100001e40	pushq	%rbp
0000000100001e41	movq	%rsp, %rbp
0000000100001e44	subq	$0x20, %rsp
0000000100001e48	movq	%rdi, %rax
0000000100001e4b	xorl	%ecx, %ecx
0000000100001e4d	movl	$0x1, %edx
0000000100001e52	movl	%esi, -0x4(%rbp)
0000000100001e55	movl	-0x4(%rbp), %esi
0000000100001e58	movq	%rdi, -0x10(%rbp)
0000000100001e5c	movl	%esi, -0x14(%rbp)
0000000100001e5f	movl	%ecx, %esi
0000000100001e61	movl	-0x14(%rbp), %ecx
0000000100001e64	movl	%edx, -0x18(%rbp)
0000000100001e67	movl	%ecx, %edx
0000000100001e69	movl	-0x18(%rbp), %ecx
0000000100001e6c	movq	%rax, -0x20(%rbp)
0000000100001e70	callq	_make
0000000100001e75	movq	-0x10(%rbp), %rax
0000000100001e79	movl	$0x0, 0x18(%rax)
0000000100001e80	movq	-0x20(%rbp), %rax
0000000100001e84	addq	$0x20, %rsp
0000000100001e88	popq	%rbp
0000000100001e89	retq
0000000100001e8a	nopw	(%rax,%rax)
_strings__Builder_write:
0000000100001e90	pushq	%rbp
0000000100001e91	movq	%rsp, %rbp
0000000100001e94	subq	$0x20, %rsp
0000000100001e98	movq	%rsi, -0x10(%rbp)
0000000100001e9c	movl	%edx, -0x8(%rbp)
0000000100001e9f	movq	%rdi, -0x18(%rbp)
0000000100001ea3	movq	-0x18(%rbp), %rdi
0000000100001ea7	movq	-0x10(%rbp), %rsi
0000000100001eab	movl	-0x8(%rbp), %edx
0000000100001eae	callq	_array_push_many
0000000100001eb3	movl	-0x8(%rbp), %edx
0000000100001eb6	movq	-0x18(%rbp), %rsi
0000000100001eba	addl	0x18(%rsi), %edx
0000000100001ebd	movl	%edx, 0x18(%rsi)
0000000100001ec0	addq	$0x20, %rsp
0000000100001ec4	popq	%rbp
0000000100001ec5	retq
0000000100001ec6	nopw	%cs:(%rax,%rax)
_strings__Builder_str:
0000000100001ed0	pushq	%rbp
0000000100001ed1	movq	%rsp, %rbp
0000000100001ed4	subq	$0x10, %rsp
0000000100001ed8	leaq	0x10(%rbp), %rax
0000000100001edc	movq	(%rax), %rdi
0000000100001edf	movl	0x18(%rax), %esi
0000000100001ee2	callq	_tos
0000000100001ee7	movq	%rax, -0x10(%rbp)
0000000100001eeb	movl	%edx, -0x8(%rbp)
0000000100001eee	movq	-0x10(%rbp), %rax
0000000100001ef2	movl	-0x8(%rbp), %edx
0000000100001ef5	addq	$0x10, %rsp
0000000100001ef9	popq	%rbp
0000000100001efa	retq
0000000100001efb	nopl	(%rax,%rax)
_array_byte_hex:
0000000100001f00	pushq	%rbp
0000000100001f01	movq	%rsp, %rbp
0000000100001f04	subq	$0x60, %rsp
0000000100001f08	leaq	0x10(%rbp), %rax
0000000100001f0c	movl	0x8(%rax), %ecx
0000000100001f0f	shll	$0x1, %ecx
0000000100001f12	addl	$0x1, %ecx
0000000100001f15	movl	%ecx, %edi
0000000100001f17	movq	%rax, -0x30(%rbp)
0000000100001f1b	callq	_v_malloc
0000000100001f20	movq	%rax, -0x18(%rbp)
0000000100001f24	movq	-0x18(%rbp), %rax
0000000100001f28	movq	%rax, -0x20(%rbp)
0000000100001f2c	movl	$0x0, -0x24(%rbp)
0000000100001f33	movl	-0x24(%rbp), %eax
0000000100001f36	movq	-0x30(%rbp), %rcx
0000000100001f3a	cmpl	0x8(%rcx), %eax
0000000100001f3d	jge	0x100001fb5
0000000100001f43	movq	$-0x1, %rdx
0000000100001f4a	movq	-0x20(%rbp), %rdi
0000000100001f4e	movl	-0x24(%rbp), %eax
0000000100001f51	movq	-0x30(%rbp), %rcx
0000000100001f55	movq	(%rcx), %rsi
0000000100001f58	movq	%rsi, (%rsp)
0000000100001f5c	movq	0x8(%rcx), %rsi
0000000100001f60	movq	%rsi, 0x8(%rsp)
0000000100001f65	movq	0x10(%rcx), %rsi
0000000100001f69	movq	%rsi, 0x10(%rsp)
0000000100001f6e	movq	%rdi, -0x38(%rbp)
0000000100001f72	movl	%eax, %edi
0000000100001f74	movq	%rdx, -0x40(%rbp)
0000000100001f78	callq	_array_get
0000000100001f7d	xorl	%esi, %esi
0000000100001f7f	leaq	0x890c(%rip), %rcx ## literal pool for: "%02x"
0000000100001f86	movzbl	(%rax), %r8d
0000000100001f8a	movq	-0x38(%rbp), %rdi
0000000100001f8e	movq	-0x40(%rbp), %rdx
0000000100001f92	movb	$0x0, %al
0000000100001f94	callq	0x10000a5aa ## symbol stub for: ___sprintf_chk
0000000100001f99	movq	-0x20(%rbp), %rcx
0000000100001f9d	movslq	%eax, %rdx
0000000100001fa0	addq	%rdx, %rcx
0000000100001fa3	movq	%rcx, -0x20(%rbp)
0000000100001fa7	movl	-0x24(%rbp), %eax
0000000100001faa	addl	$0x1, %eax
0000000100001fad	movl	%eax, -0x24(%rbp)
0000000100001fb0	jmp	0x100001f33
0000000100001fb5	movq	-0x18(%rbp), %rdi
0000000100001fb9	callq	_tos2
0000000100001fbe	movq	%rax, -0x10(%rbp)
0000000100001fc2	movl	%edx, -0x8(%rbp)
0000000100001fc5	movq	-0x10(%rbp), %rax
0000000100001fc9	movl	-0x8(%rbp), %edx
0000000100001fcc	addq	$0x60, %rsp
0000000100001fd0	popq	%rbp
0000000100001fd1	retq
0000000100001fd2	nopw	%cs:(%rax,%rax)
_v_malloc:
0000000100001fe0	pushq	%rbp
0000000100001fe1	movq	%rsp, %rbp
0000000100001fe4	subq	$0x30, %rsp
0000000100001fe8	movl	%edi, -0x4(%rbp)
0000000100001feb	cmpl	$0x0, -0x4(%rbp)
0000000100001fef	jge	0x100002014
0000000100001ff5	leaq	0x8976(%rip), %rdi ## literal pool for: "malloc(<0)"
0000000100001ffc	callq	_tos3
0000000100002001	movq	%rax, -0x18(%rbp)
0000000100002005	movl	%edx, -0x10(%rbp)
0000000100002008	movq	-0x18(%rbp), %rdi
000000010000200c	movl	-0x10(%rbp), %esi
000000010000200f	callq	_v_panic
0000000100002014	movslq	-0x4(%rbp), %rdi
0000000100002018	callq	0x10000a5fe ## symbol stub for: _malloc
000000010000201d	movq	%rax, -0x20(%rbp)
0000000100002021	movq	-0x20(%rbp), %rdi
0000000100002025	callq	_isnil
000000010000202a	testb	$0x1, %al
000000010000202c	jne	0x100002037
0000000100002032	jmp	0x10000205b
0000000100002037	leaq	0x893f(%rip), %rdi ## literal pool for: "malloc(%d) failed"
000000010000203e	movl	-0x4(%rbp), %esi
0000000100002041	movb	$0x0, %al
0000000100002043	callq	__STR
0000000100002048	movq	%rax, -0x30(%rbp)
000000010000204c	movl	%edx, -0x28(%rbp)
000000010000204f	movq	-0x30(%rbp), %rdi
0000000100002053	movl	-0x28(%rbp), %esi
0000000100002056	callq	_v_panic
000000010000205b	movq	-0x20(%rbp), %rax
000000010000205f	addq	$0x30, %rsp
0000000100002063	popq	%rbp
0000000100002064	retq
0000000100002065	nopw	%cs:(%rax,%rax)
_tos2:
0000000100002070	pushq	%rbp
0000000100002071	movq	%rsp, %rbp
0000000100002074	subq	$0x30, %rsp
0000000100002078	movq	%rdi, -0x18(%rbp)
000000010000207c	cmpq	$0x0, -0x18(%rbp)
0000000100002081	jne	0x1000020a6
0000000100002087	leaq	0x89bc(%rip), %rdi ## literal pool for: "tos2: nil string"
000000010000208e	callq	_tos3
0000000100002093	movq	%rax, -0x28(%rbp)
0000000100002097	movl	%edx, -0x20(%rbp)
000000010000209a	movq	-0x28(%rbp), %rdi
000000010000209e	movl	-0x20(%rbp), %esi
00000001000020a1	callq	_v_panic
00000001000020a6	movq	-0x18(%rbp), %rax
00000001000020aa	movq	%rax, -0x10(%rbp)
00000001000020ae	movq	-0x18(%rbp), %rdi
00000001000020b2	callq	_vstrlen
00000001000020b7	movl	%eax, -0x8(%rbp)
00000001000020ba	movq	-0x10(%rbp), %rax
00000001000020be	movl	-0x8(%rbp), %edx
00000001000020c1	addq	$0x30, %rsp
00000001000020c5	popq	%rbp
00000001000020c6	retq
00000001000020c7	nopw	(%rax,%rax)
_copy:
00000001000020d0	pushq	%rbp
00000001000020d1	movq	%rsp, %rbp
00000001000020d4	subq	$0x60, %rsp
00000001000020d8	leaq	0x28(%rbp), %rax
00000001000020dc	leaq	0x10(%rbp), %rcx
00000001000020e0	cmpl	$0x0, 0x8(%rcx)
00000001000020e4	movq	%rax, -0x28(%rbp)
00000001000020e8	movq	%rcx, -0x30(%rbp)
00000001000020ec	jle	0x10000219a
00000001000020f2	movq	-0x28(%rbp), %rax
00000001000020f6	cmpl	$0x0, 0x8(%rax)
00000001000020fa	jle	0x10000219a
0000000100002100	movq	-0x30(%rbp), %rax
0000000100002104	movl	0x8(%rax), %ecx
0000000100002107	movq	-0x28(%rbp), %rdx
000000010000210b	cmpl	0x8(%rdx), %ecx
000000010000210e	jge	0x100002123
0000000100002114	movq	-0x30(%rbp), %rax
0000000100002118	movl	0x8(%rax), %ecx
000000010000211b	movl	%ecx, -0x34(%rbp)
000000010000211e	jmp	0x10000212d
0000000100002123	movq	-0x28(%rbp), %rax
0000000100002127	movl	0x8(%rax), %ecx
000000010000212a	movl	%ecx, -0x34(%rbp)
000000010000212d	movl	-0x34(%rbp), %eax
0000000100002130	leaq	-0x20(%rbp), %rdi
0000000100002134	movl	%eax, -0x8(%rbp)
0000000100002137	movq	-0x30(%rbp), %rcx
000000010000213b	movq	(%rcx), %rdx
000000010000213e	movl	-0x8(%rbp), %esi
0000000100002141	movq	-0x28(%rbp), %r8
0000000100002145	movq	(%r8), %r9
0000000100002148	movq	%r9, (%rsp)
000000010000214c	movq	0x8(%r8), %r9
0000000100002150	movq	%r9, 0x8(%rsp)
0000000100002155	movq	0x10(%r8), %r9
0000000100002159	movq	%r9, 0x10(%rsp)
000000010000215e	movq	%rdx, -0x40(%rbp)
0000000100002162	callq	_array_left
0000000100002167	movq	$-0x1, %rcx
000000010000216e	movq	-0x20(%rbp), %rsi
0000000100002172	movq	-0x30(%rbp), %rdx
0000000100002176	movl	0x10(%rdx), %eax
0000000100002179	imull	-0x8(%rbp), %eax
000000010000217d	movslq	%eax, %rdx
0000000100002180	movq	-0x40(%rbp), %rdi
0000000100002184	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100002189	movl	-0x8(%rbp), %r10d
000000010000218d	movl	%r10d, -0x4(%rbp)
0000000100002191	movq	%rax, -0x48(%rbp)
0000000100002195	jmp	0x1000021a1
000000010000219a	movl	$0x0, -0x4(%rbp)
00000001000021a1	movl	-0x4(%rbp), %eax
00000001000021a4	addq	$0x60, %rsp
00000001000021a8	popq	%rbp
00000001000021a9	retq
00000001000021aa	nopw	(%rax,%rax)
_compare_ints:
00000001000021b0	pushq	%rbp
00000001000021b1	movq	%rsp, %rbp
00000001000021b4	movq	%rdi, -0x10(%rbp)
00000001000021b8	movq	%rsi, -0x18(%rbp)
00000001000021bc	movq	-0x10(%rbp), %rsi
00000001000021c0	cmpq	-0x18(%rbp), %rsi
00000001000021c4	jae	0x1000021d6
00000001000021ca	movl	$0xffffffff, -0x4(%rbp)
00000001000021d1	jmp	0x1000021f7
00000001000021d6	movq	-0x10(%rbp), %rax
00000001000021da	cmpq	-0x18(%rbp), %rax
00000001000021de	jbe	0x1000021f0
00000001000021e4	movl	$0x1, -0x4(%rbp)
00000001000021eb	jmp	0x1000021f7
00000001000021f0	movl	$0x0, -0x4(%rbp)
00000001000021f7	movl	-0x4(%rbp), %eax
00000001000021fa	popq	%rbp
00000001000021fb	retq
00000001000021fc	nopl	(%rax)
_array_int_sort:
0000000100002200	pushq	%rbp
0000000100002201	movq	%rsp, %rbp
0000000100002204	subq	$0x10, %rsp
0000000100002208	leaq	_compare_ints(%rip), %rax
000000010000220f	movq	%rdi, -0x8(%rbp)
0000000100002213	movq	-0x8(%rbp), %rdi
0000000100002217	movq	%rax, %rsi
000000010000221a	callq	_array_sort_with_compare
000000010000221f	addq	$0x10, %rsp
0000000100002223	popq	%rbp
0000000100002224	retq
0000000100002225	nopw	%cs:(%rax,%rax)
_array_string_index:
0000000100002230	pushq	%rbp
0000000100002231	movq	%rsp, %rbp
0000000100002234	subq	$0x40, %rsp
0000000100002238	leaq	0x10(%rbp), %rax
000000010000223c	movq	%rdi, -0x18(%rbp)
0000000100002240	movl	%esi, -0x10(%rbp)
0000000100002243	movl	$0x0, -0x1c(%rbp)
000000010000224a	movq	%rax, -0x28(%rbp)
000000010000224e	movl	-0x1c(%rbp), %eax
0000000100002251	movq	-0x28(%rbp), %rcx
0000000100002255	cmpl	0x8(%rcx), %eax
0000000100002258	jge	0x1000022c0
000000010000225e	movl	-0x1c(%rbp), %edi
0000000100002261	movq	-0x28(%rbp), %rax
0000000100002265	movq	(%rax), %rcx
0000000100002268	movq	%rcx, (%rsp)
000000010000226c	movq	0x8(%rax), %rcx
0000000100002270	movq	%rcx, 0x8(%rsp)
0000000100002275	movq	0x10(%rax), %rcx
0000000100002279	movq	%rcx, 0x10(%rsp)
000000010000227e	callq	_array_get
0000000100002283	movq	(%rax), %rdi
0000000100002286	movl	0x8(%rax), %esi
0000000100002289	movq	-0x18(%rbp), %rdx
000000010000228d	movl	-0x10(%rbp), %ecx
0000000100002290	callq	_string_eq
0000000100002295	testb	$0x1, %al
0000000100002297	jne	0x1000022a2
000000010000229d	jmp	0x1000022ad
00000001000022a2	movl	-0x1c(%rbp), %eax
00000001000022a5	movl	%eax, -0x4(%rbp)
00000001000022a8	jmp	0x1000022c7
00000001000022ad	jmp	0x1000022b2
00000001000022b2	movl	-0x1c(%rbp), %eax
00000001000022b5	addl	$0x1, %eax
00000001000022b8	movl	%eax, -0x1c(%rbp)
00000001000022bb	jmp	0x10000224e
00000001000022c0	movl	$0xffffffff, -0x4(%rbp)
00000001000022c7	movl	-0x4(%rbp), %eax
00000001000022ca	addq	$0x40, %rsp
00000001000022ce	popq	%rbp
00000001000022cf	retq
_string_eq:
00000001000022d0	pushq	%rbp
00000001000022d1	movq	%rsp, %rbp
00000001000022d4	subq	$0x40, %rsp
00000001000022d8	movq	%rdi, -0x18(%rbp)
00000001000022dc	movl	%esi, -0x10(%rbp)
00000001000022df	movq	%rdx, -0x28(%rbp)
00000001000022e3	movl	%ecx, -0x20(%rbp)
00000001000022e6	movq	-0x18(%rbp), %rdi
00000001000022ea	callq	_isnil
00000001000022ef	testb	$0x1, %al
00000001000022f1	jne	0x1000022fc
00000001000022f7	jmp	0x10000231b
00000001000022fc	leaq	0x8769(%rip), %rdi ## literal pool for: "string.eq(): nil string"
0000000100002303	callq	_tos3
0000000100002308	movq	%rax, -0x38(%rbp)
000000010000230c	movl	%edx, -0x30(%rbp)
000000010000230f	movq	-0x38(%rbp), %rdi
0000000100002313	movl	-0x30(%rbp), %esi
0000000100002316	callq	_v_panic
000000010000231b	movl	-0x10(%rbp), %eax
000000010000231e	cmpl	-0x20(%rbp), %eax
0000000100002321	je	0x100002330
0000000100002327	movb	$0x0, -0x1(%rbp)
000000010000232b	jmp	0x100002383
0000000100002330	movl	$0x0, -0x3c(%rbp)
0000000100002337	movl	-0x3c(%rbp), %eax
000000010000233a	cmpl	-0x10(%rbp), %eax
000000010000233d	jge	0x10000237f
0000000100002343	movq	-0x18(%rbp), %rax
0000000100002347	movslq	-0x3c(%rbp), %rcx
000000010000234b	movzbl	(%rax,%rcx), %edx
000000010000234f	movq	-0x28(%rbp), %rax
0000000100002353	movslq	-0x3c(%rbp), %rcx
0000000100002357	movzbl	(%rax,%rcx), %esi
000000010000235b	cmpl	%esi, %edx
000000010000235d	je	0x10000236c
0000000100002363	movb	$0x0, -0x1(%rbp)
0000000100002367	jmp	0x100002383
000000010000236c	jmp	0x100002371
0000000100002371	movl	-0x3c(%rbp), %eax
0000000100002374	addl	$0x1, %eax
0000000100002377	movl	%eax, -0x3c(%rbp)
000000010000237a	jmp	0x100002337
000000010000237f	movb	$0x1, -0x1(%rbp)
0000000100002383	movb	-0x1(%rbp), %al
0000000100002386	andb	$0x1, %al
0000000100002388	movzbl	%al, %eax
000000010000238b	addq	$0x40, %rsp
000000010000238f	popq	%rbp
0000000100002390	retq
0000000100002391	nopw	%cs:(%rax,%rax)
_array_int_index:
00000001000023a0	pushq	%rbp
00000001000023a1	movq	%rsp, %rbp
00000001000023a4	subq	$0x30, %rsp
00000001000023a8	leaq	0x10(%rbp), %rax
00000001000023ac	movl	%edi, -0x8(%rbp)
00000001000023af	movl	$0x0, -0xc(%rbp)
00000001000023b6	movq	%rax, -0x18(%rbp)
00000001000023ba	movl	-0xc(%rbp), %eax
00000001000023bd	movq	-0x18(%rbp), %rcx
00000001000023c1	cmpl	0x8(%rcx), %eax
00000001000023c4	jge	0x100002418
00000001000023ca	movl	-0xc(%rbp), %edi
00000001000023cd	movq	-0x18(%rbp), %rax
00000001000023d1	movq	(%rax), %rcx
00000001000023d4	movq	%rcx, (%rsp)
00000001000023d8	movq	0x8(%rax), %rcx
00000001000023dc	movq	%rcx, 0x8(%rsp)
00000001000023e1	movq	0x10(%rax), %rcx
00000001000023e5	movq	%rcx, 0x10(%rsp)
00000001000023ea	callq	_array_get
00000001000023ef	movl	(%rax), %edi
00000001000023f1	cmpl	-0x8(%rbp), %edi
00000001000023f4	jne	0x100002405
00000001000023fa	movl	-0xc(%rbp), %eax
00000001000023fd	movl	%eax, -0x4(%rbp)
0000000100002400	jmp	0x10000241f
0000000100002405	jmp	0x10000240a
000000010000240a	movl	-0xc(%rbp), %eax
000000010000240d	addl	$0x1, %eax
0000000100002410	movl	%eax, -0xc(%rbp)
0000000100002413	jmp	0x1000023ba
0000000100002418	movl	$0xffffffff, -0x4(%rbp)
000000010000241f	movl	-0x4(%rbp), %eax
0000000100002422	addq	$0x30, %rsp
0000000100002426	popq	%rbp
0000000100002427	retq
0000000100002428	nopl	(%rax,%rax)
_array_byte_index:
0000000100002430	pushq	%rbp
0000000100002431	movq	%rsp, %rbp
0000000100002434	subq	$0x30, %rsp
0000000100002438	movb	%dil, %al
000000010000243b	leaq	0x10(%rbp), %rcx
000000010000243f	movb	%al, -0x5(%rbp)
0000000100002442	movl	$0x0, -0xc(%rbp)
0000000100002449	movq	%rcx, -0x18(%rbp)
000000010000244d	movl	-0xc(%rbp), %eax
0000000100002450	movq	-0x18(%rbp), %rcx
0000000100002454	cmpl	0x8(%rcx), %eax
0000000100002457	jge	0x1000024af
000000010000245d	movl	-0xc(%rbp), %edi
0000000100002460	movq	-0x18(%rbp), %rax
0000000100002464	movq	(%rax), %rcx
0000000100002467	movq	%rcx, (%rsp)
000000010000246b	movq	0x8(%rax), %rcx
000000010000246f	movq	%rcx, 0x8(%rsp)
0000000100002474	movq	0x10(%rax), %rcx
0000000100002478	movq	%rcx, 0x10(%rsp)
000000010000247d	callq	_array_get
0000000100002482	movzbl	(%rax), %edi
0000000100002485	movzbl	-0x5(%rbp), %edx
0000000100002489	cmpl	%edx, %edi
000000010000248b	jne	0x10000249c
0000000100002491	movl	-0xc(%rbp), %eax
0000000100002494	movl	%eax, -0x4(%rbp)
0000000100002497	jmp	0x1000024b6
000000010000249c	jmp	0x1000024a1
00000001000024a1	movl	-0xc(%rbp), %eax
00000001000024a4	addl	$0x1, %eax
00000001000024a7	movl	%eax, -0xc(%rbp)
00000001000024aa	jmp	0x10000244d
00000001000024af	movl	$0xffffffff, -0x4(%rbp)
00000001000024b6	movl	-0x4(%rbp), %eax
00000001000024b9	addq	$0x30, %rsp
00000001000024bd	popq	%rbp
00000001000024be	retq
00000001000024bf	nop
_array_char_index:
00000001000024c0	pushq	%rbp
00000001000024c1	movq	%rsp, %rbp
00000001000024c4	subq	$0x30, %rsp
00000001000024c8	movb	%dil, %al
00000001000024cb	leaq	0x10(%rbp), %rcx
00000001000024cf	movb	%al, -0x5(%rbp)
00000001000024d2	movl	$0x0, -0xc(%rbp)
00000001000024d9	movq	%rcx, -0x18(%rbp)
00000001000024dd	movl	-0xc(%rbp), %eax
00000001000024e0	movq	-0x18(%rbp), %rcx
00000001000024e4	cmpl	0x8(%rcx), %eax
00000001000024e7	jge	0x10000253f
00000001000024ed	movl	-0xc(%rbp), %edi
00000001000024f0	movq	-0x18(%rbp), %rax
00000001000024f4	movq	(%rax), %rcx
00000001000024f7	movq	%rcx, (%rsp)
00000001000024fb	movq	0x8(%rax), %rcx
00000001000024ff	movq	%rcx, 0x8(%rsp)
0000000100002504	movq	0x10(%rax), %rcx
0000000100002508	movq	%rcx, 0x10(%rsp)
000000010000250d	callq	_array_get
0000000100002512	movsbl	(%rax), %edi
0000000100002515	movsbl	-0x5(%rbp), %edx
0000000100002519	cmpl	%edx, %edi
000000010000251b	jne	0x10000252c
0000000100002521	movl	-0xc(%rbp), %eax
0000000100002524	movl	%eax, -0x4(%rbp)
0000000100002527	jmp	0x100002546
000000010000252c	jmp	0x100002531
0000000100002531	movl	-0xc(%rbp), %eax
0000000100002534	addl	$0x1, %eax
0000000100002537	movl	%eax, -0xc(%rbp)
000000010000253a	jmp	0x1000024dd
000000010000253f	movl	$0xffffffff, -0x4(%rbp)
0000000100002546	movl	-0x4(%rbp), %eax
0000000100002549	addq	$0x30, %rsp
000000010000254d	popq	%rbp
000000010000254e	retq
000000010000254f	nop
_array_string_filter2:
0000000100002550	pushq	%rbp
0000000100002551	movq	%rsp, %rbp
0000000100002554	subq	$0x70, %rsp
0000000100002558	movq	%rdi, %rax
000000010000255b	leaq	0x10(%rbp), %rcx
000000010000255f	xorl	%edx, %edx
0000000100002561	movl	$0x10, %r8d
0000000100002567	leaq	-0x18(%rbp), %r9
000000010000256b	movq	0xaac6(%rip), %r10 ## literal pool symbol address: ___stack_chk_guard
0000000100002572	movq	(%r10), %r10
0000000100002575	movq	%r10, -0x8(%rbp)
0000000100002579	movq	%rsi, -0x20(%rbp)
000000010000257d	movq	$0x0, -0x18(%rbp)
0000000100002585	movl	$0x0, -0x10(%rbp)
000000010000258c	movq	%rdi, -0x40(%rbp)
0000000100002590	movl	%edx, %esi
0000000100002592	movq	%rcx, -0x48(%rbp)
0000000100002596	movl	%r8d, %ecx
0000000100002599	movq	%r9, %r8
000000010000259c	movq	%rax, -0x50(%rbp)
00000001000025a0	callq	_new_array_from_c_array
00000001000025a5	movl	$0x0, -0x24(%rbp)
00000001000025ac	movl	-0x24(%rbp), %eax
00000001000025af	movq	-0x48(%rbp), %rcx
00000001000025b3	cmpl	0x8(%rcx), %eax
00000001000025b6	jge	0x100002679
00000001000025bc	movq	-0x20(%rbp), %rax
00000001000025c0	movl	-0x24(%rbp), %edi
00000001000025c3	movq	-0x48(%rbp), %rcx
00000001000025c7	movq	(%rcx), %rdx
00000001000025ca	movq	%rdx, (%rsp)
00000001000025ce	movq	0x8(%rcx), %rdx
00000001000025d2	movq	%rdx, 0x8(%rsp)
00000001000025d7	movq	0x10(%rcx), %rdx
00000001000025db	movq	%rdx, 0x10(%rsp)
00000001000025e0	movq	%rax, -0x58(%rbp)
00000001000025e4	callq	_array_get
00000001000025e9	movl	-0x24(%rbp), %edx
00000001000025ec	movq	(%rax), %rdi
00000001000025ef	movl	0x8(%rax), %esi
00000001000025f2	movq	-0x48(%rbp), %rax
00000001000025f6	movq	(%rax), %rcx
00000001000025f9	movq	%rcx, (%rsp)
00000001000025fd	movq	0x8(%rax), %rcx
0000000100002601	movq	%rcx, 0x8(%rsp)
0000000100002606	movq	0x10(%rax), %rcx
000000010000260a	movq	%rcx, 0x10(%rsp)
000000010000260f	movq	-0x58(%rbp), %rcx
0000000100002613	callq	*%rcx
0000000100002615	testb	$0x1, %al
0000000100002617	jne	0x100002622
000000010000261d	jmp	0x100002666
0000000100002622	movl	-0x24(%rbp), %edi
0000000100002625	movq	-0x48(%rbp), %rax
0000000100002629	movq	(%rax), %rcx
000000010000262c	movq	%rcx, (%rsp)
0000000100002630	movq	0x8(%rax), %rcx
0000000100002634	movq	%rcx, 0x8(%rsp)
0000000100002639	movq	0x10(%rax), %rcx
000000010000263d	movq	%rcx, 0x10(%rsp)
0000000100002642	callq	_array_get
0000000100002647	leaq	-0x38(%rbp), %rcx
000000010000264b	movq	(%rax), %rdx
000000010000264e	movq	%rdx, -0x38(%rbp)
0000000100002652	movq	0x8(%rax), %rax
0000000100002656	movq	%rax, -0x30(%rbp)
000000010000265a	movq	-0x40(%rbp), %rdi
000000010000265e	movq	%rcx, %rsi
0000000100002661	callq	_array_push
0000000100002666	jmp	0x10000266b
000000010000266b	movl	-0x24(%rbp), %eax
000000010000266e	addl	$0x1, %eax
0000000100002671	movl	%eax, -0x24(%rbp)
0000000100002674	jmp	0x1000025ac
0000000100002679	movq	0xa9b8(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
0000000100002680	movq	(%rax), %rax
0000000100002683	movq	-0x8(%rbp), %rcx
0000000100002687	cmpq	%rcx, %rax
000000010000268a	jne	0x10000269a
0000000100002690	movq	-0x50(%rbp), %rax
0000000100002694	addq	$0x70, %rsp
0000000100002698	popq	%rbp
0000000100002699	retq
000000010000269a	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
000000010000269f	ud2
00000001000026a1	nopw	%cs:(%rax,%rax)
_array_int_filter2:
00000001000026b0	pushq	%rbp
00000001000026b1	movq	%rsp, %rbp
00000001000026b4	subq	$0x50, %rsp
00000001000026b8	movq	%rdi, %rax
00000001000026bb	leaq	0x10(%rbp), %rcx
00000001000026bf	xorl	%edx, %edx
00000001000026c1	movl	$0x4, %r8d
00000001000026c7	leaq	-0xc(%rbp), %r9
00000001000026cb	movq	%rsi, -0x8(%rbp)
00000001000026cf	movl	$0x0, -0xc(%rbp)
00000001000026d6	movq	%rdi, -0x20(%rbp)
00000001000026da	movl	%edx, %esi
00000001000026dc	movq	%rcx, -0x28(%rbp)
00000001000026e0	movl	%r8d, %ecx
00000001000026e3	movq	%r9, %r8
00000001000026e6	movq	%rax, -0x30(%rbp)
00000001000026ea	callq	_new_array_from_c_array
00000001000026ef	movl	$0x0, -0x10(%rbp)
00000001000026f6	movl	-0x10(%rbp), %eax
00000001000026f9	movq	-0x28(%rbp), %rcx
00000001000026fd	cmpl	0x8(%rcx), %eax
0000000100002700	jge	0x1000027b5
0000000100002706	movq	-0x8(%rbp), %rax
000000010000270a	movl	-0x10(%rbp), %edi
000000010000270d	movq	-0x28(%rbp), %rcx
0000000100002711	movq	(%rcx), %rdx
0000000100002714	movq	%rdx, (%rsp)
0000000100002718	movq	0x8(%rcx), %rdx
000000010000271c	movq	%rdx, 0x8(%rsp)
0000000100002721	movq	0x10(%rcx), %rdx
0000000100002725	movq	%rdx, 0x10(%rsp)
000000010000272a	movq	%rax, -0x38(%rbp)
000000010000272e	callq	_array_get
0000000100002733	movl	(%rax), %edi
0000000100002735	movl	-0x10(%rbp), %esi
0000000100002738	movq	-0x28(%rbp), %rax
000000010000273c	movq	(%rax), %rcx
000000010000273f	movq	%rcx, (%rsp)
0000000100002743	movq	0x8(%rax), %rcx
0000000100002747	movq	%rcx, 0x8(%rsp)
000000010000274c	movq	0x10(%rax), %rcx
0000000100002750	movq	%rcx, 0x10(%rsp)
0000000100002755	movq	-0x38(%rbp), %rcx
0000000100002759	callq	*%rcx
000000010000275b	testb	$0x1, %al
000000010000275d	jne	0x100002768
0000000100002763	jmp	0x1000027a2
0000000100002768	movl	-0x10(%rbp), %edi
000000010000276b	movq	-0x28(%rbp), %rax
000000010000276f	movq	(%rax), %rcx
0000000100002772	movq	%rcx, (%rsp)
0000000100002776	movq	0x8(%rax), %rcx
000000010000277a	movq	%rcx, 0x8(%rsp)
000000010000277f	movq	0x10(%rax), %rcx
0000000100002783	movq	%rcx, 0x10(%rsp)
0000000100002788	callq	_array_get
000000010000278d	leaq	-0x14(%rbp), %rcx
0000000100002791	movl	(%rax), %edi
0000000100002793	movl	%edi, -0x14(%rbp)
0000000100002796	movq	-0x20(%rbp), %rdi
000000010000279a	movq	%rcx, %rsi
000000010000279d	callq	_array_push
00000001000027a2	jmp	0x1000027a7
00000001000027a7	movl	-0x10(%rbp), %eax
00000001000027aa	addl	$0x1, %eax
00000001000027ad	movl	%eax, -0x10(%rbp)
00000001000027b0	jmp	0x1000026f6
00000001000027b5	movq	-0x30(%rbp), %rax
00000001000027b9	addq	$0x50, %rsp
00000001000027bd	popq	%rbp
00000001000027be	retq
00000001000027bf	nop
_array_int_reduce:
00000001000027c0	pushq	%rbp
00000001000027c1	movq	%rsp, %rbp
00000001000027c4	subq	$0x50, %rsp
00000001000027c8	leaq	0x10(%rbp), %rax
00000001000027cc	movq	%rdi, -0x8(%rbp)
00000001000027d0	movl	%esi, -0xc(%rbp)
00000001000027d3	movl	$0x0, -0x10(%rbp)
00000001000027da	movl	-0xc(%rbp), %esi
00000001000027dd	movl	%esi, -0x10(%rbp)
00000001000027e0	movl	$0x0, -0x14(%rbp)
00000001000027e7	movq	%rax, -0x20(%rbp)
00000001000027eb	movl	-0x14(%rbp), %eax
00000001000027ee	movq	-0x20(%rbp), %rcx
00000001000027f2	cmpl	0x8(%rcx), %eax
00000001000027f5	jge	0x10000284c
00000001000027fb	movq	-0x8(%rbp), %rax
00000001000027ff	movl	-0x10(%rbp), %edi
0000000100002802	movl	-0x14(%rbp), %ecx
0000000100002805	movq	-0x20(%rbp), %rdx
0000000100002809	movq	(%rdx), %rsi
000000010000280c	movq	%rsi, (%rsp)
0000000100002810	movq	0x8(%rdx), %rsi
0000000100002814	movq	%rsi, 0x8(%rsp)
0000000100002819	movq	0x10(%rdx), %rsi
000000010000281d	movq	%rsi, 0x10(%rsp)
0000000100002822	movl	%edi, -0x24(%rbp)
0000000100002825	movl	%ecx, %edi
0000000100002827	movq	%rax, -0x30(%rbp)
000000010000282b	callq	_array_get
0000000100002830	movl	(%rax), %esi
0000000100002832	movl	-0x24(%rbp), %edi
0000000100002835	movq	-0x30(%rbp), %rax
0000000100002839	callq	*%rax
000000010000283b	movl	%eax, -0x10(%rbp)
000000010000283e	movl	-0x14(%rbp), %eax
0000000100002841	addl	$0x1, %eax
0000000100002844	movl	%eax, -0x14(%rbp)
0000000100002847	jmp	0x1000027eb
000000010000284c	movl	-0x10(%rbp), %eax
000000010000284f	addq	$0x50, %rsp
0000000100002853	popq	%rbp
0000000100002854	retq
0000000100002855	nopw	%cs:(%rax,%rax)
_builtin__init:
0000000100002860	pushq	%rbp
0000000100002861	movq	%rsp, %rbp
0000000100002864	popq	%rbp
0000000100002865	retq
0000000100002866	nopw	%cs:(%rax,%rax)
_v_exit:
0000000100002870	pushq	%rbp
0000000100002871	movq	%rsp, %rbp
0000000100002874	subq	$0x10, %rsp
0000000100002878	movl	%edi, -0x4(%rbp)
000000010000287b	movl	-0x4(%rbp), %edi
000000010000287e	callq	0x10000a5da ## symbol stub for: _exit
0000000100002883	nopw	%cs:(%rax,%rax)
_isnil:
0000000100002890	pushq	%rbp
0000000100002891	movq	%rsp, %rbp
0000000100002894	movq	%rdi, -0x8(%rbp)
0000000100002898	cmpq	$0x0, -0x8(%rbp)
000000010000289d	sete	%al
00000001000028a0	andb	$0x1, %al
00000001000028a2	movzbl	%al, %eax
00000001000028a5	popq	%rbp
00000001000028a6	retq
00000001000028a7	nopw	(%rax,%rax)
_on_panic:
00000001000028b0	pushq	%rbp
00000001000028b1	movq	%rsp, %rbp
00000001000028b4	movq	%rdi, -0x8(%rbp)
00000001000028b8	popq	%rbp
00000001000028b9	retq
00000001000028ba	nopw	(%rax,%rax)
_print_backtrace_skipping_top_frames:
00000001000028c0	pushq	%rbp
00000001000028c1	movq	%rsp, %rbp
00000001000028c4	subq	$0x340, %rsp
00000001000028cb	movl	$0x64, %esi
00000001000028d0	leaq	-0x330(%rbp), %rax
00000001000028d7	movq	0xa75a(%rip), %rcx ## literal pool symbol address: ___stack_chk_guard
00000001000028de	movq	(%rcx), %rcx
00000001000028e1	movq	%rcx, -0x8(%rbp)
00000001000028e5	movl	%edi, -0x334(%rbp)
00000001000028eb	movq	%rax, %rdi
00000001000028ee	callq	0x10000a5c8 ## symbol stub for: _backtrace
00000001000028f3	movl	$0x1, %edx
00000001000028f8	leaq	-0x330(%rbp), %rcx
00000001000028ff	movl	%eax, -0x338(%rbp)
0000000100002905	movslq	-0x334(%rbp), %rdi
000000010000290c	shlq	$0x3, %rdi
0000000100002910	addq	%rdi, %rcx
0000000100002913	movl	-0x338(%rbp), %eax
0000000100002919	subl	-0x334(%rbp), %eax
000000010000291f	movq	%rcx, %rdi
0000000100002922	movl	%eax, %esi
0000000100002924	callq	0x10000a5ce ## symbol stub for: _backtrace_symbols_fd
0000000100002929	movq	0xa708(%rip), %rcx ## literal pool symbol address: ___stack_chk_guard
0000000100002930	movq	(%rcx), %rcx
0000000100002933	movq	-0x8(%rbp), %rdi
0000000100002937	cmpq	%rdi, %rcx
000000010000293a	jne	0x100002949
0000000100002940	addq	$0x340, %rsp
0000000100002947	popq	%rbp
0000000100002948	retq
0000000100002949	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
000000010000294e	ud2
_print_backtrace:
0000000100002950	pushq	%rbp
0000000100002951	movq	%rsp, %rbp
0000000100002954	movl	$0x2, %edi
0000000100002959	callq	_print_backtrace_skipping_top_frames
000000010000295e	popq	%rbp
000000010000295f	retq
_panic_debug:
0000000100002960	pushq	%rbp
0000000100002961	movq	%rsp, %rbp
0000000100002964	subq	$0xa0, %rsp
000000010000296b	leaq	0x20(%rbp), %rax
000000010000296f	leaq	0x10(%rbp), %r9
0000000100002973	movq	%rsi, -0x10(%rbp)
0000000100002977	movl	%edx, -0x8(%rbp)
000000010000297a	movq	%rcx, -0x20(%rbp)
000000010000297e	movl	%r8d, -0x18(%rbp)
0000000100002982	movl	%edi, -0x24(%rbp)
0000000100002985	leaq	0x7f0b(%rip), %rdi ## literal pool for: "================ V panic ================"
000000010000298c	movq	%r9, -0x80(%rbp)
0000000100002990	movq	%rax, -0x88(%rbp)
0000000100002997	callq	_tos3
000000010000299c	movq	%rax, -0x38(%rbp)
00000001000029a0	movl	%edx, -0x30(%rbp)
00000001000029a3	movq	-0x38(%rbp), %rdi
00000001000029a7	movl	-0x30(%rbp), %esi
00000001000029aa	callq	_println
00000001000029af	movl	-0x18(%rbp), %esi
00000001000029b2	movq	-0x20(%rbp), %rdx
00000001000029b6	leaq	0x7f04(%rip), %rdi ## literal pool for: "   module: %.*s\n"
00000001000029bd	xorl	%r8d, %r8d
00000001000029c0	movb	%r8b, %r10b
00000001000029c3	movb	%r10b, %al
00000001000029c6	movb	%r10b, -0x89(%rbp)
00000001000029cd	callq	0x10000a60a ## symbol stub for: _printf
00000001000029d2	movq	-0x80(%rbp), %rcx
00000001000029d6	movl	0x8(%rcx), %esi
00000001000029d9	movq	(%rcx), %rdx
00000001000029dc	leaq	0x7eef(%rip), %rdi ## literal pool for: " function: %.*s()\n"
00000001000029e3	movb	-0x89(%rbp), %r10b
00000001000029ea	movl	%eax, -0x90(%rbp)
00000001000029f0	movb	%r10b, %al
00000001000029f3	callq	0x10000a60a ## symbol stub for: _printf
00000001000029f8	movl	-0x8(%rbp), %esi
00000001000029fb	movq	-0x10(%rbp), %rdx
00000001000029ff	leaq	0x7edf(%rip), %rdi ## literal pool for: "     file: %.*s\n"
0000000100002a06	movb	-0x89(%rbp), %r10b
0000000100002a0d	movl	%eax, -0x94(%rbp)
0000000100002a13	movb	%r10b, %al
0000000100002a16	callq	0x10000a60a ## symbol stub for: _printf
0000000100002a1b	leaq	0x7ed4(%rip), %rdi ## literal pool for: "     line: "
0000000100002a22	movl	%eax, -0x98(%rbp)
0000000100002a28	callq	_tos3
0000000100002a2d	movq	%rax, -0x58(%rbp)
0000000100002a31	movl	%edx, -0x50(%rbp)
0000000100002a34	movl	-0x24(%rbp), %edi
0000000100002a37	callq	_int_str
0000000100002a3c	movq	%rax, -0x68(%rbp)
0000000100002a40	movl	%edx, -0x60(%rbp)
0000000100002a43	movq	-0x58(%rbp), %rdi
0000000100002a47	movl	-0x50(%rbp), %esi
0000000100002a4a	movq	-0x68(%rbp), %rdx
0000000100002a4e	movl	-0x60(%rbp), %ecx
0000000100002a51	callq	_string_add
0000000100002a56	movq	%rax, -0x48(%rbp)
0000000100002a5a	movl	%edx, -0x40(%rbp)
0000000100002a5d	movq	-0x48(%rbp), %rdi
0000000100002a61	movl	-0x40(%rbp), %esi
0000000100002a64	callq	_println
0000000100002a69	movq	-0x88(%rbp), %rax
0000000100002a70	movl	0x8(%rax), %esi
0000000100002a73	movq	(%rax), %rdx
0000000100002a76	leaq	0x7e85(%rip), %rdi ## literal pool for: "  message: %.*s\n"
0000000100002a7d	movb	-0x89(%rbp), %al
0000000100002a83	callq	0x10000a60a ## symbol stub for: _printf
0000000100002a88	leaq	0x7e84(%rip), %rdi ## literal pool for: "========================================="
0000000100002a8f	movl	%eax, -0x9c(%rbp)
0000000100002a95	callq	_tos3
0000000100002a9a	movq	%rax, -0x78(%rbp)
0000000100002a9e	movl	%edx, -0x70(%rbp)
0000000100002aa1	movq	-0x78(%rbp), %rdi
0000000100002aa5	movl	-0x70(%rbp), %esi
0000000100002aa8	callq	_println
0000000100002aad	movl	$0x1, %ecx
0000000100002ab2	movl	%ecx, %edi
0000000100002ab4	movl	%ecx, -0xa0(%rbp)
0000000100002aba	callq	_print_backtrace_skipping_top_frames
0000000100002abf	movl	-0xa0(%rbp), %edi
0000000100002ac5	callq	0x10000a5da ## symbol stub for: _exit
0000000100002aca	nopw	(%rax,%rax)
_println:
0000000100002ad0	pushq	%rbp
0000000100002ad1	movq	%rsp, %rbp
0000000100002ad4	subq	$0x30, %rsp
0000000100002ad8	movq	%rdi, -0x10(%rbp)
0000000100002adc	movl	%esi, -0x8(%rbp)
0000000100002adf	movq	-0x10(%rbp), %rdi
0000000100002ae3	callq	_isnil
0000000100002ae8	testb	$0x1, %al
0000000100002aea	jne	0x100002af5
0000000100002af0	jmp	0x100002b14
0000000100002af5	leaq	0x7e50(%rip), %rdi ## literal pool for: "println(NIL)"
0000000100002afc	callq	_tos3
0000000100002b01	movq	%rax, -0x20(%rbp)
0000000100002b05	movl	%edx, -0x18(%rbp)
0000000100002b08	movq	-0x20(%rbp), %rdi
0000000100002b0c	movl	-0x18(%rbp), %esi
0000000100002b0f	callq	_v_panic
0000000100002b14	leaq	0x7e3e(%rip), %rdi ## literal pool for: "%.*s\n"
0000000100002b1b	movl	-0x8(%rbp), %esi
0000000100002b1e	movq	-0x10(%rbp), %rdx
0000000100002b22	movb	$0x0, %al
0000000100002b24	callq	0x10000a60a ## symbol stub for: _printf
0000000100002b29	movl	%eax, -0x24(%rbp)
0000000100002b2c	addq	$0x30, %rsp
0000000100002b30	popq	%rbp
0000000100002b31	retq
0000000100002b32	nopw	%cs:(%rax,%rax)
_string_add:
0000000100002b40	pushq	%rbp
0000000100002b41	movq	%rsp, %rbp
0000000100002b44	subq	$0x40, %rsp
0000000100002b48	movq	%rdi, -0x20(%rbp)
0000000100002b4c	movl	%esi, -0x18(%rbp)
0000000100002b4f	movq	%rdx, -0x30(%rbp)
0000000100002b53	movl	%ecx, -0x28(%rbp)
0000000100002b56	movl	-0x28(%rbp), %ecx
0000000100002b59	addl	-0x18(%rbp), %ecx
0000000100002b5c	movl	%ecx, -0x34(%rbp)
0000000100002b5f	movl	-0x34(%rbp), %ecx
0000000100002b62	addl	$0x1, %ecx
0000000100002b65	movl	%ecx, %edi
0000000100002b67	callq	_v_malloc
0000000100002b6c	movq	%rax, -0x10(%rbp)
0000000100002b70	movl	-0x34(%rbp), %ecx
0000000100002b73	movl	%ecx, -0x8(%rbp)
0000000100002b76	movl	$0x0, -0x38(%rbp)
0000000100002b7d	movl	-0x38(%rbp), %eax
0000000100002b80	cmpl	-0x18(%rbp), %eax
0000000100002b83	jge	0x100002bad
0000000100002b89	movq	-0x20(%rbp), %rax
0000000100002b8d	movslq	-0x38(%rbp), %rcx
0000000100002b91	movb	(%rax,%rcx), %dl
0000000100002b94	movq	-0x10(%rbp), %rax
0000000100002b98	movslq	-0x38(%rbp), %rcx
0000000100002b9c	movb	%dl, (%rax,%rcx)
0000000100002b9f	movl	-0x38(%rbp), %eax
0000000100002ba2	addl	$0x1, %eax
0000000100002ba5	movl	%eax, -0x38(%rbp)
0000000100002ba8	jmp	0x100002b7d
0000000100002bad	movl	$0x0, -0x3c(%rbp)
0000000100002bb4	movl	-0x3c(%rbp), %eax
0000000100002bb7	cmpl	-0x28(%rbp), %eax
0000000100002bba	jge	0x100002be9
0000000100002bc0	movq	-0x30(%rbp), %rax
0000000100002bc4	movslq	-0x3c(%rbp), %rcx
0000000100002bc8	movb	(%rax,%rcx), %dl
0000000100002bcb	movq	-0x10(%rbp), %rax
0000000100002bcf	movl	-0x18(%rbp), %esi
0000000100002bd2	addl	-0x3c(%rbp), %esi
0000000100002bd5	movslq	%esi, %rcx
0000000100002bd8	movb	%dl, (%rax,%rcx)
0000000100002bdb	movl	-0x3c(%rbp), %eax
0000000100002bde	addl	$0x1, %eax
0000000100002be1	movl	%eax, -0x3c(%rbp)
0000000100002be4	jmp	0x100002bb4
0000000100002be9	movq	-0x10(%rbp), %rax
0000000100002bed	movslq	-0x34(%rbp), %rcx
0000000100002bf1	movb	$0x0, (%rax,%rcx)
0000000100002bf5	movq	-0x10(%rbp), %rax
0000000100002bf9	movl	-0x8(%rbp), %edx
0000000100002bfc	addq	$0x40, %rsp
0000000100002c00	popq	%rbp
0000000100002c01	retq
0000000100002c02	nopw	%cs:(%rax,%rax)
_int_str:
0000000100002c10	pushq	%rbp
0000000100002c11	movq	%rsp, %rbp
0000000100002c14	subq	$0x40, %rsp
0000000100002c18	movl	%edi, -0x14(%rbp)
0000000100002c1b	movl	-0x14(%rbp), %edi
0000000100002c1e	movl	%edi, -0x18(%rbp)
0000000100002c21	cmpl	$0x0, -0x18(%rbp)
0000000100002c25	jne	0x100002c43
0000000100002c2b	leaq	0x7d6e(%rip), %rdi ## literal pool for: "0"
0000000100002c32	callq	_tos3
0000000100002c37	movq	%rax, -0x10(%rbp)
0000000100002c3b	movl	%edx, -0x8(%rbp)
0000000100002c3e	jmp	0x100002d24
0000000100002c43	movl	$0x10, -0x1c(%rbp)
0000000100002c4a	movl	-0x1c(%rbp), %edi
0000000100002c4d	callq	_v_calloc
0000000100002c52	movq	%rax, -0x28(%rbp)
0000000100002c56	movl	$0x0, -0x2c(%rbp)
0000000100002c5d	movb	$0x0, -0x2d(%rbp)
0000000100002c61	cmpl	$0x0, -0x18(%rbp)
0000000100002c65	jge	0x100002c77
0000000100002c6b	xorl	%eax, %eax
0000000100002c6d	subl	-0x18(%rbp), %eax
0000000100002c70	movl	%eax, -0x18(%rbp)
0000000100002c73	movb	$0x1, -0x2d(%rbp)
0000000100002c77	jmp	0x100002c7c
0000000100002c7c	cmpl	$0x0, -0x18(%rbp)
0000000100002c80	jle	0x100002cd2
0000000100002c86	movl	$0xa, %eax
0000000100002c8b	movl	-0x18(%rbp), %ecx
0000000100002c8e	movl	%eax, -0x38(%rbp)
0000000100002c91	movl	%ecx, %eax
0000000100002c93	cltd
0000000100002c94	movl	-0x38(%rbp), %ecx
0000000100002c97	idivl	%ecx
0000000100002c99	movl	%edx, -0x34(%rbp)
0000000100002c9c	movl	-0x34(%rbp), %edx
0000000100002c9f	addl	$0x30, %edx
0000000100002ca2	movb	%dl, %sil
0000000100002ca5	movq	-0x28(%rbp), %rdi
0000000100002ca9	movl	-0x1c(%rbp), %edx
0000000100002cac	subl	-0x2c(%rbp), %edx
0000000100002caf	subl	$0x1, %edx
0000000100002cb2	movslq	%edx, %r8
0000000100002cb5	movb	%sil, (%rdi,%r8)
0000000100002cb9	movl	-0x2c(%rbp), %edx
0000000100002cbc	addl	$0x1, %edx
0000000100002cbf	movl	%edx, -0x2c(%rbp)
0000000100002cc2	movl	-0x18(%rbp), %edx
0000000100002cc5	movl	%edx, %eax
0000000100002cc7	cltd
0000000100002cc8	idivl	%ecx
0000000100002cca	movl	%eax, -0x18(%rbp)
0000000100002ccd	jmp	0x100002c7c
0000000100002cd2	testb	$0x1, -0x2d(%rbp)
0000000100002cd6	je	0x100002cf9
0000000100002cdc	movq	-0x28(%rbp), %rax
0000000100002ce0	movl	-0x1c(%rbp), %ecx
0000000100002ce3	subl	-0x2c(%rbp), %ecx
0000000100002ce6	subl	$0x1, %ecx
0000000100002ce9	movslq	%ecx, %rdx
0000000100002cec	movb	$0x2d, (%rax,%rdx)
0000000100002cf0	movl	-0x2c(%rbp), %ecx
0000000100002cf3	addl	$0x1, %ecx
0000000100002cf6	movl	%ecx, -0x2c(%rbp)
0000000100002cf9	xorl	%eax, %eax
0000000100002cfb	movl	%eax, %ecx
0000000100002cfd	movq	-0x28(%rbp), %rdx
0000000100002d01	movslq	-0x1c(%rbp), %rsi
0000000100002d05	addq	%rsi, %rdx
0000000100002d08	movslq	-0x2c(%rbp), %rsi
0000000100002d0c	subq	%rsi, %rcx
0000000100002d0f	addq	%rcx, %rdx
0000000100002d12	movl	-0x2c(%rbp), %esi
0000000100002d15	movq	%rdx, %rdi
0000000100002d18	callq	_tos
0000000100002d1d	movq	%rax, -0x10(%rbp)
0000000100002d21	movl	%edx, -0x8(%rbp)
0000000100002d24	movq	-0x10(%rbp), %rax
0000000100002d28	movl	-0x8(%rbp), %edx
0000000100002d2b	addq	$0x40, %rsp
0000000100002d2f	popq	%rbp
0000000100002d30	retq
0000000100002d31	nopw	%cs:(%rax,%rax)
_eprintln:
0000000100002d40	pushq	%rbp
0000000100002d41	movq	%rsp, %rbp
0000000100002d44	subq	$0x30, %rsp
0000000100002d48	movq	%rdi, -0x10(%rbp)
0000000100002d4c	movl	%esi, -0x8(%rbp)
0000000100002d4f	movq	-0x10(%rbp), %rdi
0000000100002d53	callq	_isnil
0000000100002d58	testb	$0x1, %al
0000000100002d5a	jne	0x100002d65
0000000100002d60	jmp	0x100002d84
0000000100002d65	leaq	0x7bf3(%rip), %rdi ## literal pool for: "eprintln(NIL)"
0000000100002d6c	callq	_tos3
0000000100002d71	movq	%rax, -0x20(%rbp)
0000000100002d75	movl	%edx, -0x18(%rbp)
0000000100002d78	movq	-0x20(%rbp), %rdi
0000000100002d7c	movl	-0x18(%rbp), %esi
0000000100002d7f	callq	_v_panic
0000000100002d84	leaq	0x7bce(%rip), %rsi ## literal pool for: "%.*s\n"
0000000100002d8b	movq	0xa2ae(%rip), %rax ## literal pool symbol address: ___stderrp
0000000100002d92	movq	(%rax), %rdi
0000000100002d95	movl	-0x8(%rbp), %edx
0000000100002d98	movq	-0x10(%rbp), %rcx
0000000100002d9c	movb	$0x0, %al
0000000100002d9e	callq	0x10000a5e6 ## symbol stub for: _fprintf
0000000100002da3	movq	0xa296(%rip), %rcx ## literal pool symbol address: ___stderrp
0000000100002daa	movq	(%rcx), %rdi
0000000100002dad	movl	%eax, -0x24(%rbp)
0000000100002db0	callq	0x10000a5e0 ## symbol stub for: _fflush
0000000100002db5	movl	%eax, -0x28(%rbp)
0000000100002db8	addq	$0x30, %rsp
0000000100002dbc	popq	%rbp
0000000100002dbd	retq
0000000100002dbe	nop
_print:
0000000100002dc0	pushq	%rbp
0000000100002dc1	movq	%rsp, %rbp
0000000100002dc4	subq	$0x20, %rsp
0000000100002dc8	leaq	0x7b9e(%rip), %rax ## literal pool for: "%.*s"
0000000100002dcf	movq	%rdi, -0x10(%rbp)
0000000100002dd3	movl	%esi, -0x8(%rbp)
0000000100002dd6	movl	-0x8(%rbp), %esi
0000000100002dd9	movq	-0x10(%rbp), %rdx
0000000100002ddd	movq	%rax, %rdi
0000000100002de0	movb	$0x0, %al
0000000100002de2	callq	0x10000a60a ## symbol stub for: _printf
0000000100002de7	movl	%eax, -0x14(%rbp)
0000000100002dea	addq	$0x20, %rsp
0000000100002dee	popq	%rbp
0000000100002def	retq
_v_free:
0000000100002df0	pushq	%rbp
0000000100002df1	movq	%rsp, %rbp
0000000100002df4	subq	$0x10, %rsp
0000000100002df8	movq	%rdi, -0x8(%rbp)
0000000100002dfc	movq	-0x8(%rbp), %rdi
0000000100002e00	callq	0x10000a5ec ## symbol stub for: _free
0000000100002e05	addq	$0x10, %rsp
0000000100002e09	popq	%rbp
0000000100002e0a	retq
0000000100002e0b	nopl	(%rax,%rax)
_memdup:
0000000100002e10	pushq	%rbp
0000000100002e11	movq	%rsp, %rbp
0000000100002e14	subq	$0x20, %rsp
0000000100002e18	movq	%rdi, -0x8(%rbp)
0000000100002e1c	movl	%esi, -0xc(%rbp)
0000000100002e1f	movl	-0xc(%rbp), %edi
0000000100002e22	callq	_v_malloc
0000000100002e27	movq	$-0x1, %rcx
0000000100002e2e	movq	%rax, -0x18(%rbp)
0000000100002e32	movq	-0x18(%rbp), %rdi
0000000100002e36	movq	-0x8(%rbp), %rsi
0000000100002e3a	movslq	-0xc(%rbp), %rdx
0000000100002e3e	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100002e43	addq	$0x20, %rsp
0000000100002e47	popq	%rbp
0000000100002e48	retq
0000000100002e49	nopl	(%rax)
_v_ptr_free:
0000000100002e50	pushq	%rbp
0000000100002e51	movq	%rsp, %rbp
0000000100002e54	subq	$0x10, %rsp
0000000100002e58	movq	%rdi, -0x8(%rbp)
0000000100002e5c	movq	-0x8(%rbp), %rdi
0000000100002e60	callq	0x10000a5ec ## symbol stub for: _free
0000000100002e65	addq	$0x10, %rsp
0000000100002e69	popq	%rbp
0000000100002e6a	retq
0000000100002e6b	nopl	(%rax,%rax)
_is_atty:
0000000100002e70	pushq	%rbp
0000000100002e71	movq	%rsp, %rbp
0000000100002e74	subq	$0x10, %rsp
0000000100002e78	movl	%edi, -0x4(%rbp)
0000000100002e7b	movl	-0x4(%rbp), %edi
0000000100002e7e	callq	0x10000a5f8 ## symbol stub for: _isatty
0000000100002e83	cmpl	$0x0, %eax
0000000100002e86	setne	%cl
0000000100002e89	andb	$0x1, %cl
0000000100002e8c	movzbl	%cl, %eax
0000000100002e8f	addq	$0x10, %rsp
0000000100002e93	popq	%rbp
0000000100002e94	retq
0000000100002e95	nopw	%cs:(%rax,%rax)
_f64_str:
0000000100002ea0	pushq	%rbp
0000000100002ea1	movq	%rsp, %rbp
0000000100002ea4	subq	$0x30, %rsp
0000000100002ea8	movsd	%xmm0, -0x18(%rbp)
0000000100002ead	movl	$0x29, %edi
0000000100002eb2	callq	_v_malloc
0000000100002eb7	movq	%rax, -0x20(%rbp)
0000000100002ebb	movq	-0x20(%rbp), %rdi
0000000100002ebf	movsd	-0x18(%rbp), %xmm0
0000000100002ec4	leaq	0x7acf(%rip), %rcx ## literal pool for: "%f"
0000000100002ecb	xorl	%esi, %esi
0000000100002ecd	movq	$-0x1, %rdx
0000000100002ed4	movb	$0x1, %al
0000000100002ed6	callq	0x10000a5aa ## symbol stub for: ___sprintf_chk
0000000100002edb	movq	-0x20(%rbp), %rcx
0000000100002edf	movq	%rcx, %rdi
0000000100002ee2	movl	%eax, -0x24(%rbp)
0000000100002ee5	movq	%rcx, -0x30(%rbp)
0000000100002ee9	callq	_vstrlen
0000000100002eee	movq	-0x30(%rbp), %rdi
0000000100002ef2	movl	%eax, %esi
0000000100002ef4	callq	_tos
0000000100002ef9	movq	%rax, -0x10(%rbp)
0000000100002efd	movl	%edx, -0x8(%rbp)
0000000100002f00	movq	-0x10(%rbp), %rax
0000000100002f04	movl	-0x8(%rbp), %edx
0000000100002f07	addq	$0x30, %rsp
0000000100002f0b	popq	%rbp
0000000100002f0c	retq
0000000100002f0d	nopl	(%rax)
_tos:
0000000100002f10	pushq	%rbp
0000000100002f11	movq	%rsp, %rbp
0000000100002f14	subq	$0x30, %rsp
0000000100002f18	movq	%rdi, -0x18(%rbp)
0000000100002f1c	movl	%esi, -0x1c(%rbp)
0000000100002f1f	cmpq	$0x0, -0x18(%rbp)
0000000100002f24	jne	0x100002f49
0000000100002f2a	leaq	0x7af7(%rip), %rdi ## literal pool for: "tos(): nil string"
0000000100002f31	callq	_tos3
0000000100002f36	movq	%rax, -0x30(%rbp)
0000000100002f3a	movl	%edx, -0x28(%rbp)
0000000100002f3d	movq	-0x30(%rbp), %rdi
0000000100002f41	movl	-0x28(%rbp), %esi
0000000100002f44	callq	_v_panic
0000000100002f49	movq	-0x18(%rbp), %rax
0000000100002f4d	movq	%rax, -0x10(%rbp)
0000000100002f51	movl	-0x1c(%rbp), %ecx
0000000100002f54	movl	%ecx, -0x8(%rbp)
0000000100002f57	movq	-0x10(%rbp), %rax
0000000100002f5b	movl	-0x8(%rbp), %edx
0000000100002f5e	addq	$0x30, %rsp
0000000100002f62	popq	%rbp
0000000100002f63	retq
0000000100002f64	nopw	%cs:(%rax,%rax)
_vstrlen:
0000000100002f70	pushq	%rbp
0000000100002f71	movq	%rsp, %rbp
0000000100002f74	subq	$0x10, %rsp
0000000100002f78	movq	%rdi, -0x8(%rbp)
0000000100002f7c	movq	-0x8(%rbp), %rdi
0000000100002f80	callq	0x10000a61c ## symbol stub for: _strlen
0000000100002f85	movl	%eax, %ecx
0000000100002f87	movl	%ecx, %eax
0000000100002f89	addq	$0x10, %rsp
0000000100002f8d	popq	%rbp
0000000100002f8e	retq
0000000100002f8f	nop
_f32_str:
0000000100002f90	pushq	%rbp
0000000100002f91	movq	%rsp, %rbp
0000000100002f94	subq	$0x30, %rsp
0000000100002f98	movss	%xmm0, -0x14(%rbp)
0000000100002f9d	movl	$0x29, %edi
0000000100002fa2	callq	_v_malloc
0000000100002fa7	movq	%rax, -0x20(%rbp)
0000000100002fab	movq	-0x20(%rbp), %rdi
0000000100002faf	movss	-0x14(%rbp), %xmm0
0000000100002fb4	cvtss2sd	%xmm0, %xmm0
0000000100002fb8	leaq	0x79db(%rip), %rcx ## literal pool for: "%f"
0000000100002fbf	xorl	%esi, %esi
0000000100002fc1	movq	$-0x1, %rdx
0000000100002fc8	movb	$0x1, %al
0000000100002fca	callq	0x10000a5aa ## symbol stub for: ___sprintf_chk
0000000100002fcf	movq	-0x20(%rbp), %rcx
0000000100002fd3	movq	%rcx, %rdi
0000000100002fd6	movl	%eax, -0x24(%rbp)
0000000100002fd9	movq	%rcx, -0x30(%rbp)
0000000100002fdd	callq	_vstrlen
0000000100002fe2	movq	-0x30(%rbp), %rdi
0000000100002fe6	movl	%eax, %esi
0000000100002fe8	callq	_tos
0000000100002fed	movq	%rax, -0x10(%rbp)
0000000100002ff1	movl	%edx, -0x8(%rbp)
0000000100002ff4	movq	-0x10(%rbp), %rax
0000000100002ff8	movl	-0x8(%rbp), %edx
0000000100002ffb	addq	$0x30, %rsp
0000000100002fff	popq	%rbp
0000000100003000	retq
0000000100003001	nopw	%cs:(%rax,%rax)
_f32_abs:
0000000100003010	pushq	%rbp
0000000100003011	movq	%rsp, %rbp
0000000100003014	xorps	%xmm1, %xmm1
0000000100003017	movss	%xmm0, -0x4(%rbp)
000000010000301c	ucomiss	-0x4(%rbp), %xmm1
0000000100003020	jbe	0x100003042
0000000100003026	movss	-0x4(%rbp), %xmm0
000000010000302b	movd	%xmm0, %eax
000000010000302f	xorl	$0x80000000, %eax
0000000100003034	movd	%eax, %xmm0
0000000100003038	movss	%xmm0, -0x8(%rbp)
000000010000303d	jmp	0x10000304c
0000000100003042	movss	-0x4(%rbp), %xmm0
0000000100003047	movss	%xmm0, -0x8(%rbp)
000000010000304c	movss	-0x8(%rbp), %xmm0
0000000100003051	popq	%rbp
0000000100003052	retq
0000000100003053	nopw	%cs:(%rax,%rax)
_f64_abs:
0000000100003060	pushq	%rbp
0000000100003061	movq	%rsp, %rbp
0000000100003064	xorps	%xmm1, %xmm1
0000000100003067	movsd	%xmm0, -0x8(%rbp)
000000010000306c	ucomisd	-0x8(%rbp), %xmm1
0000000100003071	jbe	0x10000309d
0000000100003077	movabsq	$-0x8000000000000000, %rax
0000000100003081	movsd	-0x8(%rbp), %xmm0
0000000100003086	movq	%xmm0, %rcx
000000010000308b	xorq	%rax, %rcx
000000010000308e	movq	%rcx, %xmm0
0000000100003093	movsd	%xmm0, -0x10(%rbp)
0000000100003098	jmp	0x1000030a7
000000010000309d	movsd	-0x8(%rbp), %xmm0
00000001000030a2	movsd	%xmm0, -0x10(%rbp)
00000001000030a7	movsd	-0x10(%rbp), %xmm0
00000001000030ac	popq	%rbp
00000001000030ad	retq
00000001000030ae	nop
_f64_eq:
00000001000030b0	pushq	%rbp
00000001000030b1	movq	%rsp, %rbp
00000001000030b4	subq	$0x10, %rsp
00000001000030b8	movsd	%xmm0, -0x8(%rbp)
00000001000030bd	movsd	%xmm1, -0x10(%rbp)
00000001000030c2	movsd	-0x8(%rbp), %xmm0
00000001000030c7	subsd	-0x10(%rbp), %xmm0
00000001000030cc	callq	_f64_abs
00000001000030d1	movsd	0x7667(%rip), %xmm1
00000001000030d9	ucomisd	%xmm0, %xmm1
00000001000030dd	setae	%al
00000001000030e0	andb	$0x1, %al
00000001000030e2	movzbl	%al, %eax
00000001000030e5	addq	$0x10, %rsp
00000001000030e9	popq	%rbp
00000001000030ea	retq
00000001000030eb	nopl	(%rax,%rax)
_f32_eq:
00000001000030f0	pushq	%rbp
00000001000030f1	movq	%rsp, %rbp
00000001000030f4	subq	$0x10, %rsp
00000001000030f8	movss	%xmm0, -0x4(%rbp)
00000001000030fd	movss	%xmm1, -0x8(%rbp)
0000000100003102	movss	-0x4(%rbp), %xmm0
0000000100003107	subss	-0x8(%rbp), %xmm0
000000010000310c	callq	_f32_abs
0000000100003111	movss	0x7647(%rip), %xmm1
0000000100003119	ucomiss	%xmm0, %xmm1
000000010000311c	setae	%al
000000010000311f	andb	$0x1, %al
0000000100003121	movzbl	%al, %eax
0000000100003124	addq	$0x10, %rsp
0000000100003128	popq	%rbp
0000000100003129	retq
000000010000312a	nopw	(%rax,%rax)
_f64_eqbit:
0000000100003130	pushq	%rbp
0000000100003131	movq	%rsp, %rbp
0000000100003134	movsd	%xmm0, -0x8(%rbp)
0000000100003139	movsd	%xmm1, -0x10(%rbp)
000000010000313e	movsd	-0x8(%rbp), %xmm0
0000000100003143	ucomisd	-0x10(%rbp), %xmm0
0000000100003148	sete	%al
000000010000314b	setnp	%cl
000000010000314e	andb	%cl, %al
0000000100003150	andb	$0x1, %al
0000000100003152	movzbl	%al, %eax
0000000100003155	popq	%rbp
0000000100003156	retq
0000000100003157	nopw	(%rax,%rax)
_f32_eqbit:
0000000100003160	pushq	%rbp
0000000100003161	movq	%rsp, %rbp
0000000100003164	movss	%xmm0, -0x4(%rbp)
0000000100003169	movss	%xmm1, -0x8(%rbp)
000000010000316e	movss	-0x4(%rbp), %xmm0
0000000100003173	ucomiss	-0x8(%rbp), %xmm0
0000000100003177	sete	%al
000000010000317a	setnp	%cl
000000010000317d	andb	%cl, %al
000000010000317f	andb	$0x1, %al
0000000100003181	movzbl	%al, %eax
0000000100003184	popq	%rbp
0000000100003185	retq
0000000100003186	nopw	%cs:(%rax,%rax)
_f64_ne:
0000000100003190	pushq	%rbp
0000000100003191	movq	%rsp, %rbp
0000000100003194	subq	$0x10, %rsp
0000000100003198	movsd	%xmm0, -0x8(%rbp)
000000010000319d	movsd	%xmm1, -0x10(%rbp)
00000001000031a2	movsd	-0x8(%rbp), %xmm0
00000001000031a7	movsd	-0x10(%rbp), %xmm1
00000001000031ac	callq	_f64_eq
00000001000031b1	xorb	$-0x1, %al
00000001000031b3	andb	$0x1, %al
00000001000031b5	movzbl	%al, %eax
00000001000031b8	addq	$0x10, %rsp
00000001000031bc	popq	%rbp
00000001000031bd	retq
00000001000031be	nop
_f32_ne:
00000001000031c0	pushq	%rbp
00000001000031c1	movq	%rsp, %rbp
00000001000031c4	subq	$0x10, %rsp
00000001000031c8	movss	%xmm0, -0x4(%rbp)
00000001000031cd	movss	%xmm1, -0x8(%rbp)
00000001000031d2	movss	-0x4(%rbp), %xmm0
00000001000031d7	movss	-0x8(%rbp), %xmm1
00000001000031dc	callq	_f32_eq
00000001000031e1	xorb	$-0x1, %al
00000001000031e3	andb	$0x1, %al
00000001000031e5	movzbl	%al, %eax
00000001000031e8	addq	$0x10, %rsp
00000001000031ec	popq	%rbp
00000001000031ed	retq
00000001000031ee	nop
_f64_nebit:
00000001000031f0	pushq	%rbp
00000001000031f1	movq	%rsp, %rbp
00000001000031f4	movsd	%xmm0, -0x8(%rbp)
00000001000031f9	movsd	%xmm1, -0x10(%rbp)
00000001000031fe	movsd	-0x8(%rbp), %xmm0
0000000100003203	ucomisd	-0x10(%rbp), %xmm0
0000000100003208	setne	%al
000000010000320b	setp	%cl
000000010000320e	orb	%cl, %al
0000000100003210	andb	$0x1, %al
0000000100003212	movzbl	%al, %eax
0000000100003215	popq	%rbp
0000000100003216	retq
0000000100003217	nopw	(%rax,%rax)
_f32_nebit:
0000000100003220	pushq	%rbp
0000000100003221	movq	%rsp, %rbp
0000000100003224	movss	%xmm0, -0x4(%rbp)
0000000100003229	movss	%xmm1, -0x8(%rbp)
000000010000322e	movss	-0x4(%rbp), %xmm0
0000000100003233	ucomiss	-0x8(%rbp), %xmm0
0000000100003237	setne	%al
000000010000323a	setp	%cl
000000010000323d	orb	%cl, %al
000000010000323f	andb	$0x1, %al
0000000100003241	movzbl	%al, %eax
0000000100003244	popq	%rbp
0000000100003245	retq
0000000100003246	nopw	%cs:(%rax,%rax)
_f64_lt:
0000000100003250	pushq	%rbp
0000000100003251	movq	%rsp, %rbp
0000000100003254	subq	$0x20, %rsp
0000000100003258	movsd	%xmm0, -0x8(%rbp)
000000010000325d	movsd	%xmm1, -0x10(%rbp)
0000000100003262	movsd	-0x8(%rbp), %xmm0
0000000100003267	movsd	-0x10(%rbp), %xmm1
000000010000326c	callq	_f64_ne
0000000100003271	xorl	%ecx, %ecx
0000000100003273	movb	%cl, %dl
0000000100003275	testb	$0x1, %al
0000000100003277	movb	%dl, -0x11(%rbp)
000000010000327a	jne	0x100003285
0000000100003280	jmp	0x100003297
0000000100003285	movsd	-0x8(%rbp), %xmm0
000000010000328a	movsd	-0x10(%rbp), %xmm1
000000010000328f	callq	_f64_ltbit
0000000100003294	movb	%al, -0x11(%rbp)
0000000100003297	movb	-0x11(%rbp), %al
000000010000329a	andb	$0x1, %al
000000010000329c	movzbl	%al, %eax
000000010000329f	addq	$0x20, %rsp
00000001000032a3	popq	%rbp
00000001000032a4	retq
00000001000032a5	nopw	%cs:(%rax,%rax)
_f64_ltbit:
00000001000032b0	pushq	%rbp
00000001000032b1	movq	%rsp, %rbp
00000001000032b4	movsd	%xmm0, -0x8(%rbp)
00000001000032b9	movsd	%xmm1, -0x10(%rbp)
00000001000032be	movsd	-0x8(%rbp), %xmm0
00000001000032c3	movsd	-0x10(%rbp), %xmm1
00000001000032c8	ucomisd	%xmm0, %xmm1
00000001000032cc	seta	%al
00000001000032cf	andb	$0x1, %al
00000001000032d1	movzbl	%al, %eax
00000001000032d4	popq	%rbp
00000001000032d5	retq
00000001000032d6	nopw	%cs:(%rax,%rax)
_f32_lt:
00000001000032e0	pushq	%rbp
00000001000032e1	movq	%rsp, %rbp
00000001000032e4	subq	$0x10, %rsp
00000001000032e8	movss	%xmm0, -0x4(%rbp)
00000001000032ed	movss	%xmm1, -0x8(%rbp)
00000001000032f2	movss	-0x4(%rbp), %xmm0
00000001000032f7	movss	-0x8(%rbp), %xmm1
00000001000032fc	callq	_f32_ne
0000000100003301	xorl	%ecx, %ecx
0000000100003303	movb	%cl, %dl
0000000100003305	testb	$0x1, %al
0000000100003307	movb	%dl, -0x9(%rbp)
000000010000330a	jne	0x100003315
0000000100003310	jmp	0x100003327
0000000100003315	movss	-0x4(%rbp), %xmm0
000000010000331a	movss	-0x8(%rbp), %xmm1
000000010000331f	callq	_f32_ltbit
0000000100003324	movb	%al, -0x9(%rbp)
0000000100003327	movb	-0x9(%rbp), %al
000000010000332a	andb	$0x1, %al
000000010000332c	movzbl	%al, %eax
000000010000332f	addq	$0x10, %rsp
0000000100003333	popq	%rbp
0000000100003334	retq
0000000100003335	nopw	%cs:(%rax,%rax)
_f32_ltbit:
0000000100003340	pushq	%rbp
0000000100003341	movq	%rsp, %rbp
0000000100003344	movss	%xmm0, -0x4(%rbp)
0000000100003349	movss	%xmm1, -0x8(%rbp)
000000010000334e	movss	-0x4(%rbp), %xmm0
0000000100003353	movss	-0x8(%rbp), %xmm1
0000000100003358	ucomiss	%xmm0, %xmm1
000000010000335b	seta	%al
000000010000335e	andb	$0x1, %al
0000000100003360	movzbl	%al, %eax
0000000100003363	popq	%rbp
0000000100003364	retq
0000000100003365	nopw	%cs:(%rax,%rax)
_f64_le:
0000000100003370	pushq	%rbp
0000000100003371	movq	%rsp, %rbp
0000000100003374	subq	$0x10, %rsp
0000000100003378	movsd	%xmm0, -0x8(%rbp)
000000010000337d	movsd	%xmm1, -0x10(%rbp)
0000000100003382	movsd	-0x8(%rbp), %xmm0
0000000100003387	movsd	-0x10(%rbp), %xmm1
000000010000338c	callq	_f64_gt
0000000100003391	xorb	$-0x1, %al
0000000100003393	andb	$0x1, %al
0000000100003395	movzbl	%al, %eax
0000000100003398	addq	$0x10, %rsp
000000010000339c	popq	%rbp
000000010000339d	retq
000000010000339e	nop
_f64_gt:
00000001000033a0	pushq	%rbp
00000001000033a1	movq	%rsp, %rbp
00000001000033a4	subq	$0x20, %rsp
00000001000033a8	movsd	%xmm0, -0x8(%rbp)
00000001000033ad	movsd	%xmm1, -0x10(%rbp)
00000001000033b2	movsd	-0x8(%rbp), %xmm0
00000001000033b7	movsd	-0x10(%rbp), %xmm1
00000001000033bc	callq	_f64_ne
00000001000033c1	xorl	%ecx, %ecx
00000001000033c3	movb	%cl, %dl
00000001000033c5	testb	$0x1, %al
00000001000033c7	movb	%dl, -0x11(%rbp)
00000001000033ca	jne	0x1000033d5
00000001000033d0	jmp	0x1000033e7
00000001000033d5	movsd	-0x8(%rbp), %xmm0
00000001000033da	movsd	-0x10(%rbp), %xmm1
00000001000033df	callq	_f64_gtbit
00000001000033e4	movb	%al, -0x11(%rbp)
00000001000033e7	movb	-0x11(%rbp), %al
00000001000033ea	andb	$0x1, %al
00000001000033ec	movzbl	%al, %eax
00000001000033ef	addq	$0x20, %rsp
00000001000033f3	popq	%rbp
00000001000033f4	retq
00000001000033f5	nopw	%cs:(%rax,%rax)
_f32_le:
0000000100003400	pushq	%rbp
0000000100003401	movq	%rsp, %rbp
0000000100003404	subq	$0x10, %rsp
0000000100003408	movss	%xmm0, -0x4(%rbp)
000000010000340d	movss	%xmm1, -0x8(%rbp)
0000000100003412	movss	-0x4(%rbp), %xmm0
0000000100003417	movss	-0x8(%rbp), %xmm1
000000010000341c	callq	_f32_gt
0000000100003421	xorb	$-0x1, %al
0000000100003423	andb	$0x1, %al
0000000100003425	movzbl	%al, %eax
0000000100003428	addq	$0x10, %rsp
000000010000342c	popq	%rbp
000000010000342d	retq
000000010000342e	nop
_f32_gt:
0000000100003430	pushq	%rbp
0000000100003431	movq	%rsp, %rbp
0000000100003434	subq	$0x10, %rsp
0000000100003438	movss	%xmm0, -0x4(%rbp)
000000010000343d	movss	%xmm1, -0x8(%rbp)
0000000100003442	movss	-0x4(%rbp), %xmm0
0000000100003447	movss	-0x8(%rbp), %xmm1
000000010000344c	callq	_f32_ne
0000000100003451	xorl	%ecx, %ecx
0000000100003453	movb	%cl, %dl
0000000100003455	testb	$0x1, %al
0000000100003457	movb	%dl, -0x9(%rbp)
000000010000345a	jne	0x100003465
0000000100003460	jmp	0x100003477
0000000100003465	movss	-0x4(%rbp), %xmm0
000000010000346a	movss	-0x8(%rbp), %xmm1
000000010000346f	callq	_f32_gtbit
0000000100003474	movb	%al, -0x9(%rbp)
0000000100003477	movb	-0x9(%rbp), %al
000000010000347a	andb	$0x1, %al
000000010000347c	movzbl	%al, %eax
000000010000347f	addq	$0x10, %rsp
0000000100003483	popq	%rbp
0000000100003484	retq
0000000100003485	nopw	%cs:(%rax,%rax)
_f64_lebit:
0000000100003490	pushq	%rbp
0000000100003491	movq	%rsp, %rbp
0000000100003494	movsd	%xmm0, -0x8(%rbp)
0000000100003499	movsd	%xmm1, -0x10(%rbp)
000000010000349e	movsd	-0x8(%rbp), %xmm0
00000001000034a3	movsd	-0x10(%rbp), %xmm1
00000001000034a8	ucomisd	%xmm0, %xmm1
00000001000034ac	setae	%al
00000001000034af	andb	$0x1, %al
00000001000034b1	movzbl	%al, %eax
00000001000034b4	popq	%rbp
00000001000034b5	retq
00000001000034b6	nopw	%cs:(%rax,%rax)
_f32_lebit:
00000001000034c0	pushq	%rbp
00000001000034c1	movq	%rsp, %rbp
00000001000034c4	movss	%xmm0, -0x4(%rbp)
00000001000034c9	movss	%xmm1, -0x8(%rbp)
00000001000034ce	movss	-0x4(%rbp), %xmm0
00000001000034d3	movss	-0x8(%rbp), %xmm1
00000001000034d8	ucomiss	%xmm0, %xmm1
00000001000034db	setae	%al
00000001000034de	andb	$0x1, %al
00000001000034e0	movzbl	%al, %eax
00000001000034e3	popq	%rbp
00000001000034e4	retq
00000001000034e5	nopw	%cs:(%rax,%rax)
_f64_gtbit:
00000001000034f0	pushq	%rbp
00000001000034f1	movq	%rsp, %rbp
00000001000034f4	movsd	%xmm0, -0x8(%rbp)
00000001000034f9	movsd	%xmm1, -0x10(%rbp)
00000001000034fe	movsd	-0x8(%rbp), %xmm0
0000000100003503	ucomisd	-0x10(%rbp), %xmm0
0000000100003508	seta	%al
000000010000350b	andb	$0x1, %al
000000010000350d	movzbl	%al, %eax
0000000100003510	popq	%rbp
0000000100003511	retq
0000000100003512	nopw	%cs:(%rax,%rax)
_f32_gtbit:
0000000100003520	pushq	%rbp
0000000100003521	movq	%rsp, %rbp
0000000100003524	movss	%xmm0, -0x4(%rbp)
0000000100003529	movss	%xmm1, -0x8(%rbp)
000000010000352e	movss	-0x4(%rbp), %xmm0
0000000100003533	ucomiss	-0x8(%rbp), %xmm0
0000000100003537	seta	%al
000000010000353a	andb	$0x1, %al
000000010000353c	movzbl	%al, %eax
000000010000353f	popq	%rbp
0000000100003540	retq
0000000100003541	nopw	%cs:(%rax,%rax)
_f64_ge:
0000000100003550	pushq	%rbp
0000000100003551	movq	%rsp, %rbp
0000000100003554	subq	$0x10, %rsp
0000000100003558	movsd	%xmm0, -0x8(%rbp)
000000010000355d	movsd	%xmm1, -0x10(%rbp)
0000000100003562	movsd	-0x8(%rbp), %xmm0
0000000100003567	movsd	-0x10(%rbp), %xmm1
000000010000356c	callq	_f64_lt
0000000100003571	xorb	$-0x1, %al
0000000100003573	andb	$0x1, %al
0000000100003575	movzbl	%al, %eax
0000000100003578	addq	$0x10, %rsp
000000010000357c	popq	%rbp
000000010000357d	retq
000000010000357e	nop
_f32_ge:
0000000100003580	pushq	%rbp
0000000100003581	movq	%rsp, %rbp
0000000100003584	subq	$0x10, %rsp
0000000100003588	movss	%xmm0, -0x4(%rbp)
000000010000358d	movss	%xmm1, -0x8(%rbp)
0000000100003592	movss	-0x4(%rbp), %xmm0
0000000100003597	movss	-0x8(%rbp), %xmm1
000000010000359c	callq	_f32_lt
00000001000035a1	xorb	$-0x1, %al
00000001000035a3	andb	$0x1, %al
00000001000035a5	movzbl	%al, %eax
00000001000035a8	addq	$0x10, %rsp
00000001000035ac	popq	%rbp
00000001000035ad	retq
00000001000035ae	nop
_f64_gebit:
00000001000035b0	pushq	%rbp
00000001000035b1	movq	%rsp, %rbp
00000001000035b4	movsd	%xmm0, -0x8(%rbp)
00000001000035b9	movsd	%xmm1, -0x10(%rbp)
00000001000035be	movsd	-0x8(%rbp), %xmm0
00000001000035c3	ucomisd	-0x10(%rbp), %xmm0
00000001000035c8	setae	%al
00000001000035cb	andb	$0x1, %al
00000001000035cd	movzbl	%al, %eax
00000001000035d0	popq	%rbp
00000001000035d1	retq
00000001000035d2	nopw	%cs:(%rax,%rax)
_f32_gebit:
00000001000035e0	pushq	%rbp
00000001000035e1	movq	%rsp, %rbp
00000001000035e4	movss	%xmm0, -0x4(%rbp)
00000001000035e9	movss	%xmm1, -0x8(%rbp)
00000001000035ee	movss	-0x4(%rbp), %xmm0
00000001000035f3	ucomiss	-0x8(%rbp), %xmm0
00000001000035f7	setae	%al
00000001000035fa	andb	$0x1, %al
00000001000035fc	movzbl	%al, %eax
00000001000035ff	popq	%rbp
0000000100003600	retq
0000000100003601	nopw	%cs:(%rax,%rax)
_new_hashmap:
0000000100003610	pushq	%rbp
0000000100003611	movq	%rsp, %rbp
0000000100003614	subq	$0x20, %rsp
0000000100003618	movq	%rdi, %rax
000000010000361b	leaq	_builtin__min_cap(%rip), %rcx
0000000100003622	movl	%esi, -0x4(%rbp)
0000000100003625	imull	$0x5, -0x4(%rbp), %esi
0000000100003629	movl	%esi, -0x8(%rbp)
000000010000362c	movl	-0x8(%rbp), %esi
000000010000362f	cmpl	(%rcx), %esi
0000000100003631	movq	%rax, -0x10(%rbp)
0000000100003635	movq	%rdi, -0x18(%rbp)
0000000100003639	jge	0x10000364b
000000010000363f	leaq	_builtin__min_cap(%rip), %rax
0000000100003646	movl	(%rax), %ecx
0000000100003648	movl	%ecx, -0x8(%rbp)
000000010000364b	leaq	_builtin__max_cap(%rip), %rax
0000000100003652	movl	-0x8(%rbp), %ecx
0000000100003655	cmpl	(%rax), %ecx
0000000100003657	jle	0x100003669
000000010000365d	leaq	_builtin__max_cap(%rip), %rax
0000000100003664	movl	(%rax), %ecx
0000000100003666	movl	%ecx, -0x8(%rbp)
0000000100003669	xorl	%esi, %esi
000000010000366b	movl	$0x1, %edx
0000000100003670	movl	$0x10, %ecx
0000000100003675	movl	-0x8(%rbp), %eax
0000000100003678	movq	-0x18(%rbp), %rdi
000000010000367c	movl	%eax, (%rdi)
000000010000367e	addq	$0x8, %rdi
0000000100003682	callq	_new_array
0000000100003687	movl	$0x20, %ecx
000000010000368c	movq	-0x18(%rbp), %rdi
0000000100003690	addq	$0x20, %rdi
0000000100003694	movl	-0x8(%rbp), %esi
0000000100003697	movl	-0x8(%rbp), %edx
000000010000369a	callq	_make
000000010000369f	movq	-0x18(%rbp), %rdi
00000001000036a3	movl	$0x4, 0x38(%rdi)
00000001000036aa	movl	$0x0, 0x3c(%rdi)
00000001000036b1	movq	-0x10(%rbp), %rax
00000001000036b5	addq	$0x20, %rsp
00000001000036b9	popq	%rbp
00000001000036ba	retq
00000001000036bb	nopl	(%rax,%rax)
_hashmap_set:
00000001000036c0	pushq	%rbp
00000001000036c1	movq	%rsp, %rbp
00000001000036c4	subq	$0x90, %rsp
00000001000036cb	movq	0x9966(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
00000001000036d2	movq	(%rax), %rax
00000001000036d5	movq	%rax, -0x8(%rbp)
00000001000036d9	movq	%rsi, -0x38(%rbp)
00000001000036dd	movl	%edx, -0x30(%rbp)
00000001000036e0	movq	%rdi, -0x40(%rbp)
00000001000036e4	movl	%ecx, -0x44(%rbp)
00000001000036e7	movq	-0x38(%rbp), %rdi
00000001000036eb	movl	-0x30(%rbp), %esi
00000001000036ee	callq	_string_hash
00000001000036f3	movl	%eax, %edi
00000001000036f5	callq	_b_fabs
00000001000036fa	cvttsd2si	%xmm0, %eax
00000001000036fe	movl	%eax, -0x48(%rbp)
0000000100003701	movl	-0x48(%rbp), %eax
0000000100003704	movq	-0x40(%rbp), %r8
0000000100003708	cltd
0000000100003709	idivl	(%r8)
000000010000370c	movl	%edx, -0x4c(%rbp)
000000010000370f	movq	-0x40(%rbp), %r8
0000000100003713	addq	$0x20, %r8
0000000100003717	movl	-0x4c(%rbp), %edi
000000010000371a	movq	(%r8), %r9
000000010000371d	movq	%r9, (%rsp)
0000000100003721	movq	0x8(%r8), %r9
0000000100003725	movq	%r9, 0x8(%rsp)
000000010000372a	movq	0x10(%r8), %r8
000000010000372e	movq	%r8, 0x10(%rsp)
0000000100003733	callq	_array_get
0000000100003738	cmpl	$0x0, 0x8(%rax)
000000010000373c	je	0x1000037d8
0000000100003742	movq	-0x40(%rbp), %rax
0000000100003746	movl	0x3c(%rax), %ecx
0000000100003749	addl	$0x1, %ecx
000000010000374c	movl	%ecx, 0x3c(%rax)
000000010000374f	movq	-0x40(%rbp), %rax
0000000100003753	addq	$0x20, %rax
0000000100003757	movl	-0x4c(%rbp), %edi
000000010000375a	movq	(%rax), %rdx
000000010000375d	movq	%rdx, (%rsp)
0000000100003761	movq	0x8(%rax), %rdx
0000000100003765	movq	%rdx, 0x8(%rsp)
000000010000376a	movq	0x10(%rax), %rax
000000010000376e	movq	%rax, 0x10(%rsp)
0000000100003773	callq	_array_get
0000000100003778	movq	%rax, -0x58(%rbp)
000000010000377c	movq	-0x58(%rbp), %rax
0000000100003780	cmpq	$0x0, 0x18(%rax)
0000000100003785	je	0x10000379c
000000010000378b	movq	-0x58(%rbp), %rax
000000010000378f	movq	0x18(%rax), %rax
0000000100003793	movq	%rax, -0x58(%rbp)
0000000100003797	jmp	0x10000377c
000000010000379c	movl	$0x20, %esi
00000001000037a1	leaq	-0x78(%rbp), %rax
00000001000037a5	movq	-0x38(%rbp), %rcx
00000001000037a9	movq	%rcx, -0x78(%rbp)
00000001000037ad	movq	-0x30(%rbp), %rcx
00000001000037b1	movq	%rcx, -0x70(%rbp)
00000001000037b5	movl	-0x44(%rbp), %edx
00000001000037b8	movl	%edx, -0x68(%rbp)
00000001000037bb	movq	$0x0, -0x60(%rbp)
00000001000037c3	movq	%rax, %rdi
00000001000037c6	callq	_memdup
00000001000037cb	movq	-0x58(%rbp), %rcx
00000001000037cf	movq	%rax, 0x18(%rcx)
00000001000037d3	jmp	0x100003810
00000001000037d8	leaq	-0x28(%rbp), %rax
00000001000037dc	movq	-0x40(%rbp), %rcx
00000001000037e0	addq	$0x20, %rcx
00000001000037e4	movl	-0x4c(%rbp), %esi
00000001000037e7	movq	-0x38(%rbp), %rdx
00000001000037eb	movq	%rdx, -0x28(%rbp)
00000001000037ef	movq	-0x30(%rbp), %rdx
00000001000037f3	movq	%rdx, -0x20(%rbp)
00000001000037f7	movl	-0x44(%rbp), %edi
00000001000037fa	movl	%edi, -0x18(%rbp)
00000001000037fd	movq	$0x0, -0x10(%rbp)
0000000100003805	movq	%rcx, %rdi
0000000100003808	movq	%rax, %rdx
000000010000380b	callq	_array_set
0000000100003810	movq	0x9821(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
0000000100003817	movq	(%rax), %rax
000000010000381a	movq	-0x8(%rbp), %rcx
000000010000381e	cmpq	%rcx, %rax
0000000100003821	jne	0x100003830
0000000100003827	addq	$0x90, %rsp
000000010000382e	popq	%rbp
000000010000382f	retq
0000000100003830	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
0000000100003835	ud2
0000000100003837	nopw	(%rax,%rax)
_b_fabs:
0000000100003840	pushq	%rbp
0000000100003841	movq	%rsp, %rbp
0000000100003844	movl	%edi, -0x4(%rbp)
0000000100003847	cmpl	$0x0, -0x4(%rbp)
000000010000384b	jge	0x10000385e
0000000100003851	xorl	%eax, %eax
0000000100003853	subl	-0x4(%rbp), %eax
0000000100003856	movl	%eax, -0x8(%rbp)
0000000100003859	jmp	0x100003864
000000010000385e	movl	-0x4(%rbp), %eax
0000000100003861	movl	%eax, -0x8(%rbp)
0000000100003864	movl	-0x8(%rbp), %eax
0000000100003867	cvtsi2sdl	%eax, %xmm0
000000010000386b	popq	%rbp
000000010000386c	retq
000000010000386d	nopl	(%rax)
_string_hash:
0000000100003870	pushq	%rbp
0000000100003871	movq	%rsp, %rbp
0000000100003874	subq	$0x50, %rsp
0000000100003878	movq	%rdi, -0x10(%rbp)
000000010000387c	movl	%esi, -0x8(%rbp)
000000010000387f	movl	$0x0, -0x14(%rbp)
0000000100003886	cmpl	$0x0, -0x14(%rbp)
000000010000388a	jne	0x1000038fb
0000000100003890	cmpl	$0x0, -0x8(%rbp)
0000000100003894	jle	0x1000038fb
000000010000389a	leaq	-0x40(%rbp), %rdi
000000010000389e	movq	-0x10(%rbp), %rax
00000001000038a2	movq	%rax, -0x28(%rbp)
00000001000038a6	movq	-0x8(%rbp), %rax
00000001000038aa	movq	%rax, -0x20(%rbp)
00000001000038ae	movq	-0x28(%rbp), %rsi
00000001000038b2	movl	-0x20(%rbp), %edx
00000001000038b5	callq	_string_bytes
00000001000038ba	movl	$0x0, -0x44(%rbp)
00000001000038c1	movl	-0x44(%rbp), %eax
00000001000038c4	cmpl	-0x20(%rbp), %eax
00000001000038c7	jge	0x1000038f6
00000001000038cd	movq	-0x40(%rbp), %rax
00000001000038d1	movslq	-0x44(%rbp), %rcx
00000001000038d5	movb	(%rax,%rcx), %dl
00000001000038d8	movb	%dl, -0x45(%rbp)
00000001000038db	imull	$0x1f, -0x14(%rbp), %esi
00000001000038df	movzbl	-0x45(%rbp), %edi
00000001000038e3	addl	%edi, %esi
00000001000038e5	movl	%esi, -0x14(%rbp)
00000001000038e8	movl	-0x44(%rbp), %eax
00000001000038eb	addl	$0x1, %eax
00000001000038ee	movl	%eax, -0x44(%rbp)
00000001000038f1	jmp	0x1000038c1
00000001000038f6	jmp	0x1000038fb
00000001000038fb	movl	-0x14(%rbp), %eax
00000001000038fe	addq	$0x50, %rsp
0000000100003902	popq	%rbp
0000000100003903	retq
0000000100003904	nopw	%cs:(%rax,%rax)
_hashmap_get:
0000000100003910	pushq	%rbp
0000000100003911	movq	%rsp, %rbp
0000000100003914	subq	$0x50, %rsp
0000000100003918	movq	%rsi, -0x18(%rbp)
000000010000391c	movl	%edx, -0x10(%rbp)
000000010000391f	movq	%rdi, -0x20(%rbp)
0000000100003923	movq	-0x18(%rbp), %rdi
0000000100003927	movl	-0x10(%rbp), %esi
000000010000392a	callq	_string_hash
000000010000392f	movl	%eax, %edi
0000000100003931	callq	_b_fabs
0000000100003936	cvttsd2si	%xmm0, %eax
000000010000393a	movl	%eax, -0x24(%rbp)
000000010000393d	movl	-0x24(%rbp), %eax
0000000100003940	movq	-0x20(%rbp), %rcx
0000000100003944	cltd
0000000100003945	idivl	(%rcx)
0000000100003947	movl	%edx, -0x28(%rbp)
000000010000394a	movq	-0x20(%rbp), %rcx
000000010000394e	addq	$0x20, %rcx
0000000100003952	movl	-0x28(%rbp), %edi
0000000100003955	movq	(%rcx), %r8
0000000100003958	movq	%r8, (%rsp)
000000010000395c	movq	0x8(%rcx), %r8
0000000100003960	movq	%r8, 0x8(%rsp)
0000000100003965	movq	0x10(%rcx), %rcx
0000000100003969	movq	%rcx, 0x10(%rsp)
000000010000396e	callq	_array_get
0000000100003973	movq	%rax, -0x30(%rbp)
0000000100003977	movq	-0x30(%rbp), %rax
000000010000397b	cmpq	$0x0, 0x18(%rax)
0000000100003980	je	0x1000039c9
0000000100003986	movq	-0x30(%rbp), %rax
000000010000398a	movq	(%rax), %rdi
000000010000398d	movl	0x8(%rax), %esi
0000000100003990	movq	-0x18(%rbp), %rdx
0000000100003994	movl	-0x10(%rbp), %ecx
0000000100003997	callq	_string_eq
000000010000399c	testb	$0x1, %al
000000010000399e	jne	0x1000039a9
00000001000039a4	jmp	0x1000039b8
00000001000039a9	movq	-0x30(%rbp), %rax
00000001000039ad	movl	0x10(%rax), %ecx
00000001000039b0	movl	%ecx, -0x4(%rbp)
00000001000039b3	jmp	0x1000039d3
00000001000039b8	movq	-0x30(%rbp), %rax
00000001000039bc	movq	0x18(%rax), %rax
00000001000039c0	movq	%rax, -0x30(%rbp)
00000001000039c4	jmp	0x100003977
00000001000039c9	movq	-0x30(%rbp), %rax
00000001000039cd	movl	0x10(%rax), %ecx
00000001000039d0	movl	%ecx, -0x4(%rbp)
00000001000039d3	movl	-0x4(%rbp), %eax
00000001000039d6	addq	$0x50, %rsp
00000001000039da	popq	%rbp
00000001000039db	retq
00000001000039dc	nopl	(%rax)
_ptr_str:
00000001000039e0	pushq	%rbp
00000001000039e1	movq	%rsp, %rbp
00000001000039e4	subq	$0x30, %rsp
00000001000039e8	movq	%rdi, -0x18(%rbp)
00000001000039ec	movl	$0x29, %edi
00000001000039f1	callq	_v_malloc
00000001000039f6	movq	%rax, -0x20(%rbp)
00000001000039fa	movq	-0x20(%rbp), %rdi
00000001000039fe	movq	-0x18(%rbp), %r8
0000000100003a02	leaq	0x6f94(%rip), %rcx ## literal pool for: "%p"
0000000100003a09	xorl	%edx, %edx
0000000100003a0b	movb	%dl, %sil
0000000100003a0e	movq	$-0x1, %rax
0000000100003a15	movb	%sil, -0x21(%rbp)
0000000100003a19	movl	%edx, %esi
0000000100003a1b	movq	%rax, %rdx
0000000100003a1e	movb	-0x21(%rbp), %al
0000000100003a21	callq	0x10000a5aa ## symbol stub for: ___sprintf_chk
0000000100003a26	movq	-0x20(%rbp), %rcx
0000000100003a2a	movq	%rcx, %rdi
0000000100003a2d	movl	%eax, -0x28(%rbp)
0000000100003a30	movq	%rcx, -0x30(%rbp)
0000000100003a34	callq	_vstrlen
0000000100003a39	movq	-0x30(%rbp), %rdi
0000000100003a3d	movl	%eax, %esi
0000000100003a3f	callq	_tos
0000000100003a44	movq	%rax, -0x10(%rbp)
0000000100003a48	movl	%edx, -0x8(%rbp)
0000000100003a4b	movq	-0x10(%rbp), %rax
0000000100003a4f	movl	-0x8(%rbp), %edx
0000000100003a52	addq	$0x30, %rsp
0000000100003a56	popq	%rbp
0000000100003a57	retq
0000000100003a58	nopl	(%rax,%rax)
_u32_str:
0000000100003a60	pushq	%rbp
0000000100003a61	movq	%rsp, %rbp
0000000100003a64	subq	$0x40, %rsp
0000000100003a68	movl	%edi, -0x14(%rbp)
0000000100003a6b	movl	-0x14(%rbp), %edi
0000000100003a6e	movl	%edi, -0x18(%rbp)
0000000100003a71	cmpl	$0x0, -0x18(%rbp)
0000000100003a75	jne	0x100003a93
0000000100003a7b	leaq	0x6f1e(%rip), %rdi ## literal pool for: "0"
0000000100003a82	callq	_tos3
0000000100003a87	movq	%rax, -0x10(%rbp)
0000000100003a8b	movl	%edx, -0x8(%rbp)
0000000100003a8e	jmp	0x100003b30
0000000100003a93	movl	$0x10, -0x1c(%rbp)
0000000100003a9a	movl	-0x1c(%rbp), %edi
0000000100003a9d	callq	_v_malloc
0000000100003aa2	movq	%rax, -0x28(%rbp)
0000000100003aa6	movl	$0x0, -0x2c(%rbp)
0000000100003aad	cmpl	$0x0, -0x18(%rbp)
0000000100003ab1	jbe	0x100003b05
0000000100003ab7	movl	$0xa, %eax
0000000100003abc	movl	-0x18(%rbp), %ecx
0000000100003abf	movl	%eax, -0x34(%rbp)
0000000100003ac2	movl	%ecx, %eax
0000000100003ac4	xorl	%edx, %edx
0000000100003ac6	movl	-0x34(%rbp), %ecx
0000000100003ac9	divl	%ecx
0000000100003acb	movl	%edx, -0x30(%rbp)
0000000100003ace	movl	-0x30(%rbp), %edx
0000000100003ad1	addl	$0x30, %edx
0000000100003ad4	movb	%dl, %sil
0000000100003ad7	movq	-0x28(%rbp), %rdi
0000000100003adb	movl	-0x1c(%rbp), %edx
0000000100003ade	subl	-0x2c(%rbp), %edx
0000000100003ae1	subl	$0x1, %edx
0000000100003ae4	movslq	%edx, %r8
0000000100003ae7	movb	%sil, (%rdi,%r8)
0000000100003aeb	movl	-0x2c(%rbp), %edx
0000000100003aee	addl	$0x1, %edx
0000000100003af1	movl	%edx, -0x2c(%rbp)
0000000100003af4	movl	-0x18(%rbp), %edx
0000000100003af7	movl	%edx, %eax
0000000100003af9	xorl	%edx, %edx
0000000100003afb	divl	%ecx
0000000100003afd	movl	%eax, -0x18(%rbp)
0000000100003b00	jmp	0x100003aad
0000000100003b05	xorl	%eax, %eax
0000000100003b07	movl	%eax, %ecx
0000000100003b09	movq	-0x28(%rbp), %rdx
0000000100003b0d	movslq	-0x1c(%rbp), %rsi
0000000100003b11	addq	%rsi, %rdx
0000000100003b14	movslq	-0x2c(%rbp), %rsi
0000000100003b18	subq	%rsi, %rcx
0000000100003b1b	addq	%rcx, %rdx
0000000100003b1e	movl	-0x2c(%rbp), %esi
0000000100003b21	movq	%rdx, %rdi
0000000100003b24	callq	_tos
0000000100003b29	movq	%rax, -0x10(%rbp)
0000000100003b2d	movl	%edx, -0x8(%rbp)
0000000100003b30	movq	-0x10(%rbp), %rax
0000000100003b34	movl	-0x8(%rbp), %edx
0000000100003b37	addq	$0x40, %rsp
0000000100003b3b	popq	%rbp
0000000100003b3c	retq
0000000100003b3d	nopl	(%rax)
_i64_str:
0000000100003b40	pushq	%rbp
0000000100003b41	movq	%rsp, %rbp
0000000100003b44	subq	$0x40, %rsp
0000000100003b48	movq	%rdi, -0x18(%rbp)
0000000100003b4c	movq	-0x18(%rbp), %rdi
0000000100003b50	movq	%rdi, -0x20(%rbp)
0000000100003b54	cmpq	$0x0, -0x20(%rbp)
0000000100003b59	jne	0x100003b77
0000000100003b5f	leaq	0x6e3a(%rip), %rdi ## literal pool for: "0"
0000000100003b66	callq	_tos3
0000000100003b6b	movq	%rax, -0x10(%rbp)
0000000100003b6f	movl	%edx, -0x8(%rbp)
0000000100003b72	jmp	0x100003c62
0000000100003b77	movl	$0x20, -0x24(%rbp)
0000000100003b7e	movl	-0x24(%rbp), %edi
0000000100003b81	callq	_v_malloc
0000000100003b86	movq	%rax, -0x30(%rbp)
0000000100003b8a	movl	$0x0, -0x34(%rbp)
0000000100003b91	movb	$0x0, -0x35(%rbp)
0000000100003b95	cmpq	$0x0, -0x20(%rbp)
0000000100003b9a	jge	0x100003bb0
0000000100003ba0	xorl	%eax, %eax
0000000100003ba2	movl	%eax, %ecx
0000000100003ba4	subq	-0x20(%rbp), %rcx
0000000100003ba8	movq	%rcx, -0x20(%rbp)
0000000100003bac	movb	$0x1, -0x35(%rbp)
0000000100003bb0	jmp	0x100003bb5
0000000100003bb5	cmpq	$0x0, -0x20(%rbp)
0000000100003bba	jle	0x100003c10
0000000100003bc0	movl	$0xa, %eax
0000000100003bc5	movl	%eax, %ecx
0000000100003bc7	movq	-0x20(%rbp), %rax
0000000100003bcb	cqto
0000000100003bcd	idivq	%rcx
0000000100003bd0	movl	%edx, %esi
0000000100003bd2	movl	%esi, -0x3c(%rbp)
0000000100003bd5	movl	-0x3c(%rbp), %esi
0000000100003bd8	addl	$0x30, %esi
0000000100003bdb	movb	%sil, %dil
0000000100003bde	movq	-0x30(%rbp), %rdx
0000000100003be2	movl	-0x24(%rbp), %esi
0000000100003be5	subl	-0x34(%rbp), %esi
0000000100003be8	subl	$0x1, %esi
0000000100003beb	movslq	%esi, %r8
0000000100003bee	movb	%dil, (%rdx,%r8)
0000000100003bf2	movl	-0x34(%rbp), %esi
0000000100003bf5	addl	$0x1, %esi
0000000100003bf8	movl	%esi, -0x34(%rbp)
0000000100003bfb	movq	-0x20(%rbp), %rdx
0000000100003bff	movq	%rdx, %rax
0000000100003c02	cqto
0000000100003c04	idivq	%rcx
0000000100003c07	movq	%rax, -0x20(%rbp)
0000000100003c0b	jmp	0x100003bb5
0000000100003c10	testb	$0x1, -0x35(%rbp)
0000000100003c14	je	0x100003c37
0000000100003c1a	movq	-0x30(%rbp), %rax
0000000100003c1e	movl	-0x24(%rbp), %ecx
0000000100003c21	subl	-0x34(%rbp), %ecx
0000000100003c24	subl	$0x1, %ecx
0000000100003c27	movslq	%ecx, %rdx
0000000100003c2a	movb	$0x2d, (%rax,%rdx)
0000000100003c2e	movl	-0x34(%rbp), %ecx
0000000100003c31	addl	$0x1, %ecx
0000000100003c34	movl	%ecx, -0x34(%rbp)
0000000100003c37	xorl	%eax, %eax
0000000100003c39	movl	%eax, %ecx
0000000100003c3b	movq	-0x30(%rbp), %rdx
0000000100003c3f	movslq	-0x24(%rbp), %rsi
0000000100003c43	addq	%rsi, %rdx
0000000100003c46	movslq	-0x34(%rbp), %rsi
0000000100003c4a	subq	%rsi, %rcx
0000000100003c4d	addq	%rcx, %rdx
0000000100003c50	movl	-0x34(%rbp), %esi
0000000100003c53	movq	%rdx, %rdi
0000000100003c56	callq	_tos
0000000100003c5b	movq	%rax, -0x10(%rbp)
0000000100003c5f	movl	%edx, -0x8(%rbp)
0000000100003c62	movq	-0x10(%rbp), %rax
0000000100003c66	movl	-0x8(%rbp), %edx
0000000100003c69	addq	$0x40, %rsp
0000000100003c6d	popq	%rbp
0000000100003c6e	retq
0000000100003c6f	nop
_u64_str:
0000000100003c70	pushq	%rbp
0000000100003c71	movq	%rsp, %rbp
0000000100003c74	subq	$0x40, %rsp
0000000100003c78	movq	%rdi, -0x18(%rbp)
0000000100003c7c	movq	-0x18(%rbp), %rdi
0000000100003c80	movq	%rdi, -0x20(%rbp)
0000000100003c84	cmpq	$0x0, -0x20(%rbp)
0000000100003c89	jne	0x100003ca7
0000000100003c8f	leaq	0x6d0a(%rip), %rdi ## literal pool for: "0"
0000000100003c96	callq	_tos3
0000000100003c9b	movq	%rax, -0x10(%rbp)
0000000100003c9f	movl	%edx, -0x8(%rbp)
0000000100003ca2	jmp	0x100003d4a
0000000100003ca7	movl	$0x20, -0x24(%rbp)
0000000100003cae	movl	-0x24(%rbp), %edi
0000000100003cb1	callq	_v_malloc
0000000100003cb6	movq	%rax, -0x30(%rbp)
0000000100003cba	movl	$0x0, -0x34(%rbp)
0000000100003cc1	cmpq	$0x0, -0x20(%rbp)
0000000100003cc6	jbe	0x100003d1f
0000000100003ccc	movl	$0xa, %eax
0000000100003cd1	movl	%eax, %ecx
0000000100003cd3	movq	-0x20(%rbp), %rax
0000000100003cd7	xorl	%edx, %edx
0000000100003cd9	divq	%rcx
0000000100003cdc	movq	%rdx, -0x40(%rbp)
0000000100003ce0	movq	-0x40(%rbp), %rdx
0000000100003ce4	addq	$0x30, %rdx
0000000100003ce8	movb	%dl, %sil
0000000100003ceb	movq	-0x30(%rbp), %rdx
0000000100003cef	movl	-0x24(%rbp), %edi
0000000100003cf2	subl	-0x34(%rbp), %edi
0000000100003cf5	subl	$0x1, %edi
0000000100003cf8	movslq	%edi, %r8
0000000100003cfb	movb	%sil, (%rdx,%r8)
0000000100003cff	movl	-0x34(%rbp), %edi
0000000100003d02	addl	$0x1, %edi
0000000100003d05	movl	%edi, -0x34(%rbp)
0000000100003d08	movq	-0x20(%rbp), %rdx
0000000100003d0c	movq	%rdx, %rax
0000000100003d0f	xorl	%edi, %edi
0000000100003d11	movl	%edi, %edx
0000000100003d13	divq	%rcx
0000000100003d16	movq	%rax, -0x20(%rbp)
0000000100003d1a	jmp	0x100003cc1
0000000100003d1f	xorl	%eax, %eax
0000000100003d21	movl	%eax, %ecx
0000000100003d23	movq	-0x30(%rbp), %rdx
0000000100003d27	movslq	-0x24(%rbp), %rsi
0000000100003d2b	addq	%rsi, %rdx
0000000100003d2e	movslq	-0x34(%rbp), %rsi
0000000100003d32	subq	%rsi, %rcx
0000000100003d35	addq	%rcx, %rdx
0000000100003d38	movl	-0x34(%rbp), %esi
0000000100003d3b	movq	%rdx, %rdi
0000000100003d3e	callq	_tos
0000000100003d43	movq	%rax, -0x10(%rbp)
0000000100003d47	movl	%edx, -0x8(%rbp)
0000000100003d4a	movq	-0x10(%rbp), %rax
0000000100003d4e	movl	-0x8(%rbp), %edx
0000000100003d51	addq	$0x40, %rsp
0000000100003d55	popq	%rbp
0000000100003d56	retq
0000000100003d57	nopw	(%rax,%rax)
_bool_str:
0000000100003d60	pushq	%rbp
0000000100003d61	movq	%rsp, %rbp
0000000100003d64	subq	$0x20, %rsp
0000000100003d68	movb	%dil, %al
0000000100003d6b	andb	$0x1, %al
0000000100003d6d	movb	%al, -0x11(%rbp)
0000000100003d70	testb	$0x1, -0x11(%rbp)
0000000100003d74	je	0x100003d92
0000000100003d7a	leaq	0x6c21(%rip), %rdi ## literal pool for: "true"
0000000100003d81	callq	_tos3
0000000100003d86	movq	%rax, -0x10(%rbp)
0000000100003d8a	movl	%edx, -0x8(%rbp)
0000000100003d8d	jmp	0x100003da5
0000000100003d92	leaq	0x6c0e(%rip), %rdi ## literal pool for: "false"
0000000100003d99	callq	_tos3
0000000100003d9e	movq	%rax, -0x10(%rbp)
0000000100003da2	movl	%edx, -0x8(%rbp)
0000000100003da5	movq	-0x10(%rbp), %rax
0000000100003da9	movl	-0x8(%rbp), %edx
0000000100003dac	addq	$0x20, %rsp
0000000100003db0	popq	%rbp
0000000100003db1	retq
0000000100003db2	nopw	%cs:(%rax,%rax)
_int_hex:
0000000100003dc0	pushq	%rbp
0000000100003dc1	movq	%rsp, %rbp
0000000100003dc4	subq	$0x40, %rsp
0000000100003dc8	movl	%edi, -0x14(%rbp)
0000000100003dcb	cmpl	$0x0, -0x14(%rbp)
0000000100003dcf	jl	0x100003df2
0000000100003dd5	movl	-0x14(%rbp), %edi
0000000100003dd8	callq	_int_str
0000000100003ddd	movq	%rax, -0x28(%rbp)
0000000100003de1	movl	%edx, -0x20(%rbp)
0000000100003de4	movl	-0x20(%rbp), %edx
0000000100003de7	addl	$0x3, %edx
0000000100003dea	movl	%edx, -0x38(%rbp)
0000000100003ded	jmp	0x100003dff
0000000100003df2	movl	$0xb, %eax
0000000100003df7	movl	%eax, -0x38(%rbp)
0000000100003dfa	jmp	0x100003dff
0000000100003dff	movl	-0x38(%rbp), %eax
0000000100003e02	movl	%eax, -0x18(%rbp)
0000000100003e05	movl	-0x18(%rbp), %edi
0000000100003e08	callq	_v_malloc
0000000100003e0d	movq	%rax, -0x30(%rbp)
0000000100003e11	movq	-0x30(%rbp), %rdi
0000000100003e15	movl	-0x14(%rbp), %r8d
0000000100003e19	leaq	0x6b8d(%rip), %rcx ## literal pool for: "0x%x"
0000000100003e20	xorl	%edx, %edx
0000000100003e22	movb	%dl, %sil
0000000100003e25	movq	$-0x1, %rax
0000000100003e2c	movb	%sil, -0x39(%rbp)
0000000100003e30	movl	%edx, %esi
0000000100003e32	movq	%rax, %rdx
0000000100003e35	movb	-0x39(%rbp), %al
0000000100003e38	callq	0x10000a5aa ## symbol stub for: ___sprintf_chk
0000000100003e3d	movl	%eax, -0x34(%rbp)
0000000100003e40	movq	-0x30(%rbp), %rdi
0000000100003e44	movl	-0x34(%rbp), %esi
0000000100003e47	callq	_tos
0000000100003e4c	movq	%rax, -0x10(%rbp)
0000000100003e50	movl	%edx, -0x8(%rbp)
0000000100003e53	movq	-0x10(%rbp), %rax
0000000100003e57	movl	-0x8(%rbp), %edx
0000000100003e5a	addq	$0x40, %rsp
0000000100003e5e	popq	%rbp
0000000100003e5f	retq
_i64_hex:
0000000100003e60	pushq	%rbp
0000000100003e61	movq	%rsp, %rbp
0000000100003e64	subq	$0x50, %rsp
0000000100003e68	movq	%rdi, -0x18(%rbp)
0000000100003e6c	cmpq	$0x0, -0x18(%rbp)
0000000100003e71	jl	0x100003e95
0000000100003e77	movq	-0x18(%rbp), %rdi
0000000100003e7b	callq	_i64_str
0000000100003e80	movq	%rax, -0x30(%rbp)
0000000100003e84	movl	%edx, -0x28(%rbp)
0000000100003e87	movl	-0x28(%rbp), %edx
0000000100003e8a	addl	$0x3, %edx
0000000100003e8d	movl	%edx, -0x40(%rbp)
0000000100003e90	jmp	0x100003ea2
0000000100003e95	movl	$0x13, %eax
0000000100003e9a	movl	%eax, -0x40(%rbp)
0000000100003e9d	jmp	0x100003ea2
0000000100003ea2	movl	-0x40(%rbp), %eax
0000000100003ea5	movl	%eax, -0x1c(%rbp)
0000000100003ea8	movl	-0x1c(%rbp), %edi
0000000100003eab	callq	_v_malloc
0000000100003eb0	movq	%rax, -0x38(%rbp)
0000000100003eb4	movq	-0x38(%rbp), %rdi
0000000100003eb8	movq	-0x18(%rbp), %r8
0000000100003ebc	leaq	0x6aef(%rip), %rcx ## literal pool for: "0x%llx"
0000000100003ec3	xorl	%edx, %edx
0000000100003ec5	movb	%dl, %sil
0000000100003ec8	movq	$-0x1, %rax
0000000100003ecf	movb	%sil, -0x41(%rbp)
0000000100003ed3	movl	%edx, %esi
0000000100003ed5	movq	%rax, %rdx
0000000100003ed8	movb	-0x41(%rbp), %al
0000000100003edb	callq	0x10000a5aa ## symbol stub for: ___sprintf_chk
0000000100003ee0	movl	%eax, -0x3c(%rbp)
0000000100003ee3	movq	-0x38(%rbp), %rdi
0000000100003ee7	movl	-0x3c(%rbp), %esi
0000000100003eea	callq	_tos
0000000100003eef	movq	%rax, -0x10(%rbp)
0000000100003ef3	movl	%edx, -0x8(%rbp)
0000000100003ef6	movq	-0x10(%rbp), %rax
0000000100003efa	movl	-0x8(%rbp), %edx
0000000100003efd	addq	$0x50, %rsp
0000000100003f01	popq	%rbp
0000000100003f02	retq
0000000100003f03	nopw	%cs:(%rax,%rax)
_array_byte_contains:
0000000100003f10	pushq	%rbp
0000000100003f11	movq	%rsp, %rbp
0000000100003f14	movb	%dil, %al
0000000100003f17	leaq	0x10(%rbp), %rcx
0000000100003f1b	movb	%al, -0x2(%rbp)
0000000100003f1e	movq	(%rcx), %rdx
0000000100003f21	movq	%rdx, -0x20(%rbp)
0000000100003f25	movq	0x8(%rcx), %rdx
0000000100003f29	movq	%rdx, -0x18(%rbp)
0000000100003f2d	movq	0x10(%rcx), %rcx
0000000100003f31	movq	%rcx, -0x10(%rbp)
0000000100003f35	movl	$0x0, -0x24(%rbp)
0000000100003f3c	movl	-0x24(%rbp), %eax
0000000100003f3f	cmpl	-0x18(%rbp), %eax
0000000100003f42	jge	0x100003f82
0000000100003f48	movq	-0x20(%rbp), %rax
0000000100003f4c	movslq	-0x24(%rbp), %rcx
0000000100003f50	movb	(%rax,%rcx), %dl
0000000100003f53	movb	%dl, -0x25(%rbp)
0000000100003f56	movzbl	-0x25(%rbp), %esi
0000000100003f5a	movzbl	-0x2(%rbp), %edi
0000000100003f5e	cmpl	%edi, %esi
0000000100003f60	jne	0x100003f6f
0000000100003f66	movb	$0x1, -0x1(%rbp)
0000000100003f6a	jmp	0x100003f86
0000000100003f6f	jmp	0x100003f74
0000000100003f74	movl	-0x24(%rbp), %eax
0000000100003f77	addl	$0x1, %eax
0000000100003f7a	movl	%eax, -0x24(%rbp)
0000000100003f7d	jmp	0x100003f3c
0000000100003f82	movb	$0x0, -0x1(%rbp)
0000000100003f86	movb	-0x1(%rbp), %al
0000000100003f89	andb	$0x1, %al
0000000100003f8b	movzbl	%al, %eax
0000000100003f8e	popq	%rbp
0000000100003f8f	retq
_rune_str:
0000000100003f90	pushq	%rbp
0000000100003f91	movq	%rsp, %rbp
0000000100003f94	subq	$0x30, %rsp
0000000100003f98	movl	%edi, -0x14(%rbp)
0000000100003f9b	movl	-0x14(%rbp), %edi
0000000100003f9e	sarl	$0x18, %edi
0000000100003fa1	andl	$0xff, %edi
0000000100003fa7	movl	%edi, -0x18(%rbp)
0000000100003faa	movl	-0x18(%rbp), %edi
0000000100003fad	movb	%dil, %al
0000000100003fb0	movzbl	%al, %edi
0000000100003fb3	callq	_utf8_char_len
0000000100003fb8	movl	%eax, -0x1c(%rbp)
0000000100003fbb	movl	-0x1c(%rbp), %eax
0000000100003fbe	addl	$0x1, %eax
0000000100003fc1	movl	%eax, %edi
0000000100003fc3	callq	_v_malloc
0000000100003fc8	movq	%rax, -0x10(%rbp)
0000000100003fcc	movl	-0x1c(%rbp), %edi
0000000100003fcf	movl	%edi, -0x8(%rbp)
0000000100003fd2	movl	$0x0, -0x20(%rbp)
0000000100003fd9	movl	-0x20(%rbp), %eax
0000000100003fdc	cmpl	-0x1c(%rbp), %eax
0000000100003fdf	jge	0x10000401d
0000000100003fe5	movl	$0x3, %eax
0000000100003fea	movl	-0x14(%rbp), %ecx
0000000100003fed	subl	-0x20(%rbp), %eax
0000000100003ff0	shll	$0x3, %eax
0000000100003ff3	movl	%ecx, -0x24(%rbp)
0000000100003ff6	movl	%eax, %ecx
0000000100003ff8	movl	-0x24(%rbp), %eax
0000000100003ffb	sarl	%cl, %eax
0000000100003ffd	andl	$0xff, %eax
0000000100004002	movb	%al, %cl
0000000100004004	movq	-0x10(%rbp), %rdx
0000000100004008	movslq	-0x20(%rbp), %rsi
000000010000400c	movb	%cl, (%rdx,%rsi)
000000010000400f	movl	-0x20(%rbp), %eax
0000000100004012	addl	$0x1, %eax
0000000100004015	movl	%eax, -0x20(%rbp)
0000000100004018	jmp	0x100003fd9
000000010000401d	movq	-0x10(%rbp), %rax
0000000100004021	movslq	-0x1c(%rbp), %rcx
0000000100004025	movb	$0x0, (%rax,%rcx)
0000000100004029	movq	-0x10(%rbp), %rax
000000010000402d	movl	-0x8(%rbp), %edx
0000000100004030	addq	$0x30, %rsp
0000000100004034	popq	%rbp
0000000100004035	retq
0000000100004036	nopw	%cs:(%rax,%rax)
_utf8_char_len:
0000000100004040	pushq	%rbp
0000000100004041	movq	%rsp, %rbp
0000000100004044	movb	%dil, %al
0000000100004047	movl	$0xe5000000, %edi
000000010000404c	movb	%al, -0x1(%rbp)
000000010000404f	movzbl	-0x1(%rbp), %ecx
0000000100004053	sarl	$0x3, %ecx
0000000100004056	andl	$0x1e, %ecx
0000000100004059	shrl	%cl, %edi
000000010000405b	andl	$0x3, %edi
000000010000405e	addl	$0x1, %edi
0000000100004061	movl	%edi, %eax
0000000100004063	popq	%rbp
0000000100004064	retq
0000000100004065	nopw	%cs:(%rax,%rax)
_byte_str:
0000000100004070	pushq	%rbp
0000000100004071	movq	%rsp, %rbp
0000000100004074	subq	$0x20, %rsp
0000000100004078	movb	%dil, %al
000000010000407b	movb	%al, -0x11(%rbp)
000000010000407e	movl	$0x2, %edi
0000000100004083	callq	_v_malloc
0000000100004088	movq	%rax, -0x10(%rbp)
000000010000408c	movl	$0x1, -0x8(%rbp)
0000000100004093	movb	-0x11(%rbp), %cl
0000000100004096	movq	-0x10(%rbp), %rax
000000010000409a	movb	%cl, (%rax)
000000010000409c	movq	-0x10(%rbp), %rax
00000001000040a0	movb	$0x0, 0x1(%rax)
00000001000040a4	movq	-0x10(%rbp), %rax
00000001000040a8	movl	-0x8(%rbp), %edx
00000001000040ab	addq	$0x20, %rsp
00000001000040af	popq	%rbp
00000001000040b0	retq
00000001000040b1	nopw	%cs:(%rax,%rax)
_byte_is_capital:
00000001000040c0	pushq	%rbp
00000001000040c1	movq	%rsp, %rbp
00000001000040c4	movb	%dil, %al
00000001000040c7	xorl	%edi, %edi
00000001000040c9	movb	%dil, %cl
00000001000040cc	movb	%al, -0x1(%rbp)
00000001000040cf	movzbl	-0x1(%rbp), %edi
00000001000040d3	cmpl	$0x41, %edi
00000001000040d6	movb	%cl, -0x2(%rbp)
00000001000040d9	jl	0x1000040ec
00000001000040df	movzbl	-0x1(%rbp), %eax
00000001000040e3	cmpl	$0x5a, %eax
00000001000040e6	setle	%cl
00000001000040e9	movb	%cl, -0x2(%rbp)
00000001000040ec	movb	-0x2(%rbp), %al
00000001000040ef	andb	$0x1, %al
00000001000040f1	movzbl	%al, %eax
00000001000040f4	popq	%rbp
00000001000040f5	retq
00000001000040f6	nopw	%cs:(%rax,%rax)
_array_byte_clone:
0000000100004100	pushq	%rbp
0000000100004101	movq	%rsp, %rbp
0000000100004104	subq	$0x70, %rsp
0000000100004108	movq	%rdi, %rax
000000010000410b	leaq	0x10(%rbp), %rcx
000000010000410f	leaq	-0x18(%rbp), %rdx
0000000100004113	movl	$0x1, %esi
0000000100004118	leaq	-0x19(%rbp), %r8
000000010000411c	movb	$0x0, -0x19(%rbp)
0000000100004120	movq	%rdi, -0x30(%rbp)
0000000100004124	movq	%rdx, %rdi
0000000100004127	movl	%esi, -0x34(%rbp)
000000010000412a	movl	-0x34(%rbp), %edx
000000010000412d	movl	-0x34(%rbp), %r9d
0000000100004131	movq	%rcx, -0x40(%rbp)
0000000100004135	movl	%r9d, %ecx
0000000100004138	movq	%rax, -0x48(%rbp)
000000010000413c	callq	_new_array_from_c_array
0000000100004141	leaq	-0x18(%rbp), %rax
0000000100004145	movq	-0x40(%rbp), %rdi
0000000100004149	movl	0x8(%rdi), %esi
000000010000414c	movq	-0x30(%rbp), %rdi
0000000100004150	movq	(%rax), %r8
0000000100004153	movq	%r8, (%rsp)
0000000100004157	movq	0x8(%rax), %r8
000000010000415b	movq	%r8, 0x8(%rsp)
0000000100004160	movq	0x10(%rax), %rax
0000000100004164	movq	%rax, 0x10(%rsp)
0000000100004169	callq	_array_repeat
000000010000416e	movl	$0x0, -0x20(%rbp)
0000000100004175	movl	-0x20(%rbp), %eax
0000000100004178	movq	-0x40(%rbp), %rcx
000000010000417c	cmpl	0x8(%rcx), %eax
000000010000417f	jge	0x1000041d6
0000000100004185	movl	-0x20(%rbp), %esi
0000000100004188	movl	-0x20(%rbp), %edi
000000010000418b	movq	-0x40(%rbp), %rax
000000010000418f	movq	(%rax), %rcx
0000000100004192	movq	%rcx, (%rsp)
0000000100004196	movq	0x8(%rax), %rcx
000000010000419a	movq	%rcx, 0x8(%rsp)
000000010000419f	movq	0x10(%rax), %rcx
00000001000041a3	movq	%rcx, 0x10(%rsp)
00000001000041a8	movl	%esi, -0x4c(%rbp)
00000001000041ab	callq	_array_get
00000001000041b0	leaq	-0x21(%rbp), %rcx
00000001000041b4	movb	(%rax), %dl
00000001000041b6	movb	%dl, -0x21(%rbp)
00000001000041b9	movq	-0x30(%rbp), %rdi
00000001000041bd	movl	-0x4c(%rbp), %esi
00000001000041c0	movq	%rcx, %rdx
00000001000041c3	callq	_array_set
00000001000041c8	movl	-0x20(%rbp), %eax
00000001000041cb	addl	$0x1, %eax
00000001000041ce	movl	%eax, -0x20(%rbp)
00000001000041d1	jmp	0x100004175
00000001000041d6	movq	-0x48(%rbp), %rax
00000001000041da	addq	$0x70, %rsp
00000001000041de	popq	%rbp
00000001000041df	retq
_new_map:
00000001000041e0	pushq	%rbp
00000001000041e1	movq	%rsp, %rbp
00000001000041e4	subq	$0x20, %rsp
00000001000041e8	movq	%rdi, %rax
00000001000041eb	xorl	%ecx, %ecx
00000001000041ed	movl	$0x18, %r8d
00000001000041f3	movl	%r8d, %r9d
00000001000041f6	movl	%esi, -0x4(%rbp)
00000001000041f9	movl	%edx, -0x8(%rbp)
00000001000041fc	movq	%rdi, %r10
00000001000041ff	movq	%rdi, -0x10(%rbp)
0000000100004203	movq	%r10, %rdi
0000000100004206	movl	%ecx, %esi
0000000100004208	movq	%r9, %rdx
000000010000420b	movq	%rax, -0x18(%rbp)
000000010000420f	callq	0x10000a604 ## symbol stub for: _memset
0000000100004214	movl	-0x8(%rbp), %ecx
0000000100004217	movq	-0x10(%rbp), %rax
000000010000421b	movl	%ecx, (%rax)
000000010000421d	movq	-0x18(%rbp), %rax
0000000100004221	addq	$0x20, %rsp
0000000100004225	popq	%rbp
0000000100004226	retq
0000000100004227	nopw	(%rax,%rax)
_new_map_init:
0000000100004230	pushq	%rbp
0000000100004231	movq	%rsp, %rbp
0000000100004234	subq	$0x40, %rsp
0000000100004238	movq	%rdi, %rax
000000010000423b	xorl	%r9d, %r9d
000000010000423e	movl	$0x18, %r10d
0000000100004244	movl	%r10d, %r11d
0000000100004247	movl	%esi, -0x4(%rbp)
000000010000424a	movl	%edx, -0x8(%rbp)
000000010000424d	movq	%rcx, -0x10(%rbp)
0000000100004251	movq	%r8, -0x18(%rbp)
0000000100004255	movq	%rdi, %rcx
0000000100004258	movq	%rdi, -0x30(%rbp)
000000010000425c	movq	%rcx, %rdi
000000010000425f	movl	%r9d, %esi
0000000100004262	movq	%r11, %rdx
0000000100004265	movq	%rax, -0x38(%rbp)
0000000100004269	callq	0x10000a604 ## symbol stub for: _memset
000000010000426e	movl	-0x8(%rbp), %esi
0000000100004271	movq	-0x30(%rbp), %rax
0000000100004275	movl	%esi, (%rax)
0000000100004277	movl	$0x0, -0x1c(%rbp)
000000010000427e	movl	-0x1c(%rbp), %esi
0000000100004281	movl	%esi, -0x20(%rbp)
0000000100004284	movl	-0x20(%rbp), %eax
0000000100004287	cmpl	-0x4(%rbp), %eax
000000010000428a	jge	0x1000042dd
0000000100004290	movl	-0x20(%rbp), %eax
0000000100004293	movl	%eax, -0x24(%rbp)
0000000100004296	movq	-0x10(%rbp), %rcx
000000010000429a	movslq	-0x24(%rbp), %rdx
000000010000429e	shlq	$0x4, %rdx
00000001000042a2	addq	%rdx, %rcx
00000001000042a5	movq	-0x18(%rbp), %rdx
00000001000042a9	movl	-0x24(%rbp), %eax
00000001000042ac	imull	-0x8(%rbp), %eax
00000001000042b0	movslq	%eax, %rsi
00000001000042b3	addq	%rsi, %rdx
00000001000042b6	movq	(%rcx), %rsi
00000001000042b9	movl	0x8(%rcx), %eax
00000001000042bc	movq	-0x30(%rbp), %rdi
00000001000042c0	movq	%rdx, -0x40(%rbp)
00000001000042c4	movl	%eax, %edx
00000001000042c6	movq	-0x40(%rbp), %rcx
00000001000042ca	callq	_map_set
00000001000042cf	movl	-0x20(%rbp), %eax
00000001000042d2	addl	$0x1, %eax
00000001000042d5	movl	%eax, -0x20(%rbp)
00000001000042d8	jmp	0x100004284
00000001000042dd	movq	-0x38(%rbp), %rax
00000001000042e1	addq	$0x40, %rsp
00000001000042e5	popq	%rbp
00000001000042e6	retq
00000001000042e7	nopw	(%rax,%rax)
_map_set:
00000001000042f0	pushq	%rbp
00000001000042f1	movq	%rsp, %rbp
00000001000042f4	subq	$0x20, %rsp
00000001000042f8	movq	%rsi, -0x10(%rbp)
00000001000042fc	movl	%edx, -0x8(%rbp)
00000001000042ff	movq	%rdi, -0x18(%rbp)
0000000100004303	movq	%rcx, -0x20(%rbp)
0000000100004307	movq	-0x18(%rbp), %rcx
000000010000430b	movq	0x8(%rcx), %rcx
000000010000430f	movq	%rcx, %rdi
0000000100004312	callq	_isnil
0000000100004317	testb	$0x1, %al
0000000100004319	jne	0x100004324
000000010000431f	jmp	0x100004354
0000000100004324	movq	-0x20(%rbp), %rdx
0000000100004328	movq	-0x18(%rbp), %rax
000000010000432c	movl	(%rax), %ecx
000000010000432e	movq	-0x10(%rbp), %rdi
0000000100004332	movl	-0x8(%rbp), %esi
0000000100004335	callq	_new_node
000000010000433a	movq	-0x18(%rbp), %rdx
000000010000433e	movq	%rax, 0x8(%rdx)
0000000100004342	movq	-0x18(%rbp), %rax
0000000100004346	movl	0x10(%rax), %ecx
0000000100004349	addl	$0x1, %ecx
000000010000434c	movl	%ecx, 0x10(%rax)
000000010000434f	jmp	0x100004370
0000000100004354	movq	-0x18(%rbp), %rdi
0000000100004358	movq	-0x18(%rbp), %rax
000000010000435c	movq	0x8(%rax), %rsi
0000000100004360	movq	-0x20(%rbp), %r8
0000000100004364	movq	-0x10(%rbp), %rdx
0000000100004368	movl	-0x8(%rbp), %ecx
000000010000436b	callq	_map_insert
0000000100004370	addq	$0x20, %rsp
0000000100004374	popq	%rbp
0000000100004375	retq
0000000100004376	nopw	%cs:(%rax,%rax)
_new_node:
0000000100004380	pushq	%rbp
0000000100004381	movq	%rsp, %rbp
0000000100004384	subq	$0x60, %rsp
0000000100004388	movq	%rdi, -0x10(%rbp)
000000010000438c	movl	%esi, -0x8(%rbp)
000000010000438f	movq	%rdx, -0x18(%rbp)
0000000100004393	movl	%ecx, -0x1c(%rbp)
0000000100004396	movq	$0x0, -0x58(%rbp)
000000010000439e	movq	$0x0, -0x50(%rbp)
00000001000043a6	movb	$0x0, -0x48(%rbp)
00000001000043aa	movq	-0x10(%rbp), %rdx
00000001000043ae	movq	%rdx, -0x40(%rbp)
00000001000043b2	movq	-0x8(%rbp), %rdx
00000001000043b6	movq	%rdx, -0x38(%rbp)
00000001000043ba	movl	-0x1c(%rbp), %edi
00000001000043bd	callq	_v_malloc
00000001000043c2	movl	$0x30, %esi
00000001000043c7	leaq	-0x58(%rbp), %rdx
00000001000043cb	movq	%rax, -0x30(%rbp)
00000001000043cf	movq	%rdx, %rdi
00000001000043d2	callq	_memdup
00000001000043d7	movq	$-0x1, %rcx
00000001000043de	movq	%rax, -0x28(%rbp)
00000001000043e2	movq	-0x28(%rbp), %rax
00000001000043e6	movq	0x28(%rax), %rdi
00000001000043ea	movq	-0x18(%rbp), %rsi
00000001000043ee	movslq	-0x1c(%rbp), %rdx
00000001000043f2	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
00000001000043f7	movq	-0x28(%rbp), %rcx
00000001000043fb	movq	%rax, -0x60(%rbp)
00000001000043ff	movq	%rcx, %rax
0000000100004402	addq	$0x60, %rsp
0000000100004406	popq	%rbp
0000000100004407	retq
0000000100004408	nopl	(%rax,%rax)
_map_insert:
0000000100004410	pushq	%rbp
0000000100004411	movq	%rsp, %rbp
0000000100004414	subq	$0x30, %rsp
0000000100004418	movq	%rdx, -0x10(%rbp)
000000010000441c	movl	%ecx, -0x8(%rbp)
000000010000441f	movq	%rdi, -0x18(%rbp)
0000000100004423	movq	%rsi, -0x20(%rbp)
0000000100004427	movq	%r8, -0x28(%rbp)
000000010000442b	movq	-0x20(%rbp), %rdx
000000010000442f	movq	0x18(%rdx), %rdi
0000000100004433	movl	0x20(%rdx), %esi
0000000100004436	movq	-0x10(%rbp), %rdx
000000010000443a	movl	-0x8(%rbp), %ecx
000000010000443d	callq	_string_eq
0000000100004442	testb	$0x1, %al
0000000100004444	jne	0x10000444f
000000010000444a	jmp	0x100004477
000000010000444f	movq	$-0x1, %rcx
0000000100004456	movq	-0x20(%rbp), %rax
000000010000445a	movq	0x28(%rax), %rdi
000000010000445e	movq	-0x28(%rbp), %rsi
0000000100004462	movq	-0x18(%rbp), %rax
0000000100004466	movslq	(%rax), %rdx
0000000100004469	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
000000010000446e	movq	%rax, -0x30(%rbp)
0000000100004472	jmp	0x100004553
0000000100004477	movq	-0x20(%rbp), %rax
000000010000447b	movq	0x18(%rax), %rdi
000000010000447f	movl	0x20(%rax), %esi
0000000100004482	movq	-0x10(%rbp), %rdx
0000000100004486	movl	-0x8(%rbp), %ecx
0000000100004489	callq	_string_gt
000000010000448e	testb	$0x1, %al
0000000100004490	jne	0x10000449b
0000000100004496	jmp	0x1000044f8
000000010000449b	movq	-0x20(%rbp), %rax
000000010000449f	cmpq	$0x0, (%rax)
00000001000044a3	jne	0x1000044d8
00000001000044a9	movq	-0x28(%rbp), %rdx
00000001000044ad	movq	-0x18(%rbp), %rax
00000001000044b1	movl	(%rax), %ecx
00000001000044b3	movq	-0x10(%rbp), %rdi
00000001000044b7	movl	-0x8(%rbp), %esi
00000001000044ba	callq	_new_node
00000001000044bf	movq	-0x20(%rbp), %rdx
00000001000044c3	movq	%rax, (%rdx)
00000001000044c6	movq	-0x18(%rbp), %rax
00000001000044ca	movl	0x10(%rax), %ecx
00000001000044cd	addl	$0x1, %ecx
00000001000044d0	movl	%ecx, 0x10(%rax)
00000001000044d3	jmp	0x1000044f3
00000001000044d8	movq	-0x18(%rbp), %rdi
00000001000044dc	movq	-0x20(%rbp), %rax
00000001000044e0	movq	(%rax), %rsi
00000001000044e3	movq	-0x28(%rbp), %r8
00000001000044e7	movq	-0x10(%rbp), %rdx
00000001000044eb	movl	-0x8(%rbp), %ecx
00000001000044ee	callq	_map_insert
00000001000044f3	jmp	0x100004553
00000001000044f8	movq	-0x20(%rbp), %rax
00000001000044fc	cmpq	$0x0, 0x8(%rax)
0000000100004501	jne	0x100004537
0000000100004507	movq	-0x28(%rbp), %rdx
000000010000450b	movq	-0x18(%rbp), %rax
000000010000450f	movl	(%rax), %ecx
0000000100004511	movq	-0x10(%rbp), %rdi
0000000100004515	movl	-0x8(%rbp), %esi
0000000100004518	callq	_new_node
000000010000451d	movq	-0x20(%rbp), %rdx
0000000100004521	movq	%rax, 0x8(%rdx)
0000000100004525	movq	-0x18(%rbp), %rax
0000000100004529	movl	0x10(%rax), %ecx
000000010000452c	addl	$0x1, %ecx
000000010000452f	movl	%ecx, 0x10(%rax)
0000000100004532	jmp	0x100004553
0000000100004537	movq	-0x18(%rbp), %rdi
000000010000453b	movq	-0x20(%rbp), %rax
000000010000453f	movq	0x8(%rax), %rsi
0000000100004543	movq	-0x28(%rbp), %r8
0000000100004547	movq	-0x10(%rbp), %rdx
000000010000454b	movl	-0x8(%rbp), %ecx
000000010000454e	callq	_map_insert
0000000100004553	addq	$0x30, %rsp
0000000100004557	popq	%rbp
0000000100004558	retq
0000000100004559	nopl	(%rax)
_string_gt:
0000000100004560	pushq	%rbp
0000000100004561	movq	%rsp, %rbp
0000000100004564	subq	$0x20, %rsp
0000000100004568	movq	%rdi, -0x10(%rbp)
000000010000456c	movl	%esi, -0x8(%rbp)
000000010000456f	movq	%rdx, -0x20(%rbp)
0000000100004573	movl	%ecx, -0x18(%rbp)
0000000100004576	movq	-0x10(%rbp), %rdi
000000010000457a	movl	-0x8(%rbp), %esi
000000010000457d	movq	-0x20(%rbp), %rdx
0000000100004581	movl	-0x18(%rbp), %ecx
0000000100004584	callq	_string_le
0000000100004589	xorb	$-0x1, %al
000000010000458b	andb	$0x1, %al
000000010000458d	movzbl	%al, %eax
0000000100004590	addq	$0x20, %rsp
0000000100004594	popq	%rbp
0000000100004595	retq
0000000100004596	nopw	%cs:(%rax,%rax)
_mapnode_find:
00000001000045a0	pushq	%rbp
00000001000045a1	movq	%rsp, %rbp
00000001000045a4	subq	$0x40, %rsp
00000001000045a8	movq	%rsi, -0x18(%rbp)
00000001000045ac	movl	%edx, -0x10(%rbp)
00000001000045af	movq	%rdi, -0x20(%rbp)
00000001000045b3	movq	%rcx, -0x28(%rbp)
00000001000045b7	movl	%r8d, -0x2c(%rbp)
00000001000045bb	movq	-0x20(%rbp), %rcx
00000001000045bf	movq	0x18(%rcx), %rdi
00000001000045c3	movl	0x20(%rcx), %esi
00000001000045c6	movq	-0x18(%rbp), %rdx
00000001000045ca	movl	-0x10(%rbp), %ecx
00000001000045cd	callq	_string_eq
00000001000045d2	testb	$0x1, %al
00000001000045d4	jne	0x1000045df
00000001000045da	jmp	0x100004608
00000001000045df	movq	$-0x1, %rcx
00000001000045e6	movq	-0x28(%rbp), %rdi
00000001000045ea	movq	-0x20(%rbp), %rax
00000001000045ee	movq	0x28(%rax), %rsi
00000001000045f2	movslq	-0x2c(%rbp), %rdx
00000001000045f6	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
00000001000045fb	movb	$0x1, -0x1(%rbp)
00000001000045ff	movq	%rax, -0x38(%rbp)
0000000100004603	jmp	0x1000046a1
0000000100004608	movq	-0x20(%rbp), %rax
000000010000460c	movq	0x18(%rax), %rdi
0000000100004610	movl	0x20(%rax), %esi
0000000100004613	movq	-0x18(%rbp), %rdx
0000000100004617	movl	-0x10(%rbp), %ecx
000000010000461a	callq	_string_gt
000000010000461f	testb	$0x1, %al
0000000100004621	jne	0x10000462c
0000000100004627	jmp	0x100004668
000000010000462c	movq	-0x20(%rbp), %rax
0000000100004630	cmpq	$0x0, (%rax)
0000000100004634	jne	0x100004643
000000010000463a	movb	$0x0, -0x1(%rbp)
000000010000463e	jmp	0x1000046a1
0000000100004643	movq	-0x20(%rbp), %rax
0000000100004647	movq	(%rax), %rdi
000000010000464a	movq	-0x28(%rbp), %rcx
000000010000464e	movl	-0x2c(%rbp), %r8d
0000000100004652	movq	-0x18(%rbp), %rsi
0000000100004656	movl	-0x10(%rbp), %edx
0000000100004659	callq	_mapnode_find
000000010000465e	andb	$0x1, %al
0000000100004660	movb	%al, -0x1(%rbp)
0000000100004663	jmp	0x1000046a1
0000000100004668	movq	-0x20(%rbp), %rax
000000010000466c	cmpq	$0x0, 0x8(%rax)
0000000100004671	jne	0x100004680
0000000100004677	movb	$0x0, -0x1(%rbp)
000000010000467b	jmp	0x1000046a1
0000000100004680	movq	-0x20(%rbp), %rax
0000000100004684	movq	0x8(%rax), %rdi
0000000100004688	movq	-0x28(%rbp), %rcx
000000010000468c	movl	-0x2c(%rbp), %r8d
0000000100004690	movq	-0x18(%rbp), %rsi
0000000100004694	movl	-0x10(%rbp), %edx
0000000100004697	callq	_mapnode_find
000000010000469c	andb	$0x1, %al
000000010000469e	movb	%al, -0x1(%rbp)
00000001000046a1	movb	-0x1(%rbp), %al
00000001000046a4	andb	$0x1, %al
00000001000046a6	movzbl	%al, %eax
00000001000046a9	addq	$0x40, %rsp
00000001000046ad	popq	%rbp
00000001000046ae	retq
00000001000046af	nop
_mapnode_find2:
00000001000046b0	pushq	%rbp
00000001000046b1	movq	%rsp, %rbp
00000001000046b4	subq	$0x30, %rsp
00000001000046b8	movq	%rsi, -0x18(%rbp)
00000001000046bc	movl	%edx, -0x10(%rbp)
00000001000046bf	movq	%rdi, -0x20(%rbp)
00000001000046c3	movl	%ecx, -0x24(%rbp)
00000001000046c6	movq	-0x20(%rbp), %rsi
00000001000046ca	movq	0x18(%rsi), %rdi
00000001000046ce	movl	0x20(%rsi), %esi
00000001000046d1	movq	-0x18(%rbp), %rdx
00000001000046d5	movl	-0x10(%rbp), %ecx
00000001000046d8	callq	_string_eq
00000001000046dd	testb	$0x1, %al
00000001000046df	jne	0x1000046ea
00000001000046e5	jmp	0x1000046f3
00000001000046ea	movb	$0x1, -0x1(%rbp)
00000001000046ee	jmp	0x10000479e
00000001000046f3	movq	-0x20(%rbp), %rax
00000001000046f7	movq	0x18(%rax), %rdi
00000001000046fb	movl	0x20(%rax), %esi
00000001000046fe	movq	-0x18(%rbp), %rdx
0000000100004702	movl	-0x10(%rbp), %ecx
0000000100004705	callq	_string_gt
000000010000470a	testb	$0x1, %al
000000010000470c	jne	0x100004717
0000000100004712	jmp	0x10000475c
0000000100004717	movq	-0x20(%rbp), %rax
000000010000471b	movq	(%rax), %rax
000000010000471e	movq	%rax, %rdi
0000000100004721	callq	_isnil
0000000100004726	testb	$0x1, %al
0000000100004728	jne	0x100004733
000000010000472e	jmp	0x10000473c
0000000100004733	movb	$0x0, -0x1(%rbp)
0000000100004737	jmp	0x10000479e
000000010000473c	movq	-0x20(%rbp), %rax
0000000100004740	movq	(%rax), %rdi
0000000100004743	movl	-0x24(%rbp), %ecx
0000000100004746	movq	-0x18(%rbp), %rsi
000000010000474a	movl	-0x10(%rbp), %edx
000000010000474d	callq	_mapnode_find2
0000000100004752	andb	$0x1, %al
0000000100004754	movb	%al, -0x1(%rbp)
0000000100004757	jmp	0x10000479e
000000010000475c	movq	-0x20(%rbp), %rax
0000000100004760	movq	0x8(%rax), %rax
0000000100004764	movq	%rax, %rdi
0000000100004767	callq	_isnil
000000010000476c	testb	$0x1, %al
000000010000476e	jne	0x100004779
0000000100004774	jmp	0x100004782
0000000100004779	movb	$0x0, -0x1(%rbp)
000000010000477d	jmp	0x10000479e
0000000100004782	movq	-0x20(%rbp), %rax
0000000100004786	movq	0x8(%rax), %rdi
000000010000478a	movl	-0x24(%rbp), %ecx
000000010000478d	movq	-0x18(%rbp), %rsi
0000000100004791	movl	-0x10(%rbp), %edx
0000000100004794	callq	_mapnode_find2
0000000100004799	andb	$0x1, %al
000000010000479b	movb	%al, -0x1(%rbp)
000000010000479e	movb	-0x1(%rbp), %al
00000001000047a1	andb	$0x1, %al
00000001000047a3	movzbl	%al, %eax
00000001000047a6	addq	$0x30, %rsp
00000001000047aa	popq	%rbp
00000001000047ab	retq
00000001000047ac	nopl	(%rax)
_preorder_keys:
00000001000047b0	pushq	%rbp
00000001000047b1	movq	%rsp, %rbp
00000001000047b4	subq	$0x40, %rsp
00000001000047b8	movq	0x8879(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
00000001000047bf	movq	(%rax), %rax
00000001000047c2	movq	%rax, -0x8(%rbp)
00000001000047c6	movq	%rdi, -0x20(%rbp)
00000001000047ca	movq	%rsi, -0x28(%rbp)
00000001000047ce	movl	%edx, -0x2c(%rbp)
00000001000047d1	movl	-0x2c(%rbp), %edx
00000001000047d4	movl	%edx, -0x30(%rbp)
00000001000047d7	movq	-0x20(%rbp), %rax
00000001000047db	testb	$0x1, 0x10(%rax)
00000001000047df	jne	0x100004815
00000001000047e5	leaq	-0x18(%rbp), %rax
00000001000047e9	movq	-0x28(%rbp), %rdi
00000001000047ed	movl	-0x30(%rbp), %esi
00000001000047f0	movq	-0x20(%rbp), %rcx
00000001000047f4	movq	0x18(%rcx), %rdx
00000001000047f8	movq	%rdx, -0x18(%rbp)
00000001000047fc	movq	0x20(%rcx), %rcx
0000000100004800	movq	%rcx, -0x10(%rbp)
0000000100004804	movq	%rax, %rdx
0000000100004807	callq	_array_set
000000010000480c	movl	-0x30(%rbp), %esi
000000010000480f	addl	$0x1, %esi
0000000100004812	movl	%esi, -0x30(%rbp)
0000000100004815	movq	-0x20(%rbp), %rax
0000000100004819	movq	(%rax), %rax
000000010000481c	movq	%rax, %rdi
000000010000481f	callq	_isnil
0000000100004824	testb	$0x1, %al
0000000100004826	jne	0x100004842
000000010000482c	movq	-0x20(%rbp), %rax
0000000100004830	movq	(%rax), %rdi
0000000100004833	movq	-0x28(%rbp), %rsi
0000000100004837	movl	-0x30(%rbp), %edx
000000010000483a	callq	_preorder_keys
000000010000483f	movl	%eax, -0x30(%rbp)
0000000100004842	movq	-0x20(%rbp), %rax
0000000100004846	movq	0x8(%rax), %rax
000000010000484a	movq	%rax, %rdi
000000010000484d	callq	_isnil
0000000100004852	testb	$0x1, %al
0000000100004854	jne	0x100004871
000000010000485a	movq	-0x20(%rbp), %rax
000000010000485e	movq	0x8(%rax), %rdi
0000000100004862	movq	-0x28(%rbp), %rsi
0000000100004866	movl	-0x30(%rbp), %edx
0000000100004869	callq	_preorder_keys
000000010000486e	movl	%eax, -0x30(%rbp)
0000000100004871	movl	-0x30(%rbp), %eax
0000000100004874	movq	0x87bd(%rip), %rcx ## literal pool symbol address: ___stack_chk_guard
000000010000487b	movq	(%rcx), %rcx
000000010000487e	movq	-0x8(%rbp), %rdx
0000000100004882	cmpq	%rdx, %rcx
0000000100004885	movl	%eax, -0x34(%rbp)
0000000100004888	jne	0x100004897
000000010000488e	movl	-0x34(%rbp), %eax
0000000100004891	addq	$0x40, %rsp
0000000100004895	popq	%rbp
0000000100004896	retq
0000000100004897	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
000000010000489c	ud2
000000010000489e	nop
_map_keys:
00000001000048a0	pushq	%rbp
00000001000048a1	movq	%rsp, %rbp
00000001000048a4	subq	$0x90, %rsp
00000001000048ab	movq	%rdi, %rax
00000001000048ae	leaq	0x6104(%rip), %rcx ## literal pool for: ""
00000001000048b5	movq	0x877c(%rip), %rdx ## literal pool symbol address: ___stack_chk_guard
00000001000048bc	movq	(%rdx), %rdx
00000001000048bf	movq	%rdx, -0x8(%rbp)
00000001000048c3	movq	%rsi, -0x38(%rbp)
00000001000048c7	movq	%rdi, -0x58(%rbp)
00000001000048cb	movq	%rcx, %rdi
00000001000048ce	movq	%rax, -0x60(%rbp)
00000001000048d2	callq	_tos3
00000001000048d7	leaq	-0x50(%rbp), %rdi
00000001000048db	movl	$0x1, %r8d
00000001000048e1	movl	$0x10, %ecx
00000001000048e6	leaq	-0x18(%rbp), %rsi
00000001000048ea	movq	%rax, -0x18(%rbp)
00000001000048ee	movl	%edx, -0x10(%rbp)
00000001000048f1	movq	%rsi, -0x68(%rbp)
00000001000048f5	movl	%r8d, %esi
00000001000048f8	movl	%r8d, %edx
00000001000048fb	movq	-0x68(%rbp), %r8
00000001000048ff	callq	_new_array_from_c_array
0000000100004904	leaq	-0x50(%rbp), %rax
0000000100004908	movq	-0x38(%rbp), %rdi
000000010000490c	movl	0x10(%rdi), %esi
000000010000490f	movq	-0x58(%rbp), %rdi
0000000100004913	movq	(%rax), %r8
0000000100004916	movq	%r8, (%rsp)
000000010000491a	movq	0x8(%rax), %r8
000000010000491e	movq	%r8, 0x8(%rsp)
0000000100004923	movq	0x10(%rax), %rax
0000000100004927	movq	%rax, 0x10(%rsp)
000000010000492c	callq	_array_repeat
0000000100004931	movq	-0x38(%rbp), %rax
0000000100004935	movq	0x8(%rax), %rax
0000000100004939	movq	%rax, %rdi
000000010000493c	callq	_isnil
0000000100004941	testb	$0x1, %al
0000000100004943	jne	0x10000494e
0000000100004949	jmp	0x100004953
000000010000494e	jmp	0x100004984
0000000100004953	xorl	%edx, %edx
0000000100004955	leaq	-0x30(%rbp), %rsi
0000000100004959	movq	-0x38(%rbp), %rax
000000010000495d	movq	0x8(%rax), %rdi
0000000100004961	movq	-0x58(%rbp), %rax
0000000100004965	movq	(%rax), %rcx
0000000100004968	movq	%rcx, -0x30(%rbp)
000000010000496c	movq	0x8(%rax), %rcx
0000000100004970	movq	%rcx, -0x28(%rbp)
0000000100004974	movq	0x10(%rax), %rcx
0000000100004978	movq	%rcx, -0x20(%rbp)
000000010000497c	callq	_preorder_keys
0000000100004981	movl	%eax, -0x6c(%rbp)
0000000100004984	movq	0x86ad(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
000000010000498b	movq	(%rax), %rax
000000010000498e	movq	-0x8(%rbp), %rcx
0000000100004992	cmpq	%rcx, %rax
0000000100004995	jne	0x1000049a8
000000010000499b	movq	-0x60(%rbp), %rax
000000010000499f	addq	$0x90, %rsp
00000001000049a6	popq	%rbp
00000001000049a7	retq
00000001000049a8	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
00000001000049ad	ud2
00000001000049af	nop
_map_get:
00000001000049b0	pushq	%rbp
00000001000049b1	movq	%rsp, %rbp
00000001000049b4	subq	$0x30, %rsp
00000001000049b8	leaq	0x10(%rbp), %rax
00000001000049bc	movq	%rdi, -0x18(%rbp)
00000001000049c0	movl	%esi, -0x10(%rbp)
00000001000049c3	movq	%rdx, -0x20(%rbp)
00000001000049c7	cmpq	$0x0, 0x8(%rax)
00000001000049cc	movq	%rax, -0x28(%rbp)
00000001000049d0	jne	0x1000049df
00000001000049d6	movb	$0x0, -0x1(%rbp)
00000001000049da	jmp	0x1000049ff
00000001000049df	movq	-0x28(%rbp), %rax
00000001000049e3	movq	0x8(%rax), %rdi
00000001000049e7	movq	-0x20(%rbp), %rcx
00000001000049eb	movl	(%rax), %r8d
00000001000049ee	movq	-0x18(%rbp), %rsi
00000001000049f2	movl	-0x10(%rbp), %edx
00000001000049f5	callq	_mapnode_find
00000001000049fa	andb	$0x1, %al
00000001000049fc	movb	%al, -0x1(%rbp)
00000001000049ff	movb	-0x1(%rbp), %al
0000000100004a02	andb	$0x1, %al
0000000100004a04	movzbl	%al, %eax
0000000100004a07	addq	$0x30, %rsp
0000000100004a0b	popq	%rbp
0000000100004a0c	retq
0000000100004a0d	nopl	(%rax)
_v_mapnode_delete:
0000000100004a10	pushq	%rbp
0000000100004a11	movq	%rsp, %rbp
0000000100004a14	subq	$0x30, %rsp
0000000100004a18	movq	%rsi, -0x10(%rbp)
0000000100004a1c	movl	%edx, -0x8(%rbp)
0000000100004a1f	movq	%rdi, -0x18(%rbp)
0000000100004a23	movl	%ecx, -0x1c(%rbp)
0000000100004a26	movq	-0x18(%rbp), %rsi
0000000100004a2a	movq	0x18(%rsi), %rdi
0000000100004a2e	movl	0x20(%rsi), %esi
0000000100004a31	movq	-0x10(%rbp), %rdx
0000000100004a35	movl	-0x8(%rbp), %ecx
0000000100004a38	callq	_string_eq
0000000100004a3d	testb	$0x1, %al
0000000100004a3f	jne	0x100004a4a
0000000100004a45	jmp	0x100004a75
0000000100004a4a	xorl	%esi, %esi
0000000100004a4c	movq	$-0x1, %rcx
0000000100004a53	movq	-0x18(%rbp), %rax
0000000100004a57	movq	0x28(%rax), %rdi
0000000100004a5b	movslq	-0x1c(%rbp), %rdx
0000000100004a5f	callq	0x10000a5a4 ## symbol stub for: ___memset_chk
0000000100004a64	movq	-0x18(%rbp), %rcx
0000000100004a68	movb	$0x1, 0x10(%rcx)
0000000100004a6c	movq	%rax, -0x28(%rbp)
0000000100004a70	jmp	0x100004b18
0000000100004a75	movq	-0x18(%rbp), %rax
0000000100004a79	movq	0x18(%rax), %rdi
0000000100004a7d	movl	0x20(%rax), %esi
0000000100004a80	movq	-0x10(%rbp), %rdx
0000000100004a84	movl	-0x8(%rbp), %ecx
0000000100004a87	callq	_string_gt
0000000100004a8c	testb	$0x1, %al
0000000100004a8e	jne	0x100004a99
0000000100004a94	jmp	0x100004ad5
0000000100004a99	movq	-0x18(%rbp), %rax
0000000100004a9d	movq	(%rax), %rax
0000000100004aa0	movq	%rax, %rdi
0000000100004aa3	callq	_isnil
0000000100004aa8	testb	$0x1, %al
0000000100004aaa	jne	0x100004ab5
0000000100004ab0	jmp	0x100004aba
0000000100004ab5	jmp	0x100004b18
0000000100004aba	movq	-0x18(%rbp), %rax
0000000100004abe	movq	(%rax), %rdi
0000000100004ac1	movl	-0x1c(%rbp), %ecx
0000000100004ac4	movq	-0x10(%rbp), %rsi
0000000100004ac8	movl	-0x8(%rbp), %edx
0000000100004acb	callq	_v_mapnode_delete
0000000100004ad0	jmp	0x100004b13
0000000100004ad5	movq	-0x18(%rbp), %rax
0000000100004ad9	movq	0x8(%rax), %rax
0000000100004add	movq	%rax, %rdi
0000000100004ae0	callq	_isnil
0000000100004ae5	testb	$0x1, %al
0000000100004ae7	jne	0x100004af2
0000000100004aed	jmp	0x100004af7
0000000100004af2	jmp	0x100004b18
0000000100004af7	movq	-0x18(%rbp), %rax
0000000100004afb	movq	0x8(%rax), %rdi
0000000100004aff	movl	-0x1c(%rbp), %ecx
0000000100004b02	movq	-0x10(%rbp), %rsi
0000000100004b06	movl	-0x8(%rbp), %edx
0000000100004b09	callq	_v_mapnode_delete
0000000100004b0e	jmp	0x100004b13
0000000100004b13	jmp	0x100004b18
0000000100004b18	addq	$0x30, %rsp
0000000100004b1c	popq	%rbp
0000000100004b1d	retq
0000000100004b1e	nop
_v_map_delete:
0000000100004b20	pushq	%rbp
0000000100004b21	movq	%rsp, %rbp
0000000100004b24	subq	$0x20, %rsp
0000000100004b28	movq	%rsi, -0x10(%rbp)
0000000100004b2c	movl	%edx, -0x8(%rbp)
0000000100004b2f	movq	%rdi, -0x18(%rbp)
0000000100004b33	movq	-0x18(%rbp), %rsi
0000000100004b37	movq	0x8(%rsi), %rdi
0000000100004b3b	movq	-0x18(%rbp), %rsi
0000000100004b3f	movl	(%rsi), %ecx
0000000100004b41	movq	-0x10(%rbp), %rsi
0000000100004b45	movl	-0x8(%rbp), %edx
0000000100004b48	callq	_v_mapnode_delete
0000000100004b4d	movq	-0x18(%rbp), %rsi
0000000100004b51	movl	0x10(%rsi), %ecx
0000000100004b54	addl	$-0x1, %ecx
0000000100004b57	movl	%ecx, 0x10(%rsi)
0000000100004b5a	addq	$0x20, %rsp
0000000100004b5e	popq	%rbp
0000000100004b5f	retq
_map_exists:
0000000100004b60	pushq	%rbp
0000000100004b61	movq	%rsp, %rbp
0000000100004b64	subq	$0x20, %rsp
0000000100004b68	leaq	0x10(%rbp), %rax
0000000100004b6c	movq	%rdi, -0x10(%rbp)
0000000100004b70	movl	%esi, -0x8(%rbp)
0000000100004b73	movq	0x8(%rax), %rdi
0000000100004b77	movq	%rax, -0x18(%rbp)
0000000100004b7b	callq	_isnil
0000000100004b80	xorl	%esi, %esi
0000000100004b82	movb	%sil, %cl
0000000100004b85	testb	$0x1, %al
0000000100004b87	movb	%cl, -0x19(%rbp)
0000000100004b8a	jne	0x100004ba9
0000000100004b90	movq	-0x18(%rbp), %rax
0000000100004b94	movq	0x8(%rax), %rdi
0000000100004b98	movl	(%rax), %ecx
0000000100004b9a	movq	-0x10(%rbp), %rsi
0000000100004b9e	movl	-0x8(%rbp), %edx
0000000100004ba1	callq	_mapnode_find2
0000000100004ba6	movb	%al, -0x19(%rbp)
0000000100004ba9	movb	-0x19(%rbp), %al
0000000100004bac	andb	$0x1, %al
0000000100004bae	movzbl	%al, %eax
0000000100004bb1	addq	$0x20, %rsp
0000000100004bb5	popq	%rbp
0000000100004bb6	retq
0000000100004bb7	nopw	(%rax,%rax)
_map_print:
0000000100004bc0	pushq	%rbp
0000000100004bc1	movq	%rsp, %rbp
0000000100004bc4	subq	$0x20, %rsp
0000000100004bc8	leaq	0x5deb(%rip), %rdi ## literal pool for: "<<<<<<<<"
0000000100004bcf	callq	_tos3
0000000100004bd4	movq	%rax, -0x10(%rbp)
0000000100004bd8	movl	%edx, -0x8(%rbp)
0000000100004bdb	movq	-0x10(%rbp), %rdi
0000000100004bdf	movl	-0x8(%rbp), %esi
0000000100004be2	callq	_println
0000000100004be7	leaq	0x5dd5(%rip), %rdi ## literal pool for: ">>>>>>>>>>"
0000000100004bee	callq	_tos3
0000000100004bf3	movq	%rax, -0x20(%rbp)
0000000100004bf7	movl	%edx, -0x18(%rbp)
0000000100004bfa	movq	-0x20(%rbp), %rdi
0000000100004bfe	movl	-0x18(%rbp), %esi
0000000100004c01	callq	_println
0000000100004c06	addq	$0x20, %rsp
0000000100004c0a	popq	%rbp
0000000100004c0b	retq
0000000100004c0c	nopl	(%rax)
_v_mapnode_free:
0000000100004c10	pushq	%rbp
0000000100004c11	movq	%rsp, %rbp
0000000100004c14	subq	$0x10, %rsp
0000000100004c18	movq	%rdi, -0x8(%rbp)
0000000100004c1c	movq	-0x8(%rbp), %rdi
0000000100004c20	cmpq	$0x0, 0x28(%rdi)
0000000100004c25	je	0x100004c38
0000000100004c2b	movq	-0x8(%rbp), %rax
0000000100004c2f	movq	0x28(%rax), %rdi
0000000100004c33	callq	_v_free
0000000100004c38	movq	-0x8(%rbp), %rax
0000000100004c3c	cmpq	$0x0, (%rax)
0000000100004c40	je	0x100004c52
0000000100004c46	movq	-0x8(%rbp), %rax
0000000100004c4a	movq	(%rax), %rdi
0000000100004c4d	callq	_v_mapnode_free
0000000100004c52	movq	-0x8(%rbp), %rax
0000000100004c56	cmpq	$0x0, 0x8(%rax)
0000000100004c5b	je	0x100004c6e
0000000100004c61	movq	-0x8(%rbp), %rax
0000000100004c65	movq	0x8(%rax), %rdi
0000000100004c69	callq	_v_mapnode_free
0000000100004c6e	movq	-0x8(%rbp), %rax
0000000100004c72	movq	%rax, %rdi
0000000100004c75	callq	_v_free
0000000100004c7a	addq	$0x10, %rsp
0000000100004c7e	popq	%rbp
0000000100004c7f	retq
_v_map_free:
0000000100004c80	pushq	%rbp
0000000100004c81	movq	%rsp, %rbp
0000000100004c84	subq	$0x10, %rsp
0000000100004c88	movq	%rdi, -0x8(%rbp)
0000000100004c8c	movq	-0x8(%rbp), %rdi
0000000100004c90	cmpq	$0x0, 0x8(%rdi)
0000000100004c95	jne	0x100004ca0
0000000100004c9b	jmp	0x100004cad
0000000100004ca0	movq	-0x8(%rbp), %rax
0000000100004ca4	movq	0x8(%rax), %rdi
0000000100004ca8	callq	_v_mapnode_free
0000000100004cad	addq	$0x10, %rsp
0000000100004cb1	popq	%rbp
0000000100004cb2	retq
0000000100004cb3	nopw	%cs:(%rax,%rax)
_map_string_str:
0000000100004cc0	pushq	%rbp
0000000100004cc1	movq	%rsp, %rbp
0000000100004cc4	subq	$0x100, %rsp
0000000100004ccb	leaq	0x10(%rbp), %rax
0000000100004ccf	cmpl	$0x0, 0x10(%rax)
0000000100004cd3	movq	%rax, -0xc0(%rbp)
0000000100004cda	jne	0x100004cf8
0000000100004ce0	leaq	0x5ce7(%rip), %rdi ## literal pool for: "{}"
0000000100004ce7	callq	_tos3
0000000100004cec	movq	%rax, -0x10(%rbp)
0000000100004cf0	movl	%edx, -0x8(%rbp)
0000000100004cf3	jmp	0x100004ea6
0000000100004cf8	leaq	-0x30(%rbp), %rdi
0000000100004cfc	movl	$0x32, %esi
0000000100004d01	callq	_strings__new_builder
0000000100004d06	leaq	0x5cc4(%rip), %rdi ## literal pool for: "{"
0000000100004d0d	callq	_tos3
0000000100004d12	leaq	-0x30(%rbp), %rdi
0000000100004d16	movq	%rax, -0x40(%rbp)
0000000100004d1a	movl	%edx, -0x38(%rbp)
0000000100004d1d	movq	-0x40(%rbp), %rsi
0000000100004d21	movl	-0x38(%rbp), %edx
0000000100004d24	callq	_strings__Builder_writeln
0000000100004d29	leaq	-0x70(%rbp), %rdi
0000000100004d2d	leaq	-0x58(%rbp), %rsi
0000000100004d31	movq	-0xc0(%rbp), %rax
0000000100004d38	movq	(%rax), %rcx
0000000100004d3b	movq	%rcx, -0x58(%rbp)
0000000100004d3f	movq	0x8(%rax), %rcx
0000000100004d43	movq	%rcx, -0x50(%rbp)
0000000100004d47	movq	0x10(%rax), %rcx
0000000100004d4b	movq	%rcx, -0x48(%rbp)
0000000100004d4f	callq	_map_keys
0000000100004d54	movl	$0x0, -0x74(%rbp)
0000000100004d5b	movl	-0x74(%rbp), %eax
0000000100004d5e	cmpl	-0x68(%rbp), %eax
0000000100004d61	jge	0x100004e45
0000000100004d67	leaq	-0x58(%rbp), %rax
0000000100004d6b	leaq	-0x98(%rbp), %rcx
0000000100004d72	xorl	%esi, %esi
0000000100004d74	movl	$0x10, %edx
0000000100004d79	movq	-0x70(%rbp), %rdi
0000000100004d7d	movslq	-0x74(%rbp), %r8
0000000100004d81	shlq	$0x4, %r8
0000000100004d85	addq	%r8, %rdi
0000000100004d88	movq	(%rdi), %r8
0000000100004d8b	movq	%r8, -0x88(%rbp)
0000000100004d92	movq	0x8(%rdi), %rdi
0000000100004d96	movq	%rdi, -0x80(%rbp)
0000000100004d9a	movq	%rcx, %rdi
0000000100004d9d	movq	%rax, -0xc8(%rbp)
0000000100004da4	movq	%rcx, -0xd0(%rbp)
0000000100004dab	callq	0x10000a604 ## symbol stub for: _memset
0000000100004db0	movq	-0xd0(%rbp), %rax
0000000100004db7	movq	-0x88(%rbp), %rdi
0000000100004dbe	movl	-0x80(%rbp), %esi
0000000100004dc1	movq	-0xc8(%rbp), %rcx
0000000100004dc8	movq	(%rcx), %rdx
0000000100004dcb	movq	%rdx, (%rsp)
0000000100004dcf	movq	0x8(%rcx), %rdx
0000000100004dd3	movq	%rdx, 0x8(%rsp)
0000000100004dd8	movq	0x10(%rcx), %rdx
0000000100004ddc	movq	%rdx, 0x10(%rsp)
0000000100004de1	movq	%rax, %rdx
0000000100004de4	callq	_map_get
0000000100004de9	leaq	0x5be3(%rip), %rdi ## literal pool for: "  \"%.*s\" => \"%.*s\""
0000000100004df0	movl	-0x80(%rbp), %esi
0000000100004df3	movq	-0x88(%rbp), %rdx
0000000100004dfa	movl	-0x90(%rbp), %ecx
0000000100004e00	movq	-0x98(%rbp), %r8
0000000100004e07	movb	%al, -0xd1(%rbp)
0000000100004e0d	movb	$0x0, %al
0000000100004e0f	callq	__STR
0000000100004e14	leaq	-0x30(%rbp), %rdi
0000000100004e18	movq	%rax, -0xa8(%rbp)
0000000100004e1f	movl	%edx, -0xa0(%rbp)
0000000100004e25	movq	-0xa8(%rbp), %rsi
0000000100004e2c	movl	-0xa0(%rbp), %edx
0000000100004e32	callq	_strings__Builder_writeln
0000000100004e37	movl	-0x74(%rbp), %eax
0000000100004e3a	addl	$0x1, %eax
0000000100004e3d	movl	%eax, -0x74(%rbp)
0000000100004e40	jmp	0x100004d5b
0000000100004e45	leaq	0x5b9a(%rip), %rdi ## literal pool for: "}"
0000000100004e4c	callq	_tos3
0000000100004e51	leaq	-0x30(%rbp), %rdi
0000000100004e55	movq	%rax, -0xb8(%rbp)
0000000100004e5c	movl	%edx, -0xb0(%rbp)
0000000100004e62	movq	-0xb8(%rbp), %rsi
0000000100004e69	movl	-0xb0(%rbp), %edx
0000000100004e6f	callq	_strings__Builder_writeln
0000000100004e74	leaq	-0x30(%rbp), %rax
0000000100004e78	movq	(%rax), %rsi
0000000100004e7b	movq	%rsi, (%rsp)
0000000100004e7f	movq	0x8(%rax), %rsi
0000000100004e83	movq	%rsi, 0x8(%rsp)
0000000100004e88	movq	0x10(%rax), %rsi
0000000100004e8c	movq	%rsi, 0x10(%rsp)
0000000100004e91	movq	0x18(%rax), %rax
0000000100004e95	movq	%rax, 0x18(%rsp)
0000000100004e9a	callq	_strings__Builder_str
0000000100004e9f	movq	%rax, -0x10(%rbp)
0000000100004ea3	movl	%edx, -0x8(%rbp)
0000000100004ea6	movq	-0x10(%rbp), %rax
0000000100004eaa	movl	-0x8(%rbp), %edx
0000000100004ead	addq	$0x100, %rsp
0000000100004eb4	popq	%rbp
0000000100004eb5	retq
0000000100004eb6	nopw	%cs:(%rax,%rax)
_strings__Builder_writeln:
0000000100004ec0	pushq	%rbp
0000000100004ec1	movq	%rsp, %rbp
0000000100004ec4	subq	$0x20, %rsp
0000000100004ec8	movq	%rsi, -0x10(%rbp)
0000000100004ecc	movl	%edx, -0x8(%rbp)
0000000100004ecf	movq	%rdi, -0x18(%rbp)
0000000100004ed3	movq	-0x18(%rbp), %rdi
0000000100004ed7	movq	-0x10(%rbp), %rsi
0000000100004edb	movl	-0x8(%rbp), %edx
0000000100004ede	callq	_array_push_many
0000000100004ee3	leaq	-0x19(%rbp), %rsi
0000000100004ee7	movb	$0xa, -0x19(%rbp)
0000000100004eeb	movq	-0x18(%rbp), %rdi
0000000100004eef	callq	_array_push
0000000100004ef4	movl	-0x8(%rbp), %edx
0000000100004ef7	addl	$0x1, %edx
0000000100004efa	movq	-0x18(%rbp), %rsi
0000000100004efe	addl	0x18(%rsi), %edx
0000000100004f01	movl	%edx, 0x18(%rsi)
0000000100004f04	addq	$0x20, %rsp
0000000100004f08	popq	%rbp
0000000100004f09	retq
0000000100004f0a	nopw	(%rax,%rax)
_opt_ok:
0000000100004f10	pushq	%rbp
0000000100004f11	movq	%rsp, %rbp
0000000100004f14	subq	$0x50, %rsp
0000000100004f18	movq	%rdi, %rax
0000000100004f1b	movq	%rsi, -0x8(%rbp)
0000000100004f1f	movl	%edx, -0xc(%rbp)
0000000100004f22	cmpl	$0xff, -0xc(%rbp)
0000000100004f29	movq	%rax, -0x28(%rbp)
0000000100004f2d	movq	%rdi, -0x30(%rbp)
0000000100004f31	jl	0x100004f5b
0000000100004f37	leaq	0x5aaa(%rip), %rdi ## literal pool for: "option size too big: %d (max is 255), this is a temporary limit"
0000000100004f3e	movl	-0xc(%rbp), %esi
0000000100004f41	movb	$0x0, %al
0000000100004f43	callq	__STR
0000000100004f48	movq	%rax, -0x20(%rbp)
0000000100004f4c	movl	%edx, -0x18(%rbp)
0000000100004f4f	movq	-0x20(%rbp), %rdi
0000000100004f53	movl	-0x18(%rbp), %esi
0000000100004f56	callq	_v_panic
0000000100004f5b	leaq	0x5a57(%rip), %rdi ## literal pool for: ""
0000000100004f62	xorl	%eax, %eax
0000000100004f64	movl	$0x118, %ecx
0000000100004f69	movl	%ecx, %edx
0000000100004f6b	movq	-0x30(%rbp), %rsi
0000000100004f6f	movq	%rdi, -0x38(%rbp)
0000000100004f73	movq	%rsi, %rdi
0000000100004f76	movl	%eax, %esi
0000000100004f78	movl	%eax, -0x3c(%rbp)
0000000100004f7b	callq	0x10000a604 ## symbol stub for: _memset
0000000100004f80	movq	-0x38(%rbp), %rdi
0000000100004f84	movl	-0x3c(%rbp), %esi
0000000100004f87	callq	_tos
0000000100004f8c	movl	$0x118, %ecx
0000000100004f91	movq	-0x30(%rbp), %rdi
0000000100004f95	movq	%rax, 0x100(%rdi)
0000000100004f9c	movl	%edx, 0x108(%rdi)
0000000100004fa2	movb	$0x1, 0x110(%rdi)
0000000100004fa9	movb	$0x0, 0x111(%rdi)
0000000100004fb0	movq	-0x8(%rbp), %rsi
0000000100004fb4	movslq	-0xc(%rbp), %rdx
0000000100004fb8	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100004fbd	movq	-0x28(%rbp), %rcx
0000000100004fc1	movq	%rax, -0x48(%rbp)
0000000100004fc5	movq	%rcx, %rax
0000000100004fc8	addq	$0x50, %rsp
0000000100004fcc	popq	%rbp
0000000100004fcd	retq
0000000100004fce	nop
_opt_none:
0000000100004fd0	pushq	%rbp
0000000100004fd1	movq	%rsp, %rbp
0000000100004fd4	subq	$0x20, %rsp
0000000100004fd8	movq	%rdi, %rax
0000000100004fdb	leaq	0x59d7(%rip), %rcx ## literal pool for: ""
0000000100004fe2	xorl	%edx, %edx
0000000100004fe4	movl	$0x118, %esi
0000000100004fe9	movl	%esi, %r8d
0000000100004fec	movq	%rdi, %r9
0000000100004fef	movq	%rdi, -0x8(%rbp)
0000000100004ff3	movq	%r9, %rdi
0000000100004ff6	movl	%edx, %esi
0000000100004ff8	movl	%edx, -0xc(%rbp)
0000000100004ffb	movq	%r8, %rdx
0000000100004ffe	movq	%rax, -0x18(%rbp)
0000000100005002	movq	%rcx, -0x20(%rbp)
0000000100005006	callq	0x10000a604 ## symbol stub for: _memset
000000010000500b	movq	-0x20(%rbp), %rdi
000000010000500f	movl	-0xc(%rbp), %esi
0000000100005012	callq	_tos
0000000100005017	movq	-0x8(%rbp), %rcx
000000010000501b	movq	%rax, 0x100(%rcx)
0000000100005022	movl	%edx, 0x108(%rcx)
0000000100005028	movb	$0x0, 0x110(%rcx)
000000010000502f	movb	$0x1, 0x111(%rcx)
0000000100005036	movq	-0x18(%rbp), %rax
000000010000503a	addq	$0x20, %rsp
000000010000503e	popq	%rbp
000000010000503f	retq
_v_error:
0000000100005040	pushq	%rbp
0000000100005041	movq	%rsp, %rbp
0000000100005044	subq	$0x20, %rsp
0000000100005048	movq	%rdi, %rax
000000010000504b	xorl	%ecx, %ecx
000000010000504d	movl	$0x118, %r8d
0000000100005053	movl	%r8d, %r9d
0000000100005056	movq	%rsi, -0x10(%rbp)
000000010000505a	movl	%edx, -0x8(%rbp)
000000010000505d	movq	%rdi, %rsi
0000000100005060	movq	%rdi, -0x18(%rbp)
0000000100005064	movq	%rsi, %rdi
0000000100005067	movl	%ecx, %esi
0000000100005069	movq	%r9, %rdx
000000010000506c	movq	%rax, -0x20(%rbp)
0000000100005070	callq	0x10000a604 ## symbol stub for: _memset
0000000100005075	movq	-0x10(%rbp), %rax
0000000100005079	movq	-0x18(%rbp), %rdx
000000010000507d	movq	%rax, 0x100(%rdx)
0000000100005084	movq	-0x8(%rbp), %rax
0000000100005088	movq	%rax, 0x108(%rdx)
000000010000508f	movb	$0x0, 0x110(%rdx)
0000000100005096	movb	$0x0, 0x111(%rdx)
000000010000509d	movq	-0x20(%rbp), %rax
00000001000050a1	addq	$0x20, %rsp
00000001000050a5	popq	%rbp
00000001000050a6	retq
00000001000050a7	nopw	(%rax,%rax)
_todo:
00000001000050b0	pushq	%rbp
00000001000050b1	movq	%rsp, %rbp
00000001000050b4	popq	%rbp
00000001000050b5	retq
00000001000050b6	nopw	%cs:(%rax,%rax)
_tos_clone:
00000001000050c0	pushq	%rbp
00000001000050c1	movq	%rsp, %rbp
00000001000050c4	subq	$0x40, %rsp
00000001000050c8	movq	%rdi, -0x18(%rbp)
00000001000050cc	cmpq	$0x0, -0x18(%rbp)
00000001000050d1	jne	0x1000050f6
00000001000050d7	leaq	0x595c(%rip), %rdi ## literal pool for: "tos: nil string"
00000001000050de	callq	_tos3
00000001000050e3	movq	%rax, -0x28(%rbp)
00000001000050e7	movl	%edx, -0x20(%rbp)
00000001000050ea	movq	-0x28(%rbp), %rdi
00000001000050ee	movl	-0x20(%rbp), %esi
00000001000050f1	callq	_v_panic
00000001000050f6	movq	-0x18(%rbp), %rdi
00000001000050fa	callq	_tos2
00000001000050ff	movq	%rax, -0x38(%rbp)
0000000100005103	movl	%edx, -0x30(%rbp)
0000000100005106	movq	-0x38(%rbp), %rdi
000000010000510a	movl	-0x30(%rbp), %esi
000000010000510d	callq	_string_clone
0000000100005112	movq	%rax, -0x10(%rbp)
0000000100005116	movl	%edx, -0x8(%rbp)
0000000100005119	movq	-0x10(%rbp), %rax
000000010000511d	movl	-0x8(%rbp), %edx
0000000100005120	addq	$0x40, %rsp
0000000100005124	popq	%rbp
0000000100005125	retq
0000000100005126	nopw	%cs:(%rax,%rax)
_string_clone:
0000000100005130	pushq	%rbp
0000000100005131	movq	%rsp, %rbp
0000000100005134	subq	$0x30, %rsp
0000000100005138	movq	%rdi, -0x20(%rbp)
000000010000513c	movl	%esi, -0x18(%rbp)
000000010000513f	movl	-0x18(%rbp), %esi
0000000100005142	addl	$0x1, %esi
0000000100005145	movl	%esi, %edi
0000000100005147	callq	_v_malloc
000000010000514c	movq	%rax, -0x10(%rbp)
0000000100005150	movl	-0x18(%rbp), %esi
0000000100005153	movl	%esi, -0x8(%rbp)
0000000100005156	movl	$0x0, -0x24(%rbp)
000000010000515d	movl	-0x24(%rbp), %eax
0000000100005160	cmpl	-0x18(%rbp), %eax
0000000100005163	jge	0x10000518d
0000000100005169	movq	-0x20(%rbp), %rax
000000010000516d	movslq	-0x24(%rbp), %rcx
0000000100005171	movb	(%rax,%rcx), %dl
0000000100005174	movq	-0x10(%rbp), %rax
0000000100005178	movslq	-0x24(%rbp), %rcx
000000010000517c	movb	%dl, (%rax,%rcx)
000000010000517f	movl	-0x24(%rbp), %eax
0000000100005182	addl	$0x1, %eax
0000000100005185	movl	%eax, -0x24(%rbp)
0000000100005188	jmp	0x10000515d
000000010000518d	movq	-0x10(%rbp), %rax
0000000100005191	movslq	-0x18(%rbp), %rcx
0000000100005195	movb	$0x0, (%rax,%rcx)
0000000100005199	movq	-0x10(%rbp), %rax
000000010000519d	movl	-0x8(%rbp), %edx
00000001000051a0	addq	$0x30, %rsp
00000001000051a4	popq	%rbp
00000001000051a5	retq
00000001000051a6	nopw	%cs:(%rax,%rax)
_string_replace:
00000001000051b0	pushq	%rbp
00000001000051b1	movq	%rsp, %rbp
00000001000051b4	subq	$0xe0, %rsp
00000001000051bb	movq	%rdi, -0x20(%rbp)
00000001000051bf	movl	%esi, -0x18(%rbp)
00000001000051c2	movq	%rdx, -0x30(%rbp)
00000001000051c6	movl	%ecx, -0x28(%rbp)
00000001000051c9	movq	%r8, -0x40(%rbp)
00000001000051cd	movl	%r9d, -0x38(%rbp)
00000001000051d1	cmpl	$0x0, -0x18(%rbp)
00000001000051d5	je	0x1000051e5
00000001000051db	cmpl	$0x0, -0x28(%rbp)
00000001000051df	jne	0x1000051fa
00000001000051e5	movq	-0x20(%rbp), %rax
00000001000051e9	movq	%rax, -0x10(%rbp)
00000001000051ed	movq	-0x18(%rbp), %rax
00000001000051f1	movq	%rax, -0x8(%rbp)
00000001000051f5	jmp	0x1000054b6
00000001000051fa	leaq	-0x58(%rbp), %rdi
00000001000051fe	xorl	%eax, %eax
0000000100005200	movl	$0x4, %ecx
0000000100005205	leaq	-0x5c(%rbp), %rdx
0000000100005209	movl	$0x0, -0x5c(%rbp)
0000000100005210	movl	%eax, %esi
0000000100005212	movq	%rdx, -0xc0(%rbp)
0000000100005219	movl	%eax, %edx
000000010000521b	movq	-0xc0(%rbp), %r8
0000000100005222	callq	_new_array_from_c_array
0000000100005227	movq	-0x20(%rbp), %rdi
000000010000522b	movq	%rdi, -0x70(%rbp)
000000010000522f	movq	-0x18(%rbp), %rdi
0000000100005233	movq	%rdi, -0x68(%rbp)
0000000100005237	movl	$0x0, -0x74(%rbp)
000000010000523e	movq	-0x70(%rbp), %rdi
0000000100005242	movl	-0x68(%rbp), %esi
0000000100005245	movq	-0x30(%rbp), %rdx
0000000100005249	movl	-0x28(%rbp), %ecx
000000010000524c	callq	_string_index
0000000100005251	movl	%eax, -0x78(%rbp)
0000000100005254	cmpl	$0x0, -0x78(%rbp)
0000000100005258	jge	0x100005263
000000010000525e	jmp	0x1000052c8
0000000100005263	leaq	-0x58(%rbp), %rdi
0000000100005267	leaq	-0x7c(%rbp), %rax
000000010000526b	movl	-0x74(%rbp), %ecx
000000010000526e	addl	-0x78(%rbp), %ecx
0000000100005271	movl	%ecx, -0x7c(%rbp)
0000000100005274	movq	%rax, %rsi
0000000100005277	callq	_array_push
000000010000527c	movl	-0x28(%rbp), %ecx
000000010000527f	addl	-0x78(%rbp), %ecx
0000000100005282	movl	%ecx, -0x78(%rbp)
0000000100005285	movl	-0x78(%rbp), %ecx
0000000100005288	addl	-0x74(%rbp), %ecx
000000010000528b	movl	%ecx, -0x74(%rbp)
000000010000528e	movl	-0x78(%rbp), %edx
0000000100005291	movl	-0x68(%rbp), %ecx
0000000100005294	movq	-0x70(%rbp), %rdi
0000000100005298	movl	-0x68(%rbp), %esi
000000010000529b	callq	_string_substr
00000001000052a0	movq	%rax, -0x90(%rbp)
00000001000052a7	movl	%edx, -0x88(%rbp)
00000001000052ad	movq	-0x90(%rbp), %rax
00000001000052b4	movq	%rax, -0x70(%rbp)
00000001000052b8	movq	-0x88(%rbp), %rax
00000001000052bf	movq	%rax, -0x68(%rbp)
00000001000052c3	jmp	0x10000523e
00000001000052c8	cmpl	$0x0, -0x50(%rbp)
00000001000052cc	jne	0x1000052e7
00000001000052d2	movq	-0x20(%rbp), %rax
00000001000052d6	movq	%rax, -0x10(%rbp)
00000001000052da	movq	-0x18(%rbp), %rax
00000001000052de	movq	%rax, -0x8(%rbp)
00000001000052e2	jmp	0x1000054b6
00000001000052e7	movl	-0x18(%rbp), %eax
00000001000052ea	movl	-0x50(%rbp), %ecx
00000001000052ed	movl	-0x38(%rbp), %edx
00000001000052f0	subl	-0x28(%rbp), %edx
00000001000052f3	imull	%edx, %ecx
00000001000052f6	addl	%ecx, %eax
00000001000052f8	movl	%eax, -0x94(%rbp)
00000001000052fe	movl	-0x94(%rbp), %eax
0000000100005304	addl	$0x1, %eax
0000000100005307	movl	%eax, %edi
0000000100005309	callq	_v_malloc
000000010000530e	leaq	-0x58(%rbp), %rsi
0000000100005312	movq	%rax, -0xa0(%rbp)
0000000100005319	movl	$0x0, -0xa4(%rbp)
0000000100005323	movl	-0xa4(%rbp), %edi
0000000100005329	movq	(%rsi), %rax
000000010000532c	movq	%rax, (%rsp)
0000000100005330	movq	0x8(%rsi), %rax
0000000100005334	movq	%rax, 0x8(%rsp)
0000000100005339	movq	0x10(%rsi), %rax
000000010000533d	movq	%rax, 0x10(%rsp)
0000000100005342	callq	_array_get
0000000100005347	movl	(%rax), %ecx
0000000100005349	movl	%ecx, -0xa8(%rbp)
000000010000534f	movl	$0x0, -0xac(%rbp)
0000000100005359	movl	$0x0, -0xb0(%rbp)
0000000100005363	movl	-0xb0(%rbp), %eax
0000000100005369	cmpl	-0x18(%rbp), %eax
000000010000536c	jge	0x10000548b
0000000100005372	movl	-0xb0(%rbp), %eax
0000000100005378	cmpl	-0xa8(%rbp), %eax
000000010000537e	jne	0x100005444
0000000100005384	movl	$0x0, -0xb4(%rbp)
000000010000538e	movl	-0xb4(%rbp), %eax
0000000100005394	cmpl	-0x38(%rbp), %eax
0000000100005397	jge	0x1000053df
000000010000539d	movq	-0x40(%rbp), %rax
00000001000053a1	movslq	-0xb4(%rbp), %rcx
00000001000053a8	movb	(%rax,%rcx), %dl
00000001000053ab	movq	-0xa0(%rbp), %rax
00000001000053b2	movslq	-0xac(%rbp), %rcx
00000001000053b9	movb	%dl, (%rax,%rcx)
00000001000053bc	movl	-0xac(%rbp), %esi
00000001000053c2	addl	$0x1, %esi
00000001000053c5	movl	%esi, -0xac(%rbp)
00000001000053cb	movl	-0xb4(%rbp), %eax
00000001000053d1	addl	$0x1, %eax
00000001000053d4	movl	%eax, -0xb4(%rbp)
00000001000053da	jmp	0x10000538e
00000001000053df	movl	-0x28(%rbp), %eax
00000001000053e2	subl	$0x1, %eax
00000001000053e5	addl	-0xb0(%rbp), %eax
00000001000053eb	movl	%eax, -0xb0(%rbp)
00000001000053f1	movl	-0xa4(%rbp), %eax
00000001000053f7	addl	$0x1, %eax
00000001000053fa	movl	%eax, -0xa4(%rbp)
0000000100005400	movl	-0xa4(%rbp), %eax
0000000100005406	cmpl	-0x50(%rbp), %eax
0000000100005409	jge	0x10000543f
000000010000540f	leaq	-0x58(%rbp), %rax
0000000100005413	movl	-0xa4(%rbp), %edi
0000000100005419	movq	(%rax), %rcx
000000010000541c	movq	%rcx, (%rsp)
0000000100005420	movq	0x8(%rax), %rcx
0000000100005424	movq	%rcx, 0x8(%rsp)
0000000100005429	movq	0x10(%rax), %rax
000000010000542d	movq	%rax, 0x10(%rsp)
0000000100005432	callq	_array_get
0000000100005437	movl	(%rax), %edi
0000000100005439	movl	%edi, -0xa8(%rbp)
000000010000543f	jmp	0x100005472
0000000100005444	movq	-0x20(%rbp), %rax
0000000100005448	movslq	-0xb0(%rbp), %rcx
000000010000544f	movb	(%rax,%rcx), %dl
0000000100005452	movq	-0xa0(%rbp), %rax
0000000100005459	movslq	-0xac(%rbp), %rcx
0000000100005460	movb	%dl, (%rax,%rcx)
0000000100005463	movl	-0xac(%rbp), %esi
0000000100005469	addl	$0x1, %esi
000000010000546c	movl	%esi, -0xac(%rbp)
0000000100005472	jmp	0x100005477
0000000100005477	movl	-0xb0(%rbp), %eax
000000010000547d	addl	$0x1, %eax
0000000100005480	movl	%eax, -0xb0(%rbp)
0000000100005486	jmp	0x100005363
000000010000548b	movq	-0xa0(%rbp), %rax
0000000100005492	movslq	-0x94(%rbp), %rcx
0000000100005499	movb	$0x0, (%rax,%rcx)
000000010000549d	movq	-0xa0(%rbp), %rdi
00000001000054a4	movl	-0x94(%rbp), %esi
00000001000054aa	callq	_tos
00000001000054af	movq	%rax, -0x10(%rbp)
00000001000054b3	movl	%edx, -0x8(%rbp)
00000001000054b6	movq	-0x10(%rbp), %rax
00000001000054ba	movl	-0x8(%rbp), %edx
00000001000054bd	addq	$0xe0, %rsp
00000001000054c4	popq	%rbp
00000001000054c5	retq
00000001000054c6	nopw	%cs:(%rax,%rax)
_string_index:
00000001000054d0	pushq	%rbp
00000001000054d1	movq	%rsp, %rbp
00000001000054d4	movq	%rdi, -0x18(%rbp)
00000001000054d8	movl	%esi, -0x10(%rbp)
00000001000054db	movq	%rdx, -0x28(%rbp)
00000001000054df	movl	%ecx, -0x20(%rbp)
00000001000054e2	movl	-0x20(%rbp), %ecx
00000001000054e5	cmpl	-0x10(%rbp), %ecx
00000001000054e8	jle	0x1000054fa
00000001000054ee	movl	$0xffffffff, -0x4(%rbp)
00000001000054f5	jmp	0x100005598
00000001000054fa	movl	$0x0, -0x2c(%rbp)
0000000100005501	movl	-0x2c(%rbp), %eax
0000000100005504	cmpl	-0x10(%rbp), %eax
0000000100005507	jge	0x100005591
000000010000550d	movl	$0x0, -0x30(%rbp)
0000000100005514	xorl	%eax, %eax
0000000100005516	movb	%al, %cl
0000000100005518	movl	-0x30(%rbp), %eax
000000010000551b	cmpl	-0x20(%rbp), %eax
000000010000551e	movb	%cl, -0x31(%rbp)
0000000100005521	jge	0x10000554e
0000000100005527	movq	-0x18(%rbp), %rax
000000010000552b	movl	-0x2c(%rbp), %ecx
000000010000552e	addl	-0x30(%rbp), %ecx
0000000100005531	movslq	%ecx, %rdx
0000000100005534	movzbl	(%rax,%rdx), %ecx
0000000100005538	movq	-0x28(%rbp), %rax
000000010000553c	movslq	-0x30(%rbp), %rdx
0000000100005540	movzbl	(%rax,%rdx), %esi
0000000100005544	cmpl	%esi, %ecx
0000000100005546	sete	%dil
000000010000554a	movb	%dil, -0x31(%rbp)
000000010000554e	movb	-0x31(%rbp), %al
0000000100005551	testb	$0x1, %al
0000000100005553	jne	0x10000555e
0000000100005559	jmp	0x10000556c
000000010000555e	movl	-0x30(%rbp), %eax
0000000100005561	addl	$0x1, %eax
0000000100005564	movl	%eax, -0x30(%rbp)
0000000100005567	jmp	0x100005514
000000010000556c	movl	-0x30(%rbp), %eax
000000010000556f	cmpl	-0x20(%rbp), %eax
0000000100005572	jne	0x100005583
0000000100005578	movl	-0x2c(%rbp), %eax
000000010000557b	movl	%eax, -0x4(%rbp)
000000010000557e	jmp	0x100005598
0000000100005583	movl	-0x2c(%rbp), %eax
0000000100005586	addl	$0x1, %eax
0000000100005589	movl	%eax, -0x2c(%rbp)
000000010000558c	jmp	0x100005501
0000000100005591	movl	$0xffffffff, -0x4(%rbp)
0000000100005598	movl	-0x4(%rbp), %eax
000000010000559b	popq	%rbp
000000010000559c	retq
000000010000559d	nopl	(%rax)
_string_substr:
00000001000055a0	pushq	%rbp
00000001000055a1	movq	%rsp, %rbp
00000001000055a4	subq	$0x40, %rsp
00000001000055a8	movq	%rdi, -0x20(%rbp)
00000001000055ac	movl	%esi, -0x18(%rbp)
00000001000055af	movl	%edx, -0x24(%rbp)
00000001000055b2	movl	%ecx, -0x28(%rbp)
00000001000055b5	movl	-0x24(%rbp), %ecx
00000001000055b8	cmpl	-0x28(%rbp), %ecx
00000001000055bb	jg	0x1000055ed
00000001000055c1	movl	-0x24(%rbp), %eax
00000001000055c4	cmpl	-0x18(%rbp), %eax
00000001000055c7	jg	0x1000055ed
00000001000055cd	movl	-0x28(%rbp), %eax
00000001000055d0	cmpl	-0x18(%rbp), %eax
00000001000055d3	jg	0x1000055ed
00000001000055d9	cmpl	$0x0, -0x24(%rbp)
00000001000055dd	jl	0x1000055ed
00000001000055e3	cmpl	$0x0, -0x28(%rbp)
00000001000055e7	jge	0x100005617
00000001000055ed	leaq	0x5490(%rip), %rdi ## literal pool for: "substr(%d, %d) out of bounds (len=%d)"
00000001000055f4	movl	-0x24(%rbp), %esi
00000001000055f7	movl	-0x28(%rbp), %edx
00000001000055fa	movl	-0x18(%rbp), %ecx
00000001000055fd	movb	$0x0, %al
00000001000055ff	callq	__STR
0000000100005604	movq	%rax, -0x38(%rbp)
0000000100005608	movl	%edx, -0x30(%rbp)
000000010000560b	movq	-0x38(%rbp), %rdi
000000010000560f	movl	-0x30(%rbp), %esi
0000000100005612	callq	_v_panic
0000000100005617	movl	-0x28(%rbp), %eax
000000010000561a	subl	-0x24(%rbp), %eax
000000010000561d	movl	%eax, -0x3c(%rbp)
0000000100005620	movl	-0x3c(%rbp), %eax
0000000100005623	addl	$0x1, %eax
0000000100005626	movl	%eax, %edi
0000000100005628	callq	_v_malloc
000000010000562d	movq	%rax, -0x10(%rbp)
0000000100005631	movl	-0x3c(%rbp), %edi
0000000100005634	movl	%edi, -0x8(%rbp)
0000000100005637	movl	$0x0, -0x40(%rbp)
000000010000563e	movl	-0x40(%rbp), %eax
0000000100005641	cmpl	-0x3c(%rbp), %eax
0000000100005644	jge	0x100005675
000000010000564a	movq	-0x20(%rbp), %rax
000000010000564e	movl	-0x24(%rbp), %ecx
0000000100005651	addl	-0x40(%rbp), %ecx
0000000100005654	movslq	%ecx, %rdx
0000000100005657	movb	(%rax,%rdx), %sil
000000010000565b	movq	-0x10(%rbp), %rax
000000010000565f	movslq	-0x40(%rbp), %rdx
0000000100005663	movb	%sil, (%rax,%rdx)
0000000100005667	movl	-0x40(%rbp), %eax
000000010000566a	addl	$0x1, %eax
000000010000566d	movl	%eax, -0x40(%rbp)
0000000100005670	jmp	0x10000563e
0000000100005675	movq	-0x10(%rbp), %rax
0000000100005679	movslq	-0x3c(%rbp), %rcx
000000010000567d	movb	$0x0, (%rax,%rcx)
0000000100005681	movq	-0x10(%rbp), %rax
0000000100005685	movl	-0x8(%rbp), %edx
0000000100005688	addq	$0x40, %rsp
000000010000568c	popq	%rbp
000000010000568d	retq
000000010000568e	nop
_v_string_int:
0000000100005690	pushq	%rbp
0000000100005691	movq	%rsp, %rbp
0000000100005694	subq	$0x10, %rsp
0000000100005698	xorl	%edx, %edx
000000010000569a	movl	$0x20, %ecx
000000010000569f	movq	%rdi, -0x10(%rbp)
00000001000056a3	movl	%esi, -0x8(%rbp)
00000001000056a6	movq	-0x10(%rbp), %rdi
00000001000056aa	movl	-0x8(%rbp), %esi
00000001000056ad	callq	_strconv__parse_int
00000001000056b2	movl	%eax, %ecx
00000001000056b4	movl	%ecx, %eax
00000001000056b6	addq	$0x10, %rsp
00000001000056ba	popq	%rbp
00000001000056bb	retq
00000001000056bc	nopl	(%rax)
_strconv__parse_int:
00000001000056c0	pushq	%rbp
00000001000056c1	movq	%rsp, %rbp
00000001000056c4	subq	$0x80, %rsp
00000001000056cb	movq	%rdi, -0x18(%rbp)
00000001000056cf	movl	%esi, -0x10(%rbp)
00000001000056d2	movl	%edx, -0x1c(%rbp)
00000001000056d5	movl	%ecx, -0x20(%rbp)
00000001000056d8	movq	-0x18(%rbp), %rdi
00000001000056dc	movq	%rdi, -0x30(%rbp)
00000001000056e0	movq	-0x10(%rbp), %rdi
00000001000056e4	movq	%rdi, -0x28(%rbp)
00000001000056e8	movl	-0x20(%rbp), %ecx
00000001000056eb	movl	%ecx, -0x34(%rbp)
00000001000056ee	cmpl	$0x1, -0x28(%rbp)
00000001000056f2	jge	0x100005705
00000001000056f8	movq	$0x0, -0x8(%rbp)
0000000100005700	jmp	0x100005879
0000000100005705	xorl	%edx, %edx
0000000100005707	movb	$0x0, -0x35(%rbp)
000000010000570b	movq	-0x30(%rbp), %rdi
000000010000570f	movl	-0x28(%rbp), %esi
0000000100005712	callq	_string_at
0000000100005717	movzbl	%al, %edx
000000010000571a	cmpl	$0x2b, %edx
000000010000571d	jne	0x100005750
0000000100005723	movl	$0x1, %edx
0000000100005728	movq	-0x30(%rbp), %rdi
000000010000572c	movl	-0x28(%rbp), %esi
000000010000572f	callq	_string_right
0000000100005734	movq	%rax, -0x48(%rbp)
0000000100005738	movl	%edx, -0x40(%rbp)
000000010000573b	movq	-0x48(%rbp), %rax
000000010000573f	movq	%rax, -0x30(%rbp)
0000000100005743	movq	-0x40(%rbp), %rax
0000000100005747	movq	%rax, -0x28(%rbp)
000000010000574b	jmp	0x10000579b
0000000100005750	xorl	%edx, %edx
0000000100005752	movq	-0x30(%rbp), %rdi
0000000100005756	movl	-0x28(%rbp), %esi
0000000100005759	callq	_string_at
000000010000575e	movzbl	%al, %edx
0000000100005761	cmpl	$0x2d, %edx
0000000100005764	jne	0x100005796
000000010000576a	movl	$0x1, %edx
000000010000576f	movb	$0x1, -0x35(%rbp)
0000000100005773	movq	-0x30(%rbp), %rdi
0000000100005777	movl	-0x28(%rbp), %esi
000000010000577a	callq	_string_right
000000010000577f	movq	%rax, -0x58(%rbp)
0000000100005783	movl	%edx, -0x50(%rbp)
0000000100005786	movq	-0x58(%rbp), %rax
000000010000578a	movq	%rax, -0x30(%rbp)
000000010000578e	movq	-0x50(%rbp), %rax
0000000100005792	movq	%rax, -0x28(%rbp)
0000000100005796	jmp	0x10000579b
000000010000579b	movl	-0x1c(%rbp), %edx
000000010000579e	movl	-0x34(%rbp), %ecx
00000001000057a1	movq	-0x30(%rbp), %rdi
00000001000057a5	movl	-0x28(%rbp), %esi
00000001000057a8	callq	_strconv__parse_uint
00000001000057ad	movq	%rax, -0x60(%rbp)
00000001000057b1	cmpq	$0x0, -0x60(%rbp)
00000001000057b6	jne	0x1000057c9
00000001000057bc	movq	$0x0, -0x8(%rbp)
00000001000057c4	jmp	0x100005879
00000001000057c9	cmpl	$0x0, -0x34(%rbp)
00000001000057cd	jne	0x1000057da
00000001000057d3	movl	$0x20, -0x34(%rbp)
00000001000057da	movl	$0x1, %eax
00000001000057df	movl	%eax, %ecx
00000001000057e1	movl	-0x34(%rbp), %eax
00000001000057e4	subl	$0x1, %eax
00000001000057e7	movslq	%eax, %rdx
00000001000057ea	movq	%rcx, -0x70(%rbp)
00000001000057ee	movq	%rdx, %rcx
00000001000057f1	movq	-0x70(%rbp), %rdx
00000001000057f5	shlq	%cl, %rdx
00000001000057f8	movq	%rdx, -0x68(%rbp)
00000001000057fc	testb	$0x1, -0x35(%rbp)
0000000100005800	jne	0x100005825
0000000100005806	movq	-0x60(%rbp), %rax
000000010000580a	cmpq	-0x68(%rbp), %rax
000000010000580e	jb	0x100005825
0000000100005814	movq	-0x68(%rbp), %rax
0000000100005818	subq	$0x1, %rax
000000010000581c	movq	%rax, -0x8(%rbp)
0000000100005820	jmp	0x100005879
0000000100005825	testb	$0x1, -0x35(%rbp)
0000000100005829	je	0x10000584e
000000010000582f	movq	-0x60(%rbp), %rax
0000000100005833	cmpq	-0x68(%rbp), %rax
0000000100005837	jbe	0x10000584e
000000010000583d	xorl	%eax, %eax
000000010000583f	movl	%eax, %ecx
0000000100005841	subq	-0x68(%rbp), %rcx
0000000100005845	movq	%rcx, -0x8(%rbp)
0000000100005849	jmp	0x100005879
000000010000584e	testb	$0x1, -0x35(%rbp)
0000000100005852	je	0x100005869
0000000100005858	xorl	%eax, %eax
000000010000585a	movl	%eax, %ecx
000000010000585c	subq	-0x60(%rbp), %rcx
0000000100005860	movq	%rcx, -0x78(%rbp)
0000000100005864	jmp	0x100005871
0000000100005869	movq	-0x60(%rbp), %rax
000000010000586d	movq	%rax, -0x78(%rbp)
0000000100005871	movq	-0x78(%rbp), %rax
0000000100005875	movq	%rax, -0x8(%rbp)
0000000100005879	movq	-0x8(%rbp), %rax
000000010000587d	addq	$0x80, %rsp
0000000100005884	popq	%rbp
0000000100005885	retq
0000000100005886	nopw	%cs:(%rax,%rax)
_string_i64:
0000000100005890	pushq	%rbp
0000000100005891	movq	%rsp, %rbp
0000000100005894	subq	$0x10, %rsp
0000000100005898	xorl	%edx, %edx
000000010000589a	movl	$0x40, %ecx
000000010000589f	movq	%rdi, -0x10(%rbp)
00000001000058a3	movl	%esi, -0x8(%rbp)
00000001000058a6	movq	-0x10(%rbp), %rdi
00000001000058aa	movl	-0x8(%rbp), %esi
00000001000058ad	callq	_strconv__parse_int
00000001000058b2	addq	$0x10, %rsp
00000001000058b6	popq	%rbp
00000001000058b7	retq
00000001000058b8	nopl	(%rax,%rax)
_string_f32:
00000001000058c0	pushq	%rbp
00000001000058c1	movq	%rsp, %rbp
00000001000058c4	subq	$0x10, %rsp
00000001000058c8	movq	%rdi, -0x10(%rbp)
00000001000058cc	movl	%esi, -0x8(%rbp)
00000001000058cf	movq	-0x10(%rbp), %rdi
00000001000058d3	callq	0x10000a5c2 ## symbol stub for: _atof
00000001000058d8	cvtsd2ss	%xmm0, %xmm0
00000001000058dc	addq	$0x10, %rsp
00000001000058e0	popq	%rbp
00000001000058e1	retq
00000001000058e2	nopw	%cs:(%rax,%rax)
_string_f64:
00000001000058f0	pushq	%rbp
00000001000058f1	movq	%rsp, %rbp
00000001000058f4	subq	$0x10, %rsp
00000001000058f8	movq	%rdi, -0x10(%rbp)
00000001000058fc	movl	%esi, -0x8(%rbp)
00000001000058ff	movq	-0x10(%rbp), %rdi
0000000100005903	callq	0x10000a5c2 ## symbol stub for: _atof
0000000100005908	addq	$0x10, %rsp
000000010000590c	popq	%rbp
000000010000590d	retq
000000010000590e	nop
_string_u32:
0000000100005910	pushq	%rbp
0000000100005911	movq	%rsp, %rbp
0000000100005914	subq	$0x10, %rsp
0000000100005918	xorl	%edx, %edx
000000010000591a	movl	$0x20, %ecx
000000010000591f	movq	%rdi, -0x10(%rbp)
0000000100005923	movl	%esi, -0x8(%rbp)
0000000100005926	movq	-0x10(%rbp), %rdi
000000010000592a	movl	-0x8(%rbp), %esi
000000010000592d	callq	_strconv__parse_uint
0000000100005932	movl	%eax, %ecx
0000000100005934	movl	%ecx, %eax
0000000100005936	addq	$0x10, %rsp
000000010000593a	popq	%rbp
000000010000593b	retq
000000010000593c	nopl	(%rax)
_strconv__parse_uint:
0000000100005940	pushq	%rbp
0000000100005941	movq	%rsp, %rbp
0000000100005944	subq	$0x80, %rsp
000000010000594b	movq	%rdi, -0x18(%rbp)
000000010000594f	movl	%esi, -0x10(%rbp)
0000000100005952	movl	%edx, -0x1c(%rbp)
0000000100005955	movl	%ecx, -0x20(%rbp)
0000000100005958	movl	-0x20(%rbp), %ecx
000000010000595b	movl	%ecx, -0x24(%rbp)
000000010000595e	movl	-0x1c(%rbp), %ecx
0000000100005961	movl	%ecx, -0x28(%rbp)
0000000100005964	cmpl	$0x1, -0x10(%rbp)
0000000100005968	jl	0x100005982
000000010000596e	movq	-0x18(%rbp), %rdi
0000000100005972	movl	-0x10(%rbp), %esi
0000000100005975	callq	_strconv__underscore_ok
000000010000597a	testb	$0x1, %al
000000010000597c	jne	0x10000598f
0000000100005982	movq	$0x0, -0x8(%rbp)
000000010000598a	jmp	0x100005d3a
000000010000598f	movl	$0x2, %eax
0000000100005994	cmpl	$0x0, -0x28(%rbp)
0000000100005998	sete	%cl
000000010000599b	andb	$0x1, %cl
000000010000599e	movb	%cl, -0x29(%rbp)
00000001000059a1	movl	$0x0, -0x30(%rbp)
00000001000059a8	cmpl	-0x28(%rbp), %eax
00000001000059ab	jg	0x1000059c0
00000001000059b1	cmpl	$0x24, -0x28(%rbp)
00000001000059b5	jg	0x1000059c0
00000001000059bb	jmp	0x100005aed
00000001000059c0	cmpl	$0x0, -0x28(%rbp)
00000001000059c4	jne	0x100005adb
00000001000059ca	xorl	%edx, %edx
00000001000059cc	movl	$0xa, -0x28(%rbp)
00000001000059d3	movq	-0x18(%rbp), %rdi
00000001000059d7	movl	-0x10(%rbp), %esi
00000001000059da	callq	_string_at
00000001000059df	movzbl	%al, %edx
00000001000059e2	cmpl	$0x30, %edx
00000001000059e5	jne	0x100005ad6
00000001000059eb	cmpl	$0x3, -0x10(%rbp)
00000001000059ef	jl	0x100005a2f
00000001000059f5	movl	$0x1, %edx
00000001000059fa	movq	-0x18(%rbp), %rdi
00000001000059fe	movl	-0x10(%rbp), %esi
0000000100005a01	callq	_string_at
0000000100005a06	movzbl	%al, %edi
0000000100005a09	callq	_strconv__byte_to_lower
0000000100005a0e	movzbl	%al, %edx
0000000100005a11	cmpl	$0x62, %edx
0000000100005a14	jne	0x100005a2f
0000000100005a1a	movl	$0x2, -0x28(%rbp)
0000000100005a21	movl	-0x30(%rbp), %eax
0000000100005a24	addl	$0x2, %eax
0000000100005a27	movl	%eax, -0x30(%rbp)
0000000100005a2a	jmp	0x100005ad1
0000000100005a2f	cmpl	$0x3, -0x10(%rbp)
0000000100005a33	jl	0x100005a73
0000000100005a39	movl	$0x1, %edx
0000000100005a3e	movq	-0x18(%rbp), %rdi
0000000100005a42	movl	-0x10(%rbp), %esi
0000000100005a45	callq	_string_at
0000000100005a4a	movzbl	%al, %edi
0000000100005a4d	callq	_strconv__byte_to_lower
0000000100005a52	movzbl	%al, %edx
0000000100005a55	cmpl	$0x6f, %edx
0000000100005a58	jne	0x100005a73
0000000100005a5e	movl	$0x8, -0x28(%rbp)
0000000100005a65	movl	-0x30(%rbp), %eax
0000000100005a68	addl	$0x2, %eax
0000000100005a6b	movl	%eax, -0x30(%rbp)
0000000100005a6e	jmp	0x100005acc
0000000100005a73	cmpl	$0x3, -0x10(%rbp)
0000000100005a77	jl	0x100005ab7
0000000100005a7d	movl	$0x1, %edx
0000000100005a82	movq	-0x18(%rbp), %rdi
0000000100005a86	movl	-0x10(%rbp), %esi
0000000100005a89	callq	_string_at
0000000100005a8e	movzbl	%al, %edi
0000000100005a91	callq	_strconv__byte_to_lower
0000000100005a96	movzbl	%al, %edx
0000000100005a99	cmpl	$0x78, %edx
0000000100005a9c	jne	0x100005ab7
0000000100005aa2	movl	$0x10, -0x28(%rbp)
0000000100005aa9	movl	-0x30(%rbp), %eax
0000000100005aac	addl	$0x2, %eax
0000000100005aaf	movl	%eax, -0x30(%rbp)
0000000100005ab2	jmp	0x100005ac7
0000000100005ab7	movl	$0x8, -0x28(%rbp)
0000000100005abe	movl	-0x30(%rbp), %eax
0000000100005ac1	addl	$0x1, %eax
0000000100005ac4	movl	%eax, -0x30(%rbp)
0000000100005ac7	jmp	0x100005acc
0000000100005acc	jmp	0x100005ad1
0000000100005ad1	jmp	0x100005ad6
0000000100005ad6	jmp	0x100005ae8
0000000100005adb	movq	$0x0, -0x8(%rbp)
0000000100005ae3	jmp	0x100005d3a
0000000100005ae8	jmp	0x100005aed
0000000100005aed	cmpl	$0x0, -0x24(%rbp)
0000000100005af1	jne	0x100005b03
0000000100005af7	movl	$0x20, -0x24(%rbp)
0000000100005afe	jmp	0x100005b29
0000000100005b03	cmpl	$0x0, -0x24(%rbp)
0000000100005b07	jl	0x100005b17
0000000100005b0d	cmpl	$0x40, -0x24(%rbp)
0000000100005b11	jle	0x100005b24
0000000100005b17	movq	$0x0, -0x8(%rbp)
0000000100005b1f	jmp	0x100005d3a
0000000100005b24	jmp	0x100005b29
0000000100005b29	leaq	_strconv__max_u64(%rip), %rax
0000000100005b30	movq	(%rax), %rax
0000000100005b33	movslq	-0x28(%rbp), %rcx
0000000100005b37	xorl	%edx, %edx
0000000100005b39	divq	%rcx
0000000100005b3c	addq	$0x1, %rax
0000000100005b40	movq	%rax, -0x38(%rbp)
0000000100005b44	cmpl	$0x40, -0x24(%rbp)
0000000100005b48	jne	0x100005b61
0000000100005b4e	leaq	_strconv__max_u64(%rip), %rax
0000000100005b55	movq	(%rax), %rax
0000000100005b58	movq	%rax, -0x70(%rbp)
0000000100005b5c	jmp	0x100005b82
0000000100005b61	movl	$0x1, %eax
0000000100005b66	movl	%eax, %ecx
0000000100005b68	movslq	-0x24(%rbp), %rdx
0000000100005b6c	movq	%rcx, -0x78(%rbp)
0000000100005b70	movq	%rdx, %rcx
0000000100005b73	movq	-0x78(%rbp), %rdx
0000000100005b77	shlq	%cl, %rdx
0000000100005b7a	subq	$0x1, %rdx
0000000100005b7e	movq	%rdx, -0x70(%rbp)
0000000100005b82	movq	-0x70(%rbp), %rax
0000000100005b86	movq	%rax, -0x40(%rbp)
0000000100005b8a	movb	$0x0, -0x41(%rbp)
0000000100005b8e	movq	$0x0, -0x50(%rbp)
0000000100005b96	movl	-0x30(%rbp), %ecx
0000000100005b99	movl	%ecx, -0x54(%rbp)
0000000100005b9c	movl	-0x54(%rbp), %ecx
0000000100005b9f	movl	%ecx, -0x58(%rbp)
0000000100005ba2	movl	-0x58(%rbp), %eax
0000000100005ba5	cmpl	-0x10(%rbp), %eax
0000000100005ba8	jge	0x100005d07
0000000100005bae	movl	-0x58(%rbp), %eax
0000000100005bb1	movl	%eax, -0x5c(%rbp)
0000000100005bb4	movl	-0x5c(%rbp), %edx
0000000100005bb7	movq	-0x18(%rbp), %rdi
0000000100005bbb	movl	-0x10(%rbp), %esi
0000000100005bbe	callq	_string_at
0000000100005bc3	movb	%al, -0x5d(%rbp)
0000000100005bc6	movzbl	-0x5d(%rbp), %edi
0000000100005bca	callq	_strconv__byte_to_lower
0000000100005bcf	movb	%al, -0x5e(%rbp)
0000000100005bd2	movb	$0x0, -0x5f(%rbp)
0000000100005bd6	movzbl	-0x5d(%rbp), %edx
0000000100005bda	cmpl	$0x5f, %edx
0000000100005bdd	jne	0x100005bf6
0000000100005be3	testb	$0x1, -0x29(%rbp)
0000000100005be7	je	0x100005bf6
0000000100005bed	movb	$0x1, -0x41(%rbp)
0000000100005bf1	jmp	0x100005cf9
0000000100005bf6	movl	$0x30, %eax
0000000100005bfb	movzbl	-0x5d(%rbp), %ecx
0000000100005bff	cmpl	%ecx, %eax
0000000100005c01	jg	0x100005c25
0000000100005c07	movzbl	-0x5d(%rbp), %eax
0000000100005c0b	cmpl	$0x39, %eax
0000000100005c0e	jg	0x100005c25
0000000100005c14	movzbl	-0x5d(%rbp), %eax
0000000100005c18	subl	$0x30, %eax
0000000100005c1b	movb	%al, %cl
0000000100005c1d	movb	%cl, -0x5f(%rbp)
0000000100005c20	jmp	0x100005c69
0000000100005c25	movl	$0x61, %eax
0000000100005c2a	movzbl	-0x5e(%rbp), %ecx
0000000100005c2e	cmpl	%ecx, %eax
0000000100005c30	jg	0x100005c57
0000000100005c36	movzbl	-0x5e(%rbp), %eax
0000000100005c3a	cmpl	$0x7a, %eax
0000000100005c3d	jg	0x100005c57
0000000100005c43	movzbl	-0x5e(%rbp), %eax
0000000100005c47	subl	$0x61, %eax
0000000100005c4a	addl	$0xa, %eax
0000000100005c4d	movb	%al, %cl
0000000100005c4f	movb	%cl, -0x5f(%rbp)
0000000100005c52	jmp	0x100005c64
0000000100005c57	movq	$0x0, -0x8(%rbp)
0000000100005c5f	jmp	0x100005d3a
0000000100005c64	jmp	0x100005c69
0000000100005c69	jmp	0x100005c6e
0000000100005c6e	movzbl	-0x5f(%rbp), %eax
0000000100005c72	movl	-0x28(%rbp), %ecx
0000000100005c75	movb	%cl, %dl
0000000100005c77	movzbl	%dl, %ecx
0000000100005c7a	cmpl	%ecx, %eax
0000000100005c7c	jl	0x100005c8f
0000000100005c82	movq	$0x0, -0x8(%rbp)
0000000100005c8a	jmp	0x100005d3a
0000000100005c8f	movq	-0x50(%rbp), %rax
0000000100005c93	cmpq	-0x38(%rbp), %rax
0000000100005c97	jb	0x100005caa
0000000100005c9d	movq	-0x40(%rbp), %rax
0000000100005ca1	movq	%rax, -0x8(%rbp)
0000000100005ca5	jmp	0x100005d3a
0000000100005caa	movslq	-0x28(%rbp), %rax
0000000100005cae	imulq	-0x50(%rbp), %rax
0000000100005cb3	movq	%rax, -0x50(%rbp)
0000000100005cb7	movq	-0x50(%rbp), %rax
0000000100005cbb	movzbl	-0x5f(%rbp), %ecx
0000000100005cbf	movl	%ecx, %edx
0000000100005cc1	addq	%rdx, %rax
0000000100005cc4	movq	%rax, -0x68(%rbp)
0000000100005cc8	movq	-0x68(%rbp), %rax
0000000100005ccc	cmpq	-0x50(%rbp), %rax
0000000100005cd0	jb	0x100005ce4
0000000100005cd6	movq	-0x68(%rbp), %rax
0000000100005cda	cmpq	-0x40(%rbp), %rax
0000000100005cde	jbe	0x100005cf1
0000000100005ce4	movq	-0x40(%rbp), %rax
0000000100005ce8	movq	%rax, -0x8(%rbp)
0000000100005cec	jmp	0x100005d3a
0000000100005cf1	movq	-0x68(%rbp), %rax
0000000100005cf5	movq	%rax, -0x50(%rbp)
0000000100005cf9	movl	-0x58(%rbp), %eax
0000000100005cfc	addl	$0x1, %eax
0000000100005cff	movl	%eax, -0x58(%rbp)
0000000100005d02	jmp	0x100005ba2
0000000100005d07	testb	$0x1, -0x41(%rbp)
0000000100005d0b	je	0x100005d32
0000000100005d11	movq	-0x18(%rbp), %rdi
0000000100005d15	movl	-0x10(%rbp), %esi
0000000100005d18	callq	_strconv__underscore_ok
0000000100005d1d	testb	$0x1, %al
0000000100005d1f	jne	0x100005d32
0000000100005d25	movq	$0x0, -0x8(%rbp)
0000000100005d2d	jmp	0x100005d3a
0000000100005d32	movq	-0x50(%rbp), %rax
0000000100005d36	movq	%rax, -0x8(%rbp)
0000000100005d3a	movq	-0x8(%rbp), %rax
0000000100005d3e	addq	$0x80, %rsp
0000000100005d45	popq	%rbp
0000000100005d46	retq
0000000100005d47	nopw	(%rax,%rax)
_string_u64:
0000000100005d50	pushq	%rbp
0000000100005d51	movq	%rsp, %rbp
0000000100005d54	subq	$0x10, %rsp
0000000100005d58	xorl	%edx, %edx
0000000100005d5a	movl	$0x40, %ecx
0000000100005d5f	movq	%rdi, -0x10(%rbp)
0000000100005d63	movl	%esi, -0x8(%rbp)
0000000100005d66	movq	-0x10(%rbp), %rdi
0000000100005d6a	movl	-0x8(%rbp), %esi
0000000100005d6d	callq	_strconv__parse_uint
0000000100005d72	addq	$0x10, %rsp
0000000100005d76	popq	%rbp
0000000100005d77	retq
0000000100005d78	nopl	(%rax,%rax)
_string_ne:
0000000100005d80	pushq	%rbp
0000000100005d81	movq	%rsp, %rbp
0000000100005d84	subq	$0x20, %rsp
0000000100005d88	movq	%rdi, -0x10(%rbp)
0000000100005d8c	movl	%esi, -0x8(%rbp)
0000000100005d8f	movq	%rdx, -0x20(%rbp)
0000000100005d93	movl	%ecx, -0x18(%rbp)
0000000100005d96	movq	-0x10(%rbp), %rdi
0000000100005d9a	movl	-0x8(%rbp), %esi
0000000100005d9d	movq	-0x20(%rbp), %rdx
0000000100005da1	movl	-0x18(%rbp), %ecx
0000000100005da4	callq	_string_eq
0000000100005da9	xorb	$-0x1, %al
0000000100005dab	andb	$0x1, %al
0000000100005dad	movzbl	%al, %eax
0000000100005db0	addq	$0x20, %rsp
0000000100005db4	popq	%rbp
0000000100005db5	retq
0000000100005db6	nopw	%cs:(%rax,%rax)
_string_lt:
0000000100005dc0	pushq	%rbp
0000000100005dc1	movq	%rsp, %rbp
0000000100005dc4	movq	%rdi, -0x18(%rbp)
0000000100005dc8	movl	%esi, -0x10(%rbp)
0000000100005dcb	movq	%rdx, -0x28(%rbp)
0000000100005dcf	movl	%ecx, -0x20(%rbp)
0000000100005dd2	movl	$0x0, -0x2c(%rbp)
0000000100005dd9	movl	-0x2c(%rbp), %eax
0000000100005ddc	cmpl	-0x10(%rbp), %eax
0000000100005ddf	jge	0x100005e5b
0000000100005de5	movl	-0x2c(%rbp), %eax
0000000100005de8	cmpl	-0x20(%rbp), %eax
0000000100005deb	jge	0x100005e11
0000000100005df1	movq	-0x18(%rbp), %rax
0000000100005df5	movslq	-0x2c(%rbp), %rcx
0000000100005df9	movzbl	(%rax,%rcx), %edx
0000000100005dfd	movq	-0x28(%rbp), %rax
0000000100005e01	movslq	-0x2c(%rbp), %rcx
0000000100005e05	movzbl	(%rax,%rcx), %esi
0000000100005e09	cmpl	%esi, %edx
0000000100005e0b	jle	0x100005e1a
0000000100005e11	movb	$0x0, -0x1(%rbp)
0000000100005e15	jmp	0x100005e74
0000000100005e1a	movq	-0x18(%rbp), %rax
0000000100005e1e	movslq	-0x2c(%rbp), %rcx
0000000100005e22	movzbl	(%rax,%rcx), %edx
0000000100005e26	movq	-0x28(%rbp), %rax
0000000100005e2a	movslq	-0x2c(%rbp), %rcx
0000000100005e2e	movzbl	(%rax,%rcx), %esi
0000000100005e32	cmpl	%esi, %edx
0000000100005e34	jge	0x100005e43
0000000100005e3a	movb	$0x1, -0x1(%rbp)
0000000100005e3e	jmp	0x100005e74
0000000100005e43	jmp	0x100005e48
0000000100005e48	jmp	0x100005e4d
0000000100005e4d	movl	-0x2c(%rbp), %eax
0000000100005e50	addl	$0x1, %eax
0000000100005e53	movl	%eax, -0x2c(%rbp)
0000000100005e56	jmp	0x100005dd9
0000000100005e5b	movl	-0x10(%rbp), %eax
0000000100005e5e	cmpl	-0x20(%rbp), %eax
0000000100005e61	jge	0x100005e70
0000000100005e67	movb	$0x1, -0x1(%rbp)
0000000100005e6b	jmp	0x100005e74
0000000100005e70	movb	$0x0, -0x1(%rbp)
0000000100005e74	movb	-0x1(%rbp), %al
0000000100005e77	andb	$0x1, %al
0000000100005e79	movzbl	%al, %eax
0000000100005e7c	popq	%rbp
0000000100005e7d	retq
0000000100005e7e	nop
_string_le:
0000000100005e80	pushq	%rbp
0000000100005e81	movq	%rsp, %rbp
0000000100005e84	subq	$0x30, %rsp
0000000100005e88	movq	%rdi, -0x10(%rbp)
0000000100005e8c	movl	%esi, -0x8(%rbp)
0000000100005e8f	movq	%rdx, -0x20(%rbp)
0000000100005e93	movl	%ecx, -0x18(%rbp)
0000000100005e96	movq	-0x10(%rbp), %rdi
0000000100005e9a	movl	-0x8(%rbp), %esi
0000000100005e9d	movq	-0x20(%rbp), %rdx
0000000100005ea1	movl	-0x18(%rbp), %ecx
0000000100005ea4	callq	_string_lt
0000000100005ea9	movb	$0x1, %r8b
0000000100005eac	testb	$0x1, %al
0000000100005eae	movb	%r8b, -0x21(%rbp)
0000000100005eb2	jne	0x100005ece
0000000100005eb8	movq	-0x10(%rbp), %rdi
0000000100005ebc	movl	-0x8(%rbp), %esi
0000000100005ebf	movq	-0x20(%rbp), %rdx
0000000100005ec3	movl	-0x18(%rbp), %ecx
0000000100005ec6	callq	_string_eq
0000000100005ecb	movb	%al, -0x21(%rbp)
0000000100005ece	movb	-0x21(%rbp), %al
0000000100005ed1	andb	$0x1, %al
0000000100005ed3	movzbl	%al, %eax
0000000100005ed6	addq	$0x30, %rsp
0000000100005eda	popq	%rbp
0000000100005edb	retq
0000000100005edc	nopl	(%rax)
_string_ge:
0000000100005ee0	pushq	%rbp
0000000100005ee1	movq	%rsp, %rbp
0000000100005ee4	subq	$0x20, %rsp
0000000100005ee8	movq	%rdi, -0x10(%rbp)
0000000100005eec	movl	%esi, -0x8(%rbp)
0000000100005eef	movq	%rdx, -0x20(%rbp)
0000000100005ef3	movl	%ecx, -0x18(%rbp)
0000000100005ef6	movq	-0x10(%rbp), %rdi
0000000100005efa	movl	-0x8(%rbp), %esi
0000000100005efd	movq	-0x20(%rbp), %rdx
0000000100005f01	movl	-0x18(%rbp), %ecx
0000000100005f04	callq	_string_lt
0000000100005f09	xorb	$-0x1, %al
0000000100005f0b	andb	$0x1, %al
0000000100005f0d	movzbl	%al, %eax
0000000100005f10	addq	$0x20, %rsp
0000000100005f14	popq	%rbp
0000000100005f15	retq
0000000100005f16	nopw	%cs:(%rax,%rax)
_string_split:
0000000100005f20	pushq	%rbp
0000000100005f21	movq	%rsp, %rbp
0000000100005f24	pushq	%r14
0000000100005f26	pushq	%rbx
0000000100005f27	subq	$0xc0, %rsp
0000000100005f2e	movq	%rdi, %rax
0000000100005f31	leaq	-0x60(%rbp), %r9
0000000100005f35	xorl	%r10d, %r10d
0000000100005f38	movl	$0x10, %r11d
0000000100005f3e	leaq	-0x28(%rbp), %rbx
0000000100005f42	movq	0x70ef(%rip), %r14 ## literal pool symbol address: ___stack_chk_guard
0000000100005f49	movq	(%r14), %r14
0000000100005f4c	movq	%r14, -0x18(%rbp)
0000000100005f50	movq	%rsi, -0x38(%rbp)
0000000100005f54	movl	%edx, -0x30(%rbp)
0000000100005f57	movq	%rcx, -0x48(%rbp)
0000000100005f5b	movl	%r8d, -0x40(%rbp)
0000000100005f5f	movq	$0x0, -0x28(%rbp)
0000000100005f67	movl	$0x0, -0x20(%rbp)
0000000100005f6e	movq	%rdi, -0xc0(%rbp)
0000000100005f75	movq	%r9, %rdi
0000000100005f78	movl	%r10d, %esi
0000000100005f7b	movl	%r10d, %edx
0000000100005f7e	movl	%r11d, %ecx
0000000100005f81	movq	%rbx, %r8
0000000100005f84	movq	%rax, -0xc8(%rbp)
0000000100005f8b	callq	_new_array_from_c_array
0000000100005f90	cmpl	$0x0, -0x40(%rbp)
0000000100005f94	jne	0x100005fdd
0000000100005f9a	leaq	-0x60(%rbp), %rdi
0000000100005f9e	leaq	-0x70(%rbp), %rax
0000000100005fa2	movq	-0x38(%rbp), %rcx
0000000100005fa6	movq	%rcx, -0x70(%rbp)
0000000100005faa	movq	-0x30(%rbp), %rcx
0000000100005fae	movq	%rcx, -0x68(%rbp)
0000000100005fb2	movq	%rax, %rsi
0000000100005fb5	callq	_array_push
0000000100005fba	movq	-0x60(%rbp), %rax
0000000100005fbe	movq	-0xc0(%rbp), %rcx
0000000100005fc5	movq	%rax, (%rcx)
0000000100005fc8	movq	-0x58(%rbp), %rax
0000000100005fcc	movq	%rax, 0x8(%rcx)
0000000100005fd0	movq	-0x50(%rbp), %rax
0000000100005fd4	movq	%rax, 0x10(%rcx)
0000000100005fd8	jmp	0x10000620b
0000000100005fdd	cmpl	$0x1, -0x40(%rbp)
0000000100005fe1	jne	0x100006008
0000000100005fe7	movq	-0x48(%rbp), %rax
0000000100005feb	movb	(%rax), %cl
0000000100005fed	movq	-0x38(%rbp), %rsi
0000000100005ff1	movl	-0x30(%rbp), %edx
0000000100005ff4	movq	-0xc0(%rbp), %rdi
0000000100005ffb	movzbl	%cl, %ecx
0000000100005ffe	callq	_string_split_single
0000000100006003	jmp	0x10000620b
0000000100006008	movl	$0x0, -0x74(%rbp)
000000010000600f	movl	$0x0, -0x78(%rbp)
0000000100006016	movl	-0x74(%rbp), %eax
0000000100006019	cmpl	-0x30(%rbp), %eax
000000010000601c	jge	0x1000061ed
0000000100006022	movq	-0x38(%rbp), %rax
0000000100006026	movslq	-0x74(%rbp), %rcx
000000010000602a	movzbl	(%rax,%rcx), %edx
000000010000602e	movq	-0x48(%rbp), %rax
0000000100006032	movzbl	(%rax), %esi
0000000100006035	cmpl	%esi, %edx
0000000100006037	sete	%dil
000000010000603b	andb	$0x1, %dil
000000010000603f	movb	%dil, -0x79(%rbp)
0000000100006043	movl	$0x1, -0x80(%rbp)
000000010000604a	xorl	%eax, %eax
000000010000604c	movb	%al, %cl
000000010000604e	movl	-0x80(%rbp), %eax
0000000100006051	cmpl	-0x40(%rbp), %eax
0000000100006054	movb	%cl, -0xc9(%rbp)
000000010000605a	jge	0x100006069
0000000100006060	movb	-0x79(%rbp), %al
0000000100006063	movb	%al, -0xc9(%rbp)
0000000100006069	movb	-0xc9(%rbp), %al
000000010000606f	testb	$0x1, %al
0000000100006071	jne	0x10000607c
0000000100006077	jmp	0x1000060d3
000000010000607c	xorl	%eax, %eax
000000010000607e	movb	%al, %cl
0000000100006080	testb	$0x1, -0x79(%rbp)
0000000100006084	movb	%cl, -0xca(%rbp)
000000010000608a	je	0x1000060ba
0000000100006090	movq	-0x38(%rbp), %rax
0000000100006094	movl	-0x74(%rbp), %ecx
0000000100006097	addl	-0x80(%rbp), %ecx
000000010000609a	movslq	%ecx, %rdx
000000010000609d	movzbl	(%rax,%rdx), %ecx
00000001000060a1	movq	-0x48(%rbp), %rax
00000001000060a5	movslq	-0x80(%rbp), %rdx
00000001000060a9	movzbl	(%rax,%rdx), %esi
00000001000060ad	cmpl	%esi, %ecx
00000001000060af	sete	%dil
00000001000060b3	movb	%dil, -0xca(%rbp)
00000001000060ba	movb	-0xca(%rbp), %al
00000001000060c0	andb	$0x1, %al
00000001000060c2	movb	%al, -0x79(%rbp)
00000001000060c5	movl	-0x80(%rbp), %ecx
00000001000060c8	addl	$0x1, %ecx
00000001000060cb	movl	%ecx, -0x80(%rbp)
00000001000060ce	jmp	0x10000604a
00000001000060d3	movl	-0x74(%rbp), %eax
00000001000060d6	movl	-0x30(%rbp), %ecx
00000001000060d9	subl	$0x1, %ecx
00000001000060dc	cmpl	%ecx, %eax
00000001000060de	sete	%dl
00000001000060e1	andb	$0x1, %dl
00000001000060e4	movb	%dl, -0x81(%rbp)
00000001000060ea	testb	$0x1, -0x79(%rbp)
00000001000060ee	jne	0x100006101
00000001000060f4	testb	$0x1, -0x81(%rbp)
00000001000060fb	je	0x1000061df
0000000100006101	testb	$0x1, -0x81(%rbp)
0000000100006108	je	0x100006117
000000010000610e	movl	-0x74(%rbp), %eax
0000000100006111	addl	$0x1, %eax
0000000100006114	movl	%eax, -0x74(%rbp)
0000000100006117	movl	-0x78(%rbp), %edx
000000010000611a	movl	-0x74(%rbp), %ecx
000000010000611d	movq	-0x38(%rbp), %rdi
0000000100006121	movl	-0x30(%rbp), %esi
0000000100006124	callq	_string_substr
0000000100006129	movq	%rax, -0x98(%rbp)
0000000100006130	movl	%edx, -0x90(%rbp)
0000000100006136	cmpl	$0x0, -0x90(%rbp)
000000010000613d	jle	0x1000061d9
0000000100006143	movq	-0x98(%rbp), %rdi
000000010000614a	movl	-0x90(%rbp), %esi
0000000100006150	movq	-0x48(%rbp), %rdx
0000000100006154	movl	-0x40(%rbp), %ecx
0000000100006157	callq	_string_starts_with
000000010000615c	testb	$0x1, %al
000000010000615e	jne	0x100006169
0000000100006164	jmp	0x1000061a7
0000000100006169	movl	-0x40(%rbp), %edx
000000010000616c	movq	-0x98(%rbp), %rdi
0000000100006173	movl	-0x90(%rbp), %esi
0000000100006179	callq	_string_right
000000010000617e	movq	%rax, -0xa8(%rbp)
0000000100006185	movl	%edx, -0xa0(%rbp)
000000010000618b	movq	-0xa8(%rbp), %rax
0000000100006192	movq	%rax, -0x98(%rbp)
0000000100006199	movq	-0xa0(%rbp), %rax
00000001000061a0	movq	%rax, -0x90(%rbp)
00000001000061a7	movq	-0x98(%rbp), %rdi
00000001000061ae	movl	-0x90(%rbp), %esi
00000001000061b4	callq	_string_trim_space
00000001000061b9	leaq	-0x60(%rbp), %rdi
00000001000061bd	leaq	-0xb8(%rbp), %rcx
00000001000061c4	movq	%rax, -0xb8(%rbp)
00000001000061cb	movl	%edx, -0xb0(%rbp)
00000001000061d1	movq	%rcx, %rsi
00000001000061d4	callq	_array_push
00000001000061d9	movl	-0x74(%rbp), %eax
00000001000061dc	movl	%eax, -0x78(%rbp)
00000001000061df	movl	-0x74(%rbp), %eax
00000001000061e2	addl	$0x1, %eax
00000001000061e5	movl	%eax, -0x74(%rbp)
00000001000061e8	jmp	0x100006016
00000001000061ed	movq	-0x60(%rbp), %rax
00000001000061f1	movq	-0xc0(%rbp), %rcx
00000001000061f8	movq	%rax, (%rcx)
00000001000061fb	movq	-0x58(%rbp), %rax
00000001000061ff	movq	%rax, 0x8(%rcx)
0000000100006203	movq	-0x50(%rbp), %rax
0000000100006207	movq	%rax, 0x10(%rcx)
000000010000620b	movq	0x6e26(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
0000000100006212	movq	(%rax), %rax
0000000100006215	movq	-0x18(%rbp), %rcx
0000000100006219	cmpq	%rcx, %rax
000000010000621c	jne	0x100006235
0000000100006222	movq	-0xc8(%rbp), %rax
0000000100006229	addq	$0xc0, %rsp
0000000100006230	popq	%rbx
0000000100006231	popq	%r14
0000000100006233	popq	%rbp
0000000100006234	retq
0000000100006235	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
000000010000623a	ud2
000000010000623c	nopl	(%rax)
_string_split_single:
0000000100006240	pushq	%rbp
0000000100006241	movq	%rsp, %rbp
0000000100006244	subq	$0x80, %rsp
000000010000624b	movb	%cl, %al
000000010000624d	movq	%rdi, %r8
0000000100006250	xorl	%ecx, %ecx
0000000100006252	movl	$0x10, %r9d
0000000100006258	leaq	-0x18(%rbp), %r10
000000010000625c	movq	0x6dd5(%rip), %r11 ## literal pool symbol address: ___stack_chk_guard
0000000100006263	movq	(%r11), %r11
0000000100006266	movq	%r11, -0x8(%rbp)
000000010000626a	movq	%rsi, -0x28(%rbp)
000000010000626e	movl	%edx, -0x20(%rbp)
0000000100006271	movb	%al, -0x29(%rbp)
0000000100006274	movq	$0x0, -0x18(%rbp)
000000010000627c	movl	$0x0, -0x10(%rbp)
0000000100006283	movq	%rdi, -0x78(%rbp)
0000000100006287	movl	%ecx, %esi
0000000100006289	movl	%ecx, %edx
000000010000628b	movl	%r9d, %ecx
000000010000628e	movq	%r8, -0x80(%rbp)
0000000100006292	movq	%r10, %r8
0000000100006295	callq	_new_array_from_c_array
000000010000629a	movzbl	-0x29(%rbp), %ecx
000000010000629e	cmpl	$0x0, %ecx
00000001000062a1	jne	0x1000062cc
00000001000062a7	leaq	-0x40(%rbp), %rax
00000001000062ab	movq	-0x28(%rbp), %rcx
00000001000062af	movq	%rcx, -0x40(%rbp)
00000001000062b3	movq	-0x20(%rbp), %rcx
00000001000062b7	movq	%rcx, -0x38(%rbp)
00000001000062bb	movq	-0x78(%rbp), %rdi
00000001000062bf	movq	%rax, %rsi
00000001000062c2	callq	_array_push
00000001000062c7	jmp	0x1000063b2
00000001000062cc	movl	$0x0, -0x44(%rbp)
00000001000062d3	movl	$0x0, -0x48(%rbp)
00000001000062da	movl	-0x44(%rbp), %eax
00000001000062dd	cmpl	-0x20(%rbp), %eax
00000001000062e0	jge	0x1000063ad
00000001000062e6	movq	-0x28(%rbp), %rax
00000001000062ea	movslq	-0x44(%rbp), %rcx
00000001000062ee	movzbl	(%rax,%rcx), %edx
00000001000062f2	movzbl	-0x29(%rbp), %esi
00000001000062f6	cmpl	%esi, %edx
00000001000062f8	sete	%dil
00000001000062fc	andb	$0x1, %dil
0000000100006300	movb	%dil, -0x49(%rbp)
0000000100006304	movl	-0x44(%rbp), %edx
0000000100006307	movl	-0x20(%rbp), %esi
000000010000630a	subl	$0x1, %esi
000000010000630d	cmpl	%esi, %edx
000000010000630f	sete	%dil
0000000100006313	andb	$0x1, %dil
0000000100006317	movb	%dil, -0x4a(%rbp)
000000010000631b	testb	$0x1, -0x49(%rbp)
000000010000631f	jne	0x10000632f
0000000100006325	testb	$0x1, -0x4a(%rbp)
0000000100006329	je	0x10000639f
000000010000632f	testb	$0x1, -0x49(%rbp)
0000000100006333	jne	0x100006353
0000000100006339	movl	-0x44(%rbp), %eax
000000010000633c	movl	-0x20(%rbp), %ecx
000000010000633f	subl	$0x1, %ecx
0000000100006342	cmpl	%ecx, %eax
0000000100006344	jne	0x100006353
000000010000634a	movl	-0x44(%rbp), %eax
000000010000634d	addl	$0x1, %eax
0000000100006350	movl	%eax, -0x44(%rbp)
0000000100006353	movl	-0x48(%rbp), %edx
0000000100006356	movl	-0x44(%rbp), %ecx
0000000100006359	movq	-0x28(%rbp), %rdi
000000010000635d	movl	-0x20(%rbp), %esi
0000000100006360	callq	_string_substr
0000000100006365	movq	%rax, -0x60(%rbp)
0000000100006369	movl	%edx, -0x58(%rbp)
000000010000636c	cmpl	$0x0, -0x58(%rbp)
0000000100006370	jle	0x100006396
0000000100006376	leaq	-0x70(%rbp), %rax
000000010000637a	movq	-0x60(%rbp), %rcx
000000010000637e	movq	%rcx, -0x70(%rbp)
0000000100006382	movq	-0x58(%rbp), %rcx
0000000100006386	movq	%rcx, -0x68(%rbp)
000000010000638a	movq	-0x78(%rbp), %rdi
000000010000638e	movq	%rax, %rsi
0000000100006391	callq	_array_push
0000000100006396	movl	-0x44(%rbp), %eax
0000000100006399	addl	$0x1, %eax
000000010000639c	movl	%eax, -0x48(%rbp)
000000010000639f	movl	-0x44(%rbp), %eax
00000001000063a2	addl	$0x1, %eax
00000001000063a5	movl	%eax, -0x44(%rbp)
00000001000063a8	jmp	0x1000062da
00000001000063ad	jmp	0x1000063b2
00000001000063b2	movq	0x6c7f(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
00000001000063b9	movq	(%rax), %rax
00000001000063bc	movq	-0x8(%rbp), %rcx
00000001000063c0	cmpq	%rcx, %rax
00000001000063c3	jne	0x1000063d6
00000001000063c9	movq	-0x80(%rbp), %rax
00000001000063cd	addq	$0x80, %rsp
00000001000063d4	popq	%rbp
00000001000063d5	retq
00000001000063d6	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
00000001000063db	ud2
00000001000063dd	nopl	(%rax)
_string_starts_with:
00000001000063e0	pushq	%rbp
00000001000063e1	movq	%rsp, %rbp
00000001000063e4	subq	$0x30, %rsp
00000001000063e8	movq	%rdi, -0x10(%rbp)
00000001000063ec	movl	%esi, -0x8(%rbp)
00000001000063ef	movq	%rdx, -0x20(%rbp)
00000001000063f3	movl	%ecx, -0x18(%rbp)
00000001000063f6	movq	-0x10(%rbp), %rdi
00000001000063fa	movl	-0x8(%rbp), %esi
00000001000063fd	movq	-0x20(%rbp), %rdx
0000000100006401	movl	-0x18(%rbp), %ecx
0000000100006404	callq	_string_index
0000000100006409	cmpl	$0x0, %eax
000000010000640c	sete	%r8b
0000000100006410	andb	$0x1, %r8b
0000000100006414	movb	%r8b, -0x21(%rbp)
0000000100006418	movb	-0x21(%rbp), %r8b
000000010000641c	andb	$0x1, %r8b
0000000100006420	movzbl	%r8b, %eax
0000000100006424	addq	$0x30, %rsp
0000000100006428	popq	%rbp
0000000100006429	retq
000000010000642a	nopw	(%rax,%rax)
_string_right:
0000000100006430	pushq	%rbp
0000000100006431	movq	%rsp, %rbp
0000000100006434	subq	$0x30, %rsp
0000000100006438	movq	%rdi, -0x20(%rbp)
000000010000643c	movl	%esi, -0x18(%rbp)
000000010000643f	movl	%edx, -0x24(%rbp)
0000000100006442	movl	-0x24(%rbp), %edx
0000000100006445	cmpl	-0x18(%rbp), %edx
0000000100006448	jl	0x100006466
000000010000644e	leaq	0x4564(%rip), %rdi ## literal pool for: ""
0000000100006455	callq	_tos3
000000010000645a	movq	%rax, -0x10(%rbp)
000000010000645e	movl	%edx, -0x8(%rbp)
0000000100006461	jmp	0x10000647f
0000000100006466	movl	-0x24(%rbp), %edx
0000000100006469	movl	-0x18(%rbp), %ecx
000000010000646c	movq	-0x20(%rbp), %rdi
0000000100006470	movl	-0x18(%rbp), %esi
0000000100006473	callq	_string_substr
0000000100006478	movq	%rax, -0x10(%rbp)
000000010000647c	movl	%edx, -0x8(%rbp)
000000010000647f	movq	-0x10(%rbp), %rax
0000000100006483	movl	-0x8(%rbp), %edx
0000000100006486	addq	$0x30, %rsp
000000010000648a	popq	%rbp
000000010000648b	retq
000000010000648c	nopl	(%rax)
_string_trim_space:
0000000100006490	pushq	%rbp
0000000100006491	movq	%rsp, %rbp
0000000100006494	subq	$0x30, %rsp
0000000100006498	movq	%rdi, -0x20(%rbp)
000000010000649c	movl	%esi, -0x18(%rbp)
000000010000649f	leaq	0x4606(%rip), %rdi ## literal pool for: " \n\t\013\014\015"
00000001000064a6	callq	_tos3
00000001000064ab	movq	%rax, -0x30(%rbp)
00000001000064af	movl	%edx, -0x28(%rbp)
00000001000064b2	movq	-0x20(%rbp), %rdi
00000001000064b6	movl	-0x18(%rbp), %esi
00000001000064b9	movq	-0x30(%rbp), %rdx
00000001000064bd	movl	-0x28(%rbp), %ecx
00000001000064c0	callq	_string_trim
00000001000064c5	movq	%rax, -0x10(%rbp)
00000001000064c9	movl	%edx, -0x8(%rbp)
00000001000064cc	movq	-0x10(%rbp), %rax
00000001000064d0	movl	-0x8(%rbp), %edx
00000001000064d3	addq	$0x30, %rsp
00000001000064d7	popq	%rbp
00000001000064d8	retq
00000001000064d9	nopl	(%rax)
_string_split_into_lines:
00000001000064e0	pushq	%rbp
00000001000064e1	movq	%rsp, %rbp
00000001000064e4	subq	$0x70, %rsp
00000001000064e8	movq	%rdi, %rax
00000001000064eb	xorl	%ecx, %ecx
00000001000064ed	movl	$0x10, %r8d
00000001000064f3	leaq	-0x18(%rbp), %r9
00000001000064f7	movq	0x6b3a(%rip), %r10 ## literal pool symbol address: ___stack_chk_guard
00000001000064fe	movq	(%r10), %r10
0000000100006501	movq	%r10, -0x8(%rbp)
0000000100006505	movq	%rsi, -0x28(%rbp)
0000000100006509	movl	%edx, -0x20(%rbp)
000000010000650c	movq	$0x0, -0x18(%rbp)
0000000100006514	movl	$0x0, -0x10(%rbp)
000000010000651b	movq	%rdi, -0x60(%rbp)
000000010000651f	movl	%ecx, %esi
0000000100006521	movl	%ecx, %edx
0000000100006523	movl	%r8d, %ecx
0000000100006526	movq	%r9, %r8
0000000100006529	movq	%rax, -0x68(%rbp)
000000010000652d	callq	_new_array_from_c_array
0000000100006532	cmpl	$0x0, -0x20(%rbp)
0000000100006536	jne	0x100006541
000000010000653c	jmp	0x100006603
0000000100006541	movl	$0x0, -0x2c(%rbp)
0000000100006548	movl	$0x0, -0x30(%rbp)
000000010000654f	movl	-0x30(%rbp), %eax
0000000100006552	cmpl	-0x20(%rbp), %eax
0000000100006555	jge	0x1000065fe
000000010000655b	movl	-0x30(%rbp), %eax
000000010000655e	movl	-0x20(%rbp), %ecx
0000000100006561	subl	$0x1, %ecx
0000000100006564	cmpl	%ecx, %eax
0000000100006566	sete	%dl
0000000100006569	andb	$0x1, %dl
000000010000656c	movb	%dl, -0x31(%rbp)
000000010000656f	movq	-0x28(%rbp), %rsi
0000000100006573	movslq	-0x30(%rbp), %rdi
0000000100006577	movzbl	(%rsi,%rdi), %eax
000000010000657b	cmpl	$0xa, %eax
000000010000657e	je	0x10000658e
0000000100006584	testb	$0x1, -0x31(%rbp)
0000000100006588	je	0x1000065eb
000000010000658e	testb	$0x1, -0x31(%rbp)
0000000100006592	je	0x1000065a1
0000000100006598	movl	-0x30(%rbp), %eax
000000010000659b	addl	$0x1, %eax
000000010000659e	movl	%eax, -0x30(%rbp)
00000001000065a1	movl	-0x2c(%rbp), %edx
00000001000065a4	movl	-0x30(%rbp), %ecx
00000001000065a7	movq	-0x28(%rbp), %rdi
00000001000065ab	movl	-0x20(%rbp), %esi
00000001000065ae	callq	_string_substr
00000001000065b3	leaq	-0x58(%rbp), %rdi
00000001000065b7	movq	%rax, -0x48(%rbp)
00000001000065bb	movl	%edx, -0x40(%rbp)
00000001000065be	movq	-0x48(%rbp), %rax
00000001000065c2	movq	%rax, -0x58(%rbp)
00000001000065c6	movq	-0x40(%rbp), %rax
00000001000065ca	movq	%rax, -0x50(%rbp)
00000001000065ce	movq	-0x60(%rbp), %rax
00000001000065d2	movq	%rdi, -0x70(%rbp)
00000001000065d6	movq	%rax, %rdi
00000001000065d9	movq	-0x70(%rbp), %rsi
00000001000065dd	callq	_array_push
00000001000065e2	movl	-0x30(%rbp), %ecx
00000001000065e5	addl	$0x1, %ecx
00000001000065e8	movl	%ecx, -0x2c(%rbp)
00000001000065eb	jmp	0x1000065f0
00000001000065f0	movl	-0x30(%rbp), %eax
00000001000065f3	addl	$0x1, %eax
00000001000065f6	movl	%eax, -0x30(%rbp)
00000001000065f9	jmp	0x10000654f
00000001000065fe	jmp	0x100006603
0000000100006603	movq	0x6a2e(%rip), %rax ## literal pool symbol address: ___stack_chk_guard
000000010000660a	movq	(%rax), %rax
000000010000660d	movq	-0x8(%rbp), %rcx
0000000100006611	cmpq	%rcx, %rax
0000000100006614	jne	0x100006624
000000010000661a	movq	-0x68(%rbp), %rax
000000010000661e	addq	$0x70, %rsp
0000000100006622	popq	%rbp
0000000100006623	retq
0000000100006624	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
0000000100006629	ud2
000000010000662b	nopl	(%rax,%rax)
_string_left:
0000000100006630	pushq	%rbp
0000000100006631	movq	%rsp, %rbp
0000000100006634	subq	$0x30, %rsp
0000000100006638	movq	%rdi, -0x20(%rbp)
000000010000663c	movl	%esi, -0x18(%rbp)
000000010000663f	movl	%edx, -0x24(%rbp)
0000000100006642	movl	-0x24(%rbp), %edx
0000000100006645	cmpl	-0x18(%rbp), %edx
0000000100006648	jl	0x100006663
000000010000664e	movq	-0x20(%rbp), %rax
0000000100006652	movq	%rax, -0x10(%rbp)
0000000100006656	movq	-0x18(%rbp), %rax
000000010000665a	movq	%rax, -0x8(%rbp)
000000010000665e	jmp	0x10000667b
0000000100006663	xorl	%edx, %edx
0000000100006665	movl	-0x24(%rbp), %ecx
0000000100006668	movq	-0x20(%rbp), %rdi
000000010000666c	movl	-0x18(%rbp), %esi
000000010000666f	callq	_string_substr
0000000100006674	movq	%rax, -0x10(%rbp)
0000000100006678	movl	%edx, -0x8(%rbp)
000000010000667b	movq	-0x10(%rbp), %rax
000000010000667f	movl	-0x8(%rbp), %edx
0000000100006682	addq	$0x30, %rsp
0000000100006686	popq	%rbp
0000000100006687	retq
0000000100006688	nopl	(%rax,%rax)
_string_index_kmp:
0000000100006690	pushq	%rbp
0000000100006691	movq	%rsp, %rbp
0000000100006694	subq	$0xa0, %rsp
000000010000669b	movq	%rdi, -0x18(%rbp)
000000010000669f	movl	%esi, -0x10(%rbp)
00000001000066a2	movq	%rdx, -0x28(%rbp)
00000001000066a6	movl	%ecx, -0x20(%rbp)
00000001000066a9	movl	-0x20(%rbp), %ecx
00000001000066ac	cmpl	-0x10(%rbp), %ecx
00000001000066af	jle	0x1000066c1
00000001000066b5	movl	$0xffffffff, -0x4(%rbp)
00000001000066bc	jmp	0x1000068ec
00000001000066c1	leaq	-0x58(%rbp), %rdi
00000001000066c5	movl	$0x1, %eax
00000001000066ca	movl	$0x4, %ecx
00000001000066cf	leaq	-0x5c(%rbp), %rdx
00000001000066d3	movl	$0x0, -0x5c(%rbp)
00000001000066da	movl	%eax, %esi
00000001000066dc	movq	%rdx, -0x78(%rbp)
00000001000066e0	movl	%eax, %edx
00000001000066e2	movq	-0x78(%rbp), %r8
00000001000066e6	callq	_new_array_from_c_array
00000001000066eb	leaq	-0x40(%rbp), %rdi
00000001000066ef	leaq	-0x58(%rbp), %r8
00000001000066f3	movl	-0x20(%rbp), %esi
00000001000066f6	movq	(%r8), %r9
00000001000066f9	movq	%r9, (%rsp)
00000001000066fd	movq	0x8(%r8), %r9
0000000100006701	movq	%r9, 0x8(%rsp)
0000000100006706	movq	0x10(%r8), %r8
000000010000670a	movq	%r8, 0x10(%rsp)
000000010000670f	callq	_array_repeat
0000000100006714	movl	$0x0, -0x60(%rbp)
000000010000671b	movl	$0x1, -0x64(%rbp)
0000000100006722	movl	-0x64(%rbp), %eax
0000000100006725	cmpl	-0x20(%rbp), %eax
0000000100006728	jge	0x1000067f8
000000010000672e	jmp	0x100006733
0000000100006733	xorl	%eax, %eax
0000000100006735	movb	%al, %cl
0000000100006737	movq	-0x28(%rbp), %rdx
000000010000673b	movslq	-0x60(%rbp), %rsi
000000010000673f	movzbl	(%rdx,%rsi), %eax
0000000100006743	movq	-0x28(%rbp), %rdx
0000000100006747	movslq	-0x64(%rbp), %rsi
000000010000674b	movzbl	(%rdx,%rsi), %edi
000000010000674f	cmpl	%edi, %eax
0000000100006751	movb	%cl, -0x79(%rbp)
0000000100006754	je	0x100006764
000000010000675a	cmpl	$0x0, -0x60(%rbp)
000000010000675e	setg	%al
0000000100006761	movb	%al, -0x79(%rbp)
0000000100006764	movb	-0x79(%rbp), %al
0000000100006767	testb	$0x1, %al
0000000100006769	jne	0x100006774
000000010000676f	jmp	0x1000067a8
0000000100006774	leaq	-0x40(%rbp), %rax
0000000100006778	movl	-0x60(%rbp), %ecx
000000010000677b	subl	$0x1, %ecx
000000010000677e	movq	(%rax), %rdx
0000000100006781	movq	%rdx, (%rsp)
0000000100006785	movq	0x8(%rax), %rdx
0000000100006789	movq	%rdx, 0x8(%rsp)
000000010000678e	movq	0x10(%rax), %rax
0000000100006792	movq	%rax, 0x10(%rsp)
0000000100006797	movl	%ecx, %edi
0000000100006799	callq	_array_get
000000010000679e	movl	(%rax), %ecx
00000001000067a0	movl	%ecx, -0x60(%rbp)
00000001000067a3	jmp	0x100006733
00000001000067a8	movq	-0x28(%rbp), %rax
00000001000067ac	movslq	-0x60(%rbp), %rcx
00000001000067b0	movzbl	(%rax,%rcx), %edx
00000001000067b4	movq	-0x28(%rbp), %rax
00000001000067b8	movslq	-0x64(%rbp), %rcx
00000001000067bc	movzbl	(%rax,%rcx), %esi
00000001000067c0	cmpl	%esi, %edx
00000001000067c2	jne	0x1000067d1
00000001000067c8	movl	-0x60(%rbp), %eax
00000001000067cb	addl	$0x1, %eax
00000001000067ce	movl	%eax, -0x60(%rbp)
00000001000067d1	leaq	-0x40(%rbp), %rdi
00000001000067d5	leaq	-0x68(%rbp), %rax
00000001000067d9	movl	-0x64(%rbp), %esi
00000001000067dc	movl	-0x60(%rbp), %ecx
00000001000067df	movl	%ecx, -0x68(%rbp)
00000001000067e2	movq	%rax, %rdx
00000001000067e5	callq	_array_set
00000001000067ea	movl	-0x64(%rbp), %eax
00000001000067ed	addl	$0x1, %eax
00000001000067f0	movl	%eax, -0x64(%rbp)
00000001000067f3	jmp	0x100006722
00000001000067f8	movl	$0x0, -0x60(%rbp)
00000001000067ff	movl	$0x0, -0x6c(%rbp)
0000000100006806	movl	-0x6c(%rbp), %eax
0000000100006809	cmpl	-0x10(%rbp), %eax
000000010000680c	jge	0x1000068e5
0000000100006812	jmp	0x100006817
0000000100006817	xorl	%eax, %eax
0000000100006819	movb	%al, %cl
000000010000681b	movq	-0x28(%rbp), %rdx
000000010000681f	movslq	-0x60(%rbp), %rsi
0000000100006823	movzbl	(%rdx,%rsi), %eax
0000000100006827	movq	-0x18(%rbp), %rdx
000000010000682b	movslq	-0x6c(%rbp), %rsi
000000010000682f	movzbl	(%rdx,%rsi), %edi
0000000100006833	cmpl	%edi, %eax
0000000100006835	movb	%cl, -0x7a(%rbp)
0000000100006838	je	0x100006848
000000010000683e	cmpl	$0x0, -0x60(%rbp)
0000000100006842	setg	%al
0000000100006845	movb	%al, -0x7a(%rbp)
0000000100006848	movb	-0x7a(%rbp), %al
000000010000684b	testb	$0x1, %al
000000010000684d	jne	0x100006858
0000000100006853	jmp	0x10000688c
0000000100006858	leaq	-0x40(%rbp), %rax
000000010000685c	movl	-0x60(%rbp), %ecx
000000010000685f	subl	$0x1, %ecx
0000000100006862	movq	(%rax), %rdx
0000000100006865	movq	%rdx, (%rsp)
0000000100006869	movq	0x8(%rax), %rdx
000000010000686d	movq	%rdx, 0x8(%rsp)
0000000100006872	movq	0x10(%rax), %rax
0000000100006876	movq	%rax, 0x10(%rsp)
000000010000687b	movl	%ecx, %edi
000000010000687d	callq	_array_get
0000000100006882	movl	(%rax), %ecx
0000000100006884	movl	%ecx, -0x60(%rbp)
0000000100006887	jmp	0x100006817
000000010000688c	movq	-0x28(%rbp), %rax
0000000100006890	movslq	-0x60(%rbp), %rcx
0000000100006894	movzbl	(%rax,%rcx), %edx
0000000100006898	movq	-0x18(%rbp), %rax
000000010000689c	movslq	-0x6c(%rbp), %rcx
00000001000068a0	movzbl	(%rax,%rcx), %esi
00000001000068a4	cmpl	%esi, %edx
00000001000068a6	jne	0x1000068b5
00000001000068ac	movl	-0x60(%rbp), %eax
00000001000068af	addl	$0x1, %eax
00000001000068b2	movl	%eax, -0x60(%rbp)
00000001000068b5	movl	-0x60(%rbp), %eax
00000001000068b8	cmpl	-0x20(%rbp), %eax
00000001000068bb	jne	0x1000068d2
00000001000068c1	movl	-0x6c(%rbp), %eax
00000001000068c4	subl	-0x20(%rbp), %eax
00000001000068c7	addl	$0x1, %eax
00000001000068ca	movl	%eax, -0x4(%rbp)
00000001000068cd	jmp	0x1000068ec
00000001000068d2	jmp	0x1000068d7
00000001000068d7	movl	-0x6c(%rbp), %eax
00000001000068da	addl	$0x1, %eax
00000001000068dd	movl	%eax, -0x6c(%rbp)
00000001000068e0	jmp	0x100006806
00000001000068e5	movl	$0xffffffff, -0x4(%rbp)
00000001000068ec	movl	-0x4(%rbp), %eax
00000001000068ef	addq	$0xa0, %rsp
00000001000068f6	popq	%rbp
00000001000068f7	retq
00000001000068f8	nopl	(%rax,%rax)
_string_index_any:
0000000100006900	pushq	%rbp
0000000100006901	movq	%rsp, %rbp
0000000100006904	subq	$0x70, %rsp
0000000100006908	leaq	-0x50(%rbp), %rax
000000010000690c	movq	%rdi, -0x18(%rbp)
0000000100006910	movl	%esi, -0x10(%rbp)
0000000100006913	movq	%rdx, -0x28(%rbp)
0000000100006917	movl	%ecx, -0x20(%rbp)
000000010000691a	movq	-0x28(%rbp), %rdx
000000010000691e	movq	%rdx, -0x38(%rbp)
0000000100006922	movq	-0x20(%rbp), %rdx
0000000100006926	movq	%rdx, -0x30(%rbp)
000000010000692a	movq	-0x38(%rbp), %rsi
000000010000692e	movl	-0x30(%rbp), %edx
0000000100006931	movq	%rax, %rdi
0000000100006934	callq	_string_bytes
0000000100006939	movl	$0x0, -0x54(%rbp)
0000000100006940	movl	-0x54(%rbp), %eax
0000000100006943	cmpl	-0x30(%rbp), %eax
0000000100006946	jge	0x1000069a8
000000010000694c	movq	-0x50(%rbp), %rax
0000000100006950	movslq	-0x54(%rbp), %rcx
0000000100006954	movb	(%rax,%rcx), %dl
0000000100006957	movb	%dl, -0x55(%rbp)
000000010000695a	movzbl	-0x55(%rbp), %edi
000000010000695e	callq	_byte_str
0000000100006963	movq	%rax, -0x70(%rbp)
0000000100006967	movl	%edx, -0x68(%rbp)
000000010000696a	movq	-0x18(%rbp), %rdi
000000010000696e	movl	-0x10(%rbp), %esi
0000000100006971	movq	-0x70(%rbp), %rdx
0000000100006975	movl	-0x68(%rbp), %ecx
0000000100006978	callq	_string_index
000000010000697d	movl	%eax, -0x5c(%rbp)
0000000100006980	cmpl	$-0x1, -0x5c(%rbp)
0000000100006984	je	0x100006995
000000010000698a	movl	-0x5c(%rbp), %eax
000000010000698d	movl	%eax, -0x4(%rbp)
0000000100006990	jmp	0x1000069af
0000000100006995	jmp	0x10000699a
000000010000699a	movl	-0x54(%rbp), %eax
000000010000699d	addl	$0x1, %eax
00000001000069a0	movl	%eax, -0x54(%rbp)
00000001000069a3	jmp	0x100006940
00000001000069a8	movl	$0xffffffff, -0x4(%rbp)
00000001000069af	movl	-0x4(%rbp), %eax
00000001000069b2	addq	$0x70, %rsp
00000001000069b6	popq	%rbp
00000001000069b7	retq
00000001000069b8	nopl	(%rax,%rax)
_string_bytes:
00000001000069c0	pushq	%rbp
00000001000069c1	movq	%rsp, %rbp
00000001000069c4	subq	$0x80, %rsp
00000001000069cb	movq	%rdi, %rax
00000001000069ce	movq	%rsi, -0x10(%rbp)
00000001000069d2	movl	%edx, -0x8(%rbp)
00000001000069d5	cmpl	$0x0, -0x8(%rbp)
00000001000069d9	movq	%rax, -0x58(%rbp)
00000001000069dd	movq	%rdi, -0x60(%rbp)
00000001000069e1	jne	0x100006a08
00000001000069e7	xorl	%eax, %eax
00000001000069e9	movl	$0x1, %ecx
00000001000069ee	leaq	-0x11(%rbp), %r8
00000001000069f2	movb	$0x0, -0x11(%rbp)
00000001000069f6	movq	-0x60(%rbp), %rdi
00000001000069fa	movl	%eax, %esi
00000001000069fc	movl	%eax, %edx
00000001000069fe	callq	_new_array_from_c_array
0000000100006a03	jmp	0x100006a84
0000000100006a08	leaq	-0x48(%rbp), %rdi
0000000100006a0c	movl	$0x1, %eax
0000000100006a11	leaq	-0x49(%rbp), %r8
0000000100006a15	movb	$0x0, -0x49(%rbp)
0000000100006a19	movl	%eax, %esi
0000000100006a1b	movl	%eax, %edx
0000000100006a1d	movl	%eax, %ecx
0000000100006a1f	callq	_new_array_from_c_array
0000000100006a24	leaq	-0x30(%rbp), %rdi
0000000100006a28	leaq	-0x48(%rbp), %r8
0000000100006a2c	movl	-0x8(%rbp), %esi
0000000100006a2f	movq	(%r8), %r9
0000000100006a32	movq	%r9, (%rsp)
0000000100006a36	movq	0x8(%r8), %r9
0000000100006a3a	movq	%r9, 0x8(%rsp)
0000000100006a3f	movq	0x10(%r8), %r8
0000000100006a43	movq	%r8, 0x10(%rsp)
0000000100006a48	callq	_array_repeat
0000000100006a4d	movq	$-0x1, %rcx
0000000100006a54	movq	-0x30(%rbp), %rdi
0000000100006a58	movq	-0x10(%rbp), %rsi
0000000100006a5c	movslq	-0x8(%rbp), %rdx
0000000100006a60	callq	0x10000a598 ## symbol stub for: ___memcpy_chk
0000000100006a65	movq	-0x30(%rbp), %rcx
0000000100006a69	movq	-0x60(%rbp), %rdx
0000000100006a6d	movq	%rcx, (%rdx)
0000000100006a70	movq	-0x28(%rbp), %rcx
0000000100006a74	movq	%rcx, 0x8(%rdx)
0000000100006a78	movq	-0x20(%rbp), %rcx
0000000100006a7c	movq	%rcx, 0x10(%rdx)
0000000100006a80	movq	%rax, -0x68(%rbp)
0000000100006a84	movq	-0x58(%rbp), %rax
0000000100006a88	addq	$0x80, %rsp
0000000100006a8f	popq	%rbp
0000000100006a90	retq
0000000100006a91	nopw	%cs:(%rax,%rax)
_string_last_index:
0000000100006aa0	pushq	%rbp
0000000100006aa1	movq	%rsp, %rbp
0000000100006aa4	movq	%rdi, -0x18(%rbp)
0000000100006aa8	movl	%esi, -0x10(%rbp)
0000000100006aab	movq	%rdx, -0x28(%rbp)
0000000100006aaf	movl	%ecx, -0x20(%rbp)
0000000100006ab2	movl	-0x20(%rbp), %ecx
0000000100006ab5	cmpl	-0x10(%rbp), %ecx
0000000100006ab8	jle	0x100006aca
0000000100006abe	movl	$0xffffffff, -0x4(%rbp)
0000000100006ac5	jmp	0x100006b68
0000000100006aca	movl	-0x10(%rbp), %eax
0000000100006acd	subl	-0x20(%rbp), %eax
0000000100006ad0	movl	%eax, -0x2c(%rbp)
0000000100006ad3	cmpl	$0x0, -0x2c(%rbp)
0000000100006ad7	jl	0x100006b61
0000000100006add	movl	$0x0, -0x30(%rbp)
0000000100006ae4	xorl	%eax, %eax
0000000100006ae6	movb	%al, %cl
0000000100006ae8	movl	-0x30(%rbp), %eax
0000000100006aeb	cmpl	-0x20(%rbp), %eax
0000000100006aee	movb	%cl, -0x31(%rbp)
0000000100006af1	jge	0x100006b1e
0000000100006af7	movq	-0x18(%rbp), %rax
0000000100006afb	movl	-0x2c(%rbp), %ecx
0000000100006afe	addl	-0x30(%rbp), %ecx
0000000100006b01	movslq	%ecx, %rdx
0000000100006b04	movzbl	(%rax,%rdx), %ecx
0000000100006b08	movq	-0x28(%rbp), %rax
0000000100006b0c	movslq	-0x30(%rbp), %rdx
0000000100006b10	movzbl	(%rax,%rdx), %esi
0000000100006b14	cmpl	%esi, %ecx
0000000100006b16	sete	%dil
0000000100006b1a	movb	%dil, -0x31(%rbp)
0000000100006b1e	movb	-0x31(%rbp), %al
0000000100006b21	testb	$0x1, %al
0000000100006b23	jne	0x100006b2e
0000000100006b29	jmp	0x100006b3c
0000000100006b2e	movl	-0x30(%rbp), %eax
0000000100006b31	addl	$0x1, %eax
0000000100006b34	movl	%eax, -0x30(%rbp)
0000000100006b37	jmp	0x100006ae4
0000000100006b3c	movl	-0x30(%rbp), %eax
0000000100006b3f	cmpl	-0x20(%rbp), %eax
0000000100006b42	jne	0x100006b53
0000000100006b48	movl	-0x2c(%rbp), %eax
0000000100006b4b	movl	%eax, -0x4(%rbp)
0000000100006b4e	jmp	0x100006b68
0000000100006b53	movl	-0x2c(%rbp), %eax
0000000100006b56	addl	$-0x1, %eax
0000000100006b59	movl	%eax, -0x2c(%rbp)
0000000100006b5c	jmp	0x100006ad3
0000000100006b61	movl	$0xffffffff, -0x4(%rbp)
0000000100006b68	movl	-0x4(%rbp), %eax
0000000100006b6b	popq	%rbp
0000000100006b6c	retq
0000000100006b6d	nopl	(%rax)
_string_index_after:
0000000100006b70	pushq	%rbp
0000000100006b71	movq	%rsp, %rbp
0000000100006b74	movq	%rdi, -0x18(%rbp)
0000000100006b78	movl	%esi, -0x10(%rbp)
0000000100006b7b	movq	%rdx, -0x28(%rbp)
0000000100006b7f	movl	%ecx, -0x20(%rbp)
0000000100006b82	movl	%r8d, -0x2c(%rbp)
0000000100006b86	movl	-0x20(%rbp), %ecx
0000000100006b89	cmpl	-0x10(%rbp), %ecx
0000000100006b8c	jle	0x100006b9e
0000000100006b92	movl	$0xffffffff, -0x4(%rbp)
0000000100006b99	jmp	0x100006c74
0000000100006b9e	movl	-0x2c(%rbp), %eax
0000000100006ba1	movl	%eax, -0x30(%rbp)
0000000100006ba4	cmpl	$0x0, -0x2c(%rbp)
0000000100006ba8	jge	0x100006bb5
0000000100006bae	movl	$0x0, -0x30(%rbp)
0000000100006bb5	movl	-0x2c(%rbp), %eax
0000000100006bb8	cmpl	-0x10(%rbp), %eax
0000000100006bbb	jl	0x100006bcd
0000000100006bc1	movl	$0xffffffff, -0x4(%rbp)
0000000100006bc8	jmp	0x100006c74
0000000100006bcd	movl	-0x30(%rbp), %eax
0000000100006bd0	movl	%eax, -0x34(%rbp)
0000000100006bd3	movl	-0x34(%rbp), %eax
0000000100006bd6	cmpl	-0x10(%rbp), %eax
0000000100006bd9	jge	0x100006c6d
0000000100006bdf	movl	$0x0, -0x38(%rbp)
0000000100006be6	movl	-0x34(%rbp), %eax
0000000100006be9	movl	%eax, -0x3c(%rbp)
0000000100006bec	xorl	%eax, %eax
0000000100006bee	movb	%al, %cl
0000000100006bf0	movl	-0x38(%rbp), %eax
0000000100006bf3	cmpl	-0x20(%rbp), %eax
0000000100006bf6	movb	%cl, -0x3d(%rbp)
0000000100006bf9	jge	0x100006c21
0000000100006bff	movq	-0x18(%rbp), %rax
0000000100006c03	movslq	-0x3c(%rbp), %rcx
0000000100006c07	movzbl	(%rax,%rcx), %edx
0000000100006c0b	movq	-0x28(%rbp), %rax
0000000100006c0f	movslq	-0x38(%rbp), %rcx
0000000100006c13	movzbl	(%rax,%rcx), %esi
0000000100006c17	cmpl	%esi, %edx
0000000100006c19	sete	%dil
0000000100006c1d	movb	%dil, -0x3d(%rbp)
0000000100006c21	movb	-0x3d(%rbp), %al
0000000100006c24	testb	$0x1, %al
0000000100006c26	jne	0x100006c31
0000000100006c2c	jmp	0x100006c48
0000000100006c31	movl	-0x38(%rbp), %eax
0000000100006c34	addl	$0x1, %eax
0000000100006c37	movl	%eax, -0x38(%rbp)
0000000100006c3a	movl	-0x3c(%rbp), %eax
0000000100006c3d	addl	$0x1, %eax
0000000100006c40	movl	%eax, -0x3c(%rbp)
0000000100006c43	jmp	0x100006bec
0000000100006c48	movl	-0x38(%rbp), %eax
0000000100006c4b	cmpl	-0x20(%rbp), %eax
0000000100006c4e	jne	0x100006c5f
0000000100006c54	movl	-0x34(%rbp), %eax
0000000100006c57	movl	%eax, -0x4(%rbp)
0000000100006c5a	jmp	0x100006c74
0000000100006c5f	movl	-0x34(%rbp), %eax
0000000100006c62	addl	$0x1, %eax
0000000100006c65	movl	%eax, -0x34(%rbp)
0000000100006c68	jmp	0x100006bd3
0000000100006c6d	movl	$0xffffffff, -0x4(%rbp)
0000000100006c74	movl	-0x4(%rbp), %eax
0000000100006c77	popq	%rbp
0000000100006c78	retq
0000000100006c79	nopl	(%rax)
_string_index_byte:
0000000100006c80	pushq	%rbp
0000000100006c81	movq	%rsp, %rbp
0000000100006c84	movb	%dl, %al
0000000100006c86	movq	%rdi, -0x18(%rbp)
0000000100006c8a	movl	%esi, -0x10(%rbp)
0000000100006c8d	movb	%al, -0x19(%rbp)
0000000100006c90	movl	$0x0, -0x20(%rbp)
0000000100006c97	movl	-0x20(%rbp), %eax
0000000100006c9a	cmpl	-0x10(%rbp), %eax
0000000100006c9d	jge	0x100006cd9
0000000100006ca3	movq	-0x18(%rbp), %rax
0000000100006ca7	movslq	-0x20(%rbp), %rcx
0000000100006cab	movzbl	(%rax,%rcx), %edx
0000000100006caf	movzbl	-0x19(%rbp), %esi
0000000100006cb3	cmpl	%esi, %edx
0000000100006cb5	jne	0x100006cc6
0000000100006cbb	movl	-0x20(%rbp), %eax
0000000100006cbe	movl	%eax, -0x4(%rbp)
0000000100006cc1	jmp	0x100006ce0
0000000100006cc6	jmp	0x100006ccb
0000000100006ccb	movl	-0x20(%rbp), %eax
0000000100006cce	addl	$0x1, %eax
0000000100006cd1	movl	%eax, -0x20(%rbp)
0000000100006cd4	jmp	0x100006c97
0000000100006cd9	movl	$0xffffffff, -0x4(%rbp)
0000000100006ce0	movl	-0x4(%rbp), %eax
0000000100006ce3	popq	%rbp
0000000100006ce4	retq
0000000100006ce5	nopw	%cs:(%rax,%rax)
_string_last_index_byte:
0000000100006cf0	pushq	%rbp
0000000100006cf1	movq	%rsp, %rbp
0000000100006cf4	movb	%dl, %al
0000000100006cf6	movq	%rdi, -0x18(%rbp)
0000000100006cfa	movl	%esi, -0x10(%rbp)
0000000100006cfd	movb	%al, -0x19(%rbp)
0000000100006d00	movl	-0x10(%rbp), %edx
0000000100006d03	subl	$0x1, %edx
0000000100006d06	movl	%edx, -0x20(%rbp)
0000000100006d09	cmpl	$0x0, -0x20(%rbp)
0000000100006d0d	jl	0x100006d49
0000000100006d13	movq	-0x18(%rbp), %rax
0000000100006d17	movslq	-0x20(%rbp), %rcx
0000000100006d1b	movzbl	(%rax,%rcx), %edx
0000000100006d1f	movzbl	-0x19(%rbp), %esi
0000000100006d23	cmpl	%esi, %edx
0000000100006d25	jne	0x100006d36
0000000100006d2b	movl	-0x20(%rbp), %eax
0000000100006d2e	movl	%eax, -0x4(%rbp)
0000000100006d31	jmp	0x100006d50
0000000100006d36	jmp	0x100006d3b
0000000100006d3b	movl	-0x20(%rbp), %eax
0000000100006d3e	addl	$-0x1, %eax
0000000100006d41	movl	%eax, -0x20(%rbp)
0000000100006d44	jmp	0x100006d09
0000000100006d49	movl	$0xffffffff, -0x4(%rbp)
0000000100006d50	movl	-0x4(%rbp), %eax
0000000100006d53	popq	%rbp
0000000100006d54	retq
0000000100006d55	nopw	%cs:(%rax,%rax)
_string_count:
0000000100006d60	pushq	%rbp
0000000100006d61	movq	%rsp, %rbp
0000000100006d64	subq	$0x30, %rsp
0000000100006d68	movq	%rdi, -0x18(%rbp)
0000000100006d6c	movl	%esi, -0x10(%rbp)
0000000100006d6f	movq	%rdx, -0x28(%rbp)
0000000100006d73	movl	%ecx, -0x20(%rbp)
0000000100006d76	cmpl	$0x0, -0x10(%rbp)
0000000100006d7a	je	0x100006d8a
0000000100006d80	cmpl	$0x0, -0x20(%rbp)
0000000100006d84	jne	0x100006d96
0000000100006d8a	movl	$0x0, -0x4(%rbp)
0000000100006d91	jmp	0x100006e02
0000000100006d96	movl	-0x20(%rbp), %eax
0000000100006d99	cmpl	-0x10(%rbp), %eax
0000000100006d9c	jle	0x100006dae
0000000100006da2	movl	$0x0, -0x4(%rbp)
0000000100006da9	jmp	0x100006e02
0000000100006dae	movl	$0x0, -0x2c(%rbp)
0000000100006db5	movl	$0x0, -0x30(%rbp)
0000000100006dbc	movl	-0x30(%rbp), %r8d
0000000100006dc0	movq	-0x18(%rbp), %rdi
0000000100006dc4	movl	-0x10(%rbp), %esi
0000000100006dc7	movq	-0x28(%rbp), %rdx
0000000100006dcb	movl	-0x20(%rbp), %ecx
0000000100006dce	callq	_string_index_after
0000000100006dd3	movl	%eax, -0x30(%rbp)
0000000100006dd6	cmpl	$-0x1, -0x30(%rbp)
0000000100006dda	jne	0x100006deb
0000000100006de0	movl	-0x2c(%rbp), %eax
0000000100006de3	movl	%eax, -0x4(%rbp)
0000000100006de6	jmp	0x100006e02
0000000100006deb	movl	-0x20(%rbp), %eax
0000000100006dee	addl	-0x30(%rbp), %eax
0000000100006df1	movl	%eax, -0x30(%rbp)
0000000100006df4	movl	-0x2c(%rbp), %eax
0000000100006df7	addl	$0x1, %eax
0000000100006dfa	movl	%eax, -0x2c(%rbp)
0000000100006dfd	jmp	0x100006dbc
0000000100006e02	movl	-0x4(%rbp), %eax
0000000100006e05	addq	$0x30, %rsp
0000000100006e09	popq	%rbp
0000000100006e0a	retq
0000000100006e0b	nopl	(%rax,%rax)
_string_contains:
0000000100006e10	pushq	%rbp
0000000100006e11	movq	%rsp, %rbp
0000000100006e14	subq	$0x30, %rsp
0000000100006e18	movq	%rdi, -0x10(%rbp)
0000000100006e1c	movl	%esi, -0x8(%rbp)
0000000100006e1f	movq	%rdx, -0x20(%rbp)
0000000100006e23	movl	%ecx, -0x18(%rbp)
0000000100006e26	movq	-0x10(%rbp), %rdi
0000000100006e2a	movl	-0x8(%rbp), %esi
0000000100006e2d	movq	-0x20(%rbp), %rdx
0000000100006e31	movl	-0x18(%rbp), %ecx
0000000100006e34	callq	_string_index
0000000100006e39	cmpl	$-0x1, %eax
0000000100006e3c	setg	%r8b
0000000100006e40	andb	$0x1, %r8b
0000000100006e44	movb	%r8b, -0x21(%rbp)
0000000100006e48	movb	-0x21(%rbp), %r8b
0000000100006e4c	andb	$0x1, %r8b
0000000100006e50	movzbl	%r8b, %eax
0000000100006e54	addq	$0x30, %rsp
0000000100006e58	popq	%rbp
0000000100006e59	retq
0000000100006e5a	nopw	(%rax,%rax)
_string_ends_with:
0000000100006e60	pushq	%rbp
0000000100006e61	movq	%rsp, %rbp
0000000100006e64	subq	$0x30, %rsp
0000000100006e68	movq	%rdi, -0x18(%rbp)
0000000100006e6c	movl	%esi, -0x10(%rbp)
0000000100006e6f	movq	%rdx, -0x28(%rbp)
0000000100006e73	movl	%ecx, -0x20(%rbp)
0000000100006e76	movl	-0x20(%rbp), %ecx
0000000100006e79	cmpl	-0x10(%rbp), %ecx
0000000100006e7c	jle	0x100006e8b
0000000100006e82	movb	$0x0, -0x1(%rbp)
0000000100006e86	jmp	0x100006ebe
0000000100006e8b	movq	-0x18(%rbp), %rdi
0000000100006e8f	movl	-0x10(%rbp), %esi
0000000100006e92	movq	-0x28(%rbp), %rdx
0000000100006e96	movl	-0x20(%rbp), %ecx
0000000100006e99	callq	_string_last_index
0000000100006e9e	movl	-0x10(%rbp), %ecx
0000000100006ea1	subl	-0x20(%rbp), %ecx
0000000100006ea4	cmpl	%ecx, %eax
0000000100006ea6	sete	%r8b
0000000100006eaa	andb	$0x1, %r8b
0000000100006eae	movb	%r8b, -0x29(%rbp)
0000000100006eb2	movb	-0x29(%rbp), %r8b
0000000100006eb6	andb	$0x1, %r8b
0000000100006eba	movb	%r8b, -0x1(%rbp)
0000000100006ebe	movb	-0x1(%rbp), %al
0000000100006ec1	andb	$0x1, %al
0000000100006ec3	movzbl	%al, %eax
0000000100006ec6	addq	$0x30, %rsp
0000000100006eca	popq	%rbp
0000000100006ecb	retq
0000000100006ecc	nopl	(%rax)
_string_to_lower:
0000000100006ed0	pushq	%rbp
0000000100006ed1	movq	%rsp, %rbp
0000000100006ed4	subq	$0x30, %rsp
0000000100006ed8	movq	%rdi, -0x20(%rbp)
0000000100006edc	movl	%esi, -0x18(%rbp)
0000000100006edf	movl	-0x18(%rbp), %esi
0000000100006ee2	addl	$0x1, %esi
0000000100006ee5	movl	%esi, %edi
0000000100006ee7	callq	_v_malloc
0000000100006eec	movq	%rax, -0x28(%rbp)
0000000100006ef0	movl	$0x0, -0x2c(%rbp)
0000000100006ef7	movl	-0x2c(%rbp), %eax
0000000100006efa	cmpl	-0x18(%rbp), %eax
0000000100006efd	jge	0x100006f2f
0000000100006f03	movq	-0x20(%rbp), %rax
0000000100006f07	movslq	-0x2c(%rbp), %rcx
0000000100006f0b	movzbl	(%rax,%rcx), %edi
0000000100006f0f	callq	0x10000a622 ## symbol stub for: _tolower
0000000100006f14	movb	%al, %dl
0000000100006f16	movq	-0x28(%rbp), %rcx
0000000100006f1a	movslq	-0x2c(%rbp), %rsi
0000000100006f1e	movb	%dl, (%rcx,%rsi)
0000000100006f21	movl	-0x2c(%rbp), %eax
0000000100006f24	addl	$0x1, %eax
0000000100006f27	movl	%eax, -0x2c(%rbp)
0000000100006f2a	jmp	0x100006ef7
0000000100006f2f	movq	-0x28(%rbp), %rdi
0000000100006f33	movl	-0x18(%rbp), %esi
0000000100006f36	callq	_tos
0000000100006f3b	movq	%rax, -0x10(%rbp)
0000000100006f3f	movl	%edx, -0x8(%rbp)
0000000100006f42	movq	-0x10(%rbp), %rax
0000000100006f46	movl	-0x8(%rbp), %edx
0000000100006f49	addq	$0x30, %rsp
0000000100006f4d	popq	%rbp
0000000100006f4e	retq
0000000100006f4f	nop
_string_to_upper:
0000000100006f50	pushq	%rbp
0000000100006f51	movq	%rsp, %rbp
0000000100006f54	subq	$0x30, %rsp
0000000100006f58	movq	%rdi, -0x20(%rbp)
0000000100006f5c	movl	%esi, -0x18(%rbp)
0000000100006f5f	movl	-0x18(%rbp), %esi
0000000100006f62	addl	$0x1, %esi
0000000100006f65	movl	%esi, %edi
0000000100006f67	callq	_v_malloc
0000000100006f6c	movq	%rax, -0x28(%rbp)
0000000100006f70	movl	$0x0, -0x2c(%rbp)
0000000100006f77	movl	-0x2c(%rbp), %eax
0000000100006f7a	cmpl	-0x18(%rbp), %eax
0000000100006f7d	jge	0x100006faf
0000000100006f83	movq	-0x20(%rbp), %rax
0000000100006f87	movslq	-0x2c(%rbp), %rcx
0000000100006f8b	movzbl	(%rax,%rcx), %edi
0000000100006f8f	callq	0x10000a628 ## symbol stub for: _toupper
0000000100006f94	movb	%al, %dl
0000000100006f96	movq	-0x28(%rbp), %rcx
0000000100006f9a	movslq	-0x2c(%rbp), %rsi
0000000100006f9e	movb	%dl, (%rcx,%rsi)
0000000100006fa1	movl	-0x2c(%rbp), %eax
0000000100006fa4	addl	$0x1, %eax
0000000100006fa7	movl	%eax, -0x2c(%rbp)
0000000100006faa	jmp	0x100006f77
0000000100006faf	movq	-0x28(%rbp), %rdi
0000000100006fb3	movl	-0x18(%rbp), %esi
0000000100006fb6	callq	_tos
0000000100006fbb	movq	%rax, -0x10(%rbp)
0000000100006fbf	movl	%edx, -0x8(%rbp)
0000000100006fc2	movq	-0x10(%rbp), %rax
0000000100006fc6	movl	-0x8(%rbp), %edx
0000000100006fc9	addq	$0x30, %rsp
0000000100006fcd	popq	%rbp
0000000100006fce	retq
0000000100006fcf	nop
_string_capitalize:
0000000100006fd0	pushq	%rbp
0000000100006fd1	movq	%rsp, %rbp
0000000100006fd4	subq	$0x60, %rsp
0000000100006fd8	movq	%rdi, -0x20(%rbp)
0000000100006fdc	movl	%esi, -0x18(%rbp)
0000000100006fdf	movq	-0x20(%rbp), %rdi
0000000100006fe3	movl	-0x18(%rbp), %esi
0000000100006fe6	callq	_string_to_lower
0000000100006feb	movq	%rax, -0x30(%rbp)
0000000100006fef	movl	%edx, -0x28(%rbp)
0000000100006ff2	movq	-0x30(%rbp), %rax
0000000100006ff6	movzbl	(%rax), %edi
0000000100006ff9	callq	_byte_str
0000000100006ffe	movq	%rax, -0x50(%rbp)
0000000100007002	movl	%edx, -0x48(%rbp)
0000000100007005	movq	-0x50(%rbp), %rdi
0000000100007009	movl	-0x48(%rbp), %esi
000000010000700c	callq	_string_to_upper
0000000100007011	movq	%rax, -0x40(%rbp)
0000000100007015	movl	%edx, -0x38(%rbp)
0000000100007018	movq	-0x30(%rbp), %rdi
000000010000701c	movl	-0x28(%rbp), %esi
000000010000701f	movl	$0x1, %edx
0000000100007024	callq	_string_right
0000000100007029	movq	%rax, -0x60(%rbp)
000000010000702d	movl	%edx, -0x58(%rbp)
0000000100007030	movq	-0x40(%rbp), %rdi
0000000100007034	movl	-0x38(%rbp), %esi
0000000100007037	movq	-0x60(%rbp), %rdx
000000010000703b	movl	-0x58(%rbp), %ecx
000000010000703e	callq	_string_add
0000000100007043	movq	%rax, -0x10(%rbp)
0000000100007047	movl	%edx, -0x8(%rbp)
000000010000704a	movq	-0x10(%rbp), %rax
000000010000704e	movl	-0x8(%rbp), %edx
0000000100007051	addq	$0x60, %rsp
0000000100007055	popq	%rbp
0000000100007056	retq
0000000100007057	nopw	(%rax,%rax)
_string_title:
0000000100007060	pushq	%rbp
0000000100007061	movq	%rsp, %rbp
0000000100007064	subq	$0xf0, %rsp
000000010000706b	leaq	0x3a38(%rip), %rax ## literal pool for: " "
0000000100007072	movq	0x5fbf(%rip), %rcx ## literal pool symbol address: ___stack_chk_guard
0000000100007079	movq	(%rcx), %rcx
000000010000707c	movq	%rcx, -0x8(%rbp)
0000000100007080	movq	%rdi, -0x38(%rbp)
0000000100007084	movl	%esi, -0x30(%rbp)
0000000100007087	movq	%rax, %rdi
000000010000708a	callq	_tos3
000000010000708f	leaq	-0x50(%rbp), %rdi
0000000100007093	movq	%rax, -0x60(%rbp)
0000000100007097	movl	%edx, -0x58(%rbp)
000000010000709a	movq	-0x38(%rbp), %rsi
000000010000709e	movl	-0x30(%rbp), %edx
00000001000070a1	movq	-0x60(%rbp), %rcx
00000001000070a5	movl	-0x58(%rbp), %r8d
00000001000070a9	callq	_string_split
00000001000070ae	leaq	-0x78(%rbp), %rdi
00000001000070b2	xorl	%edx, %edx
00000001000070b4	movl	$0x10, %ecx
00000001000070b9	leaq	-0x18(%rbp), %rax
00000001000070bd	movq	$0x0, -0x18(%rbp)
00000001000070c5	movl	$0x0, -0x10(%rbp)
00000001000070cc	movl	%edx, %esi
00000001000070ce	movq	%rax, %r8
00000001000070d1	callq	_new_array_from_c_array
00000001000070d6	movq	-0x50(%rbp), %rax
00000001000070da	movq	%rax, -0x90(%rbp)
00000001000070e1	movq	-0x48(%rbp), %rax
00000001000070e5	movq	%rax, -0x88(%rbp)
00000001000070ec	movq	-0x40(%rbp), %rax
00000001000070f0	movq	%rax, -0x80(%rbp)
00000001000070f4	movl	$0x0, -0x94(%rbp)
00000001000070fe	movl	-0x94(%rbp), %eax
0000000100007104	cmpl	-0x88(%rbp), %eax
000000010000710a	jge	0x100007180
0000000100007110	movq	-0x90(%rbp), %rax
0000000100007117	movslq	-0x94(%rbp), %rcx
000000010000711e	shlq	$0x4, %rcx
0000000100007122	addq	%rcx, %rax
0000000100007125	movq	(%rax), %rcx
0000000100007128	movq	%rcx, -0xa8(%rbp)
000000010000712f	movq	0x8(%rax), %rax
0000000100007133	movq	%rax, -0xa0(%rbp)
000000010000713a	movq	-0xa8(%rbp), %rdi
0000000100007141	movl	-0xa0(%rbp), %esi
0000000100007147	callq	_string_capitalize
000000010000714c	leaq	-0x78(%rbp), %rdi
0000000100007150	leaq	-0xb8(%rbp), %rcx
0000000100007157	movq	%rax, -0xb8(%rbp)
000000010000715e	movl	%edx, -0xb0(%rbp)
0000000100007164	movq	%rcx, %rsi
0000000100007167	callq	_array_push
000000010000716c	movl	-0x94(%rbp), %eax
0000000100007172	addl	$0x1, %eax
0000000100007175	movl	%eax, -0x94(%rbp)
000000010000717b	jmp	0x1000070fe
0000000100007180	leaq	0x3923(%rip), %rdi ## literal pool for: " "
0000000100007187	callq	_tos3
000000010000718c	movq	%rax, -0xc8(%rbp)
0000000100007193	movl	%edx, -0xc0(%rbp)
0000000100007199	movq	-0xc8(%rbp), %rdi
00000001000071a0	movl	-0xc0(%rbp), %esi
00000001000071a6	movq	-0x68(%rbp), %rax
00000001000071aa	movq	%rsp, %rcx
00000001000071ad	movq	%rax, 0x10(%rcx)
00000001000071b1	movq	-0x78(%rbp), %rax
00000001000071b5	movq	-0x70(%rbp), %r8
00000001000071b9	movq	%r8, 0x8(%rcx)
00000001000071bd	movq	%rax, (%rcx)
00000001000071c0	callq	_array_string_join
00000001000071c5	movq	%rax, -0x28(%rbp)
00000001000071c9	movl	%edx, -0x20(%rbp)
00000001000071cc	movl	-0x20(%rbp), %edx
00000001000071cf	movq	-0x28(%rbp), %rax
00000001000071d3	movq	0x5e5e(%rip), %rcx ## literal pool symbol address: ___stack_chk_guard
00000001000071da	movq	(%rcx), %rcx
00000001000071dd	movq	-0x8(%rbp), %rdi
00000001000071e1	cmpq	%rdi, %rcx
00000001000071e4	movl	%edx, -0xcc(%rbp)
00000001000071ea	movq	%rax, -0xd8(%rbp)
00000001000071f1	jne	0x10000720d
00000001000071f7	movq	-0xd8(%rbp), %rax
00000001000071fe	movl	-0xcc(%rbp), %edx
0000000100007204	addq	$0xf0, %rsp
000000010000720b	popq	%rbp
000000010000720c	retq
000000010000720d	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
0000000100007212	ud2
0000000100007214	nopw	%cs:(%rax,%rax)
_array_string_join:
0000000100007220	pushq	%rbp
0000000100007221	movq	%rsp, %rbp
0000000100007224	subq	$0xc0, %rsp
000000010000722b	leaq	0x10(%rbp), %rax
000000010000722f	movq	%rdi, -0x20(%rbp)
0000000100007233	movl	%esi, -0x18(%rbp)
0000000100007236	cmpl	$0x0, 0x8(%rax)
000000010000723a	movq	%rax, -0xb8(%rbp)
0000000100007241	jne	0x10000725f
0000000100007247	leaq	0x376b(%rip), %rdi ## literal pool for: ""
000000010000724e	callq	_tos3
0000000100007253	movq	%rax, -0x10(%rbp)
0000000100007257	movl	%edx, -0x8(%rbp)
000000010000725a	jmp	0x10000747f
000000010000725f	movl	$0x0, -0x24(%rbp)
0000000100007266	movq	-0xb8(%rbp), %rax
000000010000726d	movq	(%rax), %rcx
0000000100007270	movq	%rcx, -0x40(%rbp)
0000000100007274	movq	0x8(%rax), %rcx
0000000100007278	movq	%rcx, -0x38(%rbp)
000000010000727c	movq	0x10(%rax), %rcx
0000000100007280	movq	%rcx, -0x30(%rbp)
0000000100007284	movl	$0x0, -0x44(%rbp)
000000010000728b	movl	-0x44(%rbp), %eax
000000010000728e	cmpl	-0x38(%rbp), %eax
0000000100007291	jge	0x1000072cf
0000000100007297	movq	-0x40(%rbp), %rax
000000010000729b	movslq	-0x44(%rbp), %rcx
000000010000729f	shlq	$0x4, %rcx
00000001000072a3	addq	%rcx, %rax
00000001000072a6	movq	(%rax), %rcx
00000001000072a9	movq	%rcx, -0x58(%rbp)
00000001000072ad	movq	0x8(%rax), %rax
00000001000072b1	movq	%rax, -0x50(%rbp)
00000001000072b5	movl	-0x50(%rbp), %edx
00000001000072b8	addl	-0x18(%rbp), %edx
00000001000072bb	addl	-0x24(%rbp), %edx
00000001000072be	movl	%edx, -0x24(%rbp)
00000001000072c1	movl	-0x44(%rbp), %eax
00000001000072c4	addl	$0x1, %eax
00000001000072c7	movl	%eax, -0x44(%rbp)
00000001000072ca	jmp	0x10000728b
00000001000072cf	leaq	0x36e3(%rip), %rdi ## literal pool for: ""
00000001000072d6	movl	-0x18(%rbp), %eax
00000001000072d9	movl	-0x24(%rbp), %ecx
00000001000072dc	subl	%eax, %ecx
00000001000072de	movl	%ecx, -0x24(%rbp)
00000001000072e1	callq	_tos3
00000001000072e6	movq	%rax, -0x68(%rbp)
00000001000072ea	movl	%edx, -0x60(%rbp)
00000001000072ed	movl	-0x24(%rbp), %ecx
00000001000072f0	movl	%ecx, -0x60(%rbp)
00000001000072f3	movl	-0x60(%rbp), %ecx
00000001000072f6	addl	$0x1, %ecx
00000001000072f9	movl	%ecx, %edi
00000001000072fb	callq	_v_malloc
0000000100007300	movq	%rax, -0x68(%rbp)
0000000100007304	movl	$0x0, -0x6c(%rbp)
000000010000730b	movq	-0xb8(%rbp), %rax
0000000100007312	movq	(%rax), %rsi
0000000100007315	movq	%rsi, -0x88(%rbp)
000000010000731c	movq	0x8(%rax), %rsi
0000000100007320	movq	%rsi, -0x80(%rbp)
0000000100007324	movq	0x10(%rax), %rsi
0000000100007328	movq	%rsi, -0x78(%rbp)
000000010000732c	movl	$0x0, -0x8c(%rbp)
0000000100007336	movl	-0x8c(%rbp), %eax
000000010000733c	cmpl	-0x80(%rbp), %eax
000000010000733f	jge	0x100007463
0000000100007345	movq	-0x88(%rbp), %rax
000000010000734c	movslq	-0x8c(%rbp), %rcx
0000000100007353	shlq	$0x4, %rcx
0000000100007357	addq	%rcx, %rax
000000010000735a	movq	(%rax), %rcx
000000010000735d	movq	%rcx, -0xa0(%rbp)
0000000100007364	movq	0x8(%rax), %rax
0000000100007368	movq	%rax, -0x98(%rbp)
000000010000736f	movl	$0x0, -0xa4(%rbp)
0000000100007379	movl	-0xa4(%rbp), %eax
000000010000737f	cmpl	-0x98(%rbp), %eax
0000000100007385	jge	0x1000073db
000000010000738b	movq	-0xa0(%rbp), %rax
0000000100007392	movslq	-0xa4(%rbp), %rcx
0000000100007399	movb	(%rax,%rcx), %dl
000000010000739c	movb	%dl, -0xa5(%rbp)
00000001000073a2	movq	-0xa0(%rbp), %rax
00000001000073a9	movslq	-0xa4(%rbp), %rcx
00000001000073b0	movb	(%rax,%rcx), %dl
00000001000073b3	movq	-0x68(%rbp), %rax
00000001000073b7	movslq	-0x6c(%rbp), %rcx
00000001000073bb	movb	%dl, (%rax,%rcx)
00000001000073be	movl	-0x6c(%rbp), %esi
00000001000073c1	addl	$0x1, %esi
00000001000073c4	movl	%esi, -0x6c(%rbp)
00000001000073c7	movl	-0xa4(%rbp), %eax
00000001000073cd	addl	$0x1, %eax
00000001000073d0	movl	%eax, -0xa4(%rbp)
00000001000073d6	jmp	0x100007379
00000001000073db	movl	-0x8c(%rbp), %eax
00000001000073e1	movq	-0xb8(%rbp), %rcx
00000001000073e8	movl	0x8(%rcx), %edx
00000001000073eb	subl	$0x1, %edx
00000001000073ee	cmpl	%edx, %eax
00000001000073f0	je	0x10000744a
00000001000073f6	movl	$0x0, -0xac(%rbp)
0000000100007400	movl	-0xac(%rbp), %eax
0000000100007406	cmpl	-0x18(%rbp), %eax
0000000100007409	jge	0x100007445
000000010000740f	movq	-0x20(%rbp), %rax
0000000100007413	movslq	-0xac(%rbp), %rcx
000000010000741a	movb	(%rax,%rcx), %dl
000000010000741d	movq	-0x68(%rbp), %rax
0000000100007421	movslq	-0x6c(%rbp), %rcx
0000000100007425	movb	%dl, (%rax,%rcx)
0000000100007428	movl	-0x6c(%rbp), %esi
000000010000742b	addl	$0x1, %esi
000000010000742e	movl	%esi, -0x6c(%rbp)
0000000100007431	movl	-0xac(%rbp), %eax
0000000100007437	addl	$0x1, %eax
000000010000743a	movl	%eax, -0xac(%rbp)
0000000100007440	jmp	0x100007400
0000000100007445	jmp	0x10000744a
000000010000744a	jmp	0x10000744f
000000010000744f	movl	-0x8c(%rbp), %eax
0000000100007455	addl	$0x1, %eax
0000000100007458	movl	%eax, -0x8c(%rbp)
000000010000745e	jmp	0x100007336
0000000100007463	movq	-0x68(%rbp), %rax
0000000100007467	movslq	-0x60(%rbp), %rcx
000000010000746b	movb	$0x0, (%rax,%rcx)
000000010000746f	movq	-0x68(%rbp), %rax
0000000100007473	movq	%rax, -0x10(%rbp)
0000000100007477	movq	-0x60(%rbp), %rax
000000010000747b	movq	%rax, -0x8(%rbp)
000000010000747f	movq	-0x10(%rbp), %rax
0000000100007483	movl	-0x8(%rbp), %edx
0000000100007486	addq	$0xc0, %rsp
000000010000748d	popq	%rbp
000000010000748e	retq
000000010000748f	nop
_string_find_between:
0000000100007490	pushq	%rbp
0000000100007491	movq	%rsp, %rbp
0000000100007494	subq	$0x60, %rsp
0000000100007498	movq	%rdi, -0x20(%rbp)
000000010000749c	movl	%esi, -0x18(%rbp)
000000010000749f	movq	%rdx, -0x30(%rbp)
00000001000074a3	movl	%ecx, -0x28(%rbp)
00000001000074a6	movq	%r8, -0x40(%rbp)
00000001000074aa	movl	%r9d, -0x38(%rbp)
00000001000074ae	movq	-0x20(%rbp), %rdi
00000001000074b2	movl	-0x18(%rbp), %esi
00000001000074b5	movq	-0x30(%rbp), %rdx
00000001000074b9	movl	-0x28(%rbp), %ecx
00000001000074bc	callq	_string_index
00000001000074c1	movl	%eax, -0x44(%rbp)
00000001000074c4	cmpl	$-0x1, -0x44(%rbp)
00000001000074c8	jne	0x1000074e6
00000001000074ce	leaq	0x34e4(%rip), %rdi ## literal pool for: ""
00000001000074d5	callq	_tos3
00000001000074da	movq	%rax, -0x10(%rbp)
00000001000074de	movl	%edx, -0x8(%rbp)
00000001000074e1	jmp	0x10000754c
00000001000074e6	movl	-0x44(%rbp), %eax
00000001000074e9	addl	-0x28(%rbp), %eax
00000001000074ec	movq	-0x20(%rbp), %rdi
00000001000074f0	movl	-0x18(%rbp), %esi
00000001000074f3	movl	%eax, %edx
00000001000074f5	callq	_string_right
00000001000074fa	movq	%rax, -0x58(%rbp)
00000001000074fe	movl	%edx, -0x50(%rbp)
0000000100007501	movq	-0x58(%rbp), %rdi
0000000100007505	movl	-0x50(%rbp), %esi
0000000100007508	movq	-0x40(%rbp), %rdx
000000010000750c	movl	-0x38(%rbp), %ecx
000000010000750f	callq	_string_index
0000000100007514	movl	%eax, -0x5c(%rbp)
0000000100007517	cmpl	$-0x1, -0x5c(%rbp)
000000010000751b	jne	0x100007536
0000000100007521	movq	-0x58(%rbp), %rax
0000000100007525	movq	%rax, -0x10(%rbp)
0000000100007529	movq	-0x50(%rbp), %rax
000000010000752d	movq	%rax, -0x8(%rbp)
0000000100007531	jmp	0x10000754c
0000000100007536	movl	-0x5c(%rbp), %edx
0000000100007539	movq	-0x58(%rbp), %rdi
000000010000753d	movl	-0x50(%rbp), %esi
0000000100007540	callq	_string_left
0000000100007545	movq	%rax, -0x10(%rbp)
0000000100007549	movl	%edx, -0x8(%rbp)
000000010000754c	movq	-0x10(%rbp), %rax
0000000100007550	movl	-0x8(%rbp), %edx
0000000100007553	addq	$0x60, %rsp
0000000100007557	popq	%rbp
0000000100007558	retq
0000000100007559	nopl	(%rax)
_array_string_contains:
0000000100007560	pushq	%rbp
0000000100007561	movq	%rsp, %rbp
0000000100007564	subq	$0x50, %rsp
0000000100007568	leaq	0x10(%rbp), %rax
000000010000756c	movq	%rdi, -0x18(%rbp)
0000000100007570	movl	%esi, -0x10(%rbp)
0000000100007573	movq	(%rax), %rdi
0000000100007576	movq	%rdi, -0x30(%rbp)
000000010000757a	movq	0x8(%rax), %rdi
000000010000757e	movq	%rdi, -0x28(%rbp)
0000000100007582	movq	0x10(%rax), %rax
0000000100007586	movq	%rax, -0x20(%rbp)
000000010000758a	movl	$0x0, -0x34(%rbp)
0000000100007591	movl	-0x34(%rbp), %eax
0000000100007594	cmpl	-0x28(%rbp), %eax
0000000100007597	jge	0x1000075f7
000000010000759d	movq	-0x30(%rbp), %rax
00000001000075a1	movslq	-0x34(%rbp), %rcx
00000001000075a5	shlq	$0x4, %rcx
00000001000075a9	addq	%rcx, %rax
00000001000075ac	movq	(%rax), %rcx
00000001000075af	movq	%rcx, -0x48(%rbp)
00000001000075b3	movq	0x8(%rax), %rax
00000001000075b7	movq	%rax, -0x40(%rbp)
00000001000075bb	movq	-0x48(%rbp), %rdi
00000001000075bf	movl	-0x40(%rbp), %esi
00000001000075c2	movq	-0x18(%rbp), %rdx
00000001000075c6	movl	-0x10(%rbp), %ecx
00000001000075c9	callq	_string_eq
00000001000075ce	testb	$0x1, %al
00000001000075d0	jne	0x1000075db
00000001000075d6	jmp	0x1000075e4
00000001000075db	movb	$0x1, -0x1(%rbp)
00000001000075df	jmp	0x1000075fb
00000001000075e4	jmp	0x1000075e9
00000001000075e9	movl	-0x34(%rbp), %eax
00000001000075ec	addl	$0x1, %eax
00000001000075ef	movl	%eax, -0x34(%rbp)
00000001000075f2	jmp	0x100007591
00000001000075f7	movb	$0x0, -0x1(%rbp)
00000001000075fb	movb	-0x1(%rbp), %al
00000001000075fe	andb	$0x1, %al
0000000100007600	movzbl	%al, %eax
0000000100007603	addq	$0x50, %rsp
0000000100007607	popq	%rbp
0000000100007608	retq
0000000100007609	nopl	(%rax)
_array_int_contains:
0000000100007610	pushq	%rbp
0000000100007611	movq	%rsp, %rbp
0000000100007614	leaq	0x10(%rbp), %rax
0000000100007618	movl	%edi, -0x8(%rbp)
000000010000761b	movq	(%rax), %rcx
000000010000761e	movq	%rcx, -0x20(%rbp)
0000000100007622	movq	0x8(%rax), %rcx
0000000100007626	movq	%rcx, -0x18(%rbp)
000000010000762a	movq	0x10(%rax), %rax
000000010000762e	movq	%rax, -0x10(%rbp)
0000000100007632	movl	$0x0, -0x24(%rbp)
0000000100007639	movl	-0x24(%rbp), %eax
000000010000763c	cmpl	-0x18(%rbp), %eax
000000010000763f	jge	0x10000767b
0000000100007645	movq	-0x20(%rbp), %rax
0000000100007649	movslq	-0x24(%rbp), %rcx
000000010000764d	movl	(%rax,%rcx,4), %edx
0000000100007650	movl	%edx, -0x28(%rbp)
0000000100007653	movl	-0x28(%rbp), %edx
0000000100007656	cmpl	-0x8(%rbp), %edx
0000000100007659	jne	0x100007668
000000010000765f	movb	$0x1, -0x1(%rbp)
0000000100007663	jmp	0x10000767f
0000000100007668	jmp	0x10000766d
000000010000766d	movl	-0x24(%rbp), %eax
0000000100007670	addl	$0x1, %eax
0000000100007673	movl	%eax, -0x24(%rbp)
0000000100007676	jmp	0x100007639
000000010000767b	movb	$0x0, -0x1(%rbp)
000000010000767f	movb	-0x1(%rbp), %al
0000000100007682	andb	$0x1, %al
0000000100007684	movzbl	%al, %eax
0000000100007687	popq	%rbp
0000000100007688	retq
0000000100007689	nopl	(%rax)
_byte_is_space:
0000000100007690	pushq	%rbp
0000000100007691	movq	%rsp, %rbp
0000000100007694	movb	%dil, %al
0000000100007697	movb	$0x1, %cl
0000000100007699	movb	%al, -0x1(%rbp)
000000010000769c	movzbl	-0x1(%rbp), %edi
00000001000076a0	cmpl	$0x20, %edi
00000001000076a3	movb	%cl, -0x2(%rbp)
00000001000076a6	je	0x100007701
00000001000076ac	movb	$0x1, %al
00000001000076ae	movzbl	-0x1(%rbp), %ecx
00000001000076b2	cmpl	$0xa, %ecx
00000001000076b5	movb	%al, -0x2(%rbp)
00000001000076b8	je	0x100007701
00000001000076be	movb	$0x1, %al
00000001000076c0	movzbl	-0x1(%rbp), %ecx
00000001000076c4	cmpl	$0x9, %ecx
00000001000076c7	movb	%al, -0x2(%rbp)
00000001000076ca	je	0x100007701
00000001000076d0	movb	$0x1, %al
00000001000076d2	movzbl	-0x1(%rbp), %ecx
00000001000076d6	cmpl	$0xb, %ecx
00000001000076d9	movb	%al, -0x2(%rbp)
00000001000076dc	je	0x100007701
00000001000076e2	movb	$0x1, %al
00000001000076e4	movzbl	-0x1(%rbp), %ecx
00000001000076e8	cmpl	$0xc, %ecx
00000001000076eb	movb	%al, -0x2(%rbp)
00000001000076ee	je	0x100007701
00000001000076f4	movzbl	-0x1(%rbp), %eax
00000001000076f8	cmpl	$0xd, %eax
00000001000076fb	sete	%cl
00000001000076fe	movb	%cl, -0x2(%rbp)
0000000100007701	movb	-0x2(%rbp), %al
0000000100007704	andb	$0x1, %al
0000000100007706	movzbl	%al, %eax
0000000100007709	popq	%rbp
000000010000770a	retq
000000010000770b	nopl	(%rax,%rax)
_string_trim:
0000000100007710	pushq	%rbp
0000000100007711	movq	%rsp, %rbp
0000000100007714	subq	$0x70, %rsp
0000000100007718	movq	%rdi, -0x20(%rbp)
000000010000771c	movl	%esi, -0x18(%rbp)
000000010000771f	movq	%rdx, -0x30(%rbp)
0000000100007723	movl	%ecx, -0x28(%rbp)
0000000100007726	cmpl	$0x1, -0x18(%rbp)
000000010000772a	jl	0x10000773a
0000000100007730	cmpl	$0x1, -0x28(%rbp)
0000000100007734	jge	0x10000774f
000000010000773a	movq	-0x20(%rbp), %rax
000000010000773e	movq	%rax, -0x10(%rbp)
0000000100007742	movq	-0x18(%rbp), %rax
0000000100007746	movq	%rax, -0x8(%rbp)
000000010000774a	jmp	0x100007888
000000010000774f	leaq	-0x48(%rbp), %rdi
0000000100007753	movq	-0x30(%rbp), %rsi
0000000100007757	movl	-0x28(%rbp), %edx
000000010000775a	callq	_string_bytes
000000010000775f	movl	$0x0, -0x4c(%rbp)
0000000100007766	movl	-0x18(%rbp), %edx
0000000100007769	subl	$0x1, %edx
000000010000776c	movl	%edx, -0x50(%rbp)
000000010000776f	movb	$0x1, -0x51(%rbp)
0000000100007773	xorl	%eax, %eax
0000000100007775	movb	%al, %cl
0000000100007777	movl	-0x4c(%rbp), %eax
000000010000777a	cmpl	-0x18(%rbp), %eax
000000010000777d	movb	%cl, -0x52(%rbp)
0000000100007780	jg	0x10000779d
0000000100007786	xorl	%eax, %eax
0000000100007788	movb	%al, %cl
000000010000778a	cmpl	$-0x1, -0x50(%rbp)
000000010000778e	movb	%cl, -0x52(%rbp)
0000000100007791	jl	0x10000779d
0000000100007797	movb	-0x51(%rbp), %al
000000010000779a	movb	%al, -0x52(%rbp)
000000010000779d	movb	-0x52(%rbp), %al
00000001000077a0	testb	$0x1, %al
00000001000077a2	jne	0x1000077ad
00000001000077a8	jmp	0x10000786a
00000001000077ad	leaq	-0x48(%rbp), %rax
00000001000077b1	movb	$0x0, -0x51(%rbp)
00000001000077b5	movq	-0x20(%rbp), %rcx
00000001000077b9	movslq	-0x4c(%rbp), %rdx
00000001000077bd	movq	(%rax), %rsi
00000001000077c0	movq	%rsi, (%rsp)
00000001000077c4	movq	0x8(%rax), %rsi
00000001000077c8	movq	%rsi, 0x8(%rsp)
00000001000077cd	movq	0x10(%rax), %rax
00000001000077d1	movq	%rax, 0x10(%rsp)
00000001000077d6	movzbl	(%rcx,%rdx), %edi
00000001000077da	callq	_array_byte_contains
00000001000077df	testb	$0x1, %al
00000001000077e1	jne	0x1000077ec
00000001000077e7	jmp	0x1000077f9
00000001000077ec	movl	-0x4c(%rbp), %eax
00000001000077ef	addl	$0x1, %eax
00000001000077f2	movl	%eax, -0x4c(%rbp)
00000001000077f5	movb	$0x1, -0x51(%rbp)
00000001000077f9	leaq	-0x48(%rbp), %rax
00000001000077fd	movq	-0x20(%rbp), %rcx
0000000100007801	movslq	-0x50(%rbp), %rdx
0000000100007805	movq	(%rax), %rsi
0000000100007808	movq	%rsi, (%rsp)
000000010000780c	movq	0x8(%rax), %rsi
0000000100007810	movq	%rsi, 0x8(%rsp)
0000000100007815	movq	0x10(%rax), %rax
0000000100007819	movq	%rax, 0x10(%rsp)
000000010000781e	movzbl	(%rcx,%rdx), %edi
0000000100007822	callq	_array_byte_contains
0000000100007827	testb	$0x1, %al
0000000100007829	jne	0x100007834
000000010000782f	jmp	0x100007841
0000000100007834	movl	-0x50(%rbp), %eax
0000000100007837	addl	$-0x1, %eax
000000010000783a	movl	%eax, -0x50(%rbp)
000000010000783d	movb	$0x1, -0x51(%rbp)
0000000100007841	movl	-0x4c(%rbp), %eax
0000000100007844	cmpl	-0x50(%rbp), %eax
0000000100007847	jle	0x100007865
000000010000784d	leaq	0x3165(%rip), %rdi ## literal pool for: ""
0000000100007854	callq	_tos3
0000000100007859	movq	%rax, -0x10(%rbp)
000000010000785d	movl	%edx, -0x8(%rbp)
0000000100007860	jmp	0x100007888
0000000100007865	jmp	0x100007773
000000010000786a	movl	-0x4c(%rbp), %edx
000000010000786d	movl	-0x50(%rbp), %eax
0000000100007870	addl	$0x1, %eax
0000000100007873	movq	-0x20(%rbp), %rdi
0000000100007877	movl	-0x18(%rbp), %esi
000000010000787a	movl	%eax, %ecx
000000010000787c	callq	_string_substr
0000000100007881	movq	%rax, -0x10(%rbp)
0000000100007885	movl	%edx, -0x8(%rbp)
0000000100007888	movq	-0x10(%rbp), %rax
000000010000788c	movl	-0x8(%rbp), %edx
000000010000788f	addq	$0x70, %rsp
0000000100007893	popq	%rbp
0000000100007894	retq
0000000100007895	nopw	%cs:(%rax,%rax)
_string_trim_left:
00000001000078a0	pushq	%rbp
00000001000078a1	movq	%rsp, %rbp
00000001000078a4	subq	$0x70, %rsp
00000001000078a8	movq	%rdi, -0x20(%rbp)
00000001000078ac	movl	%esi, -0x18(%rbp)
00000001000078af	movq	%rdx, -0x30(%rbp)
00000001000078b3	movl	%ecx, -0x28(%rbp)
00000001000078b6	cmpl	$0x1, -0x18(%rbp)
00000001000078ba	jl	0x1000078ca
00000001000078c0	cmpl	$0x1, -0x28(%rbp)
00000001000078c4	jge	0x1000078df
00000001000078ca	movq	-0x20(%rbp), %rax
00000001000078ce	movq	%rax, -0x10(%rbp)
00000001000078d2	movq	-0x18(%rbp), %rax
00000001000078d6	movq	%rax, -0x8(%rbp)
00000001000078da	jmp	0x10000796e
00000001000078df	leaq	-0x48(%rbp), %rdi
00000001000078e3	movq	-0x30(%rbp), %rsi
00000001000078e7	movl	-0x28(%rbp), %edx
00000001000078ea	callq	_string_bytes
00000001000078ef	movl	$0x0, -0x4c(%rbp)
00000001000078f6	xorl	%eax, %eax
00000001000078f8	movb	%al, %cl
00000001000078fa	movl	-0x4c(%rbp), %eax
00000001000078fd	cmpl	-0x18(%rbp), %eax
0000000100007900	movb	%cl, -0x4d(%rbp)
0000000100007903	jg	0x10000793a
0000000100007909	leaq	-0x48(%rbp), %rax
000000010000790d	movq	-0x20(%rbp), %rcx
0000000100007911	movslq	-0x4c(%rbp), %rdx
0000000100007915	movq	(%rax), %rsi
0000000100007918	movq	%rsi, (%rsp)
000000010000791c	movq	0x8(%rax), %rsi
0000000100007920	movq	%rsi, 0x8(%rsp)
0000000100007925	movq	0x10(%rax), %rax
0000000100007929	movq	%rax, 0x10(%rsp)
000000010000792e	movzbl	(%rcx,%rdx), %edi
0000000100007932	callq	_array_byte_contains
0000000100007937	movb	%al, -0x4d(%rbp)
000000010000793a	movb	-0x4d(%rbp), %al
000000010000793d	testb	$0x1, %al
000000010000793f	jne	0x10000794a
0000000100007945	jmp	0x100007958
000000010000794a	movl	-0x4c(%rbp), %eax
000000010000794d	addl	$0x1, %eax
0000000100007950	movl	%eax, -0x4c(%rbp)
0000000100007953	jmp	0x1000078f6
0000000100007958	movl	-0x4c(%rbp), %edx
000000010000795b	movq	-0x20(%rbp), %rdi
000000010000795f	movl	-0x18(%rbp), %esi
0000000100007962	callq	_string_right
0000000100007967	movq	%rax, -0x10(%rbp)
000000010000796b	movl	%edx, -0x8(%rbp)
000000010000796e	movq	-0x10(%rbp), %rax
0000000100007972	movl	-0x8(%rbp), %edx
0000000100007975	addq	$0x70, %rsp
0000000100007979	popq	%rbp
000000010000797a	retq
000000010000797b	nopl	(%rax,%rax)
_string_trim_right:
0000000100007980	pushq	%rbp
0000000100007981	movq	%rsp, %rbp
0000000100007984	subq	$0x70, %rsp
0000000100007988	movq	%rdi, -0x20(%rbp)
000000010000798c	movl	%esi, -0x18(%rbp)
000000010000798f	movq	%rdx, -0x30(%rbp)
0000000100007993	movl	%ecx, -0x28(%rbp)
0000000100007996	cmpl	$0x1, -0x18(%rbp)
000000010000799a	jl	0x1000079aa
00000001000079a0	cmpl	$0x1, -0x28(%rbp)
00000001000079a4	jge	0x1000079bf
00000001000079aa	movq	-0x20(%rbp), %rax
00000001000079ae	movq	%rax, -0x10(%rbp)
00000001000079b2	movq	-0x18(%rbp), %rax
00000001000079b6	movq	%rax, -0x8(%rbp)
00000001000079ba	jmp	0x100007a53
00000001000079bf	leaq	-0x48(%rbp), %rdi
00000001000079c3	movq	-0x30(%rbp), %rsi
00000001000079c7	movl	-0x28(%rbp), %edx
00000001000079ca	callq	_string_bytes
00000001000079cf	movl	-0x18(%rbp), %edx
00000001000079d2	subl	$0x1, %edx
00000001000079d5	movl	%edx, -0x4c(%rbp)
00000001000079d8	xorl	%eax, %eax
00000001000079da	movb	%al, %cl
00000001000079dc	cmpl	$-0x1, -0x4c(%rbp)
00000001000079e0	movb	%cl, -0x4d(%rbp)
00000001000079e3	jl	0x100007a1a
00000001000079e9	leaq	-0x48(%rbp), %rax
00000001000079ed	movq	-0x20(%rbp), %rcx
00000001000079f1	movslq	-0x4c(%rbp), %rdx
00000001000079f5	movq	(%rax), %rsi
00000001000079f8	movq	%rsi, (%rsp)
00000001000079fc	movq	0x8(%rax), %rsi
0000000100007a00	movq	%rsi, 0x8(%rsp)
0000000100007a05	movq	0x10(%rax), %rax
0000000100007a09	movq	%rax, 0x10(%rsp)
0000000100007a0e	movzbl	(%rcx,%rdx), %edi
0000000100007a12	callq	_array_byte_contains
0000000100007a17	movb	%al, -0x4d(%rbp)
0000000100007a1a	movb	-0x4d(%rbp), %al
0000000100007a1d	testb	$0x1, %al
0000000100007a1f	jne	0x100007a2a
0000000100007a25	jmp	0x100007a38
0000000100007a2a	movl	-0x4c(%rbp), %eax
0000000100007a2d	addl	$-0x1, %eax
0000000100007a30	movl	%eax, -0x4c(%rbp)
0000000100007a33	jmp	0x1000079d8
0000000100007a38	movl	-0x4c(%rbp), %eax
0000000100007a3b	addl	$0x1, %eax
0000000100007a3e	movq	-0x20(%rbp), %rdi
0000000100007a42	movl	-0x18(%rbp), %esi
0000000100007a45	movl	%eax, %edx
0000000100007a47	callq	_string_left
0000000100007a4c	movq	%rax, -0x10(%rbp)
0000000100007a50	movl	%edx, -0x8(%rbp)
0000000100007a53	movq	-0x10(%rbp), %rax
0000000100007a57	movl	-0x8(%rbp), %edx
0000000100007a5a	addq	$0x70, %rsp
0000000100007a5e	popq	%rbp
0000000100007a5f	retq
_compare_strings:
0000000100007a60	pushq	%rbp
0000000100007a61	movq	%rsp, %rbp
0000000100007a64	subq	$0x20, %rsp
0000000100007a68	movq	%rdi, -0x10(%rbp)
0000000100007a6c	movq	%rsi, -0x18(%rbp)
0000000100007a70	movq	-0x10(%rbp), %rsi
0000000100007a74	movq	-0x18(%rbp), %rdi
0000000100007a78	movq	(%rsi), %rax
0000000100007a7b	movl	0x8(%rsi), %esi
0000000100007a7e	movq	(%rdi), %rdx
0000000100007a81	movl	0x8(%rdi), %ecx
0000000100007a84	movq	%rax, %rdi
0000000100007a87	callq	_string_lt
0000000100007a8c	testb	$0x1, %al
0000000100007a8e	jne	0x100007a99
0000000100007a94	jmp	0x100007aa5
0000000100007a99	movl	$0xffffffff, -0x4(%rbp)
0000000100007aa0	jmp	0x100007ade
0000000100007aa5	movq	-0x10(%rbp), %rax
0000000100007aa9	movq	-0x18(%rbp), %rcx
0000000100007aad	movq	(%rax), %rdi
0000000100007ab0	movl	0x8(%rax), %esi
0000000100007ab3	movq	(%rcx), %rdx
0000000100007ab6	movl	0x8(%rcx), %ecx
0000000100007ab9	callq	_string_gt
0000000100007abe	testb	$0x1, %al
0000000100007ac0	jne	0x100007acb
0000000100007ac6	jmp	0x100007ad7
0000000100007acb	movl	$0x1, -0x4(%rbp)
0000000100007ad2	jmp	0x100007ade
0000000100007ad7	movl	$0x0, -0x4(%rbp)
0000000100007ade	movl	-0x4(%rbp), %eax
0000000100007ae1	addq	$0x20, %rsp
0000000100007ae5	popq	%rbp
0000000100007ae6	retq
0000000100007ae7	nopw	(%rax,%rax)
_compare_strings_by_len:
0000000100007af0	pushq	%rbp
0000000100007af1	movq	%rsp, %rbp
0000000100007af4	movq	%rdi, -0x10(%rbp)
0000000100007af8	movq	%rsi, -0x18(%rbp)
0000000100007afc	movq	-0x10(%rbp), %rsi
0000000100007b00	movl	0x8(%rsi), %eax
0000000100007b03	movq	-0x18(%rbp), %rsi
0000000100007b07	cmpl	0x8(%rsi), %eax
0000000100007b0a	jge	0x100007b1c
0000000100007b10	movl	$0xffffffff, -0x4(%rbp)
0000000100007b17	jmp	0x100007b43
0000000100007b1c	movq	-0x10(%rbp), %rax
0000000100007b20	movl	0x8(%rax), %ecx
0000000100007b23	movq	-0x18(%rbp), %rax
0000000100007b27	cmpl	0x8(%rax), %ecx
0000000100007b2a	jle	0x100007b3c
0000000100007b30	movl	$0x1, -0x4(%rbp)
0000000100007b37	jmp	0x100007b43
0000000100007b3c	movl	$0x0, -0x4(%rbp)
0000000100007b43	movl	-0x4(%rbp), %eax
0000000100007b46	popq	%rbp
0000000100007b47	retq
0000000100007b48	nopl	(%rax,%rax)
_compare_lower_strings:
0000000100007b50	pushq	%rbp
0000000100007b51	movq	%rsp, %rbp
0000000100007b54	subq	$0x30, %rsp
0000000100007b58	movq	%rdi, -0x8(%rbp)
0000000100007b5c	movq	%rsi, -0x10(%rbp)
0000000100007b60	movq	-0x8(%rbp), %rsi
0000000100007b64	movq	(%rsi), %rdi
0000000100007b67	movl	0x8(%rsi), %esi
0000000100007b6a	callq	_string_to_lower
0000000100007b6f	movq	%rax, -0x20(%rbp)
0000000100007b73	movl	%edx, -0x18(%rbp)
0000000100007b76	movq	-0x10(%rbp), %rax
0000000100007b7a	movq	(%rax), %rdi
0000000100007b7d	movl	0x8(%rax), %esi
0000000100007b80	callq	_string_to_lower
0000000100007b85	leaq	-0x20(%rbp), %rdi
0000000100007b89	leaq	-0x30(%rbp), %rsi
0000000100007b8d	movq	%rax, -0x30(%rbp)
0000000100007b91	movl	%edx, -0x28(%rbp)
0000000100007b94	callq	_compare_strings
0000000100007b99	addq	$0x30, %rsp
0000000100007b9d	popq	%rbp
0000000100007b9e	retq
0000000100007b9f	nop
_array_string_sort:
0000000100007ba0	pushq	%rbp
0000000100007ba1	movq	%rsp, %rbp
0000000100007ba4	subq	$0x10, %rsp
0000000100007ba8	leaq	_compare_strings(%rip), %rax
0000000100007baf	movq	%rdi, -0x8(%rbp)
0000000100007bb3	movq	-0x8(%rbp), %rdi
0000000100007bb7	movq	%rax, %rsi
0000000100007bba	callq	_array_sort_with_compare
0000000100007bbf	addq	$0x10, %rsp
0000000100007bc3	popq	%rbp
0000000100007bc4	retq
0000000100007bc5	nopw	%cs:(%rax,%rax)
_array_string_sort_ignore_case:
0000000100007bd0	pushq	%rbp
0000000100007bd1	movq	%rsp, %rbp
0000000100007bd4	subq	$0x10, %rsp
0000000100007bd8	leaq	_compare_lower_strings(%rip), %rax
0000000100007bdf	movq	%rdi, -0x8(%rbp)
0000000100007be3	movq	-0x8(%rbp), %rdi
0000000100007be7	movq	%rax, %rsi
0000000100007bea	callq	_array_sort_with_compare
0000000100007bef	addq	$0x10, %rsp
0000000100007bf3	popq	%rbp
0000000100007bf4	retq
0000000100007bf5	nopw	%cs:(%rax,%rax)
_array_string_sort_by_len:
0000000100007c00	pushq	%rbp
0000000100007c01	movq	%rsp, %rbp
0000000100007c04	subq	$0x10, %rsp
0000000100007c08	leaq	_compare_strings_by_len(%rip), %rax
0000000100007c0f	movq	%rdi, -0x8(%rbp)
0000000100007c13	movq	-0x8(%rbp), %rdi
0000000100007c17	movq	%rax, %rsi
0000000100007c1a	callq	_array_sort_with_compare
0000000100007c1f	addq	$0x10, %rsp
0000000100007c23	popq	%rbp
0000000100007c24	retq
0000000100007c25	nopw	%cs:(%rax,%rax)
_string_ustring:
0000000100007c30	pushq	%rbp
0000000100007c31	movq	%rsp, %rbp
0000000100007c34	subq	$0x30, %rsp
0000000100007c38	movq	%rdi, %rax
0000000100007c3b	xorl	%ecx, %ecx
0000000100007c3d	movl	$0x4, %r8d
0000000100007c43	movq	%rsi, -0x10(%rbp)
0000000100007c47	movl	%edx, -0x8(%rbp)
0000000100007c4a	movq	-0x10(%rbp), %rsi
0000000100007c4e	movq	%rsi, (%rdi)
0000000100007c51	movq	-0x8(%rbp), %rsi
0000000100007c55	movq	%rsi, 0x8(%rdi)
0000000100007c59	movq	%rdi, %rsi
0000000100007c5c	addq	$0x10, %rsi
0000000100007c60	movl	-0x8(%rbp), %edx
0000000100007c63	movq	%rdi, -0x28(%rbp)
0000000100007c67	movq	%rsi, %rdi
0000000100007c6a	movl	%ecx, %esi
0000000100007c6c	movl	%r8d, %ecx
0000000100007c6f	movq	%rax, -0x30(%rbp)
0000000100007c73	callq	_new_array
0000000100007c78	movq	-0x28(%rbp), %rax
0000000100007c7c	movl	$0x0, 0x28(%rax)
0000000100007c83	movl	$0x0, -0x14(%rbp)
0000000100007c8a	movl	-0x14(%rbp), %eax
0000000100007c8d	cmpl	-0x8(%rbp), %eax
0000000100007c90	jge	0x100007cee
0000000100007c96	movq	-0x10(%rbp), %rax
0000000100007c9a	movslq	-0x14(%rbp), %rcx
0000000100007c9e	movzbl	(%rax,%rcx), %edi
0000000100007ca2	callq	_utf8_char_len
0000000100007ca7	leaq	-0x1c(%rbp), %rcx
0000000100007cab	movl	%eax, -0x18(%rbp)
0000000100007cae	movl	-0x14(%rbp), %eax
0000000100007cb1	movl	%eax, -0x1c(%rbp)
0000000100007cb4	movq	-0x28(%rbp), %rdx
0000000100007cb8	addq	$0x10, %rdx
0000000100007cbc	movq	%rdx, %rdi
0000000100007cbf	movq	%rcx, %rsi
0000000100007cc2	callq	_array_push
0000000100007cc7	movl	-0x18(%rbp), %eax
0000000100007cca	subl	$0x1, %eax
0000000100007ccd	addl	-0x14(%rbp), %eax
0000000100007cd0	movl	%eax, -0x14(%rbp)
0000000100007cd3	movq	-0x28(%rbp), %rcx
0000000100007cd7	movl	0x28(%rcx), %eax
0000000100007cda	addl	$0x1, %eax
0000000100007cdd	movl	%eax, 0x28(%rcx)
0000000100007ce0	movl	-0x14(%rbp), %eax
0000000100007ce3	addl	$0x1, %eax
0000000100007ce6	movl	%eax, -0x14(%rbp)
0000000100007ce9	jmp	0x100007c8a
0000000100007cee	movq	-0x30(%rbp), %rax
0000000100007cf2	addq	$0x30, %rsp
0000000100007cf6	popq	%rbp
0000000100007cf7	retq
0000000100007cf8	nopl	(%rax,%rax)
_string_ustring_tmp:
0000000100007d00	pushq	%rbp
0000000100007d01	movq	%rsp, %rbp
0000000100007d04	subq	$0x50, %rsp
0000000100007d08	movq	%rdi, %rax
0000000100007d0b	leaq	_g_ustring_runes(%rip), %rcx
0000000100007d12	movq	%rsi, -0x10(%rbp)
0000000100007d16	movl	%edx, -0x8(%rbp)
0000000100007d19	cmpl	$0x0, 0x8(%rcx)
0000000100007d1d	movq	%rax, -0x40(%rbp)
0000000100007d21	movq	%rdi, -0x48(%rbp)
0000000100007d25	jne	0x100007d5e
0000000100007d2b	leaq	-0x28(%rbp), %rdi
0000000100007d2f	xorl	%esi, %esi
0000000100007d31	movl	$0x80, %edx
0000000100007d36	movl	$0x4, %ecx
0000000100007d3b	callq	_new_array
0000000100007d40	leaq	_g_ustring_runes(%rip), %rdi
0000000100007d47	movq	-0x28(%rbp), %rax
0000000100007d4b	movq	%rax, (%rdi)
0000000100007d4e	movq	-0x20(%rbp), %rax
0000000100007d52	movq	%rax, 0x8(%rdi)
0000000100007d56	movq	-0x18(%rbp), %rax
0000000100007d5a	movq	%rax, 0x10(%rdi)
0000000100007d5e	xorl	%esi, %esi
0000000100007d60	movl	$0x1, %edx
0000000100007d65	movl	$0x4, %ecx
0000000100007d6a	movq	-0x10(%rbp), %rax
0000000100007d6e	movq	-0x48(%rbp), %rdi
0000000100007d72	movq	%rax, (%rdi)
0000000100007d75	movq	-0x8(%rbp), %rax
0000000100007d79	movq	%rax, 0x8(%rdi)
0000000100007d7d	addq	$0x10, %rdi
0000000100007d81	callq	_new_array
0000000100007d86	leaq	_g_ustring_runes(%rip), %rax
0000000100007d8d	movq	-0x48(%rbp), %rdi
0000000100007d91	movl	$0x0, 0x28(%rdi)
0000000100007d98	movq	(%rax), %r8
0000000100007d9b	movq	%r8, 0x10(%rdi)
0000000100007d9f	movq	0x8(%rax), %r8
0000000100007da3	movq	%r8, 0x18(%rdi)
0000000100007da7	movq	0x10(%rax), %rax
0000000100007dab	movq	%rax, 0x20(%rdi)
0000000100007daf	movl	-0x8(%rbp), %ecx
0000000100007db2	movl	%ecx, 0x18(%rdi)
0000000100007db5	movl	$0x0, -0x2c(%rbp)
0000000100007dbc	movl	$0x0, -0x30(%rbp)
0000000100007dc3	movl	-0x30(%rbp), %eax
0000000100007dc6	cmpl	-0x8(%rbp), %eax
0000000100007dc9	jge	0x100007e33
0000000100007dcf	movq	-0x10(%rbp), %rax
0000000100007dd3	movslq	-0x30(%rbp), %rcx
0000000100007dd7	movzbl	(%rax,%rcx), %edi
0000000100007ddb	callq	_utf8_char_len
0000000100007de0	leaq	-0x38(%rbp), %rcx
0000000100007de4	movl	%eax, -0x34(%rbp)
0000000100007de7	movq	-0x48(%rbp), %rdx
0000000100007deb	addq	$0x10, %rdx
0000000100007def	movl	-0x2c(%rbp), %esi
0000000100007df2	movl	-0x30(%rbp), %eax
0000000100007df5	movl	%eax, -0x38(%rbp)
0000000100007df8	movq	%rdx, %rdi
0000000100007dfb	movq	%rcx, %rdx
0000000100007dfe	callq	_array_set
0000000100007e03	movl	-0x2c(%rbp), %eax
0000000100007e06	addl	$0x1, %eax
0000000100007e09	movl	%eax, -0x2c(%rbp)
0000000100007e0c	movl	-0x34(%rbp), %eax
0000000100007e0f	subl	$0x1, %eax
0000000100007e12	addl	-0x30(%rbp), %eax
0000000100007e15	movl	%eax, -0x30(%rbp)
0000000100007e18	movq	-0x48(%rbp), %rcx
0000000100007e1c	movl	0x28(%rcx), %eax
0000000100007e1f	addl	$0x1, %eax
0000000100007e22	movl	%eax, 0x28(%rcx)
0000000100007e25	movl	-0x30(%rbp), %eax
0000000100007e28	addl	$0x1, %eax
0000000100007e2b	movl	%eax, -0x30(%rbp)
0000000100007e2e	jmp	0x100007dc3
0000000100007e33	movq	-0x40(%rbp), %rax
0000000100007e37	addq	$0x50, %rsp
0000000100007e3b	popq	%rbp
0000000100007e3c	retq
0000000100007e3d	nopl	(%rax)
_ustring_eq:
0000000100007e40	pushq	%rbp
0000000100007e41	movq	%rsp, %rbp
0000000100007e44	subq	$0x20, %rsp
0000000100007e48	leaq	0x40(%rbp), %rax
0000000100007e4c	leaq	0x10(%rbp), %rcx
0000000100007e50	movl	0x28(%rcx), %edx
0000000100007e53	cmpl	0x28(%rax), %edx
0000000100007e56	movq	%rax, -0x10(%rbp)
0000000100007e5a	movq	%rcx, -0x18(%rbp)
0000000100007e5e	jne	0x100007e8a
0000000100007e64	movq	-0x18(%rbp), %rax
0000000100007e68	movq	(%rax), %rdi
0000000100007e6b	movl	0x8(%rax), %esi
0000000100007e6e	movq	-0x10(%rbp), %rcx
0000000100007e72	movq	(%rcx), %rdx
0000000100007e75	movl	0x8(%rcx), %ecx
0000000100007e78	callq	_string_ne
0000000100007e7d	testb	$0x1, %al
0000000100007e7f	jne	0x100007e8a
0000000100007e85	jmp	0x100007e93
0000000100007e8a	movb	$0x0, -0x1(%rbp)
0000000100007e8e	jmp	0x100007e97
0000000100007e93	movb	$0x1, -0x1(%rbp)
0000000100007e97	movb	-0x1(%rbp), %al
0000000100007e9a	andb	$0x1, %al
0000000100007e9c	movzbl	%al, %eax
0000000100007e9f	addq	$0x20, %rsp
0000000100007ea3	popq	%rbp
0000000100007ea4	retq
0000000100007ea5	nopw	%cs:(%rax,%rax)
_ustring_ne:
0000000100007eb0	pushq	%rbp
0000000100007eb1	movq	%rsp, %rbp
0000000100007eb4	subq	$0x60, %rsp
0000000100007eb8	leaq	0x40(%rbp), %rax
0000000100007ebc	leaq	0x10(%rbp), %rcx
0000000100007ec0	movq	0x28(%rax), %rdx
0000000100007ec4	movq	%rsp, %rsi
0000000100007ec7	movq	%rdx, 0x58(%rsi)
0000000100007ecb	movq	0x20(%rax), %rdx
0000000100007ecf	movq	%rdx, 0x50(%rsi)
0000000100007ed3	movq	0x18(%rax), %rdx
0000000100007ed7	movq	%rdx, 0x48(%rsi)
0000000100007edb	movq	0x10(%rax), %rdx
0000000100007edf	movq	%rdx, 0x40(%rsi)
0000000100007ee3	movq	(%rax), %rdx
0000000100007ee6	movq	0x8(%rax), %rax
0000000100007eea	movq	%rax, 0x38(%rsi)
0000000100007eee	movq	%rdx, 0x30(%rsi)
0000000100007ef2	movq	0x28(%rcx), %rax
0000000100007ef6	movq	%rax, 0x28(%rsi)
0000000100007efa	movq	0x20(%rcx), %rax
0000000100007efe	movq	%rax, 0x20(%rsi)
0000000100007f02	movq	0x18(%rcx), %rax
0000000100007f06	movq	%rax, 0x18(%rsi)
0000000100007f0a	movq	0x10(%rcx), %rax
0000000100007f0e	movq	%rax, 0x10(%rsi)
0000000100007f12	movq	(%rcx), %rax
0000000100007f15	movq	0x8(%rcx), %rcx
0000000100007f19	movq	%rcx, 0x8(%rsi)
0000000100007f1d	movq	%rax, (%rsi)
0000000100007f20	callq	_ustring_eq
0000000100007f25	xorb	$-0x1, %al
0000000100007f27	andb	$0x1, %al
0000000100007f29	movzbl	%al, %eax
0000000100007f2c	addq	$0x60, %rsp
0000000100007f30	popq	%rbp
0000000100007f31	retq
0000000100007f32	nopw	%cs:(%rax,%rax)
_ustring_lt:
0000000100007f40	pushq	%rbp
0000000100007f41	movq	%rsp, %rbp
0000000100007f44	leaq	0x40(%rbp), %rax
0000000100007f48	leaq	0x10(%rbp), %rcx
0000000100007f4c	movq	(%rcx), %rdi
0000000100007f4f	movl	0x8(%rcx), %esi
0000000100007f52	movq	(%rax), %rdx
0000000100007f55	movl	0x8(%rax), %ecx
0000000100007f58	callq	_string_lt
0000000100007f5d	andb	$0x1, %al
0000000100007f5f	movzbl	%al, %eax
0000000100007f62	popq	%rbp
0000000100007f63	retq
0000000100007f64	nopw	%cs:(%rax,%rax)
_ustring_le:
0000000100007f70	pushq	%rbp
0000000100007f71	movq	%rsp, %rbp
0000000100007f74	subq	$0x80, %rsp
0000000100007f7b	leaq	0x40(%rbp), %rax
0000000100007f7f	leaq	0x10(%rbp), %rcx
0000000100007f83	movq	0x28(%rax), %rdx
0000000100007f87	movq	%rsp, %rsi
0000000100007f8a	movq	%rdx, 0x58(%rsi)
0000000100007f8e	movq	0x20(%rax), %rdx
0000000100007f92	movq	%rdx, 0x50(%rsi)
0000000100007f96	movq	0x18(%rax), %rdx
0000000100007f9a	movq	%rdx, 0x48(%rsi)
0000000100007f9e	movq	0x10(%rax), %rdx
0000000100007fa2	movq	%rdx, 0x40(%rsi)
0000000100007fa6	movq	(%rax), %rdx
0000000100007fa9	movq	0x8(%rax), %rdi
0000000100007fad	movq	%rdi, 0x38(%rsi)
0000000100007fb1	movq	%rdx, 0x30(%rsi)
0000000100007fb5	movq	0x28(%rcx), %rdx
0000000100007fb9	movq	%rdx, 0x28(%rsi)
0000000100007fbd	movq	0x20(%rcx), %rdx
0000000100007fc1	movq	%rdx, 0x20(%rsi)
0000000100007fc5	movq	0x18(%rcx), %rdx
0000000100007fc9	movq	%rdx, 0x18(%rsi)
0000000100007fcd	movq	0x10(%rcx), %rdx
0000000100007fd1	movq	%rdx, 0x10(%rsi)
0000000100007fd5	movq	(%rcx), %rdx
0000000100007fd8	movq	0x8(%rcx), %rdi
0000000100007fdc	movq	%rdi, 0x8(%rsi)
0000000100007fe0	movq	%rdx, (%rsi)
0000000100007fe3	movq	%rax, -0x8(%rbp)
0000000100007fe7	movq	%rcx, -0x10(%rbp)
0000000100007feb	callq	_ustring_lt
0000000100007ff0	movb	$0x1, %r8b
0000000100007ff3	testb	$0x1, %al
0000000100007ff5	movb	%r8b, -0x11(%rbp)
0000000100007ff9	jne	0x10000806f
0000000100007fff	movq	-0x8(%rbp), %rax
0000000100008003	movq	0x28(%rax), %rcx
0000000100008007	movq	%rsp, %rdx
000000010000800a	movq	%rcx, 0x58(%rdx)
000000010000800e	movq	0x20(%rax), %rcx
0000000100008012	movq	%rcx, 0x50(%rdx)
0000000100008016	movq	0x18(%rax), %rcx
000000010000801a	movq	%rcx, 0x48(%rdx)
000000010000801e	movq	0x10(%rax), %rcx
0000000100008022	movq	%rcx, 0x40(%rdx)
0000000100008026	movq	(%rax), %rcx
0000000100008029	movq	0x8(%rax), %rsi
000000010000802d	movq	%rsi, 0x38(%rdx)
0000000100008031	movq	%rcx, 0x30(%rdx)
0000000100008035	movq	-0x10(%rbp), %rcx
0000000100008039	movq	0x28(%rcx), %rsi
000000010000803d	movq	%rsi, 0x28(%rdx)
0000000100008041	movq	0x20(%rcx), %rsi
0000000100008045	movq	%rsi, 0x20(%rdx)
0000000100008049	movq	0x18(%rcx), %rsi
000000010000804d	movq	%rsi, 0x18(%rdx)
0000000100008051	movq	0x10(%rcx), %rsi
0000000100008055	movq	%rsi, 0x10(%rdx)
0000000100008059	movq	(%rcx), %rsi
000000010000805c	movq	0x8(%rcx), %rdi
0000000100008060	movq	%rdi, 0x8(%rdx)
0000000100008064	movq	%rsi, (%rdx)
0000000100008067	callq	_ustring_eq
000000010000806c	movb	%al, -0x11(%rbp)
000000010000806f	movb	-0x11(%rbp), %al
0000000100008072	andb	$0x1, %al
0000000100008074	movzbl	%al, %eax
0000000100008077	addq	$0x80, %rsp
000000010000807e	popq	%rbp
000000010000807f	retq
_ustring_gt:
0000000100008080	pushq	%rbp
0000000100008081	movq	%rsp, %rbp
0000000100008084	subq	$0x60, %rsp
0000000100008088	leaq	0x40(%rbp), %rax
000000010000808c	leaq	0x10(%rbp), %rcx
0000000100008090	movq	0x28(%rax), %rdx
0000000100008094	movq	%rsp, %rsi
0000000100008097	movq	%rdx, 0x58(%rsi)
000000010000809b	movq	0x20(%rax), %rdx
000000010000809f	movq	%rdx, 0x50(%rsi)
00000001000080a3	movq	0x18(%rax), %rdx
00000001000080a7	movq	%rdx, 0x48(%rsi)
00000001000080ab	movq	0x10(%rax), %rdx
00000001000080af	movq	%rdx, 0x40(%rsi)
00000001000080b3	movq	(%rax), %rdx
00000001000080b6	movq	0x8(%rax), %rax
00000001000080ba	movq	%rax, 0x38(%rsi)
00000001000080be	movq	%rdx, 0x30(%rsi)
00000001000080c2	movq	0x28(%rcx), %rax
00000001000080c6	movq	%rax, 0x28(%rsi)
00000001000080ca	movq	0x20(%rcx), %rax
00000001000080ce	movq	%rax, 0x20(%rsi)
00000001000080d2	movq	0x18(%rcx), %rax
00000001000080d6	movq	%rax, 0x18(%rsi)
00000001000080da	movq	0x10(%rcx), %rax
00000001000080de	movq	%rax, 0x10(%rsi)
00000001000080e2	movq	(%rcx), %rax
00000001000080e5	movq	0x8(%rcx), %rcx
00000001000080e9	movq	%rcx, 0x8(%rsi)
00000001000080ed	movq	%rax, (%rsi)
00000001000080f0	callq	_ustring_le
00000001000080f5	xorb	$-0x1, %al
00000001000080f7	andb	$0x1, %al
00000001000080f9	movzbl	%al, %eax
00000001000080fc	addq	$0x60, %rsp
0000000100008100	popq	%rbp
0000000100008101	retq
0000000100008102	nopw	%cs:(%rax,%rax)
_ustring_ge:
0000000100008110	pushq	%rbp
0000000100008111	movq	%rsp, %rbp
0000000100008114	subq	$0x60, %rsp
0000000100008118	leaq	0x40(%rbp), %rax
000000010000811c	leaq	0x10(%rbp), %rcx
0000000100008120	movq	0x28(%rax), %rdx
0000000100008124	movq	%rsp, %rsi
0000000100008127	movq	%rdx, 0x58(%rsi)
000000010000812b	movq	0x20(%rax), %rdx
000000010000812f	movq	%rdx, 0x50(%rsi)
0000000100008133	movq	0x18(%rax), %rdx
0000000100008137	movq	%rdx, 0x48(%rsi)
000000010000813b	movq	0x10(%rax), %rdx
000000010000813f	movq	%rdx, 0x40(%rsi)
0000000100008143	movq	(%rax), %rdx
0000000100008146	movq	0x8(%rax), %rax
000000010000814a	movq	%rax, 0x38(%rsi)
000000010000814e	movq	%rdx, 0x30(%rsi)
0000000100008152	movq	0x28(%rcx), %rax
0000000100008156	movq	%rax, 0x28(%rsi)
000000010000815a	movq	0x20(%rcx), %rax
000000010000815e	movq	%rax, 0x20(%rsi)
0000000100008162	movq	0x18(%rcx), %rax
0000000100008166	movq	%rax, 0x18(%rsi)
000000010000816a	movq	0x10(%rcx), %rax
000000010000816e	movq	%rax, 0x10(%rsi)
0000000100008172	movq	(%rcx), %rax
0000000100008175	movq	0x8(%rcx), %rcx
0000000100008179	movq	%rcx, 0x8(%rsi)
000000010000817d	movq	%rax, (%rsi)
0000000100008180	callq	_ustring_lt
0000000100008185	xorb	$-0x1, %al
0000000100008187	andb	$0x1, %al
0000000100008189	movzbl	%al, %eax
000000010000818c	addq	$0x60, %rsp
0000000100008190	popq	%rbp
0000000100008191	retq
0000000100008192	nopw	%cs:(%rax,%rax)
_ustring_add:
00000001000081a0	pushq	%rbp
00000001000081a1	movq	%rsp, %rbp
00000001000081a4	subq	$0x40, %rsp
00000001000081a8	movq	%rdi, %rax
00000001000081ab	leaq	0x40(%rbp), %rcx
00000001000081af	leaq	0x10(%rbp), %rdx
00000001000081b3	movq	(%rdx), %rsi
00000001000081b6	movl	0x8(%rdx), %r8d
00000001000081ba	movq	(%rcx), %r9
00000001000081bd	movl	0x8(%rcx), %r10d
00000001000081c1	movq	%rdi, -0x28(%rbp)
00000001000081c5	movq	%rsi, %rdi
00000001000081c8	movl	%r8d, %esi
00000001000081cb	movq	%rdx, -0x30(%rbp)
00000001000081cf	movq	%r9, %rdx
00000001000081d2	movq	%rcx, -0x38(%rbp)
00000001000081d6	movl	%r10d, %ecx
00000001000081d9	movq	%rax, -0x40(%rbp)
00000001000081dd	callq	_string_add
00000001000081e2	xorl	%esi, %esi
00000001000081e4	movl	$0x4, %ecx
00000001000081e9	movq	-0x28(%rbp), %rdi
00000001000081ed	movq	%rax, (%rdi)
00000001000081f0	movl	%edx, 0x8(%rdi)
00000001000081f3	addq	$0x10, %rdi
00000001000081f7	movq	-0x30(%rbp), %rax
00000001000081fb	movl	0x8(%rax), %edx
00000001000081fe	movq	-0x38(%rbp), %r9
0000000100008202	addl	0x8(%r9), %edx
0000000100008206	callq	_new_array
000000010000820b	movq	-0x28(%rbp), %rax
000000010000820f	movl	$0x0, 0x28(%rax)
0000000100008216	movl	$0x0, -0x4(%rbp)
000000010000821d	movl	$0x0, -0x8(%rbp)
0000000100008224	movl	-0x8(%rbp), %eax
0000000100008227	movq	-0x30(%rbp), %rcx
000000010000822b	cmpl	0x8(%rcx), %eax
000000010000822e	jge	0x100008298
0000000100008234	movq	-0x30(%rbp), %rax
0000000100008238	movq	(%rax), %rcx
000000010000823b	movslq	-0x8(%rbp), %rdx
000000010000823f	movzbl	(%rcx,%rdx), %edi
0000000100008243	callq	_utf8_char_len
0000000100008248	leaq	-0x10(%rbp), %rcx
000000010000824c	movl	%eax, -0xc(%rbp)
000000010000824f	movl	-0x4(%rbp), %eax
0000000100008252	movl	%eax, -0x10(%rbp)
0000000100008255	movq	-0x28(%rbp), %rdx
0000000100008259	addq	$0x10, %rdx
000000010000825d	movq	%rdx, %rdi
0000000100008260	movq	%rcx, %rsi
0000000100008263	callq	_array_push
0000000100008268	movl	-0xc(%rbp), %eax
000000010000826b	subl	$0x1, %eax
000000010000826e	addl	-0x8(%rbp), %eax
0000000100008271	movl	%eax, -0x8(%rbp)
0000000100008274	movl	-0xc(%rbp), %eax
0000000100008277	addl	-0x4(%rbp), %eax
000000010000827a	movl	%eax, -0x4(%rbp)
000000010000827d	movq	-0x28(%rbp), %rcx
0000000100008281	movl	0x28(%rcx), %eax
0000000100008284	addl	$0x1, %eax
0000000100008287	movl	%eax, 0x28(%rcx)
000000010000828a	movl	-0x8(%rbp), %eax
000000010000828d	addl	$0x1, %eax
0000000100008290	movl	%eax, -0x8(%rbp)
0000000100008293	jmp	0x100008224
0000000100008298	movl	$0x0, -0x14(%rbp)
000000010000829f	movl	-0x14(%rbp), %eax
00000001000082a2	movq	-0x38(%rbp), %rcx
00000001000082a6	cmpl	0x8(%rcx), %eax
00000001000082a9	jge	0x100008313
00000001000082af	movq	-0x38(%rbp), %rax
00000001000082b3	movq	(%rax), %rcx
00000001000082b6	movslq	-0x14(%rbp), %rdx
00000001000082ba	movzbl	(%rcx,%rdx), %edi
00000001000082be	callq	_utf8_char_len
00000001000082c3	leaq	-0x1c(%rbp), %rcx
00000001000082c7	movl	%eax, -0x18(%rbp)
00000001000082ca	movl	-0x4(%rbp), %eax
00000001000082cd	movl	%eax, -0x1c(%rbp)
00000001000082d0	movq	-0x28(%rbp), %rdx
00000001000082d4	addq	$0x10, %rdx
00000001000082d8	movq	%rdx, %rdi
00000001000082db	movq	%rcx, %rsi
00000001000082de	callq	_array_push
00000001000082e3	movl	-0x18(%rbp), %eax
00000001000082e6	subl	$0x1, %eax
00000001000082e9	addl	-0x14(%rbp), %eax
00000001000082ec	movl	%eax, -0x14(%rbp)
00000001000082ef	movl	-0x18(%rbp), %eax
00000001000082f2	addl	-0x4(%rbp), %eax
00000001000082f5	movl	%eax, -0x4(%rbp)
00000001000082f8	movq	-0x28(%rbp), %rcx
00000001000082fc	movl	0x28(%rcx), %eax
00000001000082ff	addl	$0x1, %eax
0000000100008302	movl	%eax, 0x28(%rcx)
0000000100008305	movl	-0x14(%rbp), %eax
0000000100008308	addl	$0x1, %eax
000000010000830b	movl	%eax, -0x14(%rbp)
000000010000830e	jmp	0x10000829f
0000000100008313	movq	-0x40(%rbp), %rax
0000000100008317	addq	$0x40, %rsp
000000010000831b	popq	%rbp
000000010000831c	retq
000000010000831d	nopl	(%rax)
_ustring_index_after:
0000000100008320	pushq	%rbp
0000000100008321	movq	%rsp, %rbp
0000000100008324	subq	$0x80, %rsp
000000010000832b	leaq	0x40(%rbp), %rax
000000010000832f	leaq	0x10(%rbp), %rcx
0000000100008333	movl	%edi, -0x8(%rbp)
0000000100008336	movl	0x28(%rax), %edi
0000000100008339	cmpl	0x28(%rcx), %edi
000000010000833c	movq	%rcx, -0x40(%rbp)
0000000100008340	movq	%rax, -0x48(%rbp)
0000000100008344	jle	0x100008356
000000010000834a	movl	$0xffffffff, -0x4(%rbp)
0000000100008351	jmp	0x1000084b8
0000000100008356	movl	-0x8(%rbp), %eax
0000000100008359	movl	%eax, -0xc(%rbp)
000000010000835c	cmpl	$0x0, -0x8(%rbp)
0000000100008360	jge	0x10000836d
0000000100008366	movl	$0x0, -0xc(%rbp)
000000010000836d	movl	-0x8(%rbp), %eax
0000000100008370	movq	-0x40(%rbp), %rcx
0000000100008374	cmpl	0x28(%rcx), %eax
0000000100008377	jle	0x100008389
000000010000837d	movl	$0xffffffff, -0x4(%rbp)
0000000100008384	jmp	0x1000084b8
0000000100008389	movl	-0xc(%rbp), %eax
000000010000838c	movl	%eax, -0x10(%rbp)
000000010000838f	movl	-0x10(%rbp), %eax
0000000100008392	movq	-0x40(%rbp), %rcx
0000000100008396	cmpl	0x28(%rcx), %eax
0000000100008399	jge	0x1000084b1
000000010000839f	movl	$0x0, -0x14(%rbp)
00000001000083a6	movl	-0x10(%rbp), %eax
00000001000083a9	movl	%eax, -0x18(%rbp)
00000001000083ac	xorl	%eax, %eax
00000001000083ae	movb	%al, %cl
00000001000083b0	movl	-0x14(%rbp), %eax
00000001000083b3	movq	-0x48(%rbp), %rdx
00000001000083b7	cmpl	0x28(%rdx), %eax
00000001000083ba	movb	%cl, -0x49(%rbp)
00000001000083bd	jge	0x100008461
00000001000083c3	movl	-0x18(%rbp), %edi
00000001000083c6	movq	-0x40(%rbp), %rax
00000001000083ca	movq	0x28(%rax), %rcx
00000001000083ce	movq	%rsp, %rdx
00000001000083d1	movq	%rcx, 0x28(%rdx)
00000001000083d5	movq	0x20(%rax), %rcx
00000001000083d9	movq	%rcx, 0x20(%rdx)
00000001000083dd	movq	0x18(%rax), %rcx
00000001000083e1	movq	%rcx, 0x18(%rdx)
00000001000083e5	movq	0x10(%rax), %rcx
00000001000083e9	movq	%rcx, 0x10(%rdx)
00000001000083ed	movq	(%rax), %rcx
00000001000083f0	movq	0x8(%rax), %rsi
00000001000083f4	movq	%rsi, 0x8(%rdx)
00000001000083f8	movq	%rcx, (%rdx)
00000001000083fb	callq	_ustring_at
0000000100008400	movq	%rax, -0x28(%rbp)
0000000100008404	movl	%edx, -0x20(%rbp)
0000000100008407	movl	-0x14(%rbp), %edi
000000010000840a	movq	-0x48(%rbp), %rax
000000010000840e	movq	0x28(%rax), %rcx
0000000100008412	movq	%rsp, %rsi
0000000100008415	movq	%rcx, 0x28(%rsi)
0000000100008419	movq	0x20(%rax), %rcx
000000010000841d	movq	%rcx, 0x20(%rsi)
0000000100008421	movq	0x18(%rax), %rcx
0000000100008425	movq	%rcx, 0x18(%rsi)
0000000100008429	movq	0x10(%rax), %rcx
000000010000842d	movq	%rcx, 0x10(%rsi)
0000000100008431	movq	(%rax), %rcx
0000000100008434	movq	0x8(%rax), %r8
0000000100008438	movq	%r8, 0x8(%rsi)
000000010000843c	movq	%rcx, (%rsi)
000000010000843f	callq	_ustring_at
0000000100008444	movq	%rax, -0x38(%rbp)
0000000100008448	movl	%edx, -0x30(%rbp)
000000010000844b	movq	-0x28(%rbp), %rdi
000000010000844f	movl	-0x20(%rbp), %esi
0000000100008452	movq	-0x38(%rbp), %rdx
0000000100008456	movl	-0x30(%rbp), %ecx
0000000100008459	callq	_string_eq
000000010000845e	movb	%al, -0x49(%rbp)
0000000100008461	movb	-0x49(%rbp), %al
0000000100008464	testb	$0x1, %al
0000000100008466	jne	0x100008471
000000010000846c	jmp	0x100008488
0000000100008471	movl	-0x14(%rbp), %eax
0000000100008474	addl	$0x1, %eax
0000000100008477	movl	%eax, -0x14(%rbp)
000000010000847a	movl	-0x18(%rbp), %eax
000000010000847d	addl	$0x1, %eax
0000000100008480	movl	%eax, -0x18(%rbp)
0000000100008483	jmp	0x1000083ac
0000000100008488	movl	-0x14(%rbp), %eax
000000010000848b	movq	-0x48(%rbp), %rcx
000000010000848f	cmpl	0x28(%rcx), %eax
0000000100008492	jne	0x1000084a3
0000000100008498	movl	-0x10(%rbp), %eax
000000010000849b	movl	%eax, -0x4(%rbp)
000000010000849e	jmp	0x1000084b8
00000001000084a3	movl	-0x10(%rbp), %eax
00000001000084a6	addl	$0x1, %eax
00000001000084a9	movl	%eax, -0x10(%rbp)
00000001000084ac	jmp	0x10000838f
00000001000084b1	movl	$0xffffffff, -0x4(%rbp)
00000001000084b8	movl	-0x4(%rbp), %eax
00000001000084bb	addq	$0x80, %rsp
00000001000084c2	popq	%rbp
00000001000084c3	retq
00000001000084c4	nopw	%cs:(%rax,%rax)
_ustring_at:
00000001000084d0	pushq	%rbp
00000001000084d1	movq	%rsp, %rbp
00000001000084d4	subq	$0x60, %rsp
00000001000084d8	leaq	0x10(%rbp), %rax
00000001000084dc	movl	%edi, -0x14(%rbp)
00000001000084df	cmpl	$0x0, -0x14(%rbp)
00000001000084e3	movq	%rax, -0x30(%rbp)
00000001000084e7	jl	0x1000084fd
00000001000084ed	movl	-0x14(%rbp), %eax
00000001000084f0	movq	-0x30(%rbp), %rcx
00000001000084f4	cmpl	0x28(%rcx), %eax
00000001000084f7	jl	0x100008528
00000001000084fd	leaq	0x25af(%rip), %rdi ## literal pool for: "string index out of range: %d / %d"
0000000100008504	movl	-0x14(%rbp), %esi
0000000100008507	movq	-0x30(%rbp), %rax
000000010000850b	movl	0x18(%rax), %edx
000000010000850e	movb	$0x0, %al
0000000100008510	callq	__STR
0000000100008515	movq	%rax, -0x28(%rbp)
0000000100008519	movl	%edx, -0x20(%rbp)
000000010000851c	movq	-0x28(%rbp), %rdi
0000000100008520	movl	-0x20(%rbp), %esi
0000000100008523	callq	_v_panic
0000000100008528	movl	-0x14(%rbp), %eax
000000010000852b	movl	%eax, %ecx
000000010000852d	incl	%ecx
000000010000852f	movq	-0x30(%rbp), %rdx
0000000100008533	movq	0x28(%rdx), %rsi
0000000100008537	movq	%rsp, %rdi
000000010000853a	movq	%rsi, 0x28(%rdi)
000000010000853e	movq	0x20(%rdx), %rsi
0000000100008542	movq	%rsi, 0x20(%rdi)
0000000100008546	movq	0x18(%rdx), %rsi
000000010000854a	movq	%rsi, 0x18(%rdi)
000000010000854e	movq	0x10(%rdx), %rsi
0000000100008552	movq	%rsi, 0x10(%rdi)
0000000100008556	movq	(%rdx), %rsi
0000000100008559	movq	0x8(%rdx), %r8
000000010000855d	movq	%r8, 0x8(%rdi)
0000000100008561	movq	%rsi, (%rdi)
0000000100008564	movl	%eax, %edi
0000000100008566	movl	%ecx, %esi
0000000100008568	callq	_ustring_substr
000000010000856d	movq	%rax, -0x10(%rbp)
0000000100008571	movl	%edx, -0x8(%rbp)
0000000100008574	movq	-0x10(%rbp), %rax
0000000100008578	movl	-0x8(%rbp), %edx
000000010000857b	addq	$0x60, %rsp
000000010000857f	popq	%rbp
0000000100008580	retq
0000000100008581	nopw	%cs:(%rax,%rax)
_ustring_count:
0000000100008590	pushq	%rbp
0000000100008591	movq	%rsp, %rbp
0000000100008594	subq	$0x80, %rsp
000000010000859b	leaq	0x40(%rbp), %rax
000000010000859f	leaq	0x10(%rbp), %rcx
00000001000085a3	cmpl	$0x0, 0x28(%rcx)
00000001000085a7	movq	%rax, -0x18(%rbp)
00000001000085ab	movq	%rcx, -0x20(%rbp)
00000001000085af	je	0x1000085c3
00000001000085b5	movq	-0x18(%rbp), %rax
00000001000085b9	cmpl	$0x0, 0x28(%rax)
00000001000085bd	jne	0x1000085cf
00000001000085c3	movl	$0x0, -0x4(%rbp)
00000001000085ca	jmp	0x1000086a0
00000001000085cf	movq	-0x18(%rbp), %rax
00000001000085d3	movl	0x28(%rax), %ecx
00000001000085d6	movq	-0x20(%rbp), %rdx
00000001000085da	cmpl	0x28(%rdx), %ecx
00000001000085dd	jle	0x1000085ef
00000001000085e3	movl	$0x0, -0x4(%rbp)
00000001000085ea	jmp	0x1000086a0
00000001000085ef	movl	$0x0, -0x8(%rbp)
00000001000085f6	movl	$0x0, -0xc(%rbp)
00000001000085fd	movl	-0xc(%rbp), %edi
0000000100008600	movq	-0x18(%rbp), %rax
0000000100008604	movq	0x28(%rax), %rcx
0000000100008608	movq	%rsp, %rdx
000000010000860b	movq	%rcx, 0x58(%rdx)
000000010000860f	movq	0x20(%rax), %rcx
0000000100008613	movq	%rcx, 0x50(%rdx)
0000000100008617	movq	0x18(%rax), %rcx
000000010000861b	movq	%rcx, 0x48(%rdx)
000000010000861f	movq	0x10(%rax), %rcx
0000000100008623	movq	%rcx, 0x40(%rdx)
0000000100008627	movq	(%rax), %rcx
000000010000862a	movq	0x8(%rax), %rsi
000000010000862e	movq	%rsi, 0x38(%rdx)
0000000100008632	movq	%rcx, 0x30(%rdx)
0000000100008636	movq	-0x20(%rbp), %rcx
000000010000863a	movq	0x28(%rcx), %rsi
000000010000863e	movq	%rsi, 0x28(%rdx)
0000000100008642	movq	0x20(%rcx), %rsi
0000000100008646	movq	%rsi, 0x20(%rdx)
000000010000864a	movq	0x18(%rcx), %rsi
000000010000864e	movq	%rsi, 0x18(%rdx)
0000000100008652	movq	0x10(%rcx), %rsi
0000000100008656	movq	%rsi, 0x10(%rdx)
000000010000865a	movq	(%rcx), %rsi
000000010000865d	movq	0x8(%rcx), %r8
0000000100008661	movq	%r8, 0x8(%rdx)
0000000100008665	movq	%rsi, (%rdx)
0000000100008668	callq	_ustring_index_after
000000010000866d	movl	%eax, -0xc(%rbp)
0000000100008670	cmpl	$-0x1, -0xc(%rbp)
0000000100008674	jne	0x100008685
000000010000867a	movl	-0x8(%rbp), %eax
000000010000867d	movl	%eax, -0x4(%rbp)
0000000100008680	jmp	0x1000086a0
0000000100008685	movq	-0x18(%rbp), %rax
0000000100008689	movl	0x28(%rax), %ecx
000000010000868c	addl	-0xc(%rbp), %ecx
000000010000868f	movl	%ecx, -0xc(%rbp)
0000000100008692	movl	-0x8(%rbp), %ecx
0000000100008695	addl	$0x1, %ecx
0000000100008698	movl	%ecx, -0x8(%rbp)
000000010000869b	jmp	0x1000085fd
00000001000086a0	movl	-0x4(%rbp), %eax
00000001000086a3	addq	$0x80, %rsp
00000001000086aa	popq	%rbp
00000001000086ab	retq
00000001000086ac	nopl	(%rax)
_ustring_substr:
00000001000086b0	pushq	%rbp
00000001000086b1	movq	%rsp, %rbp
00000001000086b4	subq	$0x60, %rsp
00000001000086b8	leaq	0x10(%rbp), %rax
00000001000086bc	movl	%edi, -0x14(%rbp)
00000001000086bf	movl	%esi, -0x18(%rbp)
00000001000086c2	movl	-0x14(%rbp), %esi
00000001000086c5	cmpl	-0x18(%rbp), %esi
00000001000086c8	movq	%rax, -0x38(%rbp)
00000001000086cc	jg	0x100008706
00000001000086d2	movl	-0x14(%rbp), %eax
00000001000086d5	movq	-0x38(%rbp), %rcx
00000001000086d9	cmpl	0x28(%rcx), %eax
00000001000086dc	jg	0x100008706
00000001000086e2	movl	-0x18(%rbp), %eax
00000001000086e5	movq	-0x38(%rbp), %rcx
00000001000086e9	cmpl	0x28(%rcx), %eax
00000001000086ec	jg	0x100008706
00000001000086f2	cmpl	$0x0, -0x14(%rbp)
00000001000086f6	jl	0x100008706
00000001000086fc	cmpl	$0x0, -0x18(%rbp)
0000000100008700	jge	0x100008734
0000000100008706	leaq	0x2377(%rip), %rdi ## literal pool for: "substr(%d, %d) out of bounds (len=%d)"
000000010000870d	movl	-0x14(%rbp), %esi
0000000100008710	movl	-0x18(%rbp), %edx
0000000100008713	movq	-0x38(%rbp), %rax
0000000100008717	movl	0x28(%rax), %ecx
000000010000871a	movb	$0x0, %al
000000010000871c	callq	__STR
0000000100008721	movq	%rax, -0x28(%rbp)
0000000100008725	movl	%edx, -0x20(%rbp)
0000000100008728	movq	-0x28(%rbp), %rdi
000000010000872c	movl	-0x20(%rbp), %esi
000000010000872f	callq	_v_panic
0000000100008734	movl	-0x18(%rbp), %eax
0000000100008737	movq	-0x38(%rbp), %rcx
000000010000873b	cmpl	0x28(%rcx), %eax
000000010000873e	jl	0x100008753
0000000100008744	movq	-0x38(%rbp), %rax
0000000100008748	movl	0x8(%rax), %ecx
000000010000874b	movl	%ecx, -0x3c(%rbp)
000000010000874e	jmp	0x100008781
0000000100008753	movq	-0x38(%rbp), %rax
0000000100008757	addq	$0x10, %rax
000000010000875b	movl	-0x18(%rbp), %edi
000000010000875e	movq	(%rax), %rcx
0000000100008761	movq	%rcx, (%rsp)
0000000100008765	movq	0x8(%rax), %rcx
0000000100008769	movq	%rcx, 0x8(%rsp)
000000010000876e	movq	0x10(%rax), %rax
0000000100008772	movq	%rax, 0x10(%rsp)
0000000100008777	callq	_array_get
000000010000877c	movl	(%rax), %edi
000000010000877e	movl	%edi, -0x3c(%rbp)
0000000100008781	movl	-0x3c(%rbp), %eax
0000000100008784	movl	%eax, -0x2c(%rbp)
0000000100008787	movl	-0x14(%rbp), %edi
000000010000878a	movq	-0x38(%rbp), %rcx
000000010000878e	movq	0x20(%rcx), %rdx
0000000100008792	movq	%rsp, %rsi
0000000100008795	movq	%rdx, 0x10(%rsi)
0000000100008799	movq	0x10(%rcx), %rdx
000000010000879d	movq	0x18(%rcx), %r8
00000001000087a1	movq	%r8, 0x8(%rsi)
00000001000087a5	movq	%rdx, (%rsi)
00000001000087a8	callq	_array_get
00000001000087ad	movl	(%rax), %edx
00000001000087af	movl	-0x2c(%rbp), %ecx
00000001000087b2	movq	-0x38(%rbp), %rax
00000001000087b6	movq	(%rax), %rdi
00000001000087b9	movl	0x8(%rax), %esi
00000001000087bc	callq	_string_substr
00000001000087c1	movq	%rax, -0x10(%rbp)
00000001000087c5	movl	%edx, -0x8(%rbp)
00000001000087c8	movq	-0x10(%rbp), %rax
00000001000087cc	movl	-0x8(%rbp), %edx
00000001000087cf	addq	$0x60, %rsp
00000001000087d3	popq	%rbp
00000001000087d4	retq
00000001000087d5	nopw	%cs:(%rax,%rax)
_ustring_left:
00000001000087e0	pushq	%rbp
00000001000087e1	movq	%rsp, %rbp
00000001000087e4	subq	$0x60, %rsp
00000001000087e8	leaq	0x10(%rbp), %rax
00000001000087ec	movl	%edi, -0x14(%rbp)
00000001000087ef	movl	-0x14(%rbp), %edi
00000001000087f2	cmpl	0x28(%rax), %edi
00000001000087f5	movq	%rax, -0x20(%rbp)
00000001000087f9	jl	0x100008817
00000001000087ff	movq	-0x20(%rbp), %rax
0000000100008803	movq	(%rax), %rcx
0000000100008806	movq	%rcx, -0x10(%rbp)
000000010000880a	movq	0x8(%rax), %rcx
000000010000880e	movq	%rcx, -0x8(%rbp)
0000000100008812	jmp	0x100008862
0000000100008817	xorl	%eax, %eax
0000000100008819	movl	-0x14(%rbp), %esi
000000010000881c	movq	-0x20(%rbp), %rcx
0000000100008820	movq	0x28(%rcx), %rdx
0000000100008824	movq	%rsp, %rdi
0000000100008827	movq	%rdx, 0x28(%rdi)
000000010000882b	movq	0x20(%rcx), %rdx
000000010000882f	movq	%rdx, 0x20(%rdi)
0000000100008833	movq	0x18(%rcx), %rdx
0000000100008837	movq	%rdx, 0x18(%rdi)
000000010000883b	movq	0x10(%rcx), %rdx
000000010000883f	movq	%rdx, 0x10(%rdi)
0000000100008843	movq	(%rcx), %rdx
0000000100008846	movq	0x8(%rcx), %r8
000000010000884a	movq	%r8, 0x8(%rdi)
000000010000884e	movq	%rdx, (%rdi)
0000000100008851	xorl	%edi, %edi
0000000100008853	movl	%eax, -0x24(%rbp)
0000000100008856	callq	_ustring_substr
000000010000885b	movq	%rax, -0x10(%rbp)
000000010000885f	movl	%edx, -0x8(%rbp)
0000000100008862	movq	-0x10(%rbp), %rax
0000000100008866	movl	-0x8(%rbp), %edx
0000000100008869	addq	$0x60, %rsp
000000010000886d	popq	%rbp
000000010000886e	retq
000000010000886f	nop
_ustring_right:
0000000100008870	pushq	%rbp
0000000100008871	movq	%rsp, %rbp
0000000100008874	subq	$0x50, %rsp
0000000100008878	leaq	0x10(%rbp), %rax
000000010000887c	movl	%edi, -0x14(%rbp)
000000010000887f	movl	-0x14(%rbp), %edi
0000000100008882	cmpl	0x28(%rax), %edi
0000000100008885	movq	%rax, -0x20(%rbp)
0000000100008889	jl	0x1000088a7
000000010000888f	leaq	0x2123(%rip), %rdi ## literal pool for: ""
0000000100008896	callq	_tos3
000000010000889b	movq	%rax, -0x10(%rbp)
000000010000889f	movl	%edx, -0x8(%rbp)
00000001000088a2	jmp	0x1000088ee
00000001000088a7	movl	-0x14(%rbp), %edi
00000001000088aa	movq	-0x20(%rbp), %rax
00000001000088ae	movl	0x28(%rax), %esi
00000001000088b1	movq	0x28(%rax), %rcx
00000001000088b5	movq	%rsp, %rdx
00000001000088b8	movq	%rcx, 0x28(%rdx)
00000001000088bc	movq	0x20(%rax), %rcx
00000001000088c0	movq	%rcx, 0x20(%rdx)
00000001000088c4	movq	0x18(%rax), %rcx
00000001000088c8	movq	%rcx, 0x18(%rdx)
00000001000088cc	movq	0x10(%rax), %rcx
00000001000088d0	movq	%rcx, 0x10(%rdx)
00000001000088d4	movq	(%rax), %rcx
00000001000088d7	movq	0x8(%rax), %r8
00000001000088db	movq	%r8, 0x8(%rdx)
00000001000088df	movq	%rcx, (%rdx)
00000001000088e2	callq	_ustring_substr
00000001000088e7	movq	%rax, -0x10(%rbp)
00000001000088eb	movl	%edx, -0x8(%rbp)
00000001000088ee	movq	-0x10(%rbp), %rax
00000001000088f2	movl	-0x8(%rbp), %edx
00000001000088f5	addq	$0x50, %rsp
00000001000088f9	popq	%rbp
00000001000088fa	retq
00000001000088fb	nopl	(%rax,%rax)
_string_at:
0000000100008900	pushq	%rbp
0000000100008901	movq	%rsp, %rbp
0000000100008904	subq	$0x30, %rsp
0000000100008908	movq	%rdi, -0x10(%rbp)
000000010000890c	movl	%esi, -0x8(%rbp)
000000010000890f	movl	%edx, -0x14(%rbp)
0000000100008912	cmpl	$0x0, -0x14(%rbp)
0000000100008916	jl	0x100008928
000000010000891c	movl	-0x14(%rbp), %eax
000000010000891f	cmpl	-0x8(%rbp), %eax
0000000100008922	jl	0x10000894f
0000000100008928	leaq	0x2184(%rip), %rdi ## literal pool for: "string index out of range: %d / %d"
000000010000892f	movl	-0x14(%rbp), %esi
0000000100008932	movl	-0x8(%rbp), %edx
0000000100008935	movb	$0x0, %al
0000000100008937	callq	__STR
000000010000893c	movq	%rax, -0x28(%rbp)
0000000100008940	movl	%edx, -0x20(%rbp)
0000000100008943	movq	-0x28(%rbp), %rdi
0000000100008947	movl	-0x20(%rbp), %esi
000000010000894a	callq	_v_panic
000000010000894f	movq	-0x10(%rbp), %rax
0000000100008953	movslq	-0x14(%rbp), %rcx
0000000100008957	movzbl	(%rax,%rcx), %eax
000000010000895b	addq	$0x30, %rsp
000000010000895f	popq	%rbp
0000000100008960	retq
0000000100008961	nopw	%cs:(%rax,%rax)
_v_ustring_free:
0000000100008970	pushq	%rbp
0000000100008971	movq	%rsp, %rbp
0000000100008974	subq	$0x20, %rsp
0000000100008978	leaq	0x10(%rbp), %rax
000000010000897c	addq	$0x10, %rax
0000000100008980	movq	(%rax), %rcx
0000000100008983	movq	%rcx, (%rsp)
0000000100008987	movq	0x8(%rax), %rcx
000000010000898b	movq	%rcx, 0x8(%rsp)
0000000100008990	movq	0x10(%rax), %rax
0000000100008994	movq	%rax, 0x10(%rsp)
0000000100008999	callq	_v_array_free
000000010000899e	addq	$0x20, %rsp
00000001000089a2	popq	%rbp
00000001000089a3	retq
00000001000089a4	nopw	%cs:(%rax,%rax)
_byte_is_digit:
00000001000089b0	pushq	%rbp
00000001000089b1	movq	%rsp, %rbp
00000001000089b4	movb	%dil, %al
00000001000089b7	xorl	%edi, %edi
00000001000089b9	movb	%dil, %cl
00000001000089bc	movb	%al, -0x1(%rbp)
00000001000089bf	movzbl	-0x1(%rbp), %edi
00000001000089c3	cmpl	$0x30, %edi
00000001000089c6	movb	%cl, -0x2(%rbp)
00000001000089c9	jl	0x1000089dc
00000001000089cf	movzbl	-0x1(%rbp), %eax
00000001000089d3	cmpl	$0x39, %eax
00000001000089d6	setle	%cl
00000001000089d9	movb	%cl, -0x2(%rbp)
00000001000089dc	movb	-0x2(%rbp), %al
00000001000089df	andb	$0x1, %al
00000001000089e1	movzbl	%al, %eax
00000001000089e4	popq	%rbp
00000001000089e5	retq
00000001000089e6	nopw	%cs:(%rax,%rax)
_byte_is_hex_digit:
00000001000089f0	pushq	%rbp
00000001000089f1	movq	%rsp, %rbp
00000001000089f4	subq	$0x10, %rsp
00000001000089f8	movb	%dil, %al
00000001000089fb	movb	%al, -0x1(%rbp)
00000001000089fe	movzbl	-0x1(%rbp), %edi
0000000100008a02	callq	_byte_is_digit
0000000100008a07	movb	$0x1, %cl
0000000100008a09	testb	$0x1, %al
0000000100008a0b	movb	%cl, -0x2(%rbp)
0000000100008a0e	jne	0x100008a5a
0000000100008a14	movzbl	-0x1(%rbp), %eax
0000000100008a18	cmpl	$0x61, %eax
0000000100008a1b	jl	0x100008a33
0000000100008a21	movb	$0x1, %al
0000000100008a23	movzbl	-0x1(%rbp), %ecx
0000000100008a27	cmpl	$0x66, %ecx
0000000100008a2a	movb	%al, -0x2(%rbp)
0000000100008a2d	jle	0x100008a5a
0000000100008a33	xorl	%eax, %eax
0000000100008a35	movb	%al, %cl
0000000100008a37	movzbl	-0x1(%rbp), %eax
0000000100008a3b	cmpl	$0x41, %eax
0000000100008a3e	movb	%cl, -0x3(%rbp)
0000000100008a41	jl	0x100008a54
0000000100008a47	movzbl	-0x1(%rbp), %eax
0000000100008a4b	cmpl	$0x46, %eax
0000000100008a4e	setle	%cl
0000000100008a51	movb	%cl, -0x3(%rbp)
0000000100008a54	movb	-0x3(%rbp), %al
0000000100008a57	movb	%al, -0x2(%rbp)
0000000100008a5a	movb	-0x2(%rbp), %al
0000000100008a5d	andb	$0x1, %al
0000000100008a5f	movzbl	%al, %eax
0000000100008a62	addq	$0x10, %rsp
0000000100008a66	popq	%rbp
0000000100008a67	retq
0000000100008a68	nopl	(%rax,%rax)
_byte_is_oct_digit:
0000000100008a70	pushq	%rbp
0000000100008a71	movq	%rsp, %rbp
0000000100008a74	movb	%dil, %al
0000000100008a77	xorl	%edi, %edi
0000000100008a79	movb	%dil, %cl
0000000100008a7c	movb	%al, -0x1(%rbp)
0000000100008a7f	movzbl	-0x1(%rbp), %edi
0000000100008a83	cmpl	$0x30, %edi
0000000100008a86	movb	%cl, -0x2(%rbp)
0000000100008a89	jl	0x100008a9c
0000000100008a8f	movzbl	-0x1(%rbp), %eax
0000000100008a93	cmpl	$0x37, %eax
0000000100008a96	setle	%cl
0000000100008a99	movb	%cl, -0x2(%rbp)
0000000100008a9c	movb	-0x2(%rbp), %al
0000000100008a9f	andb	$0x1, %al
0000000100008aa1	movzbl	%al, %eax
0000000100008aa4	popq	%rbp
0000000100008aa5	retq
0000000100008aa6	nopw	%cs:(%rax,%rax)
_byte_is_letter:
0000000100008ab0	pushq	%rbp
0000000100008ab1	movq	%rsp, %rbp
0000000100008ab4	movb	%dil, %al
0000000100008ab7	movb	%al, -0x1(%rbp)
0000000100008aba	movzbl	-0x1(%rbp), %edi
0000000100008abe	cmpl	$0x61, %edi
0000000100008ac1	jl	0x100008ad9
0000000100008ac7	movb	$0x1, %al
0000000100008ac9	movzbl	-0x1(%rbp), %ecx
0000000100008acd	cmpl	$0x7a, %ecx
0000000100008ad0	movb	%al, -0x2(%rbp)
0000000100008ad3	jle	0x100008b00
0000000100008ad9	xorl	%eax, %eax
0000000100008adb	movb	%al, %cl
0000000100008add	movzbl	-0x1(%rbp), %eax
0000000100008ae1	cmpl	$0x41, %eax
0000000100008ae4	movb	%cl, -0x3(%rbp)
0000000100008ae7	jl	0x100008afa
0000000100008aed	movzbl	-0x1(%rbp), %eax
0000000100008af1	cmpl	$0x5a, %eax
0000000100008af4	setle	%cl
0000000100008af7	movb	%cl, -0x3(%rbp)
0000000100008afa	movb	-0x3(%rbp), %al
0000000100008afd	movb	%al, -0x2(%rbp)
0000000100008b00	movb	-0x2(%rbp), %al
0000000100008b03	andb	$0x1, %al
0000000100008b05	movzbl	%al, %eax
0000000100008b08	popq	%rbp
0000000100008b09	retq
0000000100008b0a	nopw	(%rax,%rax)
_v_string_free:
0000000100008b10	pushq	%rbp
0000000100008b11	movq	%rsp, %rbp
0000000100008b14	subq	$0x10, %rsp
0000000100008b18	movq	%rdi, -0x10(%rbp)
0000000100008b1c	movl	%esi, -0x8(%rbp)
0000000100008b1f	movq	-0x10(%rbp), %rdi
0000000100008b23	callq	_v_free
0000000100008b28	addq	$0x10, %rsp
0000000100008b2c	popq	%rbp
0000000100008b2d	retq
0000000100008b2e	nop
_string_all_before:
0000000100008b30	pushq	%rbp
0000000100008b31	movq	%rsp, %rbp
0000000100008b34	subq	$0x40, %rsp
0000000100008b38	movq	%rdi, -0x20(%rbp)
0000000100008b3c	movl	%esi, -0x18(%rbp)
0000000100008b3f	movq	%rdx, -0x30(%rbp)
0000000100008b43	movl	%ecx, -0x28(%rbp)
0000000100008b46	movq	-0x20(%rbp), %rdi
0000000100008b4a	movl	-0x18(%rbp), %esi
0000000100008b4d	movq	-0x30(%rbp), %rdx
0000000100008b51	movl	-0x28(%rbp), %ecx
0000000100008b54	callq	_string_index
0000000100008b59	movl	%eax, -0x34(%rbp)
0000000100008b5c	cmpl	$-0x1, -0x34(%rbp)
0000000100008b60	jne	0x100008b7b
0000000100008b66	movq	-0x20(%rbp), %rax
0000000100008b6a	movq	%rax, -0x10(%rbp)
0000000100008b6e	movq	-0x18(%rbp), %rax
0000000100008b72	movq	%rax, -0x8(%rbp)
0000000100008b76	jmp	0x100008b91
0000000100008b7b	movl	-0x34(%rbp), %edx
0000000100008b7e	movq	-0x20(%rbp), %rdi
0000000100008b82	movl	-0x18(%rbp), %esi
0000000100008b85	callq	_string_left
0000000100008b8a	movq	%rax, -0x10(%rbp)
0000000100008b8e	movl	%edx, -0x8(%rbp)
0000000100008b91	movq	-0x10(%rbp), %rax
0000000100008b95	movl	-0x8(%rbp), %edx
0000000100008b98	addq	$0x40, %rsp
0000000100008b9c	popq	%rbp
0000000100008b9d	retq
0000000100008b9e	nop
_string_all_before_last:
0000000100008ba0	pushq	%rbp
0000000100008ba1	movq	%rsp, %rbp
0000000100008ba4	subq	$0x40, %rsp
0000000100008ba8	movq	%rdi, -0x20(%rbp)
0000000100008bac	movl	%esi, -0x18(%rbp)
0000000100008baf	movq	%rdx, -0x30(%rbp)
0000000100008bb3	movl	%ecx, -0x28(%rbp)
0000000100008bb6	movq	-0x20(%rbp), %rdi
0000000100008bba	movl	-0x18(%rbp), %esi
0000000100008bbd	movq	-0x30(%rbp), %rdx
0000000100008bc1	movl	-0x28(%rbp), %ecx
0000000100008bc4	callq	_string_last_index
0000000100008bc9	movl	%eax, -0x34(%rbp)
0000000100008bcc	cmpl	$-0x1, -0x34(%rbp)
0000000100008bd0	jne	0x100008beb
0000000100008bd6	movq	-0x20(%rbp), %rax
0000000100008bda	movq	%rax, -0x10(%rbp)
0000000100008bde	movq	-0x18(%rbp), %rax
0000000100008be2	movq	%rax, -0x8(%rbp)
0000000100008be6	jmp	0x100008c01
0000000100008beb	movl	-0x34(%rbp), %edx
0000000100008bee	movq	-0x20(%rbp), %rdi
0000000100008bf2	movl	-0x18(%rbp), %esi
0000000100008bf5	callq	_string_left
0000000100008bfa	movq	%rax, -0x10(%rbp)
0000000100008bfe	movl	%edx, -0x8(%rbp)
0000000100008c01	movq	-0x10(%rbp), %rax
0000000100008c05	movl	-0x8(%rbp), %edx
0000000100008c08	addq	$0x40, %rsp
0000000100008c0c	popq	%rbp
0000000100008c0d	retq
0000000100008c0e	nop
_string_all_after:
0000000100008c10	pushq	%rbp
0000000100008c11	movq	%rsp, %rbp
0000000100008c14	subq	$0x40, %rsp
0000000100008c18	movq	%rdi, -0x20(%rbp)
0000000100008c1c	movl	%esi, -0x18(%rbp)
0000000100008c1f	movq	%rdx, -0x30(%rbp)
0000000100008c23	movl	%ecx, -0x28(%rbp)
0000000100008c26	movq	-0x20(%rbp), %rdi
0000000100008c2a	movl	-0x18(%rbp), %esi
0000000100008c2d	movq	-0x30(%rbp), %rdx
0000000100008c31	movl	-0x28(%rbp), %ecx
0000000100008c34	callq	_string_last_index
0000000100008c39	movl	%eax, -0x34(%rbp)
0000000100008c3c	cmpl	$-0x1, -0x34(%rbp)
0000000100008c40	jne	0x100008c5b
0000000100008c46	movq	-0x20(%rbp), %rax
0000000100008c4a	movq	%rax, -0x10(%rbp)
0000000100008c4e	movq	-0x18(%rbp), %rax
0000000100008c52	movq	%rax, -0x8(%rbp)
0000000100008c56	jmp	0x100008c76
0000000100008c5b	movl	-0x34(%rbp), %eax
0000000100008c5e	addl	-0x28(%rbp), %eax
0000000100008c61	movq	-0x20(%rbp), %rdi
0000000100008c65	movl	-0x18(%rbp), %esi
0000000100008c68	movl	%eax, %edx
0000000100008c6a	callq	_string_right
0000000100008c6f	movq	%rax, -0x10(%rbp)
0000000100008c73	movl	%edx, -0x8(%rbp)
0000000100008c76	movq	-0x10(%rbp), %rax
0000000100008c7a	movl	-0x8(%rbp), %edx
0000000100008c7d	addq	$0x40, %rsp
0000000100008c81	popq	%rbp
0000000100008c82	retq
0000000100008c83	nopw	%cs:(%rax,%rax)
_array_string_join_lines:
0000000100008c90	pushq	%rbp
0000000100008c91	movq	%rsp, %rbp
0000000100008c94	subq	$0x40, %rsp
0000000100008c98	leaq	0x10(%rbp), %rax
0000000100008c9c	leaq	0x1e33(%rip), %rdi ## literal pool for: "\n"
0000000100008ca3	movq	%rax, -0x28(%rbp)
0000000100008ca7	callq	_tos3
0000000100008cac	movq	%rax, -0x20(%rbp)
0000000100008cb0	movl	%edx, -0x18(%rbp)
0000000100008cb3	movq	-0x20(%rbp), %rdi
0000000100008cb7	movl	-0x18(%rbp), %esi
0000000100008cba	movq	-0x28(%rbp), %rax
0000000100008cbe	movq	0x10(%rax), %rcx
0000000100008cc2	movq	%rsp, %r8
0000000100008cc5	movq	%rcx, 0x10(%r8)
0000000100008cc9	movq	(%rax), %rcx
0000000100008ccc	movq	0x8(%rax), %r9
0000000100008cd0	movq	%r9, 0x8(%r8)
0000000100008cd4	movq	%rcx, (%r8)
0000000100008cd7	callq	_array_string_join
0000000100008cdc	movq	%rax, -0x10(%rbp)
0000000100008ce0	movl	%edx, -0x8(%rbp)
0000000100008ce3	movq	-0x10(%rbp), %rax
0000000100008ce7	movl	-0x8(%rbp), %edx
0000000100008cea	addq	$0x40, %rsp
0000000100008cee	popq	%rbp
0000000100008cef	retq
_string_reverse:
0000000100008cf0	pushq	%rbp
0000000100008cf1	movq	%rsp, %rbp
0000000100008cf4	subq	$0x30, %rsp
0000000100008cf8	movq	%rdi, -0x20(%rbp)
0000000100008cfc	movl	%esi, -0x18(%rbp)
0000000100008cff	movl	-0x18(%rbp), %edi
0000000100008d02	callq	_v_malloc
0000000100008d07	movq	%rax, -0x10(%rbp)
0000000100008d0b	movl	-0x18(%rbp), %esi
0000000100008d0e	movl	%esi, -0x8(%rbp)
0000000100008d11	movl	-0x18(%rbp), %esi
0000000100008d14	subl	$0x1, %esi
0000000100008d17	movl	%esi, -0x24(%rbp)
0000000100008d1a	cmpl	$0x0, -0x24(%rbp)
0000000100008d1e	jl	0x100008d50
0000000100008d24	movq	-0x20(%rbp), %rax
0000000100008d28	movslq	-0x24(%rbp), %rcx
0000000100008d2c	movb	(%rax,%rcx), %dl
0000000100008d2f	movq	-0x10(%rbp), %rax
0000000100008d33	movl	-0x18(%rbp), %esi
0000000100008d36	subl	-0x24(%rbp), %esi
0000000100008d39	subl	$0x1, %esi
0000000100008d3c	movslq	%esi, %rcx
0000000100008d3f	movb	%dl, (%rax,%rcx)
0000000100008d42	movl	-0x24(%rbp), %eax
0000000100008d45	addl	$-0x1, %eax
0000000100008d48	movl	%eax, -0x24(%rbp)
0000000100008d4b	jmp	0x100008d1a
0000000100008d50	movq	-0x10(%rbp), %rax
0000000100008d54	movl	-0x8(%rbp), %edx
0000000100008d57	addq	$0x30, %rsp
0000000100008d5b	popq	%rbp
0000000100008d5c	retq
0000000100008d5d	nopl	(%rax)
_string_limit:
0000000100008d60	pushq	%rbp
0000000100008d61	movq	%rsp, %rbp
0000000100008d64	subq	$0xa0, %rsp
0000000100008d6b	leaq	-0x58(%rbp), %rax
0000000100008d6f	movq	%rdi, -0x20(%rbp)
0000000100008d73	movl	%esi, -0x18(%rbp)
0000000100008d76	movl	%edx, -0x24(%rbp)
0000000100008d79	movq	-0x20(%rbp), %rsi
0000000100008d7d	movl	-0x18(%rbp), %edx
0000000100008d80	movq	%rax, %rdi
0000000100008d83	callq	_string_ustring
0000000100008d88	movl	-0x30(%rbp), %edx
0000000100008d8b	cmpl	-0x24(%rbp), %edx
0000000100008d8e	jg	0x100008da9
0000000100008d94	movq	-0x20(%rbp), %rax
0000000100008d98	movq	%rax, -0x10(%rbp)
0000000100008d9c	movq	-0x18(%rbp), %rax
0000000100008da0	movq	%rax, -0x8(%rbp)
0000000100008da4	jmp	0x100008df9
0000000100008da9	leaq	-0x58(%rbp), %rax
0000000100008dad	xorl	%ecx, %ecx
0000000100008daf	movl	-0x24(%rbp), %esi
0000000100008db2	movq	-0x30(%rbp), %rdx
0000000100008db6	movq	%rsp, %rdi
0000000100008db9	movq	%rdx, 0x28(%rdi)
0000000100008dbd	movq	-0x38(%rbp), %rdx
0000000100008dc1	movq	%rdx, 0x20(%rdi)
0000000100008dc5	movq	-0x40(%rbp), %rdx
0000000100008dc9	movq	%rdx, 0x18(%rdi)
0000000100008dcd	movq	-0x48(%rbp), %rdx
0000000100008dd1	movq	%rdx, 0x10(%rdi)
0000000100008dd5	movq	-0x58(%rbp), %rdx
0000000100008dd9	movq	-0x50(%rbp), %r8
0000000100008ddd	movq	%r8, 0x8(%rdi)
0000000100008de1	movq	%rdx, (%rdi)
0000000100008de4	xorl	%edi, %edi
0000000100008de6	movq	%rax, -0x60(%rbp)
0000000100008dea	movl	%ecx, -0x64(%rbp)
0000000100008ded	callq	_ustring_substr
0000000100008df2	movq	%rax, -0x10(%rbp)
0000000100008df6	movl	%edx, -0x8(%rbp)
0000000100008df9	movq	-0x10(%rbp), %rax
0000000100008dfd	movl	-0x8(%rbp), %edx
0000000100008e00	addq	$0xa0, %rsp
0000000100008e07	popq	%rbp
0000000100008e08	retq
0000000100008e09	nopl	(%rax)
_byte_is_white:
0000000100008e10	pushq	%rbp
0000000100008e11	movq	%rsp, %rbp
0000000100008e14	movb	%dil, %al
0000000100008e17	movb	$0x1, %cl
0000000100008e19	movb	%al, -0x1(%rbp)
0000000100008e1c	movzbl	-0x1(%rbp), %edi
0000000100008e20	movl	%edi, -0x8(%rbp)
0000000100008e23	cmpl	$0xa, -0x8(%rbp)
0000000100008e27	movb	%cl, -0x9(%rbp)
0000000100008e2a	je	0x100008e6a
0000000100008e30	movb	$0x1, %al
0000000100008e32	cmpl	$0x20, -0x8(%rbp)
0000000100008e36	movb	%al, -0x9(%rbp)
0000000100008e39	je	0x100008e6a
0000000100008e3f	movb	$0x1, %al
0000000100008e41	cmpl	$0x9, -0x8(%rbp)
0000000100008e45	movb	%al, -0x9(%rbp)
0000000100008e48	je	0x100008e6a
0000000100008e4e	movb	$0x1, %al
0000000100008e50	cmpl	$0xd, -0x8(%rbp)
0000000100008e54	movb	%al, -0x9(%rbp)
0000000100008e57	je	0x100008e6a
0000000100008e5d	movzbl	-0x1(%rbp), %eax
0000000100008e61	cmpl	$0xd, %eax
0000000100008e64	sete	%cl
0000000100008e67	movb	%cl, -0x9(%rbp)
0000000100008e6a	movb	-0x9(%rbp), %al
0000000100008e6d	andb	$0x1, %al
0000000100008e6f	movzbl	%al, %eax
0000000100008e72	popq	%rbp
0000000100008e73	retq
0000000100008e74	nopw	%cs:(%rax,%rax)
_string_repeat:
0000000100008e80	pushq	%rbp
0000000100008e81	movq	%rsp, %rbp
0000000100008e84	subq	$0x50, %rsp
0000000100008e88	movq	%rdi, -0x20(%rbp)
0000000100008e8c	movl	%esi, -0x18(%rbp)
0000000100008e8f	movl	%edx, -0x24(%rbp)
0000000100008e92	cmpl	$0x1, -0x24(%rbp)
0000000100008e96	jg	0x100008eb1
0000000100008e9c	movq	-0x20(%rbp), %rax
0000000100008ea0	movq	%rax, -0x10(%rbp)
0000000100008ea4	movq	-0x18(%rbp), %rax
0000000100008ea8	movq	%rax, -0x8(%rbp)
0000000100008eac	jmp	0x100008f68
0000000100008eb1	movl	-0x18(%rbp), %eax
0000000100008eb4	imull	-0x24(%rbp), %eax
0000000100008eb8	addl	$0x1, %eax
0000000100008ebb	movl	%eax, %edi
0000000100008ebd	callq	_v_malloc
0000000100008ec2	movq	%rax, -0x30(%rbp)
0000000100008ec6	movl	$0x0, -0x34(%rbp)
0000000100008ecd	movl	-0x34(%rbp), %edi
0000000100008ed0	movl	%edi, -0x38(%rbp)
0000000100008ed3	movl	-0x38(%rbp), %eax
0000000100008ed6	cmpl	-0x24(%rbp), %eax
0000000100008ed9	jge	0x100008f46
0000000100008edf	movl	-0x38(%rbp), %eax
0000000100008ee2	movl	%eax, -0x3c(%rbp)
0000000100008ee5	movl	$0x0, -0x40(%rbp)
0000000100008eec	movl	-0x40(%rbp), %eax
0000000100008eef	movl	%eax, -0x44(%rbp)
0000000100008ef2	movl	-0x44(%rbp), %eax
0000000100008ef5	cmpl	-0x18(%rbp), %eax
0000000100008ef8	jge	0x100008f33
0000000100008efe	movl	-0x44(%rbp), %eax
0000000100008f01	movl	%eax, -0x48(%rbp)
0000000100008f04	movq	-0x20(%rbp), %rcx
0000000100008f08	movslq	-0x48(%rbp), %rdx
0000000100008f0c	movb	(%rcx,%rdx), %sil
0000000100008f10	movq	-0x30(%rbp), %rcx
0000000100008f14	movl	-0x3c(%rbp), %eax
0000000100008f17	imull	-0x18(%rbp), %eax
0000000100008f1b	addl	-0x48(%rbp), %eax
0000000100008f1e	movslq	%eax, %rdx
0000000100008f21	movb	%sil, (%rcx,%rdx)
0000000100008f25	movl	-0x44(%rbp), %eax
0000000100008f28	addl	$0x1, %eax
0000000100008f2b	movl	%eax, -0x44(%rbp)
0000000100008f2e	jmp	0x100008ef2
0000000100008f33	jmp	0x100008f38
0000000100008f38	movl	-0x38(%rbp), %eax
0000000100008f3b	addl	$0x1, %eax
0000000100008f3e	movl	%eax, -0x38(%rbp)
0000000100008f41	jmp	0x100008ed3
0000000100008f46	movq	-0x30(%rbp), %rax
0000000100008f4a	movl	-0x18(%rbp), %ecx
0000000100008f4d	imull	-0x24(%rbp), %ecx
0000000100008f51	movslq	%ecx, %rdx
0000000100008f54	movb	$0x0, (%rax,%rdx)
0000000100008f58	movq	-0x30(%rbp), %rdi
0000000100008f5c	callq	_tos2
0000000100008f61	movq	%rax, -0x10(%rbp)
0000000100008f65	movl	%edx, -0x8(%rbp)
0000000100008f68	movq	-0x10(%rbp), %rax
0000000100008f6c	movl	-0x8(%rbp), %edx
0000000100008f6f	addq	$0x50, %rsp
0000000100008f73	popq	%rbp
0000000100008f74	retq
0000000100008f75	nopw	%cs:(%rax,%rax)
_utf32_to_str:
0000000100008f80	pushq	%rbp
0000000100008f81	movq	%rsp, %rbp
0000000100008f84	subq	$0x20, %rsp
0000000100008f88	movl	$0x5, %eax
0000000100008f8d	movl	%edi, -0x14(%rbp)
0000000100008f90	movl	-0x14(%rbp), %edi
0000000100008f93	movl	%edi, -0x18(%rbp)
0000000100008f96	movl	%eax, %edi
0000000100008f98	callq	_v_malloc
0000000100008f9d	movq	%rax, -0x20(%rbp)
0000000100008fa1	cmpl	$0x7f, -0x18(%rbp)
0000000100008fa5	jg	0x100008fd0
0000000100008fab	movl	$0x1, %esi
0000000100008fb0	movl	-0x18(%rbp), %eax
0000000100008fb3	movb	%al, %cl
0000000100008fb5	movq	-0x20(%rbp), %rdx
0000000100008fb9	movb	%cl, (%rdx)
0000000100008fbb	movq	-0x20(%rbp), %rdi
0000000100008fbf	callq	_tos
0000000100008fc4	movq	%rax, -0x10(%rbp)
0000000100008fc8	movl	%edx, -0x8(%rbp)
0000000100008fcb	jmp	0x100009112
0000000100008fd0	cmpl	$0x7ff, -0x18(%rbp)
0000000100008fd7	jg	0x10000901e
0000000100008fdd	movl	$0x2, %esi
0000000100008fe2	movl	-0x18(%rbp), %eax
0000000100008fe5	sarl	$0x6, %eax
0000000100008fe8	orl	$0xc0, %eax
0000000100008fed	movb	%al, %cl
0000000100008fef	movq	-0x20(%rbp), %rdx
0000000100008ff3	movb	%cl, (%rdx)
0000000100008ff5	movl	-0x18(%rbp), %eax
0000000100008ff8	andl	$0x3f, %eax
0000000100008ffb	orl	$0x80, %eax
0000000100009000	movb	%al, %cl
0000000100009002	movq	-0x20(%rbp), %rdx
0000000100009006	movb	%cl, 0x1(%rdx)
0000000100009009	movq	-0x20(%rbp), %rdi
000000010000900d	callq	_tos
0000000100009012	movq	%rax, -0x10(%rbp)
0000000100009016	movl	%edx, -0x8(%rbp)
0000000100009019	jmp	0x100009112
000000010000901e	cmpl	$0xffff, -0x18(%rbp)
0000000100009025	jg	0x100009083
000000010000902b	movl	$0x3, %esi
0000000100009030	movl	-0x18(%rbp), %eax
0000000100009033	sarl	$0xc, %eax
0000000100009036	orl	$0xe0, %eax
000000010000903b	movb	%al, %cl
000000010000903d	movq	-0x20(%rbp), %rdx
0000000100009041	movb	%cl, (%rdx)
0000000100009043	movl	-0x18(%rbp), %eax
0000000100009046	sarl	$0x6, %eax
0000000100009049	andl	$0x3f, %eax
000000010000904c	orl	$0x80, %eax
0000000100009051	movb	%al, %cl
0000000100009053	movq	-0x20(%rbp), %rdx
0000000100009057	movb	%cl, 0x1(%rdx)
000000010000905a	movl	-0x18(%rbp), %eax
000000010000905d	andl	$0x3f, %eax
0000000100009060	orl	$0x80, %eax
0000000100009065	movb	%al, %cl
0000000100009067	movq	-0x20(%rbp), %rdx
000000010000906b	movb	%cl, 0x2(%rdx)
000000010000906e	movq	-0x20(%rbp), %rdi
0000000100009072	callq	_tos
0000000100009077	movq	%rax, -0x10(%rbp)
000000010000907b	movl	%edx, -0x8(%rbp)
000000010000907e	jmp	0x100009112
0000000100009083	cmpl	$0x10ffff, -0x18(%rbp)
000000010000908a	jg	0x1000090ff
0000000100009090	movl	$0x4, %esi
0000000100009095	movl	-0x18(%rbp), %eax
0000000100009098	sarl	$0x12, %eax
000000010000909b	orl	$0xf0, %eax
00000001000090a0	movb	%al, %cl
00000001000090a2	movq	-0x20(%rbp), %rdx
00000001000090a6	movb	%cl, (%rdx)
00000001000090a8	movl	-0x18(%rbp), %eax
00000001000090ab	sarl	$0xc, %eax
00000001000090ae	andl	$0x3f, %eax
00000001000090b1	orl	$0x80, %eax
00000001000090b6	movb	%al, %cl
00000001000090b8	movq	-0x20(%rbp), %rdx
00000001000090bc	movb	%cl, 0x1(%rdx)
00000001000090bf	movl	-0x18(%rbp), %eax
00000001000090c2	sarl	$0x6, %eax
00000001000090c5	andl	$0x3f, %eax
00000001000090c8	orl	$0x80, %eax
00000001000090cd	movb	%al, %cl
00000001000090cf	movq	-0x20(%rbp), %rdx
00000001000090d3	movb	%cl, 0x2(%rdx)
00000001000090d6	movl	-0x18(%rbp), %eax
00000001000090d9	andl	$0x3f, %eax
00000001000090dc	orl	$0x80, %eax
00000001000090e1	movb	%al, %cl
00000001000090e3	movq	-0x20(%rbp), %rdx
00000001000090e7	movb	%cl, 0x3(%rdx)
00000001000090ea	movq	-0x20(%rbp), %rdi
00000001000090ee	callq	_tos
00000001000090f3	movq	%rax, -0x10(%rbp)
00000001000090f7	movl	%edx, -0x8(%rbp)
00000001000090fa	jmp	0x100009112
00000001000090ff	leaq	0x18b3(%rip), %rdi ## literal pool for: ""
0000000100009106	callq	_tos3
000000010000910b	movq	%rax, -0x10(%rbp)
000000010000910f	movl	%edx, -0x8(%rbp)
0000000100009112	movq	-0x10(%rbp), %rax
0000000100009116	movl	-0x8(%rbp), %edx
0000000100009119	addq	$0x20, %rsp
000000010000911d	popq	%rbp
000000010000911e	retq
000000010000911f	nop
_utf32_to_str_no_malloc:
0000000100009120	pushq	%rbp
0000000100009121	movq	%rsp, %rbp
0000000100009124	subq	$0x30, %rsp
0000000100009128	movl	%edi, -0x14(%rbp)
000000010000912b	movq	%rsi, -0x20(%rbp)
000000010000912f	movl	-0x14(%rbp), %edi
0000000100009132	movl	%edi, -0x24(%rbp)
0000000100009135	movq	-0x20(%rbp), %rsi
0000000100009139	movq	%rsi, -0x30(%rbp)
000000010000913d	cmpl	$0x7f, -0x24(%rbp)
0000000100009141	jg	0x10000916c
0000000100009147	movl	$0x1, %esi
000000010000914c	movl	-0x24(%rbp), %eax
000000010000914f	movb	%al, %cl
0000000100009151	movq	-0x30(%rbp), %rdx
0000000100009155	movb	%cl, (%rdx)
0000000100009157	movq	-0x30(%rbp), %rdi
000000010000915b	callq	_tos
0000000100009160	movq	%rax, -0x10(%rbp)
0000000100009164	movl	%edx, -0x8(%rbp)
0000000100009167	jmp	0x1000092ae
000000010000916c	cmpl	$0x7ff, -0x24(%rbp)
0000000100009173	jg	0x1000091ba
0000000100009179	movl	$0x2, %esi
000000010000917e	movl	-0x24(%rbp), %eax
0000000100009181	sarl	$0x6, %eax
0000000100009184	orl	$0xc0, %eax
0000000100009189	movb	%al, %cl
000000010000918b	movq	-0x30(%rbp), %rdx
000000010000918f	movb	%cl, (%rdx)
0000000100009191	movl	-0x24(%rbp), %eax
0000000100009194	andl	$0x3f, %eax
0000000100009197	orl	$0x80, %eax
000000010000919c	movb	%al, %cl
000000010000919e	movq	-0x30(%rbp), %rdx
00000001000091a2	movb	%cl, 0x1(%rdx)
00000001000091a5	movq	-0x30(%rbp), %rdi
00000001000091a9	callq	_tos
00000001000091ae	movq	%rax, -0x10(%rbp)
00000001000091b2	movl	%edx, -0x8(%rbp)
00000001000091b5	jmp	0x1000092ae
00000001000091ba	cmpl	$0xffff, -0x24(%rbp)
00000001000091c1	jg	0x10000921f
00000001000091c7	movl	$0x3, %esi
00000001000091cc	movl	-0x24(%rbp), %eax
00000001000091cf	sarl	$0xc, %eax
00000001000091d2	orl	$0xe0, %eax
00000001000091d7	movb	%al, %cl
00000001000091d9	movq	-0x30(%rbp), %rdx
00000001000091dd	movb	%cl, (%rdx)
00000001000091df	movl	-0x24(%rbp), %eax
00000001000091e2	sarl	$0x6, %eax
00000001000091e5	andl	$0x3f, %eax
00000001000091e8	orl	$0x80, %eax
00000001000091ed	movb	%al, %cl
00000001000091ef	movq	-0x30(%rbp), %rdx
00000001000091f3	movb	%cl, 0x1(%rdx)
00000001000091f6	movl	-0x24(%rbp), %eax
00000001000091f9	andl	$0x3f, %eax
00000001000091fc	orl	$0x80, %eax
0000000100009201	movb	%al, %cl
0000000100009203	movq	-0x30(%rbp), %rdx
0000000100009207	movb	%cl, 0x2(%rdx)
000000010000920a	movq	-0x30(%rbp), %rdi
000000010000920e	callq	_tos
0000000100009213	movq	%rax, -0x10(%rbp)
0000000100009217	movl	%edx, -0x8(%rbp)
000000010000921a	jmp	0x1000092ae
000000010000921f	cmpl	$0x10ffff, -0x24(%rbp)
0000000100009226	jg	0x10000929b
000000010000922c	movl	$0x4, %esi
0000000100009231	movl	-0x24(%rbp), %eax
0000000100009234	sarl	$0x12, %eax
0000000100009237	orl	$0xf0, %eax
000000010000923c	movb	%al, %cl
000000010000923e	movq	-0x30(%rbp), %rdx
0000000100009242	movb	%cl, (%rdx)
0000000100009244	movl	-0x24(%rbp), %eax
0000000100009247	sarl	$0xc, %eax
000000010000924a	andl	$0x3f, %eax
000000010000924d	orl	$0x80, %eax
0000000100009252	movb	%al, %cl
0000000100009254	movq	-0x30(%rbp), %rdx
0000000100009258	movb	%cl, 0x1(%rdx)
000000010000925b	movl	-0x24(%rbp), %eax
000000010000925e	sarl	$0x6, %eax
0000000100009261	andl	$0x3f, %eax
0000000100009264	orl	$0x80, %eax
0000000100009269	movb	%al, %cl
000000010000926b	movq	-0x30(%rbp), %rdx
000000010000926f	movb	%cl, 0x2(%rdx)
0000000100009272	movl	-0x24(%rbp), %eax
0000000100009275	andl	$0x3f, %eax
0000000100009278	orl	$0x80, %eax
000000010000927d	movb	%al, %cl
000000010000927f	movq	-0x30(%rbp), %rdx
0000000100009283	movb	%cl, 0x3(%rdx)
0000000100009286	movq	-0x30(%rbp), %rdi
000000010000928a	callq	_tos
000000010000928f	movq	%rax, -0x10(%rbp)
0000000100009293	movl	%edx, -0x8(%rbp)
0000000100009296	jmp	0x1000092ae
000000010000929b	leaq	0x1717(%rip), %rdi ## literal pool for: ""
00000001000092a2	callq	_tos3
00000001000092a7	movq	%rax, -0x10(%rbp)
00000001000092ab	movl	%edx, -0x8(%rbp)
00000001000092ae	movq	-0x10(%rbp), %rax
00000001000092b2	movl	-0x8(%rbp), %edx
00000001000092b5	addq	$0x30, %rsp
00000001000092b9	popq	%rbp
00000001000092ba	retq
00000001000092bb	nopl	(%rax,%rax)
_string_utf32_code:
00000001000092c0	pushq	%rbp
00000001000092c1	movq	%rsp, %rbp
00000001000092c4	movq	%rdi, -0x18(%rbp)
00000001000092c8	movl	%esi, -0x10(%rbp)
00000001000092cb	cmpl	$0x0, -0x10(%rbp)
00000001000092cf	jne	0x1000092e1
00000001000092d5	movl	$0x0, -0x4(%rbp)
00000001000092dc	jmp	0x10000937c
00000001000092e1	cmpl	$0x1, -0x10(%rbp)
00000001000092e5	jne	0x1000092fa
00000001000092eb	movq	-0x18(%rbp), %rax
00000001000092ef	movzbl	(%rax), %ecx
00000001000092f2	movl	%ecx, -0x4(%rbp)
00000001000092f5	jmp	0x10000937c
00000001000092fa	movl	$0x6, %eax
00000001000092ff	movq	-0x18(%rbp), %rcx
0000000100009303	movzbl	(%rcx), %edx
0000000100009306	movb	%dl, %sil
0000000100009309	movb	%sil, -0x19(%rbp)
000000010000930d	movzbl	-0x19(%rbp), %edx
0000000100009311	movl	-0x10(%rbp), %ecx
0000000100009314	shll	%cl, %edx
0000000100009316	movb	%dl, %cl
0000000100009318	movb	%cl, -0x19(%rbp)
000000010000931b	movzbl	-0x19(%rbp), %edx
000000010000931f	movl	%edx, -0x20(%rbp)
0000000100009322	subl	-0x10(%rbp), %eax
0000000100009325	movl	%eax, -0x24(%rbp)
0000000100009328	movl	$0x1, -0x28(%rbp)
000000010000932f	movl	-0x28(%rbp), %eax
0000000100009332	cmpl	-0x10(%rbp), %eax
0000000100009335	jge	0x100009376
000000010000933b	movq	-0x18(%rbp), %rax
000000010000933f	movslq	-0x28(%rbp), %rcx
0000000100009343	movzbl	(%rax,%rcx), %edx
0000000100009347	movl	%edx, -0x2c(%rbp)
000000010000934a	movl	-0x20(%rbp), %edx
000000010000934d	movl	-0x24(%rbp), %ecx
0000000100009350	shll	%cl, %edx
0000000100009352	movl	%edx, -0x20(%rbp)
0000000100009355	movl	-0x2c(%rbp), %edx
0000000100009358	andl	$0x3f, %edx
000000010000935b	orl	-0x20(%rbp), %edx
000000010000935e	movl	%edx, -0x20(%rbp)
0000000100009361	movl	$0x6, -0x24(%rbp)
0000000100009368	movl	-0x28(%rbp), %eax
000000010000936b	addl	$0x1, %eax
000000010000936e	movl	%eax, -0x28(%rbp)
0000000100009371	jmp	0x10000932f
0000000100009376	movl	-0x20(%rbp), %eax
0000000100009379	movl	%eax, -0x4(%rbp)
000000010000937c	movl	-0x4(%rbp), %eax
000000010000937f	popq	%rbp
0000000100009380	retq
0000000100009381	nopw	%cs:(%rax,%rax)
_string_to_wide:
0000000100009390	pushq	%rbp
0000000100009391	movq	%rsp, %rbp
0000000100009394	xorl	%eax, %eax
0000000100009396	movq	%rdi, -0x10(%rbp)
000000010000939a	movl	%esi, -0x8(%rbp)
000000010000939d	popq	%rbp
000000010000939e	retq
000000010000939f	nop
_string_from_wide:
00000001000093a0	pushq	%rbp
00000001000093a1	movq	%rsp, %rbp
00000001000093a4	subq	$0x20, %rsp
00000001000093a8	movq	%rdi, -0x18(%rbp)
00000001000093ac	leaq	0x1606(%rip), %rdi ## literal pool for: ""
00000001000093b3	callq	_tos3
00000001000093b8	movq	%rax, -0x10(%rbp)
00000001000093bc	movl	%edx, -0x8(%rbp)
00000001000093bf	movq	-0x10(%rbp), %rax
00000001000093c3	movl	-0x8(%rbp), %edx
00000001000093c6	addq	$0x20, %rsp
00000001000093ca	popq	%rbp
00000001000093cb	retq
00000001000093cc	nopl	(%rax)
_string_from_wide2:
00000001000093d0	pushq	%rbp
00000001000093d1	movq	%rsp, %rbp
00000001000093d4	subq	$0x20, %rsp
00000001000093d8	movq	%rdi, -0x18(%rbp)
00000001000093dc	movl	%esi, -0x1c(%rbp)
00000001000093df	leaq	0x15d3(%rip), %rdi ## literal pool for: ""
00000001000093e6	callq	_tos3
00000001000093eb	movq	%rax, -0x10(%rbp)
00000001000093ef	movl	%edx, -0x8(%rbp)
00000001000093f2	movq	-0x10(%rbp), %rax
00000001000093f6	movl	-0x8(%rbp), %edx
00000001000093f9	addq	$0x20, %rsp
00000001000093fd	popq	%rbp
00000001000093fe	retq
00000001000093ff	nop
_utf8_len:
0000000100009400	pushq	%rbp
0000000100009401	movq	%rsp, %rbp
0000000100009404	movb	%dil, %al
0000000100009407	movb	%al, -0x1(%rbp)
000000010000940a	movl	$0x0, -0x8(%rbp)
0000000100009411	movb	-0x1(%rbp), %al
0000000100009414	movb	%al, -0x9(%rbp)
0000000100009417	movzbl	-0x9(%rbp), %edi
000000010000941b	andl	$0xf0, %edi
0000000100009421	cmpl	$0x0, %edi
0000000100009424	je	0x10000943b
000000010000942a	movzbl	-0x9(%rbp), %eax
000000010000942e	sarl	$0x4, %eax
0000000100009431	movb	%al, %cl
0000000100009433	movb	%cl, -0x9(%rbp)
0000000100009436	jmp	0x100009444
000000010000943b	movl	-0x8(%rbp), %eax
000000010000943e	addl	$0x4, %eax
0000000100009441	movl	%eax, -0x8(%rbp)
0000000100009444	movzbl	-0x9(%rbp), %eax
0000000100009448	andl	$0xc, %eax
000000010000944b	cmpl	$0x0, %eax
000000010000944e	je	0x100009465
0000000100009454	movzbl	-0x9(%rbp), %eax
0000000100009458	sarl	$0x2, %eax
000000010000945b	movb	%al, %cl
000000010000945d	movb	%cl, -0x9(%rbp)
0000000100009460	jmp	0x10000946e
0000000100009465	movl	-0x8(%rbp), %eax
0000000100009468	addl	$0x2, %eax
000000010000946b	movl	%eax, -0x8(%rbp)
000000010000946e	movzbl	-0x9(%rbp), %eax
0000000100009472	andl	$0x2, %eax
0000000100009475	cmpl	$0x0, %eax
0000000100009478	jne	0x100009487
000000010000947e	movl	-0x8(%rbp), %eax
0000000100009481	addl	$0x1, %eax
0000000100009484	movl	%eax, -0x8(%rbp)
0000000100009487	movl	-0x8(%rbp), %eax
000000010000948a	popq	%rbp
000000010000948b	retq
000000010000948c	nopl	(%rax)
_utf8_getchar:
0000000100009490	pushq	%rbp
0000000100009491	movq	%rsp, %rbp
0000000100009494	subq	$0x20, %rsp
0000000100009498	callq	0x10000a5f2 ## symbol stub for: _getchar
000000010000949d	movl	%eax, -0x8(%rbp)
00000001000094a0	movl	-0x8(%rbp), %eax
00000001000094a3	xorl	$-0x1, %eax
00000001000094a6	movb	%al, %cl
00000001000094a8	movzbl	%cl, %edi
00000001000094ab	callq	_utf8_len
00000001000094b0	movl	%eax, -0xc(%rbp)
00000001000094b3	cmpl	$0x0, -0x8(%rbp)
00000001000094b7	jge	0x1000094c9
00000001000094bd	movl	$0x0, -0x4(%rbp)
00000001000094c4	jmp	0x10000959a
00000001000094c9	cmpl	$0x0, -0xc(%rbp)
00000001000094cd	jne	0x1000094de
00000001000094d3	movl	-0x8(%rbp), %eax
00000001000094d6	movl	%eax, -0x4(%rbp)
00000001000094d9	jmp	0x10000959a
00000001000094de	cmpl	$0x1, -0xc(%rbp)
00000001000094e2	jne	0x1000094f4
00000001000094e8	movl	$0xffffffff, -0x4(%rbp)
00000001000094ef	jmp	0x10000959a
00000001000094f4	movl	$0x1, %eax
00000001000094f9	movl	$0x7, %ecx
00000001000094fe	movl	-0x8(%rbp), %edx
0000000100009501	subl	-0xc(%rbp), %ecx
0000000100009504	shll	%cl, %eax
0000000100009506	subl	$0x1, %eax
0000000100009509	andl	%eax, %edx
000000010000950b	movl	%edx, -0x10(%rbp)
000000010000950e	movl	$0x0, -0x14(%rbp)
0000000100009515	movl	-0x14(%rbp), %eax
0000000100009518	addl	$0x1, %eax
000000010000951b	cmpl	-0xc(%rbp), %eax
000000010000951e	jge	0x100009594
0000000100009524	callq	0x10000a5f2 ## symbol stub for: _getchar
0000000100009529	movl	%eax, -0x18(%rbp)
000000010000952c	cmpl	$-0x1, -0x18(%rbp)
0000000100009530	je	0x10000955f
0000000100009536	movl	-0x18(%rbp), %eax
0000000100009539	sarl	$0x6, %eax
000000010000953c	cmpl	$0x2, %eax
000000010000953f	jne	0x10000955f
0000000100009545	movl	-0x10(%rbp), %eax
0000000100009548	shll	$0x6, %eax
000000010000954b	movl	%eax, -0x10(%rbp)
000000010000954e	movl	-0x18(%rbp), %eax
0000000100009551	andl	$0x3f, %eax
0000000100009554	orl	-0x10(%rbp), %eax
0000000100009557	movl	%eax, -0x10(%rbp)
000000010000955a	jmp	0x100009581
000000010000955f	cmpl	$-0x1, -0x18(%rbp)
0000000100009563	jne	0x100009575
0000000100009569	movl	$0x0, -0x4(%rbp)
0000000100009570	jmp	0x10000959a
0000000100009575	movl	$0xffffffff, -0x4(%rbp)
000000010000957c	jmp	0x10000959a
0000000100009581	jmp	0x100009586
0000000100009586	movl	-0x14(%rbp), %eax
0000000100009589	addl	$0x1, %eax
000000010000958c	movl	%eax, -0x14(%rbp)
000000010000958f	jmp	0x100009515
0000000100009594	movl	-0x10(%rbp), %eax
0000000100009597	movl	%eax, -0x4(%rbp)
000000010000959a	movl	-0x4(%rbp), %eax
000000010000959d	addq	$0x20, %rsp
00000001000095a1	popq	%rbp
00000001000095a2	retq
00000001000095a3	nopw	%cs:(%rax,%rax)
_strings__Builder_cut:
00000001000095b0	pushq	%rbp
00000001000095b1	movq	%rsp, %rbp
00000001000095b4	movq	%rdi, -0x8(%rbp)
00000001000095b8	movl	%esi, -0xc(%rbp)
00000001000095bb	movl	-0xc(%rbp), %esi
00000001000095be	movq	-0x8(%rbp), %rdi
00000001000095c2	movl	0x18(%rdi), %eax
00000001000095c5	subl	%esi, %eax
00000001000095c7	movl	%eax, 0x18(%rdi)
00000001000095ca	popq	%rbp
00000001000095cb	retq
00000001000095cc	nopl	(%rax)
_strings__Builder_free:
00000001000095d0	pushq	%rbp
00000001000095d1	movq	%rsp, %rbp
00000001000095d4	movq	%rdi, -0x8(%rbp)
00000001000095d8	popq	%rbp
00000001000095d9	retq
00000001000095da	nopw	(%rax,%rax)
_strings__levenshtein_distance:
00000001000095e0	pushq	%rbp
00000001000095e1	movq	%rsp, %rbp
00000001000095e4	subq	$0xf0, %rsp
00000001000095eb	leaq	-0x50(%rbp), %rax
00000001000095ef	movl	$0x1, %r8d
00000001000095f5	movl	$0x4, %r9d
00000001000095fb	leaq	-0x54(%rbp), %r10
00000001000095ff	movq	%rdi, -0x10(%rbp)
0000000100009603	movl	%esi, -0x8(%rbp)
0000000100009606	movq	%rdx, -0x20(%rbp)
000000010000960a	movl	%ecx, -0x18(%rbp)
000000010000960d	movl	$0x0, -0x54(%rbp)
0000000100009614	movq	%rax, %rdi
0000000100009617	movl	%r8d, %esi
000000010000961a	movl	%r8d, %edx
000000010000961d	movl	%r9d, %ecx
0000000100009620	movq	%r10, %r8
0000000100009623	callq	_new_array_from_c_array
0000000100009628	leaq	-0x38(%rbp), %rdi
000000010000962c	leaq	-0x50(%rbp), %rax
0000000100009630	movl	-0x18(%rbp), %ecx
0000000100009633	addl	$0x1, %ecx
0000000100009636	movq	(%rax), %r8
0000000100009639	movq	%r8, (%rsp)
000000010000963d	movq	0x8(%rax), %r8
0000000100009641	movq	%r8, 0x8(%rsp)
0000000100009646	movq	0x10(%rax), %rax
000000010000964a	movq	%rax, 0x10(%rsp)
000000010000964f	movl	%ecx, %esi
0000000100009651	callq	_array_repeat
0000000100009656	leaq	-0x80(%rbp), %rdi
000000010000965a	movq	-0x10(%rbp), %rax
000000010000965e	movq	%rax, -0x68(%rbp)
0000000100009662	movq	-0x8(%rbp), %rax
0000000100009666	movq	%rax, -0x60(%rbp)
000000010000966a	movq	-0x68(%rbp), %rsi
000000010000966e	movl	-0x60(%rbp), %edx
0000000100009671	callq	_string_bytes
0000000100009676	movl	$0x0, -0x84(%rbp)
0000000100009680	movl	-0x84(%rbp), %eax
0000000100009686	cmpl	-0x60(%rbp), %eax
0000000100009689	jge	0x10000998d
000000010000968f	leaq	-0x38(%rbp), %rax
0000000100009693	xorl	%edi, %edi
0000000100009695	movq	-0x80(%rbp), %rcx
0000000100009699	movslq	-0x84(%rbp), %rdx
00000001000096a0	movb	(%rcx,%rdx), %sil
00000001000096a4	movb	%sil, -0x85(%rbp)
00000001000096ab	movl	$0x1, -0x8c(%rbp)
00000001000096b5	movq	(%rax), %rcx
00000001000096b8	movq	%rcx, (%rsp)
00000001000096bc	movq	0x8(%rax), %rcx
00000001000096c0	movq	%rcx, 0x8(%rsp)
00000001000096c5	movq	0x10(%rax), %rax
00000001000096c9	movq	%rax, 0x10(%rsp)
00000001000096ce	callq	_array_get
00000001000096d3	leaq	-0x38(%rbp), %rcx
00000001000096d7	xorl	%edi, %edi
00000001000096d9	movl	(%rax), %r8d
00000001000096dc	movl	%r8d, -0x90(%rbp)
00000001000096e3	movq	(%rcx), %rax
00000001000096e6	movq	%rax, (%rsp)
00000001000096ea	movq	0x8(%rcx), %rax
00000001000096ee	movq	%rax, 0x8(%rsp)
00000001000096f3	movq	0x10(%rcx), %rax
00000001000096f7	movq	%rax, 0x10(%rsp)
00000001000096fc	callq	_array_get
0000000100009701	leaq	-0xb8(%rbp), %rdi
0000000100009708	movl	(%rax), %r8d
000000010000970b	addl	$0x1, %r8d
000000010000970f	movl	%r8d, (%rax)
0000000100009712	movq	-0x20(%rbp), %rax
0000000100009716	movq	%rax, -0xa0(%rbp)
000000010000971d	movq	-0x18(%rbp), %rax
0000000100009721	movq	%rax, -0x98(%rbp)
0000000100009728	movq	-0xa0(%rbp), %rsi
000000010000972f	movl	-0x98(%rbp), %edx
0000000100009735	callq	_string_bytes
000000010000973a	movl	$0x0, -0xbc(%rbp)
0000000100009744	movl	-0xbc(%rbp), %eax
000000010000974a	cmpl	-0x98(%rbp), %eax
0000000100009750	jge	0x100009974
0000000100009756	leaq	-0x38(%rbp), %rax
000000010000975a	movq	-0xb8(%rbp), %rcx
0000000100009761	movslq	-0xbc(%rbp), %rdx
0000000100009768	movb	(%rcx,%rdx), %sil
000000010000976c	movb	%sil, -0xbd(%rbp)
0000000100009773	movl	-0x8c(%rbp), %edi
0000000100009779	movq	(%rax), %rcx
000000010000977c	movq	%rcx, (%rsp)
0000000100009780	movq	0x8(%rax), %rcx
0000000100009784	movq	%rcx, 0x8(%rsp)
0000000100009789	movq	0x10(%rax), %rax
000000010000978d	movq	%rax, 0x10(%rsp)
0000000100009792	callq	_array_get
0000000100009797	leaq	-0x38(%rbp), %rcx
000000010000979b	movl	(%rax), %edi
000000010000979d	addl	$0x1, %edi
00000001000097a0	movl	-0x8c(%rbp), %r8d
00000001000097a7	subl	$0x1, %r8d
00000001000097ab	movq	(%rcx), %rax
00000001000097ae	movq	%rax, (%rsp)
00000001000097b2	movq	0x8(%rcx), %rax
00000001000097b6	movq	%rax, 0x8(%rsp)
00000001000097bb	movq	0x10(%rcx), %rax
00000001000097bf	movq	%rax, 0x10(%rsp)
00000001000097c4	movl	%edi, -0xcc(%rbp)
00000001000097ca	movl	%r8d, %edi
00000001000097cd	callq	_array_get
00000001000097d2	movl	(%rax), %edi
00000001000097d4	addl	$0x1, %edi
00000001000097d7	movl	-0xcc(%rbp), %r8d
00000001000097de	cmpl	%edi, %r8d
00000001000097e1	jg	0x10000981f
00000001000097e7	leaq	-0x38(%rbp), %rax
00000001000097eb	movl	-0x8c(%rbp), %edi
00000001000097f1	movq	(%rax), %rcx
00000001000097f4	movq	%rcx, (%rsp)
00000001000097f8	movq	0x8(%rax), %rcx
00000001000097fc	movq	%rcx, 0x8(%rsp)
0000000100009801	movq	0x10(%rax), %rax
0000000100009805	movq	%rax, 0x10(%rsp)
000000010000980a	callq	_array_get
000000010000980f	movl	(%rax), %edi
0000000100009811	addl	$0x1, %edi
0000000100009814	movl	%edi, -0xd0(%rbp)
000000010000981a	jmp	0x100009857
000000010000981f	leaq	-0x38(%rbp), %rax
0000000100009823	movl	-0x8c(%rbp), %ecx
0000000100009829	subl	$0x1, %ecx
000000010000982c	movq	(%rax), %rdx
000000010000982f	movq	%rdx, (%rsp)
0000000100009833	movq	0x8(%rax), %rdx
0000000100009837	movq	%rdx, 0x8(%rsp)
000000010000983c	movq	0x10(%rax), %rax
0000000100009840	movq	%rax, 0x10(%rsp)
0000000100009845	movl	%ecx, %edi
0000000100009847	callq	_array_get
000000010000984c	movl	(%rax), %ecx
000000010000984e	addl	$0x1, %ecx
0000000100009851	movl	%ecx, -0xd0(%rbp)
0000000100009857	movl	-0xd0(%rbp), %eax
000000010000985d	movl	%eax, -0xc4(%rbp)
0000000100009863	movzbl	-0xbd(%rbp), %eax
000000010000986a	movzbl	-0x85(%rbp), %ecx
0000000100009871	cmpl	%ecx, %eax
0000000100009873	je	0x1000098c1
0000000100009879	movl	-0xc4(%rbp), %eax
000000010000987f	movl	-0x90(%rbp), %ecx
0000000100009885	addl	$0x1, %ecx
0000000100009888	cmpl	%ecx, %eax
000000010000988a	jg	0x1000098a1
0000000100009890	movl	-0xc4(%rbp), %eax
0000000100009896	movl	%eax, -0xd4(%rbp)
000000010000989c	jmp	0x1000098b0
00000001000098a1	movl	-0x90(%rbp), %eax
00000001000098a7	addl	$0x1, %eax
00000001000098aa	movl	%eax, -0xd4(%rbp)
00000001000098b0	movl	-0xd4(%rbp), %eax
00000001000098b6	movl	%eax, -0xc4(%rbp)
00000001000098bc	jmp	0x1000098fc
00000001000098c1	movl	-0xc4(%rbp), %eax
00000001000098c7	cmpl	-0x90(%rbp), %eax
00000001000098cd	jg	0x1000098e4
00000001000098d3	movl	-0xc4(%rbp), %eax
00000001000098d9	movl	%eax, -0xd8(%rbp)
00000001000098df	jmp	0x1000098f0
00000001000098e4	movl	-0x90(%rbp), %eax
00000001000098ea	movl	%eax, -0xd8(%rbp)
00000001000098f0	movl	-0xd8(%rbp), %eax
00000001000098f6	movl	%eax, -0xc4(%rbp)
00000001000098fc	leaq	-0x38(%rbp), %rax
0000000100009900	movl	-0x8c(%rbp), %edi
0000000100009906	movq	(%rax), %rcx
0000000100009909	movq	%rcx, (%rsp)
000000010000990d	movq	0x8(%rax), %rcx
0000000100009911	movq	%rcx, 0x8(%rsp)
0000000100009916	movq	0x10(%rax), %rax
000000010000991a	movq	%rax, 0x10(%rsp)
000000010000991f	callq	_array_get
0000000100009924	leaq	-0x38(%rbp), %rdi
0000000100009928	leaq	-0xc8(%rbp), %rcx
000000010000992f	movl	(%rax), %edx
0000000100009931	movl	%edx, -0x90(%rbp)
0000000100009937	movl	-0x8c(%rbp), %esi
000000010000993d	movl	-0xc4(%rbp), %edx
0000000100009943	movl	%edx, -0xc8(%rbp)
0000000100009949	movq	%rcx, %rdx
000000010000994c	callq	_array_set
0000000100009951	movl	-0x8c(%rbp), %esi
0000000100009957	addl	$0x1, %esi
000000010000995a	movl	%esi, -0x8c(%rbp)
0000000100009960	movl	-0xbc(%rbp), %eax
0000000100009966	addl	$0x1, %eax
0000000100009969	movl	%eax, -0xbc(%rbp)
000000010000996f	jmp	0x100009744
0000000100009974	jmp	0x100009979
0000000100009979	movl	-0x84(%rbp), %eax
000000010000997f	addl	$0x1, %eax
0000000100009982	movl	%eax, -0x84(%rbp)
0000000100009988	jmp	0x100009680
000000010000998d	leaq	-0x38(%rbp), %rax
0000000100009991	movl	-0x30(%rbp), %ecx
0000000100009994	subl	$0x1, %ecx
0000000100009997	movq	(%rax), %rdx
000000010000999a	movq	%rdx, (%rsp)
000000010000999e	movq	0x8(%rax), %rdx
00000001000099a2	movq	%rdx, 0x8(%rsp)
00000001000099a7	movq	0x10(%rax), %rax
00000001000099ab	movq	%rax, 0x10(%rsp)
00000001000099b0	movl	%ecx, %edi
00000001000099b2	callq	_array_get
00000001000099b7	movl	(%rax), %eax
00000001000099b9	addq	$0xf0, %rsp
00000001000099c0	popq	%rbp
00000001000099c1	retq
00000001000099c2	nopw	%cs:(%rax,%rax)
_strings__levenshtein_distance_percentage:
00000001000099d0	pushq	%rbp
00000001000099d1	movq	%rsp, %rbp
00000001000099d4	subq	$0x30, %rsp
00000001000099d8	movq	%rdi, -0x10(%rbp)
00000001000099dc	movl	%esi, -0x8(%rbp)
00000001000099df	movq	%rdx, -0x20(%rbp)
00000001000099e3	movl	%ecx, -0x18(%rbp)
00000001000099e6	movq	-0x10(%rbp), %rdi
00000001000099ea	movl	-0x8(%rbp), %esi
00000001000099ed	movq	-0x20(%rbp), %rdx
00000001000099f1	movl	-0x18(%rbp), %ecx
00000001000099f4	callq	_strings__levenshtein_distance
00000001000099f9	movl	%eax, -0x24(%rbp)
00000001000099fc	movl	-0x8(%rbp), %eax
00000001000099ff	cmpl	-0x18(%rbp), %eax
0000000100009a02	jl	0x100009a13
0000000100009a08	movl	-0x8(%rbp), %eax
0000000100009a0b	movl	%eax, -0x2c(%rbp)
0000000100009a0e	jmp	0x100009a19
0000000100009a13	movl	-0x18(%rbp), %eax
0000000100009a16	movl	%eax, -0x2c(%rbp)
0000000100009a19	movl	-0x2c(%rbp), %eax
0000000100009a1c	movsd	0xd24(%rip), %xmm0
0000000100009a24	movsd	0xd24(%rip), %xmm1
0000000100009a2c	movl	%eax, -0x28(%rbp)
0000000100009a2f	movl	-0x24(%rbp), %eax
0000000100009a32	cvtsi2ssl	%eax, %xmm2
0000000100009a36	movl	-0x28(%rbp), %eax
0000000100009a39	cvtsi2ssl	%eax, %xmm3
0000000100009a3d	divss	%xmm3, %xmm2
0000000100009a41	cvtss2sd	%xmm2, %xmm2
0000000100009a45	subsd	%xmm2, %xmm1
0000000100009a49	mulsd	%xmm0, %xmm1
0000000100009a4d	cvtsd2ss	%xmm1, %xmm0
0000000100009a51	addq	$0x30, %rsp
0000000100009a55	popq	%rbp
0000000100009a56	retq
0000000100009a57	nopw	(%rax,%rax)
_strings__dice_coefficient:
0000000100009a60	pushq	%rbp
0000000100009a61	movq	%rsp, %rbp
0000000100009a64	subq	$0xd0, %rsp
0000000100009a6b	movq	%rdi, -0x18(%rbp)
0000000100009a6f	movl	%esi, -0x10(%rbp)
0000000100009a72	movq	%rdx, -0x28(%rbp)
0000000100009a76	movl	%ecx, -0x20(%rbp)
0000000100009a79	cmpl	$0x0, -0x10(%rbp)
0000000100009a7d	je	0x100009a8d
0000000100009a83	cmpl	$0x0, -0x20(%rbp)
0000000100009a87	jne	0x100009a9a
0000000100009a8d	xorps	%xmm0, %xmm0
0000000100009a90	movss	%xmm0, -0x4(%rbp)
0000000100009a95	jmp	0x100009e2e
0000000100009a9a	movq	-0x18(%rbp), %rdi
0000000100009a9e	movl	-0x10(%rbp), %esi
0000000100009aa1	movq	-0x28(%rbp), %rdx
0000000100009aa5	movl	-0x20(%rbp), %ecx
0000000100009aa8	callq	_string_eq
0000000100009aad	testb	$0x1, %al
0000000100009aaf	jne	0x100009aba
0000000100009ab5	jmp	0x100009acc
0000000100009aba	movss	0xca6(%rip), %xmm0
0000000100009ac2	movss	%xmm0, -0x4(%rbp)
0000000100009ac7	jmp	0x100009e2e
0000000100009acc	cmpl	$0x2, -0x10(%rbp)
0000000100009ad0	jl	0x100009ae0
0000000100009ad6	cmpl	$0x2, -0x20(%rbp)
0000000100009ada	jge	0x100009aed
0000000100009ae0	xorps	%xmm0, %xmm0
0000000100009ae3	movss	%xmm0, -0x4(%rbp)
0000000100009ae8	jmp	0x100009e2e
0000000100009aed	movl	-0x10(%rbp), %eax
0000000100009af0	cmpl	-0x20(%rbp), %eax
0000000100009af3	jle	0x100009b0e
0000000100009af9	movq	-0x18(%rbp), %rax
0000000100009afd	movq	%rax, -0x38(%rbp)
0000000100009b01	movq	-0x10(%rbp), %rax
0000000100009b05	movq	%rax, -0x30(%rbp)
0000000100009b09	jmp	0x100009b1e
0000000100009b0e	movq	-0x28(%rbp), %rax
0000000100009b12	movq	%rax, -0x38(%rbp)
0000000100009b16	movq	-0x20(%rbp), %rax
0000000100009b1a	movq	%rax, -0x30(%rbp)
0000000100009b1e	movq	-0x38(%rbp), %rdi
0000000100009b22	movl	-0x30(%rbp), %esi
0000000100009b25	movq	-0x18(%rbp), %rdx
0000000100009b29	movl	-0x10(%rbp), %ecx
0000000100009b2c	callq	_string_eq
0000000100009b31	testb	$0x1, %al
0000000100009b33	jne	0x100009b3e
0000000100009b39	jmp	0x100009b53
0000000100009b3e	movq	-0x28(%rbp), %rax
0000000100009b42	movq	%rax, -0x48(%rbp)
0000000100009b46	movq	-0x20(%rbp), %rax
0000000100009b4a	movq	%rax, -0x40(%rbp)
0000000100009b4e	jmp	0x100009b63
0000000100009b53	movq	-0x18(%rbp), %rax
0000000100009b57	movq	%rax, -0x48(%rbp)
0000000100009b5b	movq	-0x10(%rbp), %rax
0000000100009b5f	movq	%rax, -0x40(%rbp)
0000000100009b63	leaq	-0x60(%rbp), %rdi
0000000100009b67	movl	$0x1, %esi
0000000100009b6c	movl	$0x4, %edx
0000000100009b71	callq	_new_map
0000000100009b76	movl	$0x0, -0x64(%rbp)
0000000100009b7d	movl	-0x64(%rbp), %eax
0000000100009b80	movl	-0x30(%rbp), %ecx
0000000100009b83	subl	$0x1, %ecx
0000000100009b86	cmpl	%ecx, %eax
0000000100009b88	jge	0x100009c7f
0000000100009b8e	movl	-0x64(%rbp), %edx
0000000100009b91	movl	-0x64(%rbp), %eax
0000000100009b94	addl	$0x2, %eax
0000000100009b97	movq	-0x38(%rbp), %rdi
0000000100009b9b	movl	-0x30(%rbp), %esi
0000000100009b9e	movl	%eax, %ecx
0000000100009ba0	callq	_string_substr
0000000100009ba5	leaq	-0x60(%rbp), %rdi
0000000100009ba9	leaq	-0x7c(%rbp), %r8
0000000100009bad	movq	%rax, -0x78(%rbp)
0000000100009bb1	movl	%edx, -0x70(%rbp)
0000000100009bb4	movl	$0x0, -0x7c(%rbp)
0000000100009bbb	movq	-0x78(%rbp), %rax
0000000100009bbf	movl	-0x70(%rbp), %esi
0000000100009bc2	movq	(%rdi), %r9
0000000100009bc5	movq	%r9, (%rsp)
0000000100009bc9	movq	0x8(%rdi), %r9
0000000100009bcd	movq	%r9, 0x8(%rsp)
0000000100009bd2	movq	0x10(%rdi), %rdi
0000000100009bd6	movq	%rdi, 0x10(%rsp)
0000000100009bdb	movq	%rax, %rdi
0000000100009bde	movq	%r8, %rdx
0000000100009be1	callq	_map_get
0000000100009be6	leaq	-0x60(%rbp), %rdx
0000000100009bea	andb	$0x1, %al
0000000100009bec	movb	%al, -0x7d(%rbp)
0000000100009bef	movq	-0x78(%rbp), %rdi
0000000100009bf3	movl	-0x70(%rbp), %esi
0000000100009bf6	movq	(%rdx), %r8
0000000100009bf9	movq	%r8, (%rsp)
0000000100009bfd	movq	0x8(%rdx), %r8
0000000100009c01	movq	%r8, 0x8(%rsp)
0000000100009c06	movq	0x10(%rdx), %rdx
0000000100009c0a	movq	%rdx, 0x10(%rsp)
0000000100009c0f	callq	_map_exists
0000000100009c14	testb	$0x1, %al
0000000100009c16	jne	0x100009c21
0000000100009c1c	jmp	0x100009c32
0000000100009c21	movl	-0x7c(%rbp), %eax
0000000100009c24	addl	$0x1, %eax
0000000100009c27	movl	%eax, -0xb4(%rbp)
0000000100009c2d	jmp	0x100009c42
0000000100009c32	movl	$0x1, %eax
0000000100009c37	movl	%eax, -0xb4(%rbp)
0000000100009c3d	jmp	0x100009c42
0000000100009c42	movl	-0xb4(%rbp), %eax
0000000100009c48	leaq	-0x60(%rbp), %rdi
0000000100009c4c	leaq	-0x88(%rbp), %rcx
0000000100009c53	movl	%eax, -0x84(%rbp)
0000000100009c59	movl	-0x84(%rbp), %eax
0000000100009c5f	movl	%eax, -0x88(%rbp)
0000000100009c65	movq	-0x78(%rbp), %rsi
0000000100009c69	movl	-0x70(%rbp), %edx
0000000100009c6c	callq	_map_set
0000000100009c71	movl	-0x64(%rbp), %eax
0000000100009c74	addl	$0x1, %eax
0000000100009c77	movl	%eax, -0x64(%rbp)
0000000100009c7a	jmp	0x100009b7d
0000000100009c7f	movl	$0x0, -0x8c(%rbp)
0000000100009c89	movl	$0x0, -0x90(%rbp)
0000000100009c93	movl	-0x90(%rbp), %eax
0000000100009c99	movl	-0x40(%rbp), %ecx
0000000100009c9c	subl	$0x1, %ecx
0000000100009c9f	cmpl	%ecx, %eax
0000000100009ca1	jge	0x100009de9
0000000100009ca7	movl	-0x90(%rbp), %edx
0000000100009cad	movl	-0x90(%rbp), %eax
0000000100009cb3	addl	$0x2, %eax
0000000100009cb6	movq	-0x48(%rbp), %rdi
0000000100009cba	movl	-0x40(%rbp), %esi
0000000100009cbd	movl	%eax, %ecx
0000000100009cbf	callq	_string_substr
0000000100009cc4	leaq	-0x60(%rbp), %rdi
0000000100009cc8	leaq	-0xa4(%rbp), %r8
0000000100009ccf	movq	%rax, -0xa0(%rbp)
0000000100009cd6	movl	%edx, -0x98(%rbp)
0000000100009cdc	movl	$0x0, -0xa4(%rbp)
0000000100009ce6	movq	-0xa0(%rbp), %rax
0000000100009ced	movl	-0x98(%rbp), %esi
0000000100009cf3	movq	(%rdi), %r9
0000000100009cf6	movq	%r9, (%rsp)
0000000100009cfa	movq	0x8(%rdi), %r9
0000000100009cfe	movq	%r9, 0x8(%rsp)
0000000100009d03	movq	0x10(%rdi), %rdi
0000000100009d07	movq	%rdi, 0x10(%rsp)
0000000100009d0c	movq	%rax, %rdi
0000000100009d0f	movq	%r8, %rdx
0000000100009d12	callq	_map_get
0000000100009d17	leaq	-0x60(%rbp), %rdx
0000000100009d1b	andb	$0x1, %al
0000000100009d1d	movb	%al, -0xa5(%rbp)
0000000100009d23	movq	-0xa0(%rbp), %rdi
0000000100009d2a	movl	-0x98(%rbp), %esi
0000000100009d30	movq	(%rdx), %r8
0000000100009d33	movq	%r8, (%rsp)
0000000100009d37	movq	0x8(%rdx), %r8
0000000100009d3b	movq	%r8, 0x8(%rsp)
0000000100009d40	movq	0x10(%rdx), %rdx
0000000100009d44	movq	%rdx, 0x10(%rsp)
0000000100009d49	callq	_map_exists
0000000100009d4e	testb	$0x1, %al
0000000100009d50	jne	0x100009d5b
0000000100009d56	jmp	0x100009d6c
0000000100009d5b	movl	-0xa4(%rbp), %eax
0000000100009d61	movl	%eax, -0xb8(%rbp)
0000000100009d67	jmp	0x100009d79
0000000100009d6c	xorl	%eax, %eax
0000000100009d6e	movl	%eax, -0xb8(%rbp)
0000000100009d74	jmp	0x100009d79
0000000100009d79	movl	-0xb8(%rbp), %eax
0000000100009d7f	movl	%eax, -0xac(%rbp)
0000000100009d85	cmpl	$0x0, -0xac(%rbp)
0000000100009d8c	jle	0x100009dd0
0000000100009d92	leaq	-0x60(%rbp), %rdi
0000000100009d96	leaq	-0xb0(%rbp), %rax
0000000100009d9d	movl	-0xac(%rbp), %ecx
0000000100009da3	subl	$0x1, %ecx
0000000100009da6	movl	%ecx, -0xb0(%rbp)
0000000100009dac	movq	-0xa0(%rbp), %rsi
0000000100009db3	movl	-0x98(%rbp), %edx
0000000100009db9	movq	%rax, %rcx
0000000100009dbc	callq	_map_set
0000000100009dc1	movl	-0x8c(%rbp), %edx
0000000100009dc7	addl	$0x1, %edx
0000000100009dca	movl	%edx, -0x8c(%rbp)
0000000100009dd0	jmp	0x100009dd5
0000000100009dd5	movl	-0x90(%rbp), %eax
0000000100009ddb	addl	$0x1, %eax
0000000100009dde	movl	%eax, -0x90(%rbp)
0000000100009de4	jmp	0x100009c93
0000000100009de9	movss	0x973(%rip), %xmm0
0000000100009df1	movsd	0x95f(%rip), %xmm1
0000000100009df9	movl	-0x8c(%rbp), %eax
0000000100009dff	cvtsi2sdl	%eax, %xmm2
0000000100009e03	mulsd	%xmm2, %xmm1
0000000100009e07	movl	-0x30(%rbp), %eax
0000000100009e0a	cvtsi2ssl	%eax, %xmm2
0000000100009e0e	movl	-0x40(%rbp), %eax
0000000100009e11	cvtsi2ssl	%eax, %xmm3
0000000100009e15	addss	%xmm3, %xmm2
0000000100009e19	subss	%xmm0, %xmm2
0000000100009e1d	cvtss2sd	%xmm2, %xmm0
0000000100009e21	divsd	%xmm0, %xmm1
0000000100009e25	cvtsd2ss	%xmm1, %xmm0
0000000100009e29	movss	%xmm0, -0x4(%rbp)
0000000100009e2e	movss	-0x4(%rbp), %xmm0
0000000100009e33	addq	$0xd0, %rsp
0000000100009e3a	popq	%rbp
0000000100009e3b	retq
0000000100009e3c	nopl	(%rax)
_strings__repeat:
0000000100009e40	pushq	%rbp
0000000100009e41	movq	%rsp, %rbp
0000000100009e44	subq	$0x70, %rsp
0000000100009e48	movb	%dil, %al
0000000100009e4b	movb	%al, -0x11(%rbp)
0000000100009e4e	movl	%esi, -0x18(%rbp)
0000000100009e51	cmpl	$0x0, -0x18(%rbp)
0000000100009e55	jg	0x100009e73
0000000100009e5b	leaq	0xb57(%rip), %rdi ## literal pool for: ""
0000000100009e62	callq	_tos3
0000000100009e67	movq	%rax, -0x10(%rbp)
0000000100009e6b	movl	%edx, -0x8(%rbp)
0000000100009e6e	jmp	0x100009ee9
0000000100009e73	leaq	-0x48(%rbp), %rdi
0000000100009e77	movl	$0x1, %eax
0000000100009e7c	leaq	-0x49(%rbp), %r8
0000000100009e80	movb	-0x11(%rbp), %cl
0000000100009e83	movb	%cl, -0x49(%rbp)
0000000100009e86	movl	%eax, %esi
0000000100009e88	movl	%eax, %edx
0000000100009e8a	movl	%eax, %ecx
0000000100009e8c	callq	_new_array_from_c_array
0000000100009e91	leaq	-0x30(%rbp), %rdi
0000000100009e95	leaq	-0x48(%rbp), %r8
0000000100009e99	movl	-0x18(%rbp), %eax
0000000100009e9c	addl	$0x1, %eax
0000000100009e9f	movq	(%r8), %r9
0000000100009ea2	movq	%r9, (%rsp)
0000000100009ea6	movq	0x8(%r8), %r9
0000000100009eaa	movq	%r9, 0x8(%rsp)
0000000100009eaf	movq	0x10(%r8), %r8
0000000100009eb3	movq	%r8, 0x10(%rsp)
0000000100009eb8	movl	%eax, %esi
0000000100009eba	callq	_array_repeat
0000000100009ebf	leaq	-0x30(%rbp), %rdi
0000000100009ec3	leaq	-0x4a(%rbp), %r8
0000000100009ec7	movl	-0x18(%rbp), %esi
0000000100009eca	movb	$0x0, -0x4a(%rbp)
0000000100009ece	movq	%r8, %rdx
0000000100009ed1	callq	_array_set
0000000100009ed6	movq	-0x30(%rbp), %rdi
0000000100009eda	movl	-0x18(%rbp), %esi
0000000100009edd	callq	_tos
0000000100009ee2	movq	%rax, -0x10(%rbp)
0000000100009ee6	movl	%edx, -0x8(%rbp)
0000000100009ee9	movq	-0x10(%rbp), %rax
0000000100009eed	movl	-0x8(%rbp), %edx
0000000100009ef0	addq	$0x70, %rsp
0000000100009ef4	popq	%rbp
0000000100009ef5	retq
0000000100009ef6	nopw	%cs:(%rax,%rax)
_strconv__byte_to_lower:
0000000100009f00	pushq	%rbp
0000000100009f01	movq	%rsp, %rbp
0000000100009f04	movb	%dil, %al
0000000100009f07	movb	%al, -0x1(%rbp)
0000000100009f0a	movzbl	-0x1(%rbp), %edi
0000000100009f0e	orl	$0x20, %edi
0000000100009f11	movb	%dil, %al
0000000100009f14	movzbl	%al, %eax
0000000100009f17	popq	%rbp
0000000100009f18	retq
0000000100009f19	nopl	(%rax)
_strconv__underscore_ok:
0000000100009f20	pushq	%rbp
0000000100009f21	movq	%rsp, %rbp
0000000100009f24	subq	$0x30, %rsp
0000000100009f28	movq	%rdi, -0x18(%rbp)
0000000100009f2c	movl	%esi, -0x10(%rbp)
0000000100009f2f	movb	$0x5e, -0x19(%rbp)
0000000100009f33	movl	$0x0, -0x20(%rbp)
0000000100009f3a	cmpl	$0x1, -0x10(%rbp)
0000000100009f3e	jl	0x100009f81
0000000100009f44	xorl	%edx, %edx
0000000100009f46	movq	-0x18(%rbp), %rdi
0000000100009f4a	movl	-0x10(%rbp), %esi
0000000100009f4d	callq	_string_at
0000000100009f52	movzbl	%al, %edx
0000000100009f55	cmpl	$0x2d, %edx
0000000100009f58	je	0x100009f78
0000000100009f5e	xorl	%edx, %edx
0000000100009f60	movq	-0x18(%rbp), %rdi
0000000100009f64	movl	-0x10(%rbp), %esi
0000000100009f67	callq	_string_at
0000000100009f6c	movzbl	%al, %edx
0000000100009f6f	cmpl	$0x2b, %edx
0000000100009f72	jne	0x100009f81
0000000100009f78	movl	-0x20(%rbp), %eax
0000000100009f7b	addl	$0x1, %eax
0000000100009f7e	movl	%eax, -0x20(%rbp)
0000000100009f81	movb	$0x0, -0x21(%rbp)
0000000100009f85	movl	-0x10(%rbp), %eax
0000000100009f88	subl	-0x20(%rbp), %eax
0000000100009f8b	cmpl	$0x2, %eax
0000000100009f8e	jl	0x10000a05e
0000000100009f94	movl	-0x20(%rbp), %edx
0000000100009f97	movq	-0x18(%rbp), %rdi
0000000100009f9b	movl	-0x10(%rbp), %esi
0000000100009f9e	callq	_string_at
0000000100009fa3	movzbl	%al, %edx
0000000100009fa6	cmpl	$0x30, %edx
0000000100009fa9	jne	0x10000a05e
0000000100009faf	movl	-0x20(%rbp), %eax
0000000100009fb2	addl	$0x1, %eax
0000000100009fb5	movq	-0x18(%rbp), %rdi
0000000100009fb9	movl	-0x10(%rbp), %esi
0000000100009fbc	movl	%eax, %edx
0000000100009fbe	callq	_string_at
0000000100009fc3	movzbl	%al, %edi
0000000100009fc6	callq	_strconv__byte_to_lower
0000000100009fcb	movzbl	%al, %edx
0000000100009fce	cmpl	$0x62, %edx
0000000100009fd1	je	0x10000a027
0000000100009fd7	movl	-0x20(%rbp), %eax
0000000100009fda	addl	$0x1, %eax
0000000100009fdd	movq	-0x18(%rbp), %rdi
0000000100009fe1	movl	-0x10(%rbp), %esi
0000000100009fe4	movl	%eax, %edx
0000000100009fe6	callq	_string_at
0000000100009feb	movzbl	%al, %edi
0000000100009fee	callq	_strconv__byte_to_lower
0000000100009ff3	movzbl	%al, %edx
0000000100009ff6	cmpl	$0x6f, %edx
0000000100009ff9	je	0x10000a027
0000000100009fff	movl	-0x20(%rbp), %eax
000000010000a002	addl	$0x1, %eax
000000010000a005	movq	-0x18(%rbp), %rdi
000000010000a009	movl	-0x10(%rbp), %esi
000000010000a00c	movl	%eax, %edx
000000010000a00e	callq	_string_at
000000010000a013	movzbl	%al, %edi
000000010000a016	callq	_strconv__byte_to_lower
000000010000a01b	movzbl	%al, %edx
000000010000a01e	cmpl	$0x78, %edx
000000010000a021	jne	0x10000a05e
000000010000a027	movb	$0x30, -0x19(%rbp)
000000010000a02b	movl	-0x20(%rbp), %eax
000000010000a02e	addl	$0x1, %eax
000000010000a031	movq	-0x18(%rbp), %rdi
000000010000a035	movl	-0x10(%rbp), %esi
000000010000a038	movl	%eax, %edx
000000010000a03a	callq	_string_at
000000010000a03f	movzbl	%al, %edi
000000010000a042	callq	_strconv__byte_to_lower
000000010000a047	movzbl	%al, %edx
000000010000a04a	cmpl	$0x78, %edx
000000010000a04d	sete	%al
000000010000a050	andb	$0x1, %al
000000010000a052	movb	%al, -0x21(%rbp)
000000010000a055	movl	-0x20(%rbp), %edx
000000010000a058	addl	$0x2, %edx
000000010000a05b	movl	%edx, -0x20(%rbp)
000000010000a05e	jmp	0x10000a063
000000010000a063	movl	-0x20(%rbp), %eax
000000010000a066	cmpl	-0x10(%rbp), %eax
000000010000a069	jge	0x10000a168
000000010000a06f	movl	-0x20(%rbp), %edx
000000010000a072	movq	-0x18(%rbp), %rdi
000000010000a076	movl	-0x10(%rbp), %esi
000000010000a079	callq	_string_at
000000010000a07e	movl	$0x30, %edx
000000010000a083	movzbl	%al, %esi
000000010000a086	cmpl	%esi, %edx
000000010000a088	jg	0x10000a0a9
000000010000a08e	movl	-0x20(%rbp), %edx
000000010000a091	movq	-0x18(%rbp), %rdi
000000010000a095	movl	-0x10(%rbp), %esi
000000010000a098	callq	_string_at
000000010000a09d	movzbl	%al, %edx
000000010000a0a0	cmpl	$0x39, %edx
000000010000a0a3	jle	0x10000a0fd
000000010000a0a9	testb	$0x1, -0x21(%rbp)
000000010000a0ad	je	0x10000a106
000000010000a0b3	movl	-0x20(%rbp), %edx
000000010000a0b6	movq	-0x18(%rbp), %rdi
000000010000a0ba	movl	-0x10(%rbp), %esi
000000010000a0bd	callq	_string_at
000000010000a0c2	movzbl	%al, %edi
000000010000a0c5	callq	_strconv__byte_to_lower
000000010000a0ca	movl	$0x61, %edx
000000010000a0cf	movzbl	%al, %esi
000000010000a0d2	cmpl	%esi, %edx
000000010000a0d4	jg	0x10000a106
000000010000a0da	movl	-0x20(%rbp), %edx
000000010000a0dd	movq	-0x18(%rbp), %rdi
000000010000a0e1	movl	-0x10(%rbp), %esi
000000010000a0e4	callq	_string_at
000000010000a0e9	movzbl	%al, %edi
000000010000a0ec	callq	_strconv__byte_to_lower
000000010000a0f1	movzbl	%al, %edx
000000010000a0f4	cmpl	$0x66, %edx
000000010000a0f7	jg	0x10000a106
000000010000a0fd	movb	$0x30, -0x19(%rbp)
000000010000a101	jmp	0x10000a15a
000000010000a106	movl	-0x20(%rbp), %edx
000000010000a109	movq	-0x18(%rbp), %rdi
000000010000a10d	movl	-0x10(%rbp), %esi
000000010000a110	callq	_string_at
000000010000a115	movzbl	%al, %edx
000000010000a118	cmpl	$0x5f, %edx
000000010000a11b	jne	0x10000a140
000000010000a121	movzbl	-0x19(%rbp), %eax
000000010000a125	cmpl	$0x30, %eax
000000010000a128	je	0x10000a137
000000010000a12e	movb	$0x0, -0x1(%rbp)
000000010000a132	jmp	0x10000a178
000000010000a137	movb	$0x5f, -0x19(%rbp)
000000010000a13b	jmp	0x10000a15a
000000010000a140	movzbl	-0x19(%rbp), %eax
000000010000a144	cmpl	$0x5f, %eax
000000010000a147	jne	0x10000a156
000000010000a14d	movb	$0x0, -0x1(%rbp)
000000010000a151	jmp	0x10000a178
000000010000a156	movb	$0x21, -0x19(%rbp)
000000010000a15a	movl	-0x20(%rbp), %eax
000000010000a15d	addl	$0x1, %eax
000000010000a160	movl	%eax, -0x20(%rbp)
000000010000a163	jmp	0x10000a063
000000010000a168	movzbl	-0x19(%rbp), %eax
000000010000a16c	cmpl	$0x5f, %eax
000000010000a16f	setne	%cl
000000010000a172	andb	$0x1, %cl
000000010000a175	movb	%cl, -0x1(%rbp)
000000010000a178	movb	-0x1(%rbp), %al
000000010000a17b	andb	$0x1, %al
000000010000a17d	movzbl	%al, %eax
000000010000a180	addq	$0x30, %rsp
000000010000a184	popq	%rbp
000000010000a185	retq
000000010000a186	nopw	%cs:(%rax,%rax)
_strconv__atoi:
000000010000a190	pushq	%rbp
000000010000a191	movq	%rsp, %rbp
000000010000a194	subq	$0x40, %rsp
000000010000a198	xorl	%eax, %eax
000000010000a19a	movq	%rdi, -0x18(%rbp)
000000010000a19e	movl	%esi, -0x10(%rbp)
000000010000a1a1	cmpl	-0x10(%rbp), %eax
000000010000a1a4	jge	0x10000a2c3
000000010000a1aa	cmpl	$0xa, -0x10(%rbp)
000000010000a1ae	jge	0x10000a2c3
000000010000a1b4	xorl	%edx, %edx
000000010000a1b6	movl	$0x0, -0x1c(%rbp)
000000010000a1bd	movq	-0x18(%rbp), %rdi
000000010000a1c1	movl	-0x10(%rbp), %esi
000000010000a1c4	callq	_string_at
000000010000a1c9	movzbl	%al, %edx
000000010000a1cc	cmpl	$0x2d, %edx
000000010000a1cf	je	0x10000a1ef
000000010000a1d5	xorl	%edx, %edx
000000010000a1d7	movq	-0x18(%rbp), %rdi
000000010000a1db	movl	-0x10(%rbp), %esi
000000010000a1de	callq	_string_at
000000010000a1e3	movzbl	%al, %edx
000000010000a1e6	cmpl	$0x2b, %edx
000000010000a1e9	jne	0x10000a218
000000010000a1ef	movl	-0x1c(%rbp), %eax
000000010000a1f2	addl	$0x1, %eax
000000010000a1f5	movl	%eax, -0x1c(%rbp)
000000010000a1f8	movl	-0x10(%rbp), %eax
000000010000a1fb	subl	-0x1c(%rbp), %eax
000000010000a1fe	cmpl	$0x1, %eax
000000010000a201	jge	0x10000a213
000000010000a207	movl	$0x0, -0x4(%rbp)
000000010000a20e	jmp	0x10000a2e3
000000010000a213	jmp	0x10000a218
000000010000a218	movl	$0x0, -0x20(%rbp)
000000010000a21f	movl	-0x1c(%rbp), %eax
000000010000a222	movl	%eax, -0x24(%rbp)
000000010000a225	movl	-0x24(%rbp), %eax
000000010000a228	movl	%eax, -0x28(%rbp)
000000010000a22b	movl	-0x28(%rbp), %eax
000000010000a22e	cmpl	-0x10(%rbp), %eax
000000010000a231	jge	0x10000a28b
000000010000a237	movl	-0x28(%rbp), %eax
000000010000a23a	movl	%eax, -0x2c(%rbp)
000000010000a23d	movl	-0x2c(%rbp), %edx
000000010000a240	movq	-0x18(%rbp), %rdi
000000010000a244	movl	-0x10(%rbp), %esi
000000010000a247	callq	_string_at
000000010000a24c	movzbl	%al, %edx
000000010000a24f	subl	$0x30, %edx
000000010000a252	movb	%dl, %al
000000010000a254	movb	%al, -0x2d(%rbp)
000000010000a257	movzbl	-0x2d(%rbp), %edx
000000010000a25b	cmpl	$0x9, %edx
000000010000a25e	jle	0x10000a270
000000010000a264	movl	$0x0, -0x4(%rbp)
000000010000a26b	jmp	0x10000a2e3
000000010000a270	imull	$0xa, -0x20(%rbp), %eax
000000010000a274	movzbl	-0x2d(%rbp), %ecx
000000010000a278	addl	%ecx, %eax
000000010000a27a	movl	%eax, -0x20(%rbp)
000000010000a27d	movl	-0x28(%rbp), %eax
000000010000a280	addl	$0x1, %eax
000000010000a283	movl	%eax, -0x28(%rbp)
000000010000a286	jmp	0x10000a22b
000000010000a28b	xorl	%edx, %edx
000000010000a28d	movq	-0x18(%rbp), %rdi
000000010000a291	movl	-0x10(%rbp), %esi
000000010000a294	callq	_string_at
000000010000a299	movzbl	%al, %edx
000000010000a29c	cmpl	$0x2d, %edx
000000010000a29f	jne	0x10000a2b2
000000010000a2a5	xorl	%eax, %eax
000000010000a2a7	subl	-0x20(%rbp), %eax
000000010000a2aa	movl	%eax, -0x3c(%rbp)
000000010000a2ad	jmp	0x10000a2b8
000000010000a2b2	movl	-0x20(%rbp), %eax
000000010000a2b5	movl	%eax, -0x3c(%rbp)
000000010000a2b8	movl	-0x3c(%rbp), %eax
000000010000a2bb	movl	%eax, -0x4(%rbp)
000000010000a2be	jmp	0x10000a2e3
000000010000a2c3	movl	$0xa, %edx
000000010000a2c8	xorl	%ecx, %ecx
000000010000a2ca	movq	-0x18(%rbp), %rdi
000000010000a2ce	movl	-0x10(%rbp), %esi
000000010000a2d1	callq	_strconv__parse_int
000000010000a2d6	movq	%rax, -0x38(%rbp)
000000010000a2da	movq	-0x38(%rbp), %rax
000000010000a2de	movl	%eax, %ecx
000000010000a2e0	movl	%ecx, -0x4(%rbp)
000000010000a2e3	movl	-0x4(%rbp), %eax
000000010000a2e6	addq	$0x40, %rsp
000000010000a2ea	popq	%rbp
000000010000a2eb	retq
000000010000a2ec	nopl	(%rax)
_main__main:
000000010000a2f0	pushq	%rbp
000000010000a2f1	movq	%rsp, %rbp
000000010000a2f4	subq	$0x10, %rsp
000000010000a2f8	leaq	0x7d9(%rip), %rdi ## literal pool for: "Hello V!"
000000010000a2ff	callq	_tos3
000000010000a304	movq	%rax, -0x10(%rbp)
000000010000a308	movl	%edx, -0x8(%rbp)
000000010000a30b	movq	-0x10(%rbp), %rdi
000000010000a30f	movl	-0x8(%rbp), %esi
000000010000a312	callq	_println
000000010000a317	addq	$0x10, %rsp
000000010000a31b	popq	%rbp
000000010000a31c	retq
000000010000a31d	nopl	(%rax)
_init:
000000010000a320	pushq	%rbp
000000010000a321	movq	%rsp, %rbp
000000010000a324	movl	$0x3e8, %eax
000000010000a329	movl	%eax, %edi
000000010000a32b	callq	0x10000a5fe ## symbol stub for: _malloc
000000010000a330	leaq	_strconv__max_u64(%rip), %rdi
000000010000a337	leaq	_builtin__max_cap(%rip), %rcx
000000010000a33e	leaq	_builtin__min_cap(%rip), %rdx
000000010000a345	leaq	_g_str_buf(%rip), %rsi
000000010000a34c	movq	%rax, (%rsi)
000000010000a34f	movl	$0x800, (%rdx)
000000010000a355	movl	$0x200000, (%rcx)
000000010000a35b	movq	$-0x1, (%rdi)
000000010000a362	callq	_builtin__init
000000010000a367	popq	%rbp
000000010000a368	retq
000000010000a369	nopl	(%rax)
__STR_TMP:
000000010000a370	pushq	%rbp
000000010000a371	movq	%rsp, %rbp
000000010000a374	subq	$0x1c0, %rsp
000000010000a37b	testb	%al, %al
000000010000a37d	movaps	%xmm7, -0x100(%rbp)
000000010000a384	movaps	%xmm6, -0x110(%rbp)
000000010000a38b	movaps	%xmm5, -0x120(%rbp)
000000010000a392	movaps	%xmm4, -0x130(%rbp)
000000010000a399	movaps	%xmm3, -0x140(%rbp)
000000010000a3a0	movaps	%xmm2, -0x150(%rbp)
000000010000a3a7	movaps	%xmm1, -0x160(%rbp)
000000010000a3ae	movaps	%xmm0, -0x170(%rbp)
000000010000a3b5	movq	%rdi, -0x178(%rbp)
000000010000a3bc	movq	%r9, -0x180(%rbp)
000000010000a3c3	movq	%r8, -0x188(%rbp)
000000010000a3ca	movq	%rcx, -0x190(%rbp)
000000010000a3d1	movq	%rdx, -0x198(%rbp)
000000010000a3d8	movq	%rsi, -0x1a0(%rbp)
000000010000a3df	je	0x10000a449
000000010000a3e5	movaps	-0x170(%rbp), %xmm0
000000010000a3ec	movaps	%xmm0, -0xc0(%rbp)
000000010000a3f3	movaps	-0x160(%rbp), %xmm1
000000010000a3fa	movaps	%xmm1, -0xb0(%rbp)
000000010000a401	movaps	-0x150(%rbp), %xmm2
000000010000a408	movaps	%xmm2, -0xa0(%rbp)
000000010000a40f	movaps	-0x140(%rbp), %xmm3
000000010000a416	movaps	%xmm3, -0x90(%rbp)
000000010000a41d	movaps	-0x130(%rbp), %xmm4
000000010000a424	movaps	%xmm4, -0x80(%rbp)
000000010000a428	movaps	-0x120(%rbp), %xmm5
000000010000a42f	movaps	%xmm5, -0x70(%rbp)
000000010000a433	movaps	-0x110(%rbp), %xmm6
000000010000a43a	movaps	%xmm6, -0x60(%rbp)
000000010000a43e	movaps	-0x100(%rbp), %xmm7
000000010000a445	movaps	%xmm7, -0x50(%rbp)
000000010000a449	movq	-0x180(%rbp), %rax
000000010000a450	movq	%rax, -0xc8(%rbp)
000000010000a457	movq	-0x188(%rbp), %rcx
000000010000a45e	movq	%rcx, -0xd0(%rbp)
000000010000a465	movq	-0x190(%rbp), %rdx
000000010000a46c	movq	%rdx, -0xd8(%rbp)
000000010000a473	movq	-0x198(%rbp), %rsi
000000010000a47a	movq	%rsi, -0xe0(%rbp)
000000010000a481	movq	-0x1a0(%rbp), %rdi
000000010000a488	movq	%rdi, -0xe8(%rbp)
000000010000a48f	movq	-0x178(%rbp), %r8
000000010000a496	movq	0x2b9b(%rip), %r9 ## literal pool symbol address: ___stack_chk_guard
000000010000a49d	movq	(%r9), %r9
000000010000a4a0	movq	%r9, -0x8(%rbp)
000000010000a4a4	movq	%r8, -0x38(%rbp)
000000010000a4a8	leaq	-0xf0(%rbp), %r8
000000010000a4af	movq	%r8, -0x10(%rbp)
000000010000a4b3	leaq	0x10(%rbp), %r9
000000010000a4b7	movq	%r9, -0x18(%rbp)
000000010000a4bb	movl	$0x30, -0x1c(%rbp)
000000010000a4c2	movl	$0x8, -0x20(%rbp)
000000010000a4c9	movq	%r8, -0x10(%rbp)
000000010000a4cd	movq	%r9, -0x18(%rbp)
000000010000a4d1	movl	$0x30, -0x1c(%rbp)
000000010000a4d8	movl	$0x8, -0x20(%rbp)
000000010000a4df	leaq	_g_str_buf(%rip), %r8
000000010000a4e6	movq	(%r8), %rdi
000000010000a4e9	movq	-0x38(%rbp), %rcx
000000010000a4ed	xorl	%esi, %esi
000000010000a4ef	movq	$-0x1, %rdx
000000010000a4f6	leaq	-0x20(%rbp), %r9
000000010000a4fa	movq	%r8, -0x1a8(%rbp)
000000010000a501	movq	%r9, %r8
000000010000a504	callq	0x10000a5bc ## symbol stub for: ___vsprintf_chk
000000010000a509	movq	-0x1a8(%rbp), %rcx
000000010000a510	movq	(%rcx), %rdi
000000010000a513	movl	%eax, -0x1ac(%rbp)
000000010000a519	callq	_tos2
000000010000a51e	movq	%rax, -0x30(%rbp)
000000010000a522	movl	%edx, -0x28(%rbp)
000000010000a525	movl	-0x28(%rbp), %edx
000000010000a528	movq	-0x30(%rbp), %rax
000000010000a52c	movq	0x2b05(%rip), %rcx ## literal pool symbol address: ___stack_chk_guard
000000010000a533	movq	(%rcx), %rcx
000000010000a536	movq	-0x8(%rbp), %rdi
000000010000a53a	cmpq	%rdi, %rcx
000000010000a53d	movl	%edx, -0x1b0(%rbp)
000000010000a543	movq	%rax, -0x1b8(%rbp)
000000010000a54a	jne	0x10000a566
000000010000a550	movq	-0x1b8(%rbp), %rax
000000010000a557	movl	-0x1b0(%rbp), %edx
000000010000a55d	addq	$0x1c0, %rsp
000000010000a564	popq	%rbp
000000010000a565	retq
000000010000a566	callq	0x10000a5b0 ## symbol stub for: ___stack_chk_fail
000000010000a56b	ud2
000000010000a56d	nopl	(%rax)
_main:
000000010000a570	pushq	%rbp
000000010000a571	movq	%rsp, %rbp
000000010000a574	subq	$0x10, %rsp
000000010000a578	movl	$0x0, -0x4(%rbp)
000000010000a57f	movl	%edi, -0x8(%rbp)
000000010000a582	movq	%rsi, -0x10(%rbp)
000000010000a586	callq	_init
000000010000a58b	callq	_main__main
000000010000a590	xorl	%eax, %eax
000000010000a592	addq	$0x10, %rsp
000000010000a596	popq	%rbp
000000010000a597	retq