brom.s 238 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298
  1. ;; Vector table
  2. ffff0000: ea000008 b reset ; reset
  3. ffff0004: ea000006 b unimplemented ; _undefined_instruction
  4. ffff0008: ea000005 b unimplemented ; _software_interrupt
  5. ffff000c: ea000004 b unimplemented ; _prefetch_abort
  6. ffff0010: ea000003 b unimplemented ; _data_abort
  7. ffff0014: ea000002 b unimplemented ; _not_used
  8. ffff0018: ea000011 b irq ; _irq
  9. ffff001c: ea000000 b unimplemented ; _fiq
  10. ffff0020: ea000013 b fel_setup ; FEL
  11. unimplemented:
  12. ffff0024: eafffffe b unimplemented ; loop forever
  13. ;; Entry point, clear all registers (except r0) and jump to BROM
  14. reset:
  15. ffff0028: e3a00001 mov r0, #1
  16. ffff002c: e3a01000 mov r1, #0
  17. ffff0030: e3a02000 mov r2, #0
  18. ffff0034: e3a03000 mov r3, #0
  19. ffff0038: e3a04000 mov r4, #0
  20. ffff003c: e3a05000 mov r5, #0
  21. ffff0040: e3a06000 mov r6, #0
  22. ffff0044: e3a07000 mov r7, #0
  23. ffff0048: e3a08000 mov r8, #0
  24. ffff004c: e3a09000 mov r9, #0
  25. ffff0050: e3a0a000 mov sl, #0
  26. ffff0054: e3a0b000 mov fp, #0
  27. ffff0058: e3a0c000 mov ip, #0
  28. ffff005c: e3a0d000 mov sp, #0
  29. ffff0060: e59ff100 ldr pc, [pc, #256] ; 0xffff0168 =0xffff2c00 jump to BROM
  30. ;; First-level interrrupt handler
  31. irq:
  32. ffff0064: e24ee004 sub lr, lr, #4
  33. ffff0068: e92d5fff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  34. ffff006c: eb000709 bl interrupt_handler
  35. ffff0070: e8fd9fff ldm sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, pc}^
  36. ;; FEL entry point
  37. fel_setup:
  38. ffff0074: e3a020d2 mov r2, #210 ; 0xd2
  39. ffff0078: e121f002 msr CPSR_c, r2
  40. ffff007c: e59fd0e8 ldr sp, [pc, #232] ; 0xffff016c =0x00002000
  41. ffff0080: e10f0000 mrs r0, CPSR
  42. ffff0084: e3c0001f bic r0, r0, #31
  43. ffff0088: e38000d3 orr r0, r0, #211 ; 0xd3
  44. ffff008c: e121f000 msr CPSR_c, r0
  45. ffff0090: e59fd0d8 ldr sp, [pc, #216] ; 0xffff0170 =0x00007000
  46. ffff0094: ee110f30 mrc 15, 0, r0, cr1, cr0, {1}
  47. ffff0098: e3c00002 bic r0, r0, #2
  48. ffff009c: ee010f30 mcr 15, 0, r0, cr1, cr0, {1}
  49. ffff00a0: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
  50. ffff00a4: e3c00001 bic r0, r0, #1
  51. ffff00a8: e3c00b02 bic r0, r0, #2048 ; 0x800
  52. ffff00ac: e3c00a01 bic r0, r0, #4096 ; 0x1000
  53. ffff00b0: e3c00004 bic r0, r0, #4
  54. ffff00b4: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
  55. ffff00b8: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
  56. ffff00bc: e3800a02 orr r0, r0, #8192 ; 0x2000
  57. ffff00c0: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
  58. ffff00c4: e59f10a8 ldr r1, [pc, #168] ; 0xffff0174 =0x01c20000 CCU_BASE
  59. ffff00c8: e3a02000 mov r2, #0
  60. ffff00cc: e5913050 ldr r3, [r1, #80] ; 0x50
  61. ffff00d0: e3c33a01 bic r3, r3, #4096 ; 0x1000
  62. ffff00d4: e1834002 orr r4, r3, r2
  63. ffff00d8: e5814050 str r4, [r1, #80] ; 0x50
  64. ffff00dc: e3a02000 mov r2, #0
  65. ffff00e0: e5913050 ldr r3, [r1, #80] ; 0x50
  66. ffff00e4: e3c33003 bic r3, r3, #3
  67. ffff00e8: e1834002 orr r4, r3, r2
  68. ffff00ec: e5814050 str r4, [r1, #80] ; 0x50
  69. ffff00f0: e3012110 movw r2, #4368 ; 0x1110
  70. ffff00f4: e5913054 ldr r3, [r1, #84] ; 0x54
  71. ffff00f8: e3c330f0 bic r3, r3, #240 ; 0xf0
  72. ffff00fc: e3c33c33 bic r3, r3, #13056 ; 0x3300
  73. ffff0100: e1834002 orr r4, r3, r2
  74. ffff0104: e5814054 str r4, [r1, #84] ; 0x54
  75. ffff0108: e3a02c01 mov r2, #256 ; 0x100
  76. ffff010c: e59130cc ldr r3, [r1, #204] ; 0xcc
  77. ffff0110: e3c33c01 bic r3, r3, #256 ; 0x100
  78. ffff0114: e1834002 orr r4, r3, r2
  79. ffff0118: e58140cc str r4, [r1, #204] ; 0xcc
  80. ffff011c: e3020710 movw r0, #10000 ; 0x2710
  81. ffff0120: e2500001 subs r0, r0, #1
  82. ffff0124: 1afffffd bne 0xffff0120
  83. ffff0128: e3a02401 mov r2, #16777216 ; 0x1000000
  84. ffff012c: e5913060 ldr r3, [r1, #96] ; 0x60
  85. ffff0130: e3c33401 bic r3, r3, #16777216 ; 0x1000000
  86. ffff0134: e1834002 orr r4, r3, r2
  87. ffff0138: e5814060 str r4, [r1, #96] ; 0x60
  88. ffff013c: e3a02401 mov r2, #16777216 ; 0x1000000
  89. ffff0140: e59132c0 ldr r3, [r1, #704] ; 0x2c0
  90. ffff0144: e3c33401 bic r3, r3, #16777216 ; 0x1000000
  91. ffff0148: e1834002 orr r4, r3, r2
  92. ffff014c: e58142c0 str r4, [r1, #704] ; 0x2c0
  93. ffff0150: e3a02001 mov r2, #1
  94. ffff0154: e59130cc ldr r3, [r1, #204] ; 0xcc
  95. ffff0158: e3c33001 bic r3, r3, #1
  96. ffff015c: e1834002 orr r4, r3, r2
  97. ffff0160: e58140cc str r4, [r1, #204] ; 0xcc
  98. ffff0164: eb00085f bl 0xffff22e8
  99. ;; Global Offset Table
  100. ffff0168: ffff2c00
  101. ffff016c: 00002000
  102. ffff0170: 00007000
  103. ffff0174: 01c20000 ; CCU_BASE
  104. ffff0178: e12fff1e bx lr
  105. ffff017c: e12fff1e bx lr
  106. ffff0180: e3a01000 mov r1, #0
  107. ffff0184: ea000000 b 0xffff018c
  108. ffff0188: e2811001 add r1, r1, #1
  109. ffff018c: e5d02018 ldrb r2, [r0, #24]
  110. ffff0190: e3520001 cmp r2, #1
  111. ffff0194: 0afffffb beq 0xffff0188
  112. ffff0198: e12fff1e bx lr
  113. ffff019c: e92d4010 push {r4, lr}
  114. ffff01a0: e1a04000 mov r4, r0
  115. ffff01a4: e3a02022 mov r2, #34 ; 0x22
  116. ffff01a8: e3a01000 mov r1, #0
  117. ffff01ac: e1a00004 mov r0, r4
  118. ffff01b0: eb0001c9 bl 0xffff08dc
  119. ffff01b4: e3a00000 mov r0, #0
  120. ffff01b8: e5c40020 strb r0, [r4, #32]
  121. ffff01bc: e5c40021 strb r0, [r4, #33] ; 0x21
  122. ffff01c0: e8bd8010 pop {r4, pc}
  123. ffff01c4: e5801000 str r1, [r0]
  124. ffff01c8: e5802004 str r2, [r0, #4]
  125. ffff01cc: e3a03000 mov r3, #0
  126. ffff01d0: e5c03008 strb r3, [r0, #8]
  127. ffff01d4: e5803010 str r3, [r0, #16]
  128. ffff01d8: e3a03001 mov r3, #1
  129. ffff01dc: e5c03018 strb r3, [r0, #24]
  130. ffff01e0: e12fff1e bx lr
  131. ffff01e4: e92d4070 push {r4, r5, r6, lr}
  132. ffff01e8: e24dd020 sub sp, sp, #32
  133. ffff01ec: e1a06000 mov r6, r0
  134. ffff01f0: e1a04001 mov r4, r1
  135. ffff01f4: e3a05000 mov r5, #0
  136. ffff01f8: e5965034 ldr r5, [r6, #52] ; 0x34
  137. ffff01fc: e1a00005 mov r0, r5
  138. ffff0200: ebffffde bl 0xffff0180
  139. ffff0204: e3a02020 mov r2, #32
  140. ffff0208: e3a01000 mov r1, #0
  141. ffff020c: e1a0000d mov r0, sp
  142. ffff0210: eb0001b1 bl 0xffff08dc
  143. ffff0214: e1a00006 mov r0, r6
  144. ffff0218: eb000324 bl 0xffff0eb0
  145. ffff021c: e3a02020 mov r2, #32
  146. ffff0220: e1a0100d mov r1, sp
  147. ffff0224: e1a00005 mov r0, r5
  148. ffff0228: ebffffe5 bl 0xffff01c4
  149. ffff022c: e3a00001 mov r0, #1
  150. ffff0230: e5c40020 strb r0, [r4, #32]
  151. ffff0234: e3a02000 mov r2, #0
  152. ffff0238: e1a01005 mov r1, r5
  153. ffff023c: e1a00006 mov r0, r6
  154. ffff0240: eb00039c bl 0xffff10b8
  155. ffff0244: e1a00005 mov r0, r5
  156. ffff0248: ebffffcc bl 0xffff0180
  157. ffff024c: e3a02022 mov r2, #34 ; 0x22
  158. ffff0250: e1a00004 mov r0, r4
  159. ffff0254: e5951000 ldr r1, [r5]
  160. ffff0258: eb000195 bl 0xffff08b4
  161. ffff025c: e28dd020 add sp, sp, #32
  162. ffff0260: e8bd8070 pop {r4, r5, r6, pc}
  163. ffff0264: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  164. ffff0268: e1a06000 mov r6, r0
  165. ffff026c: e1a04001 mov r4, r1
  166. ffff0270: e1a07002 mov r7, r2
  167. ffff0274: e1a05003 mov r5, r3
  168. ffff0278: e3a08000 mov r8, #0
  169. ffff027c: e3560000 cmp r6, #0
  170. ffff0280: 1a000001 bne 0xffff028c
  171. ffff0284: e5948034 ldr r8, [r4, #52] ; 0x34
  172. ffff0288: ea000000 b 0xffff0290
  173. ffff028c: e5948030 ldr r8, [r4, #48] ; 0x30
  174. ffff0290: e1a00008 mov r0, r8
  175. ffff0294: ebffffb9 bl 0xffff0180
  176. ffff0298: e3a00002 mov r0, #2
  177. ffff029c: e5c70020 strb r0, [r7, #32]
  178. ffff02a0: e1a00004 mov r0, r4
  179. ffff02a4: eb000301 bl 0xffff0eb0
  180. ffff02a8: e1a00008 mov r0, r8
  181. ffff02ac: e8950006 ldm r5, {r1, r2}
  182. ffff02b0: ebffffc3 bl 0xffff01c4
  183. ffff02b4: e3a02000 mov r2, #0
  184. ffff02b8: e1a01008 mov r1, r8
  185. ffff02bc: e1a00004 mov r0, r4
  186. ffff02c0: eb00037c bl 0xffff10b8
  187. ffff02c4: e1a00008 mov r0, r8
  188. ffff02c8: ebffffac bl 0xffff0180
  189. ffff02cc: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  190. ffff02d0: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  191. ffff02d4: e1a05000 mov r5, r0
  192. ffff02d8: e1a04001 mov r4, r1
  193. ffff02dc: e1a06002 mov r6, r2
  194. ffff02e0: e5d47010 ldrb r7, [r4, #16]
  195. ffff02e4: e3570011 cmp r7, #17
  196. ffff02e8: 0a000002 beq 0xffff02f8
  197. ffff02ec: e3570012 cmp r7, #18
  198. ffff02f0: 1a00000e bne 0xffff0330
  199. ffff02f4: ea000006 b 0xffff0314
  200. ffff02f8: e320f000 nop {0}
  201. ffff02fc: e1a03006 mov r3, r6
  202. ffff0300: e1a02004 mov r2, r4
  203. ffff0304: e1a01005 mov r1, r5
  204. ffff0308: e3a00001 mov r0, #1
  205. ffff030c: ebffffd4 bl 0xffff0264
  206. ffff0310: ea000008 b 0xffff0338
  207. ffff0314: e320f000 nop {0}
  208. ffff0318: e1a03006 mov r3, r6
  209. ffff031c: e1a02004 mov r2, r4
  210. ffff0320: e1a01005 mov r1, r5
  211. ffff0324: e3a00000 mov r0, #0
  212. ffff0328: ebffffcd bl 0xffff0264
  213. ffff032c: ea000001 b 0xffff0338
  214. ffff0330: e320f000 nop {0}
  215. ffff0334: e320f000 nop {0}
  216. ffff0338: e320f000 nop {0}
  217. ffff033c: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  218. ffff0340: e92d41ff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, lr}
  219. ffff0344: e1a05000 mov r5, r0
  220. ffff0348: e1a04001 mov r4, r1
  221. ffff034c: e1a07002 mov r7, r2
  222. ffff0350: e3a06000 mov r6, #0
  223. ffff0354: e5956030 ldr r6, [r5, #48] ; 0x30
  224. ffff0358: e3a00003 mov r0, #3
  225. ffff035c: e5c40020 strb r0, [r4, #32]
  226. ffff0360: e59f02f0 ldr r0, [pc, #752] ; 0xffff0658 ="AWUS"
  227. ffff0364: e58d0000 str r0, [sp]
  228. ffff0368: e5940004 ldr r0, [r4, #4]
  229. ffff036c: e58d0004 str r0, [sp, #4]
  230. ffff0370: e3a00000 mov r0, #0
  231. ffff0374: e58d0008 str r0, [sp, #8]
  232. ffff0378: e5cd000c strb r0, [sp, #12]
  233. ffff037c: e1a00005 mov r0, r5
  234. ffff0380: eb0002ca bl 0xffff0eb0
  235. ffff0384: e3a0200d mov r2, #13
  236. ffff0388: e1a0100d mov r1, sp
  237. ffff038c: e1a00006 mov r0, r6
  238. ffff0390: ebffff8b bl 0xffff01c4
  239. ffff0394: e3a02000 mov r2, #0
  240. ffff0398: e1a01006 mov r1, r6
  241. ffff039c: e1a00005 mov r0, r5
  242. ffff03a0: eb000344 bl 0xffff10b8
  243. ffff03a4: e1a00006 mov r0, r6
  244. ffff03a8: ebffff74 bl 0xffff0180
  245. ffff03ac: e8bd81ff pop {r0, r1, r2, r3, r4, r5, r6, r7, r8, pc}
  246. ffff03b0: e92d4030 push {r4, r5, lr}
  247. ffff03b4: e24dd024 sub sp, sp, #36 ; 0x24
  248. ffff03b8: e1a05000 mov r5, r0
  249. ffff03bc: e1a04001 mov r4, r1
  250. ffff03c0: e1a0000d mov r0, sp
  251. ffff03c4: ebffff74 bl 0xffff019c
  252. ffff03c8: e1a0100d mov r1, sp
  253. ffff03cc: e1a00005 mov r0, r5
  254. ffff03d0: ebffff83 bl 0xffff01e4
  255. ffff03d4: e1a02004 mov r2, r4
  256. ffff03d8: e1a0100d mov r1, sp
  257. ffff03dc: e1a00005 mov r0, r5
  258. ffff03e0: ebffffba bl 0xffff02d0
  259. ffff03e4: e1a02004 mov r2, r4
  260. ffff03e8: e1a0100d mov r1, sp
  261. ffff03ec: e1a00005 mov r0, r5
  262. ffff03f0: ebffffd2 bl 0xffff0340
  263. ffff03f4: e3a00000 mov r0, #0
  264. ffff03f8: e5c40008 strb r0, [r4, #8]
  265. ffff03fc: e28dd024 add sp, sp, #36 ; 0x24
  266. ffff0400: e8bd8030 pop {r4, r5, pc}
  267. ffff0404: e92d4070 push {r4, r5, r6, lr}
  268. ffff0408: e1a04000 mov r4, r0
  269. ffff040c: e1a05001 mov r5, r1
  270. ffff0410: e1a01005 mov r1, r5
  271. ffff0414: e1a00004 mov r0, r4
  272. ffff0418: ebffffe4 bl 0xffff03b0
  273. ffff041c: e8bd8070 pop {r4, r5, r6, pc}
  274. ffff0420: e92d4070 push {r4, r5, r6, lr}
  275. ffff0424: e1a04000 mov r4, r0
  276. ffff0428: e1a05001 mov r5, r1
  277. ffff042c: e3a0200c mov r2, #12
  278. ffff0430: e3a01000 mov r1, #0
  279. ffff0434: e59f0220 ldr r0, [pc, #544] ; 0xffff065c = 0x00007d04
  280. ffff0438: eb000127 bl 0xffff08dc
  281. ffff043c: e59f0218 ldr r0, [pc, #536] ; 0xffff065c =0x00007d04
  282. ffff0440: e5804000 str r4, [r0]
  283. ffff0444: e5805004 str r5, [r0, #4]
  284. ffff0448: e3a00002 mov r0, #2
  285. ffff044c: e59f1208 ldr r1, [pc, #520] ; 0xffff065c =0x00007d04
  286. ffff0450: e5c10008 strb r0, [r1, #8]
  287. ffff0454: e2810000 add r0, r1, #0
  288. ffff0458: e8bd8070 pop {r4, r5, r6, pc}
  289. ffff045c: e92d4030 push {r4, r5, lr}
  290. ffff0460: e24dd024 sub sp, sp, #36 ; 0x24
  291. ffff0464: e1a04000 mov r4, r0
  292. ffff0468: e3a05000 mov r5, #0
  293. ffff046c: e3a02020 mov r2, #32
  294. ffff0470: e3a01000 mov r1, #0
  295. ffff0474: e28d0004 add r0, sp, #4
  296. ffff0478: eb000117 bl 0xffff08dc
  297. ffff047c: e3a02008 mov r2, #8
  298. ffff0480: e28f1f76 add r1, pc, #472 ; 0x1d8
  299. ffff0484: e28d0004 add r0, sp, #4
  300. ffff0488: eb000109 bl 0xffff08b4
  301. ffff048c: e59f01d8 ldr r0, [pc, #472] ; 0xffff066c =0x00168100
  302. ffff0490: e58d000c str r0, [sp, #12]
  303. ffff0494: e3a00001 mov r0, #1
  304. ffff0498: e58d0010 str r0, [sp, #16]
  305. ffff049c: e1cd01b4 strh r0, [sp, #20]
  306. ffff04a0: e3a00044 mov r0, #68 ; 0x44
  307. ffff04a4: e5cd0016 strb r0, [sp, #22]
  308. ffff04a8: e3a00008 mov r0, #8
  309. ffff04ac: e5cd0017 strb r0, [sp, #23]
  310. ffff04b0: e3070e00 movw r0, #32256 ; 0x7e00
  311. ffff04b4: e58d0018 str r0, [sp, #24]
  312. ffff04b8: e3a01020 mov r1, #32
  313. ffff04bc: e28d0004 add r0, sp, #4
  314. ffff04c0: ebffffd6 bl 0xffff0420
  315. ffff04c4: e1a05000 mov r5, r0
  316. ffff04c8: e1a01005 mov r1, r5
  317. ffff04cc: e1a00004 mov r0, r4
  318. ffff04d0: ebffffb6 bl 0xffff03b0
  319. ffff04d4: e28dd024 add sp, sp, #36 ; 0x24
  320. ffff04d8: e8bd8030 pop {r4, r5, pc}
  321. ffff04dc: e92d407f push {r0, r1, r2, r3, r4, r5, r6, lr}
  322. ffff04e0: e1a04000 mov r4, r0
  323. ffff04e4: e3a05000 mov r5, #0
  324. ffff04e8: e3a02010 mov r2, #16
  325. ffff04ec: e3a01000 mov r1, #0
  326. ffff04f0: e1a0000d mov r0, sp
  327. ffff04f4: eb0000f8 bl 0xffff08dc
  328. ffff04f8: e3a00001 mov r0, #1
  329. ffff04fc: e1cd00b0 strh r0, [sp]
  330. ffff0500: e3a00000 mov r0, #0
  331. ffff0504: e1cd00b2 strh r0, [sp, #2]
  332. ffff0508: e3a01010 mov r1, #16
  333. ffff050c: e1a0000d mov r0, sp
  334. ffff0510: ebffffc2 bl 0xffff0420
  335. ffff0514: e1a05000 mov r5, r0
  336. ffff0518: e1a01005 mov r1, r5
  337. ffff051c: e1a00004 mov r0, r4
  338. ffff0520: ebffffa2 bl 0xffff03b0
  339. ffff0524: e8bd807f pop {r0, r1, r2, r3, r4, r5, r6, pc}
  340. ffff0528: e92d407f push {r0, r1, r2, r3, r4, r5, r6, lr}
  341. ffff052c: e1a04000 mov r4, r0
  342. ffff0530: e3a05000 mov r5, #0
  343. ffff0534: e3a02010 mov r2, #16
  344. ffff0538: e3a01000 mov r1, #0
  345. ffff053c: e1a0000d mov r0, sp
  346. ffff0540: eb0000e5 bl 0xffff08dc
  347. ffff0544: e30001f4 movw r0, #500 ; 0x1f4
  348. ffff0548: e1cd00b2 strh r0, [sp, #2]
  349. ffff054c: e3a00002 mov r0, #2
  350. ffff0550: e1cd00b0 strh r0, [sp]
  351. ffff0554: e3a01010 mov r1, #16
  352. ffff0558: e1a0000d mov r0, sp
  353. ffff055c: ebffffaf bl 0xffff0420
  354. ffff0560: e1a05000 mov r5, r0
  355. ffff0564: e1a01005 mov r1, r5
  356. ffff0568: e1a00004 mov r0, r4
  357. ffff056c: ebffff8f bl 0xffff03b0
  358. ffff0570: e8bd807f pop {r0, r1, r2, r3, r4, r5, r6, pc}
  359. ffff0574: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  360. ffff0578: e1a06000 mov r6, r0
  361. ffff057c: e1a04001 mov r4, r1
  362. ffff0580: e3a05000 mov r5, #0
  363. ffff0584: e3a07000 mov r7, #0
  364. ffff0588: e3540000 cmp r4, #0
  365. ffff058c: 1a000001 bne 0xffff0598
  366. ffff0590: e3a00001 mov r0, #1
  367. ffff0594: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  368. ffff0598: e1a05004 mov r5, r4
  369. ffff059c: e5950008 ldr r0, [r5, #8]
  370. ffff05a0: e3500000 cmp r0, #0
  371. ffff05a4: 1a000001 bne 0xffff05b0
  372. ffff05a8: e3a00001 mov r0, #1
  373. ffff05ac: eafffff8 b 0xffff0594
  374. ffff05b0: e5951008 ldr r1, [r5, #8]
  375. ffff05b4: e5950004 ldr r0, [r5, #4]
  376. ffff05b8: ebffff98 bl 0xffff0420
  377. ffff05bc: e1a07000 mov r7, r0
  378. ffff05c0: e1a01007 mov r1, r7
  379. ffff05c4: e1a00006 mov r0, r6
  380. ffff05c8: ebffff78 bl 0xffff03b0
  381. ffff05cc: e3a00000 mov r0, #0
  382. ffff05d0: eaffffef b 0xffff0594
  383. ffff05d4: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  384. ffff05d8: e1a06000 mov r6, r0
  385. ffff05dc: e1a04001 mov r4, r1
  386. ffff05e0: e3a05000 mov r5, #0
  387. ffff05e4: e3a07000 mov r7, #0
  388. ffff05e8: e3540000 cmp r4, #0
  389. ffff05ec: 1a000001 bne 0xffff05f8
  390. ffff05f0: e3a00001 mov r0, #1
  391. ffff05f4: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  392. ffff05f8: e1a05004 mov r5, r4
  393. ffff05fc: e5950008 ldr r0, [r5, #8]
  394. ffff0600: e3500000 cmp r0, #0
  395. ffff0604: 1a000001 bne 0xffff0610
  396. ffff0608: e3a00001 mov r0, #1
  397. ffff060c: eafffff8 b 0xffff05f4
  398. ffff0610: e5951008 ldr r1, [r5, #8]
  399. ffff0614: e5950004 ldr r0, [r5, #4]
  400. ffff0618: ebffff80 bl 0xffff0420
  401. ffff061c: e1a07000 mov r7, r0
  402. ffff0620: e1a01007 mov r1, r7
  403. ffff0624: e1a00006 mov r0, r6
  404. ffff0628: ebffff60 bl 0xffff03b0
  405. ffff062c: e3a00000 mov r0, #0
  406. ffff0630: eaffffef b 0xffff05f4
  407. ffff0634: e1a03000 mov r3, r0
  408. ffff0638: e3a02000 mov r2, #0
  409. ffff063c: e3510000 cmp r1, #0
  410. ffff0640: 1a000001 bne 0xffff064c
  411. ffff0644: e3e00000 mvn r0, #0
  412. ffff0648: e12fff1e bx lr
  413. ffff064c: e1a02001 mov r2, r1
  414. ffff0650: e5920004 ldr r0, [r2, #4]
  415. ffff0654: eafffffb b 0xffff0648
  416. ;; Global Offset Table
  417. ffff0658: 53555741 .ascii "AWUS"
  418. ffff065c: 00007d04
  419. ffff0660: 53555741 .ascii "AWUS"
  420. ffff0664: 58454642 .ascii "BFEX"
  421. ffff0668: 00000000
  422. ffff066c: 00168100
  423. ffff0670: e92d41fc push {r2, r3, r4, r5, r6, r7, r8, lr}
  424. ffff0674: e1a06000 mov r6, r0
  425. ffff0678: e1a04001 mov r4, r1
  426. ffff067c: e1a05002 mov r5, r2
  427. ffff0680: e3a07000 mov r7, #0
  428. ffff0684: e3a02008 mov r2, #8
  429. ffff0688: e3a01000 mov r1, #0
  430. ffff068c: e1a0000d mov r0, sp
  431. ffff0690: eb000091 bl 0xffff08dc
  432. ffff0694: e30f0fff movw r0, #65535 ; 0xffff
  433. ffff0698: e1cd00b0 strh r0, [sp]
  434. ffff069c: e1cd40b2 strh r4, [sp, #2]
  435. ffff06a0: e5cd5004 strb r5, [sp, #4]
  436. ffff06a4: e3a01008 mov r1, #8
  437. ffff06a8: e1a0000d mov r0, sp
  438. ffff06ac: ebffff5b bl 0xffff0420
  439. ffff06b0: e1a07000 mov r7, r0
  440. ffff06b4: e1a01007 mov r1, r7
  441. ffff06b8: e1a00006 mov r0, r6
  442. ffff06bc: ebffff3b bl 0xffff03b0
  443. ffff06c0: e8bd81fc pop {r2, r3, r4, r5, r6, r7, r8, pc}
  444. ffff06c4: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  445. ffff06c8: e1a06000 mov r6, r0
  446. ffff06cc: e1a04001 mov r4, r1
  447. ffff06d0: e1a05002 mov r5, r2
  448. ffff06d4: e3a07000 mov r7, #0
  449. ffff06d8: e1a02005 mov r2, r5
  450. ffff06dc: e3a01000 mov r1, #0
  451. ffff06e0: e1a00004 mov r0, r4
  452. ffff06e4: eb00007c bl 0xffff08dc
  453. ffff06e8: e1a01005 mov r1, r5
  454. ffff06ec: e1a00004 mov r0, r4
  455. ffff06f0: ebffff4a bl 0xffff0420
  456. ffff06f4: e1a07000 mov r7, r0
  457. ffff06f8: e1a01007 mov r1, r7
  458. ffff06fc: e1a00006 mov r0, r6
  459. ffff0700: ebffff3f bl 0xffff0404
  460. ffff0704: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  461. ffff0708: e92d47ff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, lr}
  462. ffff070c: e1a06000 mov r6, r0
  463. ffff0710: e3a04000 mov r4, #0
  464. ffff0714: e3a07000 mov r7, #0
  465. ffff0718: e3a08000 mov r8, #0
  466. ffff071c: e3a0a001 mov sl, #1
  467. ffff0720: e3a02010 mov r2, #16
  468. ffff0724: e1a0100d mov r1, sp
  469. ffff0728: e1a00006 mov r0, r6
  470. ffff072c: ebffffe4 bl 0xffff06c4
  471. ffff0730: e1a0400d mov r4, sp
  472. ffff0734: e1d470b0 ldrh r7, [r4]
  473. ffff0738: e1d480b2 ldrh r8, [r4, #2]
  474. ffff073c: e3570010 cmp r7, #16
  475. ffff0740: 0a000022 beq 0xffff07d0
  476. ffff0744: ca000008 bgt 0xffff076c
  477. ffff0748: e3570001 cmp r7, #1
  478. ffff074c: 0a00000e beq 0xffff078c
  479. ffff0750: e3570002 cmp r7, #2
  480. ffff0754: 0a000011 beq 0xffff07a0
  481. ffff0758: e3570003 cmp r7, #3
  482. ffff075c: 0a000011 beq 0xffff07a8
  483. ffff0760: e3570004 cmp r7, #4
  484. ffff0764: 1a000037 bne 0xffff0848
  485. ffff0768: ea000013 b 0xffff07bc
  486. ffff076c: e3e00c01 mvn r0, #256 ; 0x100
  487. ffff0770: e0900007 adds r0, r0, r7
  488. ffff0774: 0a000017 beq 0xffff07d8
  489. ffff0778: e3500001 cmp r0, #1
  490. ffff077c: 0a000021 beq 0xffff0808
  491. ffff0780: e3500002 cmp r0, #2
  492. ffff0784: 1a00002f bne 0xffff0848
  493. ffff0788: ea000018 b 0xffff07f0
  494. ffff078c: e320f000 nop {0}
  495. ffff0790: e1a00006 mov r0, r6
  496. ffff0794: ebffff30 bl 0xffff045c
  497. ffff0798: e3a0a000 mov sl, #0
  498. ffff079c: ea00002c b 0xffff0854
  499. ffff07a0: e320f000 nop {0}
  500. ffff07a4: ea00002a b 0xffff0854
  501. ffff07a8: e320f000 nop {0}
  502. ffff07ac: e1a00006 mov r0, r6
  503. ffff07b0: ebffff5c bl 0xffff0528
  504. ffff07b4: e3a0a000 mov sl, #0
  505. ffff07b8: ea000025 b 0xffff0854
  506. ffff07bc: e320f000 nop {0}
  507. ffff07c0: e1a00006 mov r0, r6
  508. ffff07c4: ebffff44 bl 0xffff04dc
  509. ffff07c8: e3a0a000 mov sl, #0
  510. ffff07cc: ea000020 b 0xffff0854
  511. ffff07d0: e320f000 nop {0}
  512. ffff07d4: ea00001e b 0xffff0854
  513. ffff07d8: e320f000 nop {0}
  514. ffff07dc: e1a0100d mov r1, sp
  515. ffff07e0: e1a00006 mov r0, r6
  516. ffff07e4: ebffff62 bl 0xffff0574
  517. ffff07e8: e1a0a000 mov sl, r0
  518. ffff07ec: ea000018 b 0xffff0854
  519. ffff07f0: e320f000 nop {0}
  520. ffff07f4: e1a0100d mov r1, sp
  521. ffff07f8: e1a00006 mov r0, r6
  522. ffff07fc: ebffff74 bl 0xffff05d4
  523. ffff0800: e1a0a000 mov sl, r0
  524. ffff0804: ea000012 b 0xffff0854
  525. ffff0808: e320f000 nop {0}
  526. ffff080c: e3a05000 mov r5, #0
  527. ffff0810: e1a0100d mov r1, sp
  528. ffff0814: e1a00006 mov r0, r6
  529. ffff0818: ebffff85 bl 0xffff0634
  530. ffff081c: e1a05000 mov r5, r0
  531. ffff0820: e3a0a000 mov sl, #0
  532. ffff0824: e1a0200a mov r2, sl
  533. ffff0828: e1a01008 mov r1, r8
  534. ffff082c: e1a00006 mov r0, r6
  535. ffff0830: ebffff8e bl 0xffff0670
  536. ffff0834: e1a00006 mov r0, r6
  537. ffff0838: eb00073b bl 0xffff252c
  538. ffff083c: e1a09005 mov r9, r5
  539. ffff0840: e12fff39 blx r9
  540. ffff0844: e8bd87ff pop {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, pc}
  541. ffff0848: e320f000 nop {0}
  542. ffff084c: e3a0a001 mov sl, #1
  543. ffff0850: e320f000 nop {0}
  544. ffff0854: e320f000 nop {0}
  545. ffff0858: e1a0200a mov r2, sl
  546. ffff085c: e1a01008 mov r1, r8
  547. ffff0860: e1a00006 mov r0, r6
  548. ffff0864: ebffff81 bl 0xffff0670
  549. ffff0868: e320f000 nop {0}
  550. ffff086c: eafffff4 b 0xffff0844
  551. ffff0870: e1a05000 mov r5, r0
  552. ffff0874: e3a04000 mov r4, #0
  553. ffff0878: ea000003 b 0xffff088c
  554. ffff087c: ebfffe3d bl 0xffff0178
  555. ffff0880: e1a00005 mov r0, r5
  556. ffff0884: ebffff9f bl 0xffff0708
  557. ffff0888: e2844001 add r4, r4, #1
  558. ffff088c: eafffffa b 0xffff087c
  559. ffff0890: e3a01000 mov r1, #0
  560. ffff0894: e5c01018 strb r1, [r0, #24]
  561. ffff0898: e12fff1e bx lr
  562. ffff089c: e3a01000 mov r1, #0
  563. ffff08a0: e5c01018 strb r1, [r0, #24]
  564. ffff08a4: e12fff1e bx lr
  565. ffff08a8: e3a01000 mov r1, #0
  566. ffff08ac: e5c01018 strb r1, [r0, #24]
  567. ffff08b0: e12fff1e bx lr
  568. ffff08b4: e92d4030 push {r4, r5, lr}
  569. ffff08b8: e1a03000 mov r3, r0
  570. ffff08bc: e1a0c001 mov ip, r1
  571. ffff08c0: ea000001 b 0xffff08cc
  572. ffff08c4: e4dc4001 ldrb r4, [ip], #1
  573. ffff08c8: e4c34001 strb r4, [r3], #1
  574. ffff08cc: e1b04002 movs r4, r2
  575. ffff08d0: e2422001 sub r2, r2, #1
  576. ffff08d4: 1afffffa bne 0xffff08c4
  577. ffff08d8: e8bd8030 pop {r4, r5, pc}
  578. ffff08dc: e92d4030 push {r4, r5, lr}
  579. ffff08e0: e1a03000 mov r3, r0
  580. ffff08e4: ea000000 b 0xffff08ec
  581. ffff08e8: e4c31001 strb r1, [r3], #1
  582. ffff08ec: e1b04002 movs r4, r2
  583. ffff08f0: e2422001 sub r2, r2, #1
  584. ffff08f4: 1afffffb bne 0xffff08e8
  585. ffff08f8: e8bd8030 pop {r4, r5, pc}
  586. ffff08fc: e92d4070 push {r4, r5, r6, lr}
  587. ffff0900: e3a05001 mov r5, #1
  588. ffff0904: e1a05215 lsl r5, r5, r2
  589. ffff0908: e245c001 sub ip, r5, #1
  590. ffff090c: e5905000 ldr r5, [r0]
  591. ffff0910: e1c5411c bic r4, r5, ip, lsl r1
  592. ffff0914: e1844113 orr r4, r4, r3, lsl r1
  593. ffff0918: e5804000 str r4, [r0]
  594. ffff091c: e8bd8070 pop {r4, r5, r6, pc}
  595. ffff0920: e12fff1e bx lr
  596. ffff0924: e92d4070 push {r4, r5, r6, lr}
  597. ffff0928: e1a06000 mov r6, r0
  598. ffff092c: e1a04001 mov r4, r1
  599. ffff0930: e1a05002 mov r5, r2
  600. ffff0934: e6af0075 sxtb r0, r5
  601. ffff0938: e5c40018 strb r0, [r4, #24]
  602. ffff093c: e594100c ldr r1, [r4, #12]
  603. ffff0940: e1a00004 mov r0, r4
  604. ffff0944: e12fff31 blx r1
  605. ffff0948: e8bd8070 pop {r4, r5, r6, pc}
  606. ffff094c: e1a03000 mov r3, r0
  607. ffff0950: e5d30005 ldrb r0, [r3, #5]
  608. ffff0954: e200007f and r0, r0, #127 ; 0x7f
  609. ffff0958: e3500004 cmp r0, #4
  610. ffff095c: da000001 ble 0xffff0968
  611. ffff0960: e3e00000 mvn r0, #0
  612. ffff0964: e12fff1e bx lr
  613. ffff0968: e5d30005 ldrb r0, [r3, #5]
  614. ffff096c: e200007f and r0, r0, #127 ; 0x7f
  615. ffff0970: e3500005 cmp r0, #5
  616. ffff0974: 308ff100 addcc pc, pc, r0, lsl #2
  617. ffff0978: ea000004 b 0xffff0990
  618. ffff097c: ea000005 b 0xffff0998
  619. ffff0980: ea000009 b 0xffff09ac
  620. ffff0984: ea00000e b 0xffff09c4
  621. ffff0988: ea000013 b 0xffff09dc
  622. ffff098c: ea000018 b 0xffff09f4
  623. ffff0990: e320f000 nop {0}
  624. ffff0994: e320f000 nop {0}
  625. ffff0998: e3a00000 mov r0, #0
  626. ffff099c: e5810000 str r0, [r1]
  627. ffff09a0: e59f0f24 ldr r0, [pc, #3876] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  628. ffff09a4: e5820000 str r0, [r2]
  629. ffff09a8: ea000017 b 0xffff0a0c
  630. ffff09ac: e320f000 nop {0}
  631. ffff09b0: e3a00001 mov r0, #1
  632. ffff09b4: e5810000 str r0, [r1]
  633. ffff09b8: e59f0f10 ldr r0, [pc, #3856] ; 0xffff18d0 =01c19004 E_HCSPARAMS
  634. ffff09bc: e5820000 str r0, [r2]
  635. ffff09c0: ea000011 b 0xffff0a0c
  636. ffff09c4: e320f000 nop {0}
  637. ffff09c8: e3a00002 mov r0, #2
  638. ffff09cc: e5810000 str r0, [r1]
  639. ffff09d0: e59f0efc ldr r0, [pc, #3836] ; 0xffff18d4 =01c19008 E_HCCPARAMS
  640. ffff09d4: e5820000 str r0, [r2]
  641. ffff09d8: ea00000b b 0xffff0a0c
  642. ffff09dc: e320f000 nop {0}
  643. ffff09e0: e3a00003 mov r0, #3
  644. ffff09e4: e5810000 str r0, [r1]
  645. ffff09e8: e59f0ee8 ldr r0, [pc, #3816] ; 0xffff18d8 =01c1900c E_HCSPORTROUTE
  646. ffff09ec: e5820000 str r0, [r2]
  647. ffff09f0: ea000005 b 0xffff0a0c
  648. ffff09f4: e320f000 nop {0}
  649. ffff09f8: e3a00004 mov r0, #4
  650. ffff09fc: e5810000 str r0, [r1]
  651. ffff0a00: e59f0ed4 ldr r0, [pc, #3796] ; 0xffff18dc =01c19010 E_USBCMD
  652. ffff0a04: e5820000 str r0, [r2]
  653. ffff0a08: e320f000 nop {0}
  654. ffff0a0c: e320f000 nop {0}
  655. ffff0a10: e3a00000 mov r0, #0
  656. ffff0a14: eaffffd2 b 0xffff0964
  657. ffff0a18: e92d4ffe push {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
  658. ffff0a1c: e1a09000 mov r9, r0
  659. ffff0a20: e1a06001 mov r6, r1
  660. ffff0a24: e1a04002 mov r4, r2
  661. ffff0a28: e3a00001 mov r0, #1
  662. ffff0a2c: e58d0008 str r0, [sp, #8]
  663. ffff0a30: e3a08000 mov r8, #0
  664. ffff0a34: e1a0200d mov r2, sp
  665. ffff0a38: e28d1004 add r1, sp, #4
  666. ffff0a3c: e1a00006 mov r0, r6
  667. ffff0a40: ebffffc1 bl 0xffff094c
  668. ffff0a44: e3500000 cmp r0, #0
  669. ffff0a48: 0a000001 beq 0xffff0a54
  670. ffff0a4c: e3e00000 mvn r0, #0
  671. ffff0a50: e8bd8ffe pop {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
  672. ffff0a54: e5940000 ldr r0, [r4]
  673. ffff0a58: e5941010 ldr r1, [r4, #16]
  674. ffff0a5c: e080b001 add fp, r0, r1
  675. ffff0a60: e5940004 ldr r0, [r4, #4]
  676. ffff0a64: e5941010 ldr r1, [r4, #16]
  677. ffff0a68: e040a001 sub sl, r0, r1
  678. ffff0a6c: e35a0000 cmp sl, #0
  679. ffff0a70: 1a000001 bne 0xffff0a7c
  680. ffff0a74: e3e00000 mvn r0, #0
  681. ffff0a78: eafffff4 b 0xffff0a50
  682. ffff0a7c: e59d0004 ldr r0, [sp, #4]
  683. ffff0a80: e59f1e44 ldr r1, [pc, #3652] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  684. ffff0a84: e5c10042 strb r0, [r1, #66] ; 0x42
  685. ffff0a88: e1a00001 mov r0, r1
  686. ffff0a8c: e5908088 ldr r8, [r0, #136] ; 0x88
  687. ffff0a90: e5960008 ldr r0, [r6, #8]
  688. ffff0a94: e1500008 cmp r0, r8
  689. ffff0a98: 2a000001 bcs 0xffff0aa4
  690. ffff0a9c: e5967008 ldr r7, [r6, #8]
  691. ffff0aa0: ea000000 b 0xffff0aa8
  692. ffff0aa4: e1a07008 mov r7, r8
  693. ffff0aa8: e1a03007 mov r3, r7
  694. ffff0aac: e1a02004 mov r2, r4
  695. ffff0ab0: e1a0100b mov r1, fp
  696. ffff0ab4: e59d0000 ldr r0, [sp]
  697. ffff0ab8: eb0006b0 bl 0xffff2580
  698. ffff0abc: e1a08000 mov r8, r0
  699. ffff0ac0: e5960008 ldr r0, [r6, #8]
  700. ffff0ac4: e1500008 cmp r0, r8
  701. ffff0ac8: 9a000006 bls 0xffff0ae8
  702. ffff0acc: e3a00001 mov r0, #1
  703. ffff0ad0: e58d0008 str r0, [sp, #8]
  704. ffff0ad4: e1580007 cmp r8, r7
  705. ffff0ad8: 0a00000b beq 0xffff0b0c
  706. ffff0adc: e3a000ff mov r0, #255 ; 0xff
  707. ffff0ae0: e5c40018 strb r0, [r4, #24]
  708. ffff0ae4: ea000008 b 0xffff0b0c
  709. ffff0ae8: e5940004 ldr r0, [r4, #4]
  710. ffff0aec: e5941010 ldr r1, [r4, #16]
  711. ffff0af0: e1500001 cmp r0, r1
  712. ffff0af4: 1a000002 bne 0xffff0b04
  713. ffff0af8: e3a00001 mov r0, #1
  714. ffff0afc: e58d0008 str r0, [sp, #8]
  715. ffff0b00: ea000001 b 0xffff0b0c
  716. ffff0b04: e3a00000 mov r0, #0
  717. ffff0b08: e58d0008 str r0, [sp, #8]
  718. ffff0b0c: e59d0004 ldr r0, [sp, #4]
  719. ffff0b10: e59f1db4 ldr r1, [pc, #3508] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  720. ffff0b14: e5c10042 strb r0, [r1, #66] ; 0x42
  721. ffff0b18: e1a00001 mov r0, r1
  722. ffff0b1c: e5908088 ldr r8, [r0, #136] ; 0x88
  723. ffff0b20: e59d0008 ldr r0, [sp, #8]
  724. ffff0b24: e3500000 cmp r0, #0
  725. ffff0b28: 0a000018 beq 0xffff0b90
  726. ffff0b2c: e59d0004 ldr r0, [sp, #4]
  727. ffff0b30: e3500000 cmp r0, #0
  728. ffff0b34: 1a000007 bne 0xffff0b58
  729. ffff0b38: e59d0004 ldr r0, [sp, #4]
  730. ffff0b3c: e5c10042 strb r0, [r1, #66] ; 0x42
  731. ffff0b40: e3a00048 mov r0, #72 ; 0x48
  732. ffff0b44: e1c108b2 strh r0, [r1, #130] ; 0x82
  733. ffff0b48: e3a00000 mov r0, #0
  734. ffff0b4c: e5991024 ldr r1, [r9, #36] ; 0x24
  735. ffff0b50: e5810030 str r0, [r1, #48] ; 0x30
  736. ffff0b54: ea000006 b 0xffff0b74
  737. ffff0b58: e59d0004 ldr r0, [sp, #4]
  738. ffff0b5c: e59f1d68 ldr r1, [pc, #3432] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  739. ffff0b60: e5c10042 strb r0, [r1, #66] ; 0x42
  740. ffff0b64: e1a00001 mov r0, r1
  741. ffff0b68: e1d058b6 ldrh r5, [r0, #134] ; 0x86
  742. ffff0b6c: e3c55001 bic r5, r5, #1
  743. ffff0b70: e1c058b6 strh r5, [r0, #134] ; 0x86
  744. ffff0b74: e3a02000 mov r2, #0
  745. ffff0b78: e1a01004 mov r1, r4
  746. ffff0b7c: e1a00006 mov r0, r6
  747. ffff0b80: ebffff67 bl 0xffff0924
  748. ffff0b84: e3a00001 mov r0, #1
  749. ffff0b88: e58d0008 str r0, [sp, #8]
  750. ffff0b8c: ea00000f b 0xffff0bd0
  751. ffff0b90: e59d0004 ldr r0, [sp, #4]
  752. ffff0b94: e3500000 cmp r0, #0
  753. ffff0b98: 1a000005 bne 0xffff0bb4
  754. ffff0b9c: e59d0004 ldr r0, [sp, #4]
  755. ffff0ba0: e59f1d24 ldr r1, [pc, #3364] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  756. ffff0ba4: e5c10042 strb r0, [r1, #66] ; 0x42
  757. ffff0ba8: e3a00040 mov r0, #64 ; 0x40
  758. ffff0bac: e1c108b2 strh r0, [r1, #130] ; 0x82
  759. ffff0bb0: ea000006 b 0xffff0bd0
  760. ffff0bb4: e59d0004 ldr r0, [sp, #4]
  761. ffff0bb8: e59f1d0c ldr r1, [pc, #3340] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  762. ffff0bbc: e5c10042 strb r0, [r1, #66] ; 0x42
  763. ffff0bc0: e1a00001 mov r0, r1
  764. ffff0bc4: e1d058b6 ldrh r5, [r0, #134] ; 0x86
  765. ffff0bc8: e3c55001 bic r5, r5, #1
  766. ffff0bcc: e1c058b6 strh r5, [r0, #134] ; 0x86
  767. ffff0bd0: e59d0008 ldr r0, [sp, #8]
  768. ffff0bd4: eaffff9d b 0xffff0a50
  769. ffff0bd8: e92d47fc push {r2, r3, r4, r5, r6, r7, r8, r9, sl, lr}
  770. ffff0bdc: e1a07000 mov r7, r0
  771. ffff0be0: e1a06001 mov r6, r1
  772. ffff0be4: e1a05002 mov r5, r2
  773. ffff0be8: e3a09000 mov r9, #0
  774. ffff0bec: e1a0200d mov r2, sp
  775. ffff0bf0: e28d1004 add r1, sp, #4
  776. ffff0bf4: e1a00006 mov r0, r6
  777. ffff0bf8: ebffff53 bl 0xffff094c
  778. ffff0bfc: e3500000 cmp r0, #0
  779. ffff0c00: 0a000001 beq 0xffff0c0c
  780. ffff0c04: e3e00000 mvn r0, #0
  781. ffff0c08: e8bd87fc pop {r2, r3, r4, r5, r6, r7, r8, r9, sl, pc}
  782. ffff0c0c: e5968008 ldr r8, [r6, #8]
  783. ffff0c10: e1a02008 mov r2, r8
  784. ffff0c14: e1a01005 mov r1, r5
  785. ffff0c18: e59d0000 ldr r0, [sp]
  786. ffff0c1c: eb000694 bl 0xffff2674
  787. ffff0c20: e1a08000 mov r8, r0
  788. ffff0c24: e5960008 ldr r0, [r6, #8]
  789. ffff0c28: e1500008 cmp r0, r8
  790. ffff0c2c: 0a000001 beq 0xffff0c38
  791. ffff0c30: e3a04001 mov r4, #1
  792. ffff0c34: ea000009 b 0xffff0c60
  793. ffff0c38: e5950004 ldr r0, [r5, #4]
  794. ffff0c3c: e5951010 ldr r1, [r5, #16]
  795. ffff0c40: e1500001 cmp r0, r1
  796. ffff0c44: 1a000004 bne 0xffff0c5c
  797. ffff0c48: e5d50008 ldrb r0, [r5, #8]
  798. ffff0c4c: e3500000 cmp r0, #0
  799. ffff0c50: 1a000001 bne 0xffff0c5c
  800. ffff0c54: e3a04002 mov r4, #2
  801. ffff0c58: ea000000 b 0xffff0c60
  802. ffff0c5c: e3a04000 mov r4, #0
  803. ffff0c60: e3540000 cmp r4, #0
  804. ffff0c64: 0a000027 beq 0xffff0d08
  805. ffff0c68: e59d0004 ldr r0, [sp, #4]
  806. ffff0c6c: e3500000 cmp r0, #0
  807. ffff0c70: 1a000017 bne 0xffff0cd4
  808. ffff0c74: e1a00007 mov r0, r7
  809. ffff0c78: eb000674 bl 0xffff2650
  810. ffff0c7c: e3100004 tst r0, #4
  811. ffff0c80: 1a000019 bne 0xffff0cec
  812. ffff0c84: e3540001 cmp r4, #1
  813. ffff0c88: 1a000009 bne 0xffff0cb4
  814. ffff0c8c: e59d0004 ldr r0, [sp, #4]
  815. ffff0c90: e59f1c34 ldr r1, [pc, #3124] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  816. ffff0c94: e5c10042 strb r0, [r1, #66] ; 0x42
  817. ffff0c98: e3a0000a mov r0, #10
  818. ffff0c9c: e1c108b2 strh r0, [r1, #130] ; 0x82
  819. ffff0ca0: e3a00000 mov r0, #0
  820. ffff0ca4: e5971024 ldr r1, [r7, #36] ; 0x24
  821. ffff0ca8: e5810030 str r0, [r1, #48] ; 0x30
  822. ffff0cac: e3a09001 mov r9, #1
  823. ffff0cb0: ea00000d b 0xffff0cec
  824. ffff0cb4: e3540002 cmp r4, #2
  825. ffff0cb8: 1a00000b bne 0xffff0cec
  826. ffff0cbc: e59d0004 ldr r0, [sp, #4]
  827. ffff0cc0: e59f1c04 ldr r1, [pc, #3076] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  828. ffff0cc4: e5c10042 strb r0, [r1, #66] ; 0x42
  829. ffff0cc8: e3a00002 mov r0, #2
  830. ffff0ccc: e1c108b2 strh r0, [r1, #130] ; 0x82
  831. ffff0cd0: ea000005 b 0xffff0cec
  832. ffff0cd4: e59d0004 ldr r0, [sp, #4]
  833. ffff0cd8: e59f1bec ldr r1, [pc, #3052] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  834. ffff0cdc: e5c10042 strb r0, [r1, #66] ; 0x42
  835. ffff0ce0: e3020001 movw r0, #8193 ; 0x2001
  836. ffff0ce4: e1c108b2 strh r0, [r1, #130] ; 0x82
  837. ffff0ce8: e3a09001 mov r9, #1
  838. ffff0cec: e3590001 cmp r9, #1
  839. ffff0cf0: 1a000016 bne 0xffff0d50
  840. ffff0cf4: e3a02000 mov r2, #0
  841. ffff0cf8: e1a01005 mov r1, r5
  842. ffff0cfc: e1a00006 mov r0, r6
  843. ffff0d00: ebffff07 bl 0xffff0924
  844. ffff0d04: ea000011 b 0xffff0d50
  845. ffff0d08: e59d0004 ldr r0, [sp, #4]
  846. ffff0d0c: e3500000 cmp r0, #0
  847. ffff0d10: 1a000009 bne 0xffff0d3c
  848. ffff0d14: e1a00007 mov r0, r7
  849. ffff0d18: eb00064c bl 0xffff2650
  850. ffff0d1c: e3100004 tst r0, #4
  851. ffff0d20: 1a00000a bne 0xffff0d50
  852. ffff0d24: e59d0004 ldr r0, [sp, #4]
  853. ffff0d28: e59f1b9c ldr r1, [pc, #2972] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  854. ffff0d2c: e5c10042 strb r0, [r1, #66] ; 0x42
  855. ffff0d30: e3a00002 mov r0, #2
  856. ffff0d34: e1c108b2 strh r0, [r1, #130] ; 0x82
  857. ffff0d38: ea000004 b 0xffff0d50
  858. ffff0d3c: e59d0004 ldr r0, [sp, #4]
  859. ffff0d40: e59f1b84 ldr r1, [pc, #2948] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  860. ffff0d44: e5c10042 strb r0, [r1, #66] ; 0x42
  861. ffff0d48: e3020001 movw r0, #8193 ; 0x2001
  862. ffff0d4c: e1c108b2 strh r0, [r1, #130] ; 0x82
  863. ffff0d50: e1a00009 mov r0, r9
  864. ffff0d54: eaffffab b 0xffff0c08
  865. ffff0d58: e59f1b6c ldr r1, [pc, #2924] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  866. ffff0d5c: e5c10042 strb r0, [r1, #66] ; 0x42
  867. ffff0d60: e12fff1e bx lr
  868. ffff0d64: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr}
  869. ffff0d68: e1a09000 mov r9, r0
  870. ffff0d6c: e1a08001 mov r8, r1
  871. ffff0d70: e3a05000 mov r5, #0
  872. ffff0d74: e3a06000 mov r6, #0
  873. ffff0d78: e3a0a000 mov sl, #0
  874. ffff0d7c: e3580000 cmp r8, #0
  875. ffff0d80: 1a000000 bne 0xffff0d88
  876. ffff0d84: e8bd87f0 pop {r4, r5, r6, r7, r8, r9, sl, pc}
  877. ffff0d88: e5990024 ldr r0, [r9, #36] ; 0x24
  878. ffff0d8c: e0806208 add r6, r0, r8, lsl #4
  879. ffff0d90: e596500c ldr r5, [r6, #12]
  880. ffff0d94: e5d60005 ldrb r0, [r6, #5]
  881. ffff0d98: e200a080 and sl, r0, #128 ; 0x80
  882. ffff0d9c: e5d60005 ldrb r0, [r6, #5]
  883. ffff0da0: e200707f and r7, r0, #127 ; 0x7f
  884. ffff0da4: e5d50018 ldrb r0, [r5, #24]
  885. ffff0da8: e3500001 cmp r0, #1
  886. ffff0dac: 0a000000 beq 0xffff0db4
  887. ffff0db0: eafffff3 b 0xffff0d84
  888. ffff0db4: e35a0000 cmp sl, #0
  889. ffff0db8: 0a000013 beq 0xffff0e0c
  890. ffff0dbc: e5d60004 ldrb r0, [r6, #4]
  891. ffff0dc0: ebffffe4 bl 0xffff0d58
  892. ffff0dc4: e59f0b00 ldr r0, [pc, #2816] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  893. ffff0dc8: e1d048b2 ldrh r4, [r0, #130] ; 0x82
  894. ffff0dcc: e3140020 tst r4, #32
  895. ffff0dd0: 0a000004 beq 0xffff0de8
  896. ffff0dd4: e59f1af0 ldr r1, [pc, #2800] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  897. ffff0dd8: e1c174b2 strh r7, [r1, #66] ; 0x42
  898. ffff0ddc: e3a00000 mov r0, #0
  899. ffff0de0: e1c108b2 strh r0, [r1, #130] ; 0x82
  900. ffff0de4: eaffffe6 b 0xffff0d84
  901. ffff0de8: e3140001 tst r4, #1
  902. ffff0dec: 1a000025 bne 0xffff0e88
  903. ffff0df0: e3550000 cmp r5, #0
  904. ffff0df4: 0a000023 beq 0xffff0e88
  905. ffff0df8: e1a02005 mov r2, r5
  906. ffff0dfc: e1a01006 mov r1, r6
  907. ffff0e00: e1a00009 mov r0, r9
  908. ffff0e04: ebffff73 bl 0xffff0bd8
  909. ffff0e08: ea00001e b 0xffff0e88
  910. ffff0e0c: e59f1ab8 ldr r1, [pc, #2744] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  911. ffff0e10: e5c17042 strb r7, [r1, #66] ; 0x42
  912. ffff0e14: e1a00001 mov r0, r1
  913. ffff0e18: e1d048b6 ldrh r4, [r0, #134] ; 0x86
  914. ffff0e1c: e3140040 tst r4, #64 ; 0x40
  915. ffff0e20: 0a000003 beq 0xffff0e34
  916. ffff0e24: e1c174b2 strh r7, [r1, #66] ; 0x42
  917. ffff0e28: e3a00000 mov r0, #0
  918. ffff0e2c: e1c108b6 strh r0, [r1, #134] ; 0x86
  919. ffff0e30: eaffffd3 b 0xffff0d84
  920. ffff0e34: e320f000 nop {0}
  921. ffff0e38: e3140001 tst r4, #1
  922. ffff0e3c: 0a000011 beq 0xffff0e88
  923. ffff0e40: e3550000 cmp r5, #0
  924. ffff0e44: 0a00000f beq 0xffff0e88
  925. ffff0e48: e1a02005 mov r2, r5
  926. ffff0e4c: e1a01006 mov r1, r6
  927. ffff0e50: e1a00009 mov r0, r9
  928. ffff0e54: ebfffeef bl 0xffff0a18
  929. ffff0e58: e5d50018 ldrb r0, [r5, #24]
  930. ffff0e5c: e3500000 cmp r0, #0
  931. ffff0e60: 0a000008 beq 0xffff0e88
  932. ffff0e64: e59f1a60 ldr r1, [pc, #2656] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  933. ffff0e68: e5c17042 strb r7, [r1, #66] ; 0x42
  934. ffff0e6c: e1a00001 mov r0, r1
  935. ffff0e70: e1d048b6 ldrh r4, [r0, #134] ; 0x86
  936. ffff0e74: e3140001 tst r4, #1
  937. ffff0e78: 0a000002 beq 0xffff0e88
  938. ffff0e7c: e3550000 cmp r5, #0
  939. ffff0e80: 0a000000 beq 0xffff0e88
  940. ffff0e84: eaffffeb b 0xffff0e38
  941. ffff0e88: e320f000 nop {0}
  942. ffff0e8c: eaffffbc b 0xffff0d84
  943. ffff0e90: e59f0a34 ldr r0, [pc, #2612] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  944. ffff0e94: e5d00042 ldrb r0, [r0, #66] ; 0x42
  945. ffff0e98: e12fff1e bx lr
  946. ffff0e9c: e1a02000 mov r2, r0
  947. ffff0ea0: e10f1000 mrs r1, CPSR
  948. ffff0ea4: e3c11080 bic r1, r1, #128 ; 0x80
  949. ffff0ea8: e121f001 msr CPSR_c, r1
  950. ffff0eac: e12fff1e bx lr
  951. ffff0eb0: e1a02000 mov r2, r0
  952. ffff0eb4: e10f1000 mrs r1, CPSR
  953. ffff0eb8: e3811080 orr r1, r1, #128 ; 0x80
  954. ffff0ebc: e121f001 msr CPSR_c, r1
  955. ffff0ec0: e12fff1e bx lr
  956. ffff0ec4: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr}
  957. ffff0ec8: e1a06000 mov r6, r0
  958. ffff0ecc: e1a05001 mov r5, r1
  959. ffff0ed0: e1a07002 mov r7, r2
  960. ffff0ed4: e3a04000 mov r4, #0
  961. ffff0ed8: e3a08000 mov r8, #0
  962. ffff0edc: e3a09000 mov r9, #0
  963. ffff0ee0: e5950014 ldr r0, [r5, #20]
  964. ffff0ee4: e3d00003 bics r0, r0, #3
  965. ffff0ee8: 0a000001 beq 0xffff0ef4
  966. ffff0eec: e3e00000 mvn r0, #0
  967. ffff0ef0: e8bd87f0 pop {r4, r5, r6, r7, r8, r9, sl, pc}
  968. ffff0ef4: e3570000 cmp r7, #0
  969. ffff0ef8: 1a000001 bne 0xffff0f04
  970. ffff0efc: e1a00006 mov r0, r6
  971. ffff0f00: ebffffea bl 0xffff0eb0
  972. ffff0f04: e5960024 ldr r0, [r6, #36] ; 0x24
  973. ffff0f08: e5951014 ldr r1, [r5, #20]
  974. ffff0f0c: e0804201 add r4, r0, r1, lsl #4
  975. ffff0f10: e3a00000 mov r0, #0
  976. ffff0f14: e5850010 str r0, [r5, #16]
  977. ffff0f18: e5d40005 ldrb r0, [r4, #5]
  978. ffff0f1c: e3500000 cmp r0, #0
  979. ffff0f20: 0a00000c beq 0xffff0f58
  980. ffff0f24: e5d40005 ldrb r0, [r4, #5]
  981. ffff0f28: e200007f and r0, r0, #127 ; 0x7f
  982. ffff0f2c: e59f1998 ldr r1, [pc, #2456] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  983. ffff0f30: e5c10042 strb r0, [r1, #66] ; 0x42
  984. ffff0f34: e5d40005 ldrb r0, [r4, #5]
  985. ffff0f38: e3100080 tst r0, #128 ; 0x80
  986. ffff0f3c: 0a000001 beq 0xffff0f48
  987. ffff0f40: e2810082 add r0, r1, #130 ; 0x82
  988. ffff0f44: ea000000 b 0xffff0f4c
  989. ffff0f48: e59f0990 ldr r0, [pc, #2448] ; 0xffff18e0
  990. ffff0f4c: e1d080b0 ldrh r8, [r0]
  991. ffff0f50: e59f0974 ldr r0, [pc, #2420] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  992. ffff0f54: e1d098b8 ldrh r9, [r0, #136] ; 0x88
  993. ffff0f58: e5d40005 ldrb r0, [r4, #5]
  994. ffff0f5c: e3500000 cmp r0, #0
  995. ffff0f60: 1a00001c bne 0xffff0fd8
  996. ffff0f64: e5960024 ldr r0, [r6, #36] ; 0x24
  997. ffff0f68: e5900030 ldr r0, [r0, #48] ; 0x30
  998. ffff0f6c: e3500001 cmp r0, #1
  999. ffff0f70: 0a000002 beq 0xffff0f80
  1000. ffff0f74: e3500002 cmp r0, #2
  1001. ffff0f78: 1a00000e bne 0xffff0fb8
  1002. ffff0f7c: ea000008 b 0xffff0fa4
  1003. ffff0f80: e320f000 nop {0}
  1004. ffff0f84: e1a02005 mov r2, r5
  1005. ffff0f88: e1a01004 mov r1, r4
  1006. ffff0f8c: e1a00006 mov r0, r6
  1007. ffff0f90: ebffff10 bl 0xffff0bd8
  1008. ffff0f94: e3500000 cmp r0, #0
  1009. ffff0f98: 0a000000 beq 0xffff0fa0
  1010. ffff0f9c: e3a05000 mov r5, #0
  1011. ffff0fa0: ea00000b b 0xffff0fd4
  1012. ffff0fa4: e320f000 nop {0}
  1013. ffff0fa8: e3a00000 mov r0, #0
  1014. ffff0fac: e5961024 ldr r1, [r6, #36] ; 0x24
  1015. ffff0fb0: e5810030 str r0, [r1, #48] ; 0x30
  1016. ffff0fb4: ea000006 b 0xffff0fd4
  1017. ffff0fb8: e320f000 nop {0}
  1018. ffff0fbc: e3570000 cmp r7, #0
  1019. ffff0fc0: 1a000001 bne 0xffff0fcc
  1020. ffff0fc4: e1a00006 mov r0, r6
  1021. ffff0fc8: ebffffb3 bl 0xffff0e9c
  1022. ffff0fcc: e3e00000 mvn r0, #0
  1023. ffff0fd0: eaffffc6 b 0xffff0ef0
  1024. ffff0fd4: ea000031 b 0xffff10a0
  1025. ffff0fd8: e5d40005 ldrb r0, [r4, #5]
  1026. ffff0fdc: e3100080 tst r0, #128 ; 0x80
  1027. ffff0fe0: 0a000009 beq 0xffff100c
  1028. ffff0fe4: e3180001 tst r8, #1
  1029. ffff0fe8: 1a000007 bne 0xffff100c
  1030. ffff0fec: e1a02005 mov r2, r5
  1031. ffff0ff0: e1a01004 mov r1, r4
  1032. ffff0ff4: e1a00006 mov r0, r6
  1033. ffff0ff8: ebfffef6 bl 0xffff0bd8
  1034. ffff0ffc: e3500000 cmp r0, #0
  1035. ffff1000: 0a000001 beq 0xffff100c
  1036. ffff1004: e3a05000 mov r5, #0
  1037. ffff1008: ea000024 b 0xffff10a0
  1038. ffff100c: e5d40005 ldrb r0, [r4, #5]
  1039. ffff1010: e3100080 tst r0, #128 ; 0x80
  1040. ffff1014: 1a000021 bne 0xffff10a0
  1041. ffff1018: e3180001 tst r8, #1
  1042. ffff101c: 0a00001f beq 0xffff10a0
  1043. ffff1020: e59f08a4 ldr r0, [pc, #2212] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1044. ffff1024: e1d008b8 ldrh r0, [r0, #136] ; 0x88
  1045. ffff1028: e1b09000 movs r9, r0
  1046. ffff102c: 0a00001b beq 0xffff10a0
  1047. ffff1030: e320f000 nop {0}
  1048. ffff1034: e1a02005 mov r2, r5
  1049. ffff1038: e1a01004 mov r1, r4
  1050. ffff103c: e1a00006 mov r0, r6
  1051. ffff1040: ebfffe74 bl 0xffff0a18
  1052. ffff1044: e5d40005 ldrb r0, [r4, #5]
  1053. ffff1048: e200007f and r0, r0, #127 ; 0x7f
  1054. ffff104c: e59f1878 ldr r1, [pc, #2168] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1055. ffff1050: e5c10042 strb r0, [r1, #66] ; 0x42
  1056. ffff1054: e5d40005 ldrb r0, [r4, #5]
  1057. ffff1058: e3100080 tst r0, #128 ; 0x80
  1058. ffff105c: 0a000001 beq 0xffff1068
  1059. ffff1060: e2810082 add r0, r1, #130 ; 0x82
  1060. ffff1064: ea000000 b 0xffff106c
  1061. ffff1068: e59f0870 ldr r0, [pc, #2160] ; 0xffff18e0
  1062. ffff106c: e1d080b0 ldrh r8, [r0]
  1063. ffff1070: e59f0854 ldr r0, [pc, #2132] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1064. ffff1074: e1d098b8 ldrh r9, [r0, #136] ; 0x88
  1065. ffff1078: e5d50018 ldrb r0, [r5, #24]
  1066. ffff107c: e3500000 cmp r0, #0
  1067. ffff1080: 1a000000 bne 0xffff1088
  1068. ffff1084: ea000003 b 0xffff1098
  1069. ffff1088: e3180001 tst r8, #1
  1070. ffff108c: 0a000001 beq 0xffff1098
  1071. ffff1090: e3590000 cmp r9, #0
  1072. ffff1094: 1affffe6 bne 0xffff1034
  1073. ffff1098: e320f000 nop {0}
  1074. ffff109c: e3a05000 mov r5, #0
  1075. ffff10a0: e3570000 cmp r7, #0
  1076. ffff10a4: 1a000001 bne 0xffff10b0
  1077. ffff10a8: e1a00006 mov r0, r6
  1078. ffff10ac: ebffff7a bl 0xffff0e9c
  1079. ffff10b0: e3a00000 mov r0, #0
  1080. ffff10b4: eaffff8d b 0xffff0ef0
  1081. ffff10b8: e92d4070 push {r4, r5, r6, lr}
  1082. ffff10bc: e1a04000 mov r4, r0
  1083. ffff10c0: e1a05001 mov r5, r1
  1084. ffff10c4: e1a06002 mov r6, r2
  1085. ffff10c8: e1a02006 mov r2, r6
  1086. ffff10cc: e1a01005 mov r1, r5
  1087. ffff10d0: e1a00004 mov r0, r4
  1088. ffff10d4: ebffff7a bl 0xffff0ec4
  1089. ffff10d8: e8bd8070 pop {r4, r5, r6, pc}
  1090. ffff10dc: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr}
  1091. ffff10e0: e1a06000 mov r6, r0
  1092. ffff10e4: e1a04001 mov r4, r1
  1093. ffff10e8: e1a0a002 mov sl, r2
  1094. ffff10ec: e1a09003 mov r9, r3
  1095. ffff10f0: e1a05004 mov r5, r4
  1096. ffff10f4: e3590000 cmp r9, #0
  1097. ffff10f8: 0a000001 beq 0xffff1104
  1098. ffff10fc: e3e00000 mvn r0, #0
  1099. ffff1100: e8bd87f0 pop {r4, r5, r6, r7, r8, r9, sl, pc}
  1100. ffff1104: e5968014 ldr r8, [r6, #20]
  1101. ffff1108: e3a07000 mov r7, #0
  1102. ffff110c: e3a02009 mov r2, #9
  1103. ffff1110: e1a00004 mov r0, r4
  1104. ffff1114: e5961004 ldr r1, [r6, #4]
  1105. ffff1118: ebfffde5 bl 0xffff08b4
  1106. ffff111c: e2844009 add r4, r4, #9
  1107. ffff1120: e3a02009 mov r2, #9
  1108. ffff1124: e1a00004 mov r0, r4
  1109. ffff1128: e5961008 ldr r1, [r6, #8]
  1110. ffff112c: ebfffde0 bl 0xffff08b4
  1111. ffff1130: e2844009 add r4, r4, #9
  1112. ffff1134: e3a02007 mov r2, #7
  1113. ffff1138: e1a00004 mov r0, r4
  1114. ffff113c: e5981000 ldr r1, [r8]
  1115. ffff1140: ebfffddb bl 0xffff08b4
  1116. ffff1144: e2844007 add r4, r4, #7
  1117. ffff1148: e3a02007 mov r2, #7
  1118. ffff114c: e1a00004 mov r0, r4
  1119. ffff1150: e5981004 ldr r1, [r8, #4]
  1120. ffff1154: ebfffdd6 bl 0xffff08b4
  1121. ffff1158: e2844007 add r4, r4, #7
  1122. ffff115c: e3a07020 mov r7, #32
  1123. ffff1160: e3a00009 mov r0, #9
  1124. ffff1164: e5c50000 strb r0, [r5]
  1125. ffff1168: e3a00002 mov r0, #2
  1126. ffff116c: e5c50001 strb r0, [r5, #1]
  1127. ffff1170: e1c570b2 strh r7, [r5, #2]
  1128. ffff1174: e5d50007 ldrb r0, [r5, #7]
  1129. ffff1178: e3800080 orr r0, r0, #128 ; 0x80
  1130. ffff117c: e5c50007 strb r0, [r5, #7]
  1131. ffff1180: e1a00007 mov r0, r7
  1132. ffff1184: eaffffdd b 0xffff1100
  1133. ffff1188: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr}
  1134. ffff118c: e1a08000 mov r8, r0
  1135. ffff1190: e1a05001 mov r5, r1
  1136. ffff1194: e3a04000 mov r4, #0
  1137. ffff1198: e3a09000 mov r9, #0
  1138. ffff119c: e1d560b2 ldrh r6, [r5, #2]
  1139. ffff11a0: e3a07000 mov r7, #0
  1140. ffff11a4: e5989024 ldr r9, [r8, #36] ; 0x24
  1141. ffff11a8: e599400c ldr r4, [r9, #12]
  1142. ffff11ac: e5d50001 ldrb r0, [r5, #1]
  1143. ffff11b0: e3500006 cmp r0, #6
  1144. ffff11b4: 0a000002 beq 0xffff11c4
  1145. ffff11b8: e35000fe cmp r0, #254 ; 0xfe
  1146. ffff11bc: 1a000046 bne 0xffff12dc
  1147. ffff11c0: ea00003e b 0xffff12c0
  1148. ffff11c4: e320f000 nop {0}
  1149. ffff11c8: e5d50000 ldrb r0, [r5]
  1150. ffff11cc: e3500080 cmp r0, #128 ; 0x80
  1151. ffff11d0: 0a000000 beq 0xffff11d8
  1152. ffff11d4: ea000042 b 0xffff12e4
  1153. ffff11d8: e1a00446 asr r0, r6, #8
  1154. ffff11dc: e3500001 cmp r0, #1
  1155. ffff11e0: 0a000004 beq 0xffff11f8
  1156. ffff11e4: e3500002 cmp r0, #2
  1157. ffff11e8: 0a000011 beq 0xffff1234
  1158. ffff11ec: e3500003 cmp r0, #3
  1159. ffff11f0: 1a000030 bne 0xffff12b8
  1160. ffff11f4: ea00001f b 0xffff1278
  1161. ffff11f8: e320f000 nop {0}
  1162. ffff11fc: e1d500b6 ldrh r0, [r5, #6]
  1163. ffff1200: e3500012 cmp r0, #18
  1164. ffff1204: 9a000001 bls 0xffff1210
  1165. ffff1208: e3a07012 mov r7, #18
  1166. ffff120c: ea000000 b 0xffff1214
  1167. ffff1210: e1d570b6 ldrh r7, [r5, #6]
  1168. ffff1214: e5981000 ldr r1, [r8]
  1169. ffff1218: e1a02007 mov r2, r7
  1170. ffff121c: e5940000 ldr r0, [r4]
  1171. ffff1220: ebfffda3 bl 0xffff08b4
  1172. ffff1224: e5847004 str r7, [r4, #4]
  1173. ffff1228: e3a00000 mov r0, #0
  1174. ffff122c: e5c40008 strb r0, [r4, #8]
  1175. ffff1230: ea000020 b 0xffff12b8
  1176. ffff1234: e320f000 nop {0}
  1177. ffff1238: e20630ff and r3, r6, #255 ; 0xff
  1178. ffff123c: e1a02446 asr r2, r6, #8
  1179. ffff1240: e1a00008 mov r0, r8
  1180. ffff1244: e5941000 ldr r1, [r4]
  1181. ffff1248: ebffffa3 bl 0xffff10dc
  1182. ffff124c: e1a07000 mov r7, r0
  1183. ffff1250: e1d500b6 ldrh r0, [r5, #6]
  1184. ffff1254: e1500007 cmp r0, r7
  1185. ffff1258: ba000001 blt 0xffff1264
  1186. ffff125c: e5847004 str r7, [r4, #4]
  1187. ffff1260: ea000001 b 0xffff126c
  1188. ffff1264: e1d500b6 ldrh r0, [r5, #6]
  1189. ffff1268: e5840004 str r0, [r4, #4]
  1190. ffff126c: e3a00000 mov r0, #0
  1191. ffff1270: e5c40008 strb r0, [r4, #8]
  1192. ffff1274: ea00000f b 0xffff12b8
  1193. ffff1278: e320f000 nop {0}
  1194. ffff127c: e20610ff and r1, r6, #255 ; 0xff
  1195. ffff1280: e3510000 cmp r1, #0
  1196. ffff1284: 1a000009 bne 0xffff12b0
  1197. ffff1288: e5940000 ldr r0, [r4]
  1198. ffff128c: e3a02004 mov r2, #4
  1199. ffff1290: e5c02000 strb r2, [r0]
  1200. ffff1294: e3a02003 mov r2, #3
  1201. ffff1298: e5c02001 strb r2, [r0, #1]
  1202. ffff129c: e3a02009 mov r2, #9
  1203. ffff12a0: e5c02002 strb r2, [r0, #2]
  1204. ffff12a4: e3a02004 mov r2, #4
  1205. ffff12a8: e5c02003 strb r2, [r0, #3]
  1206. ffff12ac: ea000001 b 0xffff12b8
  1207. ffff12b0: e320f000 nop {0}
  1208. ffff12b4: e320f000 nop {0}
  1209. ffff12b8: e320f000 nop {0}
  1210. ffff12bc: ea000008 b 0xffff12e4
  1211. ffff12c0: e320f000 nop {0}
  1212. ffff12c4: e5940000 ldr r0, [r4]
  1213. ffff12c8: e3a01001 mov r1, #1
  1214. ffff12cc: e5841004 str r1, [r4, #4]
  1215. ffff12d0: e3a01000 mov r1, #0
  1216. ffff12d4: e5c01000 strb r1, [r0]
  1217. ffff12d8: ea000001 b 0xffff12e4
  1218. ffff12dc: e320f000 nop {0}
  1219. ffff12e0: e320f000 nop {0}
  1220. ffff12e4: e320f000 nop {0}
  1221. ffff12e8: e3a02001 mov r2, #1
  1222. ffff12ec: e1a01004 mov r1, r4
  1223. ffff12f0: e1a00008 mov r0, r8
  1224. ffff12f4: ebffff6f bl 0xffff10b8
  1225. ffff12f8: e3a00000 mov r0, #0
  1226. ffff12fc: e8bd87f0 pop {r4, r5, r6, r7, r8, r9, sl, pc}
  1227. ffff1300: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  1228. ffff1304: e1a06000 mov r6, r0
  1229. ffff1308: e3a08000 mov r8, #0
  1230. ffff130c: e3a04000 mov r4, #0
  1231. ffff1310: e1a07006 mov r7, r6
  1232. ffff1314: e3a00000 mov r0, #0
  1233. ffff1318: ebfffe8e bl 0xffff0d58
  1234. ffff131c: e59f05a8 ldr r0, [pc, #1448] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1235. ffff1320: e1d048b8 ldrh r4, [r0, #136] ; 0x88
  1236. ffff1324: e3540008 cmp r4, #8
  1237. ffff1328: 0a000008 beq 0xffff1350
  1238. ffff132c: e3a05000 mov r5, #0
  1239. ffff1330: ea000002 b 0xffff1340
  1240. ffff1334: e59f0590 ldr r0, [pc, #1424] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1241. ffff1338: e1d048b8 ldrh r4, [r0, #136] ; 0x88
  1242. ffff133c: e2855001 add r5, r5, #1
  1243. ffff1340: e3550010 cmp r5, #16
  1244. ffff1344: aa000001 bge 0xffff1350
  1245. ffff1348: e3540008 cmp r4, #8
  1246. ffff134c: 1afffff8 bne 0xffff1334
  1247. ffff1350: ea000004 b 0xffff1368
  1248. ffff1354: e59f0570 ldr r0, [pc, #1392] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1249. ffff1358: e5d00000 ldrb r0, [r0]
  1250. ffff135c: e5c70000 strb r0, [r7]
  1251. ffff1360: e2877001 add r7, r7, #1
  1252. ffff1364: e2888001 add r8, r8, #1
  1253. ffff1368: e1b00004 movs r0, r4
  1254. ffff136c: e2444001 sub r4, r4, #1
  1255. ffff1370: 1afffff7 bne 0xffff1354
  1256. ffff1374: e1a00008 mov r0, r8
  1257. ffff1378: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  1258. ffff137c: e92d47fc push {r2, r3, r4, r5, r6, r7, r8, r9, sl, lr}
  1259. ffff1380: e1a04000 mov r4, r0
  1260. ffff1384: e3a06000 mov r6, #0
  1261. ffff1388: e3a09000 mov r9, #0
  1262. ffff138c: e5946024 ldr r6, [r4, #36] ; 0x24
  1263. ffff1390: e596900c ldr r9, [r6, #12]
  1264. ffff1394: e5d60004 ldrb r0, [r6, #4]
  1265. ffff1398: ebfffe6e bl 0xffff0d58
  1266. ffff139c: e59f0528 ldr r0, [pc, #1320] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1267. ffff13a0: e1d058b2 ldrh r5, [r0, #130] ; 0x82
  1268. ffff13a4: e3150004 tst r5, #4
  1269. ffff13a8: 0a000005 beq 0xffff13c4
  1270. ffff13ac: e3a00000 mov r0, #0
  1271. ffff13b0: e59f1514 ldr r1, [pc, #1300] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1272. ffff13b4: e1c108b2 strh r0, [r1, #130] ; 0x82
  1273. ffff13b8: e5941024 ldr r1, [r4, #36] ; 0x24
  1274. ffff13bc: e5810030 str r0, [r1, #48] ; 0x30
  1275. ffff13c0: e8bd87fc pop {r2, r3, r4, r5, r6, r7, r8, r9, sl, pc}
  1276. ffff13c4: e3150010 tst r5, #16
  1277. ffff13c8: 0a000007 beq 0xffff13ec
  1278. ffff13cc: e59f04f8 ldr r0, [pc, #1272] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1279. ffff13d0: e1d008b2 ldrh r0, [r0, #130] ; 0x82
  1280. ffff13d4: e3c00010 bic r0, r0, #16
  1281. ffff13d8: e59f14ec ldr r1, [pc, #1260] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1282. ffff13dc: e1c108b2 strh r0, [r1, #130] ; 0x82
  1283. ffff13e0: e3a00000 mov r0, #0
  1284. ffff13e4: e5941024 ldr r1, [r4, #36] ; 0x24
  1285. ffff13e8: e5810030 str r0, [r1, #48] ; 0x30
  1286. ffff13ec: e5940024 ldr r0, [r4, #36] ; 0x24
  1287. ffff13f0: e5900030 ldr r0, [r0, #48] ; 0x30
  1288. ffff13f4: e3500005 cmp r0, #5
  1289. ffff13f8: 308ff100 addcc pc, pc, r0, lsl #2
  1290. ffff13fc: ea00009c b 0xffff1674
  1291. ffff1400: ea000003 b 0xffff1414
  1292. ffff1404: ea000066 b 0xffff15a4
  1293. ffff1408: ea00006f b 0xffff15cc
  1294. ffff140c: ea000078 b 0xffff15f4
  1295. ffff1410: ea000092 b 0xffff1660
  1296. ffff1414: e320f000 nop {0}
  1297. ffff1418: e3150001 tst r5, #1
  1298. ffff141c: 0a00005f beq 0xffff15a0
  1299. ffff1420: e1a0000d mov r0, sp
  1300. ffff1424: ebffffb5 bl 0xffff1300
  1301. ffff1428: e1a0a000 mov sl, r0
  1302. ffff142c: e35a0008 cmp sl, #8
  1303. ffff1430: 0a000003 beq 0xffff1444
  1304. ffff1434: e3a00060 mov r0, #96 ; 0x60
  1305. ffff1438: e59f148c ldr r1, [pc, #1164] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1306. ffff143c: e1c108b2 strh r0, [r1, #130] ; 0x82
  1307. ffff1440: eaffffde b 0xffff13c0
  1308. ffff1444: e5941024 ldr r1, [r4, #36] ; 0x24
  1309. ffff1448: e281003e add r0, r1, #62 ; 0x3e
  1310. ffff144c: e3a02008 mov r2, #8
  1311. ffff1450: e1a0100d mov r1, sp
  1312. ffff1454: ebfffd16 bl 0xffff08b4
  1313. ffff1458: e3a00001 mov r0, #1
  1314. ffff145c: e5941024 ldr r1, [r4, #36] ; 0x24
  1315. ffff1460: e5c1003d strb r0, [r1, #61] ; 0x3d
  1316. ffff1464: e5dd0001 ldrb r0, [sp, #1]
  1317. ffff1468: e3500005 cmp r0, #5
  1318. ffff146c: 0a000014 beq 0xffff14c4
  1319. ffff1470: e3500009 cmp r0, #9
  1320. ffff1474: 0a000002 beq 0xffff1484
  1321. ffff1478: e350000b cmp r0, #11
  1322. ffff147c: 1a000020 bne 0xffff1504
  1323. ffff1480: ea000009 b 0xffff14ac
  1324. ffff1484: e320f000 nop {0}
  1325. ffff1488: e5dd0000 ldrb r0, [sp]
  1326. ffff148c: e3500000 cmp r0, #0
  1327. ffff1490: 1a000004 bne 0xffff14a8
  1328. ffff1494: e320f000 nop {0}
  1329. ffff1498: e3a00048 mov r0, #72 ; 0x48
  1330. ffff149c: e59f1428 ldr r1, [pc, #1064] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1331. ffff14a0: e1c108b2 strh r0, [r1, #130] ; 0x82
  1332. ffff14a4: eaffffc5 b 0xffff13c0
  1333. ffff14a8: ea00001a b 0xffff1518
  1334. ffff14ac: e320f000 nop {0}
  1335. ffff14b0: e5dd0000 ldrb r0, [sp]
  1336. ffff14b4: e3500001 cmp r0, #1
  1337. ffff14b8: 1a000000 bne 0xffff14c0
  1338. ffff14bc: eafffff5 b 0xffff1498
  1339. ffff14c0: ea000014 b 0xffff1518
  1340. ffff14c4: e320f000 nop {0}
  1341. ffff14c8: e5dd0000 ldrb r0, [sp]
  1342. ffff14cc: e3500000 cmp r0, #0
  1343. ffff14d0: 1a00000a bne 0xffff1500
  1344. ffff14d4: e1dd00b2 ldrh r0, [sp, #2]
  1345. ffff14d8: e200707f and r7, r0, #127 ; 0x7f
  1346. ffff14dc: e5940024 ldr r0, [r4, #36] ; 0x24
  1347. ffff14e0: e5c0703c strb r7, [r0, #60] ; 0x3c
  1348. ffff14e4: e3a0004a mov r0, #74 ; 0x4a
  1349. ffff14e8: e59f13dc ldr r1, [pc, #988] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1350. ffff14ec: e1c108b2 strh r0, [r1, #130] ; 0x82
  1351. ffff14f0: e3a00003 mov r0, #3
  1352. ffff14f4: e5941024 ldr r1, [r4, #36] ; 0x24
  1353. ffff14f8: e5810030 str r0, [r1, #48] ; 0x30
  1354. ffff14fc: eaffffaf b 0xffff13c0
  1355. ffff1500: ea000004 b 0xffff1518
  1356. ffff1504: e320f000 nop {0}
  1357. ffff1508: e3a00040 mov r0, #64 ; 0x40
  1358. ffff150c: e59f13b8 ldr r1, [pc, #952] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1359. ffff1510: e1c108b2 strh r0, [r1, #130] ; 0x82
  1360. ffff1514: e320f000 nop {0}
  1361. ffff1518: e320f000 nop {0}
  1362. ffff151c: e5dd0000 ldrb r0, [sp]
  1363. ffff1520: e3100080 tst r0, #128 ; 0x80
  1364. ffff1524: 0a000003 beq 0xffff1538
  1365. ffff1528: e3a00001 mov r0, #1
  1366. ffff152c: e5941024 ldr r1, [r4, #36] ; 0x24
  1367. ffff1530: e5810030 str r0, [r1, #48] ; 0x30
  1368. ffff1534: ea000002 b 0xffff1544
  1369. ffff1538: e3a00002 mov r0, #2
  1370. ffff153c: e5941024 ldr r1, [r4, #36] ; 0x24
  1371. ffff1540: e5810030 str r0, [r1, #48] ; 0x30
  1372. ffff1544: e1a0100d mov r1, sp
  1373. ffff1548: e1a00004 mov r0, r4
  1374. ffff154c: ebffff0d bl 0xffff1188
  1375. ffff1550: e1a08000 mov r8, r0
  1376. ffff1554: e3580000 cmp r8, #0
  1377. ffff1558: aa000008 bge 0xffff1580
  1378. ffff155c: e3a00060 mov r0, #96 ; 0x60
  1379. ffff1560: e59f1364 ldr r1, [pc, #868] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1380. ffff1564: e1c108b2 strh r0, [r1, #130] ; 0x82
  1381. ffff1568: e3a00048 mov r0, #72 ; 0x48
  1382. ffff156c: e1c108b2 strh r0, [r1, #130] ; 0x82
  1383. ffff1570: e3a00000 mov r0, #0
  1384. ffff1574: e5941024 ldr r1, [r4, #36] ; 0x24
  1385. ffff1578: e5810030 str r0, [r1, #48] ; 0x30
  1386. ffff157c: ea000006 b 0xffff159c
  1387. ffff1580: e5940024 ldr r0, [r4, #36] ; 0x24
  1388. ffff1584: e5d0003d ldrb r0, [r0, #61] ; 0x3d
  1389. ffff1588: e3500000 cmp r0, #0
  1390. ffff158c: 0a000002 beq 0xffff159c
  1391. ffff1590: e3a00000 mov r0, #0
  1392. ffff1594: e5941024 ldr r1, [r4, #36] ; 0x24
  1393. ffff1598: e5c1003d strb r0, [r1, #61] ; 0x3d
  1394. ffff159c: e320f000 nop {0}
  1395. ffff15a0: ea000035 b 0xffff167c
  1396. ffff15a4: e320f000 nop {0}
  1397. ffff15a8: e3150002 tst r5, #2
  1398. ffff15ac: 1a000005 bne 0xffff15c8
  1399. ffff15b0: e3590000 cmp r9, #0
  1400. ffff15b4: 0a000003 beq 0xffff15c8
  1401. ffff15b8: e1a02009 mov r2, r9
  1402. ffff15bc: e1a01006 mov r1, r6
  1403. ffff15c0: e1a00004 mov r0, r4
  1404. ffff15c4: ebfffd83 bl 0xffff0bd8
  1405. ffff15c8: ea00002b b 0xffff167c
  1406. ffff15cc: e320f000 nop {0}
  1407. ffff15d0: e3150001 tst r5, #1
  1408. ffff15d4: 0a000005 beq 0xffff15f0
  1409. ffff15d8: e3590000 cmp r9, #0
  1410. ffff15dc: 0a000003 beq 0xffff15f0
  1411. ffff15e0: e1a02009 mov r2, r9
  1412. ffff15e4: e1a01006 mov r1, r6
  1413. ffff15e8: e1a00004 mov r0, r4
  1414. ffff15ec: ebfffd09 bl 0xffff0a18
  1415. ffff15f0: ea000021 b 0xffff167c
  1416. ffff15f4: e320f000 nop {0}
  1417. ffff15f8: e5940024 ldr r0, [r4, #36] ; 0x24
  1418. ffff15fc: e5d0003f ldrb r0, [r0, #63] ; 0x3f
  1419. ffff1600: e3500005 cmp r0, #5
  1420. ffff1604: 1a00000e bne 0xffff1644
  1421. ffff1608: e3a000c0 mov r0, #192 ; 0xc0
  1422. ffff160c: e59f12b8 ldr r1, [pc, #696] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1423. ffff1610: e1c108b2 strh r0, [r1, #130] ; 0x82
  1424. ffff1614: e3a07000 mov r7, #0
  1425. ffff1618: ebfffe1c bl 0xffff0e90
  1426. ffff161c: e1a07000 mov r7, r0
  1427. ffff1620: e3a00000 mov r0, #0
  1428. ffff1624: ebfffdcb bl 0xffff0d58
  1429. ffff1628: e5940024 ldr r0, [r4, #36] ; 0x24
  1430. ffff162c: e5d0003c ldrb r0, [r0, #60] ; 0x3c
  1431. ffff1630: e59f1294 ldr r1, [pc, #660] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1432. ffff1634: e5c10098 strb r0, [r1, #152] ; 0x98
  1433. ffff1638: e1a00007 mov r0, r7
  1434. ffff163c: ebfffdc5 bl 0xffff0d58
  1435. ffff1640: ea000001 b 0xffff164c
  1436. ffff1644: e320f000 nop {0}
  1437. ffff1648: e320f000 nop {0}
  1438. ffff164c: e320f000 nop {0}
  1439. ffff1650: e3a00000 mov r0, #0
  1440. ffff1654: e5941024 ldr r1, [r4, #36] ; 0x24
  1441. ffff1658: e5810030 str r0, [r1, #48] ; 0x30
  1442. ffff165c: ea000006 b 0xffff167c
  1443. ffff1660: e320f000 nop {0}
  1444. ffff1664: e3a00000 mov r0, #0
  1445. ffff1668: e5941024 ldr r1, [r4, #36] ; 0x24
  1446. ffff166c: e5810030 str r0, [r1, #48] ; 0x30
  1447. ffff1670: ea000001 b 0xffff167c
  1448. ffff1674: e320f000 nop {0}
  1449. ffff1678: e320f000 nop {0}
  1450. ffff167c: e320f000 nop {0}
  1451. ffff1680: e320f000 nop {0}
  1452. ffff1684: eaffff4d b 0xffff13c0
  1453. ffff1688: e92d4070 push {r4, r5, r6, lr}
  1454. ffff168c: e1a04000 mov r4, r0
  1455. ffff1690: e3a05000 mov r5, #0
  1456. ffff1694: e5d40004 ldrb r0, [r4, #4]
  1457. ffff1698: ebfffdae bl 0xffff0d58
  1458. ffff169c: e5d40005 ldrb r0, [r4, #5]
  1459. ffff16a0: e3100080 tst r0, #128 ; 0x80
  1460. ffff16a4: 0a00000d beq 0xffff16e0
  1461. ffff16a8: e3a00048 mov r0, #72 ; 0x48
  1462. ffff16ac: e59f1218 ldr r1, [pc, #536] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1463. ffff16b0: e1c108b2 strh r0, [r1, #130] ; 0x82
  1464. ffff16b4: e5940008 ldr r0, [r4, #8]
  1465. ffff16b8: e7df059f bfc r0, #11, #21
  1466. ffff16bc: e5810080 str r0, [r1, #128] ; 0x80
  1467. ffff16c0: e1a00001 mov r0, r1
  1468. ffff16c4: e5d05048 ldrb r5, [r0, #72] ; 0x48
  1469. ffff16c8: e5d40004 ldrb r0, [r4, #4]
  1470. ffff16cc: e3a01001 mov r1, #1
  1471. ffff16d0: e1850011 orr r0, r5, r1, lsl r0
  1472. ffff16d4: e59f11f0 ldr r1, [pc, #496] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1473. ffff16d8: e5c10048 strb r0, [r1, #72] ; 0x48
  1474. ffff16dc: ea00000c b 0xffff1714
  1475. ffff16e0: e3a00090 mov r0, #144 ; 0x90
  1476. ffff16e4: e59f11e0 ldr r1, [pc, #480] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1477. ffff16e8: e1c108b6 strh r0, [r1, #134] ; 0x86
  1478. ffff16ec: e5940008 ldr r0, [r4, #8]
  1479. ffff16f0: e7df059f bfc r0, #11, #21
  1480. ffff16f4: e1c108b4 strh r0, [r1, #132] ; 0x84
  1481. ffff16f8: e1a00001 mov r0, r1
  1482. ffff16fc: e5d0504a ldrb r5, [r0, #74] ; 0x4a
  1483. ffff1700: e5d40004 ldrb r0, [r4, #4]
  1484. ffff1704: e3a01001 mov r1, #1
  1485. ffff1708: e1850011 orr r0, r5, r1, lsl r0
  1486. ffff170c: e59f11b8 ldr r1, [pc, #440] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1487. ffff1710: e5c1004a strb r0, [r1, #74] ; 0x4a
  1488. ffff1714: e8bd8070 pop {r4, r5, r6, pc}
  1489. ffff1718: e92d4010 push {r4, lr}
  1490. ffff171c: e1a04000 mov r4, r0
  1491. ffff1720: e5941024 ldr r1, [r4, #36] ; 0x24
  1492. ffff1724: e2810020 add r0, r1, #32
  1493. ffff1728: ebffffd6 bl 0xffff1688
  1494. ffff172c: e5941024 ldr r1, [r4, #36] ; 0x24
  1495. ffff1730: e2810010 add r0, r1, #16
  1496. ffff1734: ebffffd3 bl 0xffff1688
  1497. ffff1738: e8bd8010 pop {r4, pc}
  1498. ffff173c: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr}
  1499. ffff1740: e3a08000 mov r8, #0
  1500. ffff1744: e3a04000 mov r4, #0
  1501. ffff1748: e3a06000 mov r6, #0
  1502. ffff174c: e3a09000 mov r9, #0
  1503. ffff1750: e3a0a000 mov sl, #0
  1504. ffff1754: ebfffdcd bl 0xffff0e90
  1505. ffff1758: e1a08000 mov r8, r0
  1506. ffff175c: e59f0180 ldr r0, [pc, #384] ; 0xffff18e4 =0x00007d00
  1507. ffff1760: e5900000 ldr r0, [r0]
  1508. ffff1764: eb0003b9 bl 0xffff2650
  1509. ffff1768: e1a06000 mov r6, r0
  1510. ffff176c: e59f1170 ldr r1, [pc, #368] ; 0xffff18e4 =0x00007d00
  1511. ffff1770: e5910000 ldr r0, [r1]
  1512. ffff1774: e5901038 ldr r1, [r0, #56] ; 0x38
  1513. ffff1778: e3510000 cmp r1, #0
  1514. ffff177c: 1a000002 bne 0xffff178c
  1515. ffff1780: e59f1144 ldr r1, [pc, #324] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1516. ffff1784: e5d11044 ldrb r1, [r1, #68] ; 0x44
  1517. ffff1788: e5801038 str r1, [r0, #56] ; 0x38
  1518. ffff178c: e320f000 nop {0}
  1519. ffff1790: e5901038 ldr r1, [r0, #56] ; 0x38
  1520. ffff1794: e1a09001 mov r9, r1
  1521. ffff1798: e59f1144 ldr r1, [pc, #324] ; 0xffff18e4 =0x00007d00
  1522. ffff179c: e5910000 ldr r0, [r1]
  1523. ffff17a0: e590103c ldr r1, [r0, #60] ; 0x3c
  1524. ffff17a4: e3510000 cmp r1, #0
  1525. ffff17a8: 1a000002 bne 0xffff17b8
  1526. ffff17ac: e59f1118 ldr r1, [pc, #280] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1527. ffff17b0: e5d11046 ldrb r1, [r1, #70] ; 0x46
  1528. ffff17b4: e580103c str r1, [r0, #60] ; 0x3c
  1529. ffff17b8: e320f000 nop {0}
  1530. ffff17bc: e590103c ldr r1, [r0, #60] ; 0x3c
  1531. ffff17c0: e1a0a001 mov sl, r1
  1532. ffff17c4: e3160004 tst r6, #4
  1533. ffff17c8: 0a000023 beq 0xffff185c
  1534. ffff17cc: e3a00002 mov r0, #2
  1535. ffff17d0: e59f110c ldr r1, [pc, #268] ; 0xffff18e4 =0x00007d00
  1536. ffff17d4: e5911000 ldr r1, [r1]
  1537. ffff17d8: e5911024 ldr r1, [r1, #36] ; 0x24
  1538. ffff17dc: e5c10034 strb r0, [r1, #52] ; 0x34
  1539. ffff17e0: e3a00000 mov r0, #0
  1540. ffff17e4: e59f10f8 ldr r1, [pc, #248] ; 0xffff18e4 =0x00007d00
  1541. ffff17e8: e5911000 ldr r1, [r1]
  1542. ffff17ec: e5911024 ldr r1, [r1, #36] ; 0x24
  1543. ffff17f0: e5810030 str r0, [r1, #48] ; 0x30
  1544. ffff17f4: e3a01004 mov r1, #4
  1545. ffff17f8: e59f00e4 ldr r0, [pc, #228] ; 0xffff18e4 =0x00007d00
  1546. ffff17fc: e5900000 ldr r0, [r0]
  1547. ffff1800: eb0003bf bl 0xffff2704
  1548. ffff1804: e59f10c0 ldr r1, [pc, #192] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1549. ffff1808: e5c18042 strb r8, [r1, #66] ; 0x42
  1550. ffff180c: ebfffc43 bl 0xffff0920
  1551. ffff1810: e59f00b4 ldr r0, [pc, #180] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1552. ffff1814: e5d00048 ldrb r0, [r0, #72] ; 0x48
  1553. ffff1818: e3800001 orr r0, r0, #1
  1554. ffff181c: e59f10a8 ldr r1, [pc, #168] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1555. ffff1820: e5c10048 strb r0, [r1, #72] ; 0x48
  1556. ffff1824: e59f00b8 ldr r0, [pc, #184] ; 0xffff18e4 =0x00007d00
  1557. ffff1828: e5900000 ldr r0, [r0]
  1558. ffff182c: ebffffb9 bl 0xffff1718
  1559. ffff1830: e3a05000 mov r5, #0
  1560. ffff1834: ebfffd95 bl 0xffff0e90
  1561. ffff1838: e1a05000 mov r5, r0
  1562. ffff183c: e3a00000 mov r0, #0
  1563. ffff1840: ebfffd44 bl 0xffff0d58
  1564. ffff1844: e3a00000 mov r0, #0
  1565. ffff1848: e59f107c ldr r1, [pc, #124] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1566. ffff184c: e5c10098 strb r0, [r1, #152] ; 0x98
  1567. ffff1850: e1a00005 mov r0, r5
  1568. ffff1854: ebfffd3f bl 0xffff0d58
  1569. ffff1858: e8bd87f0 pop {r4, r5, r6, r7, r8, r9, sl, pc}
  1570. ffff185c: e3160002 tst r6, #2
  1571. ffff1860: 0a000003 beq 0xffff1874
  1572. ffff1864: e3a01002 mov r1, #2
  1573. ffff1868: e59f0074 ldr r0, [pc, #116] ; 0xffff18e4 =0x00007d00
  1574. ffff186c: e5900000 ldr r0, [r0]
  1575. ffff1870: eb0003a3 bl 0xffff2704
  1576. ffff1874: e3160001 tst r6, #1
  1577. ffff1878: 0a000008 beq 0xffff18a0
  1578. ffff187c: e3a01001 mov r1, #1
  1579. ffff1880: e59f005c ldr r0, [pc, #92] ; 0xffff18e4 =0x00007d00
  1580. ffff1884: e5900000 ldr r0, [r0]
  1581. ffff1888: eb00039d bl 0xffff2704
  1582. ffff188c: e3a00000 mov r0, #0
  1583. ffff1890: e59f104c ldr r1, [pc, #76] ; 0xffff18e4 =0x00007d00
  1584. ffff1894: e5911000 ldr r1, [r1]
  1585. ffff1898: e5911024 ldr r1, [r1, #36] ; 0x24
  1586. ffff189c: e5810030 str r0, [r1, #48] ; 0x30
  1587. ffff18a0: e3190001 tst r9, #1
  1588. ffff18a4: 0a000006 beq 0xffff18c4
  1589. ffff18a8: e3a01001 mov r1, #1
  1590. ffff18ac: e59f0030 ldr r0, [pc, #48] ; 0xffff18e4 =0x00007d00
  1591. ffff18b0: e5900000 ldr r0, [r0]
  1592. ffff18b4: eb00038a bl 0xffff26e4
  1593. ffff18b8: e59f0024 ldr r0, [pc, #36] ; 0xffff18e4 =0x00007d00
  1594. ffff18bc: e5900000 ldr r0, [r0]
  1595. ffff18c0: ebfffead bl 0xffff137c
  1596. ffff18c4: e3a04001 mov r4, #1
  1597. ffff18c8: ea000022 b 0xffff1958
  1598. ;; Global Offset Table
  1599. ffff18cc: 01c19000 ; USB_OTG_BASE
  1600. ffff18d0: 01c19004 ; E_HCSPARAMS
  1601. ffff18d4: 01c19008 ; E_HCCPARAMS
  1602. ffff18d8: 01c1900c ; E_HCSPORTROUTE
  1603. ffff18dc: 01c19010 ; E_USBCMD
  1604. ffff18e0: 01c19086
  1605. ffff18e4: 00007d00
  1606. ffff18e8: e3a00001 mov r0, #1
  1607. ffff18ec: e1a07410 lsl r7, r0, r4
  1608. ffff18f0: e1190007 tst r9, r7
  1609. ffff18f4: 0a000016 beq 0xffff1954
  1610. ffff18f8: e3a05000 mov r5, #0
  1611. ffff18fc: e20710ff and r1, r7, #255 ; 0xff
  1612. ffff1900: e51f0024 ldr r0, [pc, #-36] ; 0xffff18e4 =0x00007d00
  1613. ffff1904: e5900000 ldr r0, [r0]
  1614. ffff1908: eb000375 bl 0xffff26e4
  1615. ffff190c: e3a05001 mov r5, #1
  1616. ffff1910: ea00000c b 0xffff1948
  1617. ffff1914: e51f0038 ldr r0, [pc, #-56] ; 0xffff18e4 =0x00007d00
  1618. ffff1918: e5900000 ldr r0, [r0]
  1619. ffff191c: e5900024 ldr r0, [r0, #36] ; 0x24
  1620. ffff1920: e0800205 add r0, r0, r5, lsl #4
  1621. ffff1924: e5d00005 ldrb r0, [r0, #5]
  1622. ffff1928: e2000080 and r0, r0, #128 ; 0x80
  1623. ffff192c: e3500080 cmp r0, #128 ; 0x80
  1624. ffff1930: 1a000003 bne 0xffff1944
  1625. ffff1934: e1a01005 mov r1, r5
  1626. ffff1938: e51f005c ldr r0, [pc, #-92] ; 0xffff18e4 =0x00007d00
  1627. ffff193c: e5900000 ldr r0, [r0]
  1628. ffff1940: ebfffd07 bl 0xffff0d64
  1629. ffff1944: e2855001 add r5, r5, #1
  1630. ffff1948: e3550003 cmp r5, #3
  1631. ffff194c: bafffff0 blt 0xffff1914
  1632. ffff1950: e320f000 nop {0}
  1633. ffff1954: e2844001 add r4, r4, #1
  1634. ffff1958: e3540005 cmp r4, #5
  1635. ffff195c: daffffe1 ble 0xffff18e8
  1636. ffff1960: e3a04001 mov r4, #1
  1637. ffff1964: ea000020 b 0xffff19ec
  1638. ffff1968: e3a00001 mov r0, #1
  1639. ffff196c: e1a07410 lsl r7, r0, r4
  1640. ffff1970: e11a0007 tst sl, r7
  1641. ffff1974: 0a00001b beq 0xffff19e8
  1642. ffff1978: e3a00000 mov r0, #0
  1643. ffff197c: e1a05000 mov r5, r0
  1644. ffff1980: e51f20a4 ldr r2, [pc, #-164] ; 0xffff18e4 =0x00007d00
  1645. ffff1984: e20710ff and r1, r7, #255 ; 0xff
  1646. ffff1988: e5920000 ldr r0, [r2]
  1647. ffff198c: e590203c ldr r2, [r0, #60] ; 0x3c
  1648. ffff1990: e1c22001 bic r2, r2, r1
  1649. ffff1994: e580203c str r2, [r0, #60] ; 0x3c
  1650. ffff1998: e51f20d4 ldr r2, [pc, #-212] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1651. ffff199c: e5c21046 strb r1, [r2, #70] ; 0x46
  1652. ffff19a0: e320f000 nop {0}
  1653. ffff19a4: e3a05001 mov r5, #1
  1654. ffff19a8: ea00000b b 0xffff19dc
  1655. ffff19ac: e51f00d0 ldr r0, [pc, #-208] ; 0xffff18e4 =0x00007d00
  1656. ffff19b0: e5900000 ldr r0, [r0]
  1657. ffff19b4: e5900024 ldr r0, [r0, #36] ; 0x24
  1658. ffff19b8: e0800205 add r0, r0, r5, lsl #4
  1659. ffff19bc: e5d00005 ldrb r0, [r0, #5]
  1660. ffff19c0: e3100080 tst r0, #128 ; 0x80
  1661. ffff19c4: 1a000003 bne 0xffff19d8
  1662. ffff19c8: e1a01005 mov r1, r5
  1663. ffff19cc: e51f00f0 ldr r0, [pc, #-240] ; 0xffff18e4 =0x00007d00
  1664. ffff19d0: e5900000 ldr r0, [r0]
  1665. ffff19d4: ebfffce2 bl 0xffff0d64
  1666. ffff19d8: e2855001 add r5, r5, #1
  1667. ffff19dc: e3550003 cmp r5, #3
  1668. ffff19e0: bafffff1 blt 0xffff19ac
  1669. ffff19e4: e320f000 nop {0}
  1670. ffff19e8: e2844001 add r4, r4, #1
  1671. ffff19ec: e3540005 cmp r4, #5
  1672. ffff19f0: daffffdc ble 0xffff1968
  1673. ffff19f4: ebfffbc9 bl 0xffff0920
  1674. ffff19f8: e51f1134 ldr r1, [pc, #-308] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  1675. ffff19fc: e5c18042 strb r8, [r1, #66] ; 0x42
  1676. ffff1a00: e51f1124 ldr r1, [pc, #-292] ; 0xffff18e4 =0x00007d00
  1677. ffff1a04: e5910000 ldr r0, [r1]
  1678. ffff1a08: e3a01000 mov r1, #0
  1679. ffff1a0c: e5801040 str r1, [r0, #64] ; 0x40
  1680. ffff1a10: e5801038 str r1, [r0, #56] ; 0x38
  1681. ffff1a14: e580103c str r1, [r0, #60] ; 0x3c
  1682. ffff1a18: e320f000 nop {0}
  1683. ffff1a1c: e320f000 nop {0}
  1684. ffff1a20: eaffff8c b 0xffff1858
  1685. ffff1a24: e92d4010 push {r4, lr}
  1686. ffff1a28: e1a04000 mov r4, r0
  1687. ffff1a2c: ebffff42 bl 0xffff173c
  1688. ffff1a30: e8bd8010 pop {r4, pc}
  1689. ffff1a34: e92d4010 push {r4, lr}
  1690. ffff1a38: e1a022a0 lsr r2, r0, #5
  1691. ffff1a3c: e1a04102 lsl r4, r2, #2
  1692. ffff1a40: e2841772 add r1, r4, #29884416 ; 0x1c80000 GIC_DIST
  1693. ffff1a44: e2811d4a add r1, r1, #4736 ; 0x1280
  1694. ffff1a48: e200301f and r3, r0, #31
  1695. ffff1a4c: e3a04001 mov r4, #1
  1696. ffff1a50: e1a04314 lsl r4, r4, r3
  1697. ffff1a54: e5814000 str r4, [r1]
  1698. ffff1a58: e8bd8010 pop {r4, pc}
  1699. ffff1a5c: e92d4070 push {r4, r5, r6, lr}
  1700. ffff1a60: e59f2cbc ldr r2, [pc, #3260] ; 0xffff2724 =0x01010101
  1701. ffff1a64: e3a03000 mov r3, #0
  1702. ffff1a68: e59f4cb8 ldr r4, [pc, #3256] ; 0xffff2728 =01c81000 GIC_DIST
  1703. ffff1a6c: e5843000 str r3, [r4]
  1704. ffff1a70: e1c431c2 bic r3, r4, r2, asr #3
  1705. ffff1a74: e5933004 ldr r3, [r3, #4]
  1706. ffff1a78: e203301f and r3, r3, #31
  1707. ffff1a7c: e2833001 add r3, r3, #1
  1708. ffff1a80: e1a01283 lsl r1, r3, #5
  1709. ffff1a84: e3510fff cmp r1, #1020 ; 0x3fc
  1710. ffff1a88: 9a000001 bls 0xffff1a94
  1711. ffff1a8c: e30013fc movw r1, #1020 ; 0x3fc
  1712. ffff1a90: ea000002 b 0xffff1aa0
  1713. ffff1a94: e351008c cmp r1, #140 ; 0x8c
  1714. ffff1a98: 2a000000 bcs 0xffff1aa0
  1715. ffff1a9c: e8bd8070 pop {r4, r5, r6, pc}
  1716. ffff1aa0: e3a00020 mov r0, #32
  1717. ffff1aa4: ea000006 b 0xffff1ac4
  1718. ffff1aa8: e3a03000 mov r3, #0
  1719. ffff1aac: e1a04220 lsr r4, r0, #4
  1720. ffff1ab0: e1a04104 lsl r4, r4, #2
  1721. ffff1ab4: e2844772 add r4, r4, #29884416 ; 0x1c80000 GIC_DIST
  1722. ffff1ab8: e2844b07 add r4, r4, #7168 ; 0x1c00
  1723. ffff1abc: e5843000 str r3, [r4]
  1724. ffff1ac0: e2800010 add r0, r0, #16
  1725. ffff1ac4: e350008c cmp r0, #140 ; 0x8c
  1726. ffff1ac8: 3afffff6 bcc 0xffff1aa8
  1727. ffff1acc: e3a00020 mov r0, #32
  1728. ffff1ad0: ea000007 b 0xffff1af4
  1729. ffff1ad4: e59f3c50 ldr r3, [pc, #3152] ; 0xffff272c =0xa0a0a0a0
  1730. 0ffff1ad8: e2404020 sub r4, r0, #32
  1731. ffff1adc: e1a04124 lsr r4, r4, #2
  1732. ffff1ae0: e59f5c48 ldr r5, [pc, #3144] ; 0xffff2730 =0x01c81420
  1733. ffff1ae4: e3a06004 mov r6, #4
  1734. ffff1ae8: e0245496 mla r4, r6, r4, r5
  1735. ffff1aec: e5843000 str r3, [r4]
  1736. ffff1af0: e2800004 add r0, r0, #4
  1737. ffff1af4: e350008c cmp r0, #140 ; 0x8c
  1738. ffff1af8: 3afffff5 bcc 0xffff1ad4
  1739. ffff1afc: e3a00020 mov r0, #32
  1740. ffff1b00: ea000006 b 0xffff1b20
  1741. ffff1b04: e2403020 sub r3, r0, #32
  1742. ffff1b08: e1a03123 lsr r3, r3, #2
  1743. ffff1b0c: e59f4c20 ldr r4, [pc, #3104] ; 0xffff2734 =0x01c81820
  1744. ffff1b10: e3a05004 mov r5, #4
  1745. ffff1b14: e0234395 mla r3, r5, r3, r4
  1746. ffff1b18: e5832000 str r2, [r3]
  1747. ffff1b1c: e2800004 add r0, r0, #4
  1748. ffff1b20: e350008c cmp r0, #140 ; 0x8c
  1749. ffff1b24: 3afffff6 bcc 0xffff1b04
  1750. ffff1b28: e3a00020 mov r0, #32
  1751. ffff1b2c: ea000006 b 0xffff1b4c
  1752. ffff1b30: e3e03000 mvn r3, #0
  1753. ffff1b34: e1a042a0 lsr r4, r0, #5
  1754. ffff1b38: e1a04104 lsl r4, r4, #2
  1755. ffff1b3c: e2844507 add r4, r4, #29360128 ; 0x1c00000
  1756. ffff1b40: e2844a81 add r4, r4, #528384 ; 0x81000
  1757. ffff1b44: e5843180 str r3, [r4, #384] ; 0x180
  1758. ffff1b48: e2800020 add r0, r0, #32
  1759. ffff1b4c: e350008c cmp r0, #140 ; 0x8c
  1760. ffff1b50: 3afffff6 bcc 0xffff1b30
  1761. ffff1b54: e3a00020 mov r0, #32
  1762. ffff1b58: ea000006 b 0xffff1b78
  1763. ffff1b5c: e3e03000 mvn r3, #0
  1764. ffff1b60: e1a042a0 lsr r4, r0, #5
  1765. ffff1b64: e1a04104 lsl r4, r4, #2
  1766. ffff1b68: e2844507 add r4, r4, #29360128 ; 0x1c00000
  1767. ffff1b6c: e2844a81 add r4, r4, #528384 ; 0x81000
  1768. ffff1b70: e5843380 str r3, [r4, #896] ; 0x380
  1769. ffff1b74: e2800020 add r0, r0, #32
  1770. ffff1b78: e350008c cmp r0, #140 ; 0x8c
  1771. ffff1b7c: 3afffff6 bcc 0xffff1b5c
  1772. ffff1b80: e3a03001 mov r3, #1
  1773. ffff1b84: e59f4b9c ldr r4, [pc, #2972] ; 0xffff2728 =01c81000 GIC_DIST
  1774. ffff1b88: e5843000 str r3, [r4]
  1775. ffff1b8c: e320f000 nop {0}
  1776. ffff1b90: eaffffc1 b 0xffff1a9c
  1777. ffff1b94: e92d4010 push {r4, lr}
  1778. ffff1b98: e3a01000 mov r1, #0
  1779. ffff1b9c: e59f2b94 ldr r2, [pc, #2964] ; 0xffff2738 =0x01c82000 GIC_CPUIF
  1780. ffff1ba0: e5821000 str r1, [r2]
  1781. ffff1ba4: e2411801 sub r1, r1, #65536 ; 0x10000
  1782. ffff1ba8: e0822241 add r2, r2, r1, asr #4
  1783. ffff1bac: e5821180 str r1, [r2, #384] ; 0x180
  1784. ffff1bb0: e30f1fff movw r1, #65535 ; 0xffff
  1785. ffff1bb4: e5821100 str r1, [r2, #256] ; 0x100
  1786. ffff1bb8: e3a00000 mov r0, #0
  1787. ffff1bbc: ea000006 b 0xffff1bdc
  1788. ffff1bc0: e59f1b64 ldr r1, [pc, #2916] ; 0xffff272c =0xa0a0a0a0
  1789. ffff1bc4: e1a02120 lsr r2, r0, #2
  1790. ffff1bc8: e1a02102 lsl r2, r2, #2
  1791. ffff1bcc: e2822772 add r2, r2, #29884416 ; 0x1c80000 GIC_DIST
  1792. ffff1bd0: e2822b05 add r2, r2, #5120 ; 0x1400
  1793. ffff1bd4: e5821000 str r1, [r2]
  1794. ffff1bd8: e2800004 add r0, r0, #4
  1795. ffff1bdc: e3500010 cmp r0, #16
  1796. ffff1be0: 3afffff6 bcc 0xffff1bc0
  1797. ffff1be4: e3a00010 mov r0, #16
  1798. ffff1be8: ea000007 b 0xffff1c0c
  1799. ffff1bec: e59f1b38 ldr r1, [pc, #2872] ; 0xffff272c =0xa0a0a0a0
  1800. ffff1bf0: e2402010 sub r2, r0, #16
  1801. ffff1bf4: e1a02122 lsr r2, r2, #2
  1802. ffff1bf8: e59f3b3c ldr r3, [pc, #2876] ; 0xffff273c =0x01c81410
  1803. ffff1bfc: e3a04004 mov r4, #4
  1804. ffff1c00: e0223294 mla r2, r4, r2, r3
  1805. ffff1c04: e5821000 str r1, [r2]
  1806. ffff1c08: e2800004 add r0, r0, #4
  1807. ffff1c0c: e3500020 cmp r0, #32
  1808. ffff1c10: 3afffff5 bcc 0xffff1bec
  1809. ffff1c14: e3a010f0 mov r1, #240 ; 0xf0
  1810. ffff1c18: e59f2b18 ldr r2, [pc, #2840] ; 0xffff2738 =0x01c82000 GIC_CPUIF
  1811. ffff1c1c: e5821004 str r1, [r2, #4]
  1812. ffff1c20: e3a01001 mov r1, #1
  1813. ffff1c24: e5821000 str r1, [r2]
  1814. ffff1c28: e8bd8010 pop {r4, pc}
  1815. ffff1c2c: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  1816. ffff1c30: e1a04000 mov r4, r0
  1817. ffff1c34: e1a062a4 lsr r6, r4, #5
  1818. ffff1c38: e1a00106 lsl r0, r6, #2
  1819. ffff1c3c: e2805772 add r5, r0, #29884416 ; 0x1c80000 GIC_DIST
  1820. ffff1c40: e2855c11 add r5, r5, #4352 ; 0x1100
  1821. ffff1c44: e204701f and r7, r4, #31
  1822. ffff1c48: e3a03001 mov r3, #1
  1823. ffff1c4c: e1a02003 mov r2, r3
  1824. ffff1c50: e1a01007 mov r1, r7
  1825. ffff1c54: e1a00005 mov r0, r5
  1826. ffff1c58: ebfffb27 bl 0xffff08fc
  1827. ffff1c5c: e3a00000 mov r0, #0
  1828. ffff1c60: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  1829. ffff1c64: e3a00000 mov r0, #0
  1830. ffff1c68: e3e01000 mvn r1, #0
  1831. ffff1c6c: e59f2ab4 ldr r2, [pc, #2740] ; 0xffff2728 =01c81000 GIC_DIST
  1832. ffff1c70: e5821180 str r1, [r2, #384] ; 0x180
  1833. ffff1c74: e5821184 str r1, [r2, #388] ; 0x184
  1834. ffff1c78: e5821188 str r1, [r2, #392] ; 0x188
  1835. ffff1c7c: e582118c str r1, [r2, #396] ; 0x18c
  1836. ffff1c80: e5821190 str r1, [r2, #400] ; 0x190
  1837. ffff1c84: e12fff1e bx lr
  1838. ffff1c88: e92d4010 push {r4, lr}
  1839. ffff1c8c: e3a00067 mov r0, #103 ; 0x67
  1840. ffff1c90: ebffffe5 bl 0xffff1c2c
  1841. ffff1c94: e8bd8010 pop {r4, pc}
  1842. interrupt_handler:
  1843. ffff1c98: e92d4010 push {r4, lr}
  1844. ffff1c9c: e59f0a94 ldr r0, [pc, #2708] ; 0xffff2738 =0x01c82000 GIC_CPUIF
  1845. ffff1ca0: e590400c ldr r4, [r0, #12]
  1846. ffff1ca4: e1a00004 mov r0, r4
  1847. ffff1ca8: e7df051f bfc r0, #10, #22
  1848. ffff1cac: e1a04000 mov r4, r0
  1849. ffff1cb0: e3540067 cmp r4, #103 ; 0x67
  1850. ffff1cb4: 1a000001 bne 0xffff1cc0
  1851. ffff1cb8: e1a00004 mov r0, r4
  1852. ffff1cbc: ebffff58 bl 0xffff1a24
  1853. ffff1cc0: e59f0a70 ldr r0, [pc, #2672] ; 0xffff2738 =0x01c82000 GIC_CPUIF
  1854. ffff1cc4: e5804010 str r4, [r0, #16]
  1855. ffff1cc8: e2800a01 add r0, r0, #4096 ; 0x1000
  1856. ffff1ccc: e5804000 str r4, [r0]
  1857. ffff1cd0: e1a00004 mov r0, r4
  1858. ffff1cd4: ebffff56 bl 0xffff1a34
  1859. ffff1cd8: e8bd8010 pop {r4, pc}
  1860. ffff1cdc: e92d4010 push {r4, lr}
  1861. ffff1ce0: ebffffdf bl 0xffff1c64
  1862. ffff1ce4: ebffff5c bl 0xffff1a5c
  1863. ffff1ce8: ebffffa9 bl 0xffff1b94
  1864. ffff1cec: e8bd8010 pop {r4, pc}
  1865. ffff1cf0: e92d4010 push {r4, lr}
  1866. ffff1cf4: ebffffe3 bl 0xffff1c88
  1867. ffff1cf8: e8bd8010 pop {r4, pc}
  1868. ffff1cfc: e3a01012 mov r1, #18
  1869. ffff1d00: e5c01000 strb r1, [r0]
  1870. ffff1d04: e3a01001 mov r1, #1
  1871. ffff1d08: e5c01001 strb r1, [r0, #1]
  1872. ffff1d0c: e3001110 movw r1, #272 ; 0x110
  1873. ffff1d10: e1c010b2 strh r1, [r0, #2]
  1874. ffff1d14: e3a01000 mov r1, #0
  1875. ffff1d18: e5c01004 strb r1, [r0, #4]
  1876. ffff1d1c: e5c01005 strb r1, [r0, #5]
  1877. ffff1d20: e5c01006 strb r1, [r0, #6]
  1878. ffff1d24: e3a01040 mov r1, #64 ; 0x40
  1879. ffff1d28: e5c01007 strb r1, [r0, #7]
  1880. ffff1d2c: e3011f3a movw r1, #7994 ; 0x1f3a
  1881. ffff1d30: e1c010b8 strh r1, [r0, #8]
  1882. ffff1d34: e30e1fe8 movw r1, #61416 ; 0xefe8
  1883. ffff1d38: e1c010ba strh r1, [r0, #10]
  1884. ffff1d3c: e30012b3 movw r1, #691 ; 0x2b3
  1885. ffff1d40: e1c010bc strh r1, [r0, #12]
  1886. ffff1d44: e3a01000 mov r1, #0
  1887. ffff1d48: e5c0100e strb r1, [r0, #14]
  1888. ffff1d4c: e5c0100f strb r1, [r0, #15]
  1889. ffff1d50: e5c01010 strb r1, [r0, #16]
  1890. ffff1d54: e3a01001 mov r1, #1
  1891. ffff1d58: e5c01011 strb r1, [r0, #17]
  1892. ffff1d5c: e12fff1e bx lr
  1893. ffff1d60: e3a0100a mov r1, #10
  1894. ffff1d64: e5c01000 strb r1, [r0]
  1895. ffff1d68: e3a01002 mov r1, #2
  1896. ffff1d6c: e5c01001 strb r1, [r0, #1]
  1897. ffff1d70: e3a01020 mov r1, #32
  1898. ffff1d74: e1c010b2 strh r1, [r0, #2]
  1899. ffff1d78: e3a01001 mov r1, #1
  1900. ffff1d7c: e5c01004 strb r1, [r0, #4]
  1901. ffff1d80: e5c01005 strb r1, [r0, #5]
  1902. ffff1d84: e3a01000 mov r1, #0
  1903. ffff1d88: e5c01006 strb r1, [r0, #6]
  1904. ffff1d8c: e3a01080 mov r1, #128 ; 0x80
  1905. ffff1d90: e5c01007 strb r1, [r0, #7]
  1906. ffff1d94: e3a01096 mov r1, #150 ; 0x96
  1907. ffff1d98: e5c01008 strb r1, [r0, #8]
  1908. ffff1d9c: e12fff1e bx lr
  1909. ffff1da0: e3a01009 mov r1, #9
  1910. ffff1da4: e5c01000 strb r1, [r0]
  1911. ffff1da8: e3a01004 mov r1, #4
  1912. ffff1dac: e5c01001 strb r1, [r0, #1]
  1913. ffff1db0: e3a01000 mov r1, #0
  1914. ffff1db4: e5c01002 strb r1, [r0, #2]
  1915. ffff1db8: e5c01003 strb r1, [r0, #3]
  1916. ffff1dbc: e3a01002 mov r1, #2
  1917. ffff1dc0: e5c01004 strb r1, [r0, #4]
  1918. ffff1dc4: e3a010ff mov r1, #255 ; 0xff
  1919. ffff1dc8: e5c01005 strb r1, [r0, #5]
  1920. ffff1dcc: e5c01006 strb r1, [r0, #6]
  1921. ffff1dd0: e5c01007 strb r1, [r0, #7]
  1922. ffff1dd4: e3a01000 mov r1, #0
  1923. ffff1dd8: e5c01008 strb r1, [r0, #8]
  1924. ffff1ddc: e12fff1e bx lr
  1925. ffff1de0: e3a01007 mov r1, #7
  1926. ffff1de4: e5c01000 strb r1, [r0]
  1927. ffff1de8: e3a01005 mov r1, #5
  1928. ffff1dec: e5c01001 strb r1, [r0, #1]
  1929. ffff1df0: e3a01040 mov r1, #64 ; 0x40
  1930. ffff1df4: e1c010b4 strh r1, [r0, #4]
  1931. ffff1df8: e3a01001 mov r1, #1
  1932. ffff1dfc: e5c01002 strb r1, [r0, #2]
  1933. ffff1e00: e3a01002 mov r1, #2
  1934. ffff1e04: e5c01003 strb r1, [r0, #3]
  1935. ffff1e08: e3a01000 mov r1, #0
  1936. ffff1e0c: e5c01006 strb r1, [r0, #6]
  1937. ffff1e10: e12fff1e bx lr
  1938. ffff1e14: e3a01007 mov r1, #7
  1939. ffff1e18: e5c01000 strb r1, [r0]
  1940. ffff1e1c: e3a01005 mov r1, #5
  1941. ffff1e20: e5c01001 strb r1, [r0, #1]
  1942. ffff1e24: e3a01040 mov r1, #64 ; 0x40
  1943. ffff1e28: e1c010b4 strh r1, [r0, #4]
  1944. ffff1e2c: e3a01082 mov r1, #130 ; 0x82
  1945. ffff1e30: e5c01002 strb r1, [r0, #2]
  1946. ffff1e34: e3a01002 mov r1, #2
  1947. ffff1e38: e5c01003 strb r1, [r0, #3]
  1948. ffff1e3c: e3a01000 mov r1, #0
  1949. ffff1e40: e5c01006 strb r1, [r0, #6]
  1950. ffff1e44: e12fff1e bx lr
  1951. ffff1e48: e5802000 str r2, [r0]
  1952. ffff1e4c: e5801004 str r1, [r0, #4]
  1953. ffff1e50: e12fff1e bx lr
  1954. ffff1e54: e12fff1e bx lr
  1955. ffff1e58: e12fff1e bx lr
  1956. ffff1e5c: e12fff1e bx lr
  1957. ffff1e60: e92d4010 push {r4, lr}
  1958. ffff1e64: e3a03000 mov r3, #0
  1959. ffff1e68: e5c03005 strb r3, [r0, #5]
  1960. ffff1e6c: e5c03006 strb r3, [r0, #6]
  1961. ffff1e70: e5803000 str r3, [r0]
  1962. ffff1e74: e5c03004 strb r3, [r0, #4]
  1963. ffff1e78: e3a03040 mov r3, #64 ; 0x40
  1964. ffff1e7c: e5803008 str r3, [r0, #8]
  1965. ffff1e80: e3a03000 mov r3, #0
  1966. ffff1e84: e580300c str r3, [r0, #12]
  1967. ffff1e88: e5d13002 ldrb r3, [r1, #2]
  1968. ffff1e8c: e5c03015 strb r3, [r0, #21]
  1969. ffff1e90: e5d13003 ldrb r3, [r1, #3]
  1970. ffff1e94: e5c03016 strb r3, [r0, #22]
  1971. ffff1e98: e5801010 str r1, [r0, #16]
  1972. ffff1e9c: e3a03001 mov r3, #1
  1973. ffff1ea0: e5c03014 strb r3, [r0, #20]
  1974. ffff1ea4: e1d130b4 ldrh r3, [r1, #4]
  1975. ffff1ea8: e5803018 str r3, [r0, #24]
  1976. ffff1eac: e3a03000 mov r3, #0
  1977. ffff1eb0: e580301c str r3, [r0, #28]
  1978. ffff1eb4: e5d23002 ldrb r3, [r2, #2]
  1979. ffff1eb8: e5c03025 strb r3, [r0, #37] ; 0x25
  1980. ffff1ebc: e5d23003 ldrb r3, [r2, #3]
  1981. ffff1ec0: e5c03026 strb r3, [r0, #38] ; 0x26
  1982. ffff1ec4: e5802020 str r2, [r0, #32]
  1983. ffff1ec8: e3a03002 mov r3, #2
  1984. ffff1ecc: e5c03024 strb r3, [r0, #36] ; 0x24
  1985. ffff1ed0: e1d230b4 ldrh r3, [r2, #4]
  1986. ffff1ed4: e5803028 str r3, [r0, #40] ; 0x28
  1987. ffff1ed8: e3a03000 mov r3, #0
  1988. ffff1edc: e580302c str r3, [r0, #44] ; 0x2c
  1989. ffff1ee0: e5803030 str r3, [r0, #48] ; 0x30
  1990. ffff1ee4: e5c03034 strb r3, [r0, #52] ; 0x34
  1991. ffff1ee8: e5803038 str r3, [r0, #56] ; 0x38
  1992. ffff1eec: e5c0303c strb r3, [r0, #60] ; 0x3c
  1993. ffff1ef0: e5c0303d strb r3, [r0, #61] ; 0x3d
  1994. ffff1ef4: e8bd8010 pop {r4, pc}
  1995. ffff1ef8: e92d4010 push {r4, lr}
  1996. ffff1efc: e5801000 str r1, [r0]
  1997. ffff1f00: e3a04000 mov r4, #0
  1998. ffff1f04: e5c04004 strb r4, [r0, #4]
  1999. ffff1f08: e5804008 str r4, [r0, #8]
  2000. ffff1f0c: e5802014 str r2, [r0, #20]
  2001. ffff1f10: e5804018 str r4, [r0, #24]
  2002. ffff1f14: e580300c str r3, [r0, #12]
  2003. ffff1f18: e5804010 str r4, [r0, #16]
  2004. ffff1f1c: e8bd8010 pop {r4, pc}
  2005. ffff1f20: e5801000 str r1, [r0]
  2006. ffff1f24: e3a02000 mov r2, #0
  2007. ffff1f28: e5802004 str r2, [r0, #4]
  2008. ffff1f2c: e59f280c ldr r2, [pc, #2060] ; 0xffff2740 =0xffff0890
  2009. ffff1f30: e580200c str r2, [r0, #12]
  2010. ffff1f34: e3a02000 mov r2, #0
  2011. ffff1f38: e5802010 str r2, [r0, #16]
  2012. ffff1f3c: e5c02008 strb r2, [r0, #8]
  2013. ffff1f40: e5c02018 strb r2, [r0, #24]
  2014. ffff1f44: e5802014 str r2, [r0, #20]
  2015. ffff1f48: e12fff1e bx lr
  2016. ffff1f4c: e5801000 str r1, [r0]
  2017. ffff1f50: e3a02000 mov r2, #0
  2018. ffff1f54: e5802004 str r2, [r0, #4]
  2019. ffff1f58: e59f27e4 ldr r2, [pc, #2020] ; 0xffff2744 =0xffff08a8
  2020. ffff1f5c: e580200c str r2, [r0, #12]
  2021. ffff1f60: e3a02000 mov r2, #0
  2022. ffff1f64: e5802010 str r2, [r0, #16]
  2023. ffff1f68: e5c02008 strb r2, [r0, #8]
  2024. ffff1f6c: e5c02018 strb r2, [r0, #24]
  2025. ffff1f70: e3a02001 mov r2, #1
  2026. ffff1f74: e5802014 str r2, [r0, #20]
  2027. ffff1f78: e12fff1e bx lr
  2028. ffff1f7c: e5801000 str r1, [r0]
  2029. ffff1f80: e3a02000 mov r2, #0
  2030. ffff1f84: e5802004 str r2, [r0, #4]
  2031. ffff1f88: e59f27b8 ldr r2, [pc, #1976] ; 0xffff2748 =0xffff089c
  2032. ffff1f8c: e580200c str r2, [r0, #12]
  2033. ffff1f90: e3a02000 mov r2, #0
  2034. ffff1f94: e5802010 str r2, [r0, #16]
  2035. ffff1f98: e5c02008 strb r2, [r0, #8]
  2036. ffff1f9c: e5c02018 strb r2, [r0, #24]
  2037. ffff1fa0: e3a02002 mov r2, #2
  2038. ffff1fa4: e5802014 str r2, [r0, #20]
  2039. ffff1fa8: e12fff1e bx lr
  2040. ffff1fac: e92d4010 push {r4, lr}
  2041. ffff1fb0: e580100c str r1, [r0, #12]
  2042. ffff1fb4: e580201c str r2, [r0, #28]
  2043. ffff1fb8: e580302c str r3, [r0, #44] ; 0x2c
  2044. ffff1fbc: e8bd8010 pop {r4, pc}
  2045. ffff1fc0: e3a00000 mov r0, #0
  2046. ffff1fc4: e51f1700 ldr r1, [pc, #-1792] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2047. ffff1fc8: e5d10040 ldrb r0, [r1, #64] ; 0x40
  2048. ffff1fcc: e3c00020 bic r0, r0, #32
  2049. ffff1fd0: e5c10040 strb r0, [r1, #64] ; 0x40
  2050. ffff1fd4: e5d10040 ldrb r0, [r1, #64] ; 0x40
  2051. ffff1fd8: e12fff1e bx lr
  2052. ffff1fdc: e3a01000 mov r1, #0
  2053. ffff1fe0: e3a02000 mov r2, #0
  2054. ffff1fe4: e59f0760 ldr r0, [pc, #1888] ; 0xffff274c =0x01c20000 CCU_BASE
  2055. ffff1fe8: e5901000 ldr r1, [r0]
  2056. ffff1fec: e59f075c ldr r0, [pc, #1884] ; 0xffff2750 =0x7ffce0ff
  2057. ffff1ff0: e0011000 and r1, r1, r0
  2058. ffff1ff4: e3811102 orr r1, r1, #-2147483648 ; 0x80000000
  2059. ffff1ff8: e3811a01 orr r1, r1, #4096 ; 0x1000
  2060. ffff1ffc: e59f0748 ldr r0, [pc, #1864] ; 0xffff274c =0x01c20000 CCU_BASE
  2061. ffff2000: e5801000 str r1, [r0]
  2062. ffff2004: e5901028 ldr r1, [r0, #40] ; 0x28
  2063. ffff2008: e3811102 orr r1, r1, #-2147483648 ; 0x80000000
  2064. ffff200c: e5801028 str r1, [r0, #40] ; 0x28
  2065. ffff2010: e30c2350 movw r2, #50000 ; 0xc350
  2066. ffff2014: e320f000 nop {0}
  2067. ffff2018: e1b00002 movs r0, r2
  2068. ffff201c: e2422001 sub r2, r2, #1
  2069. ffff2020: 1afffffc bne 0xffff2018
  2070. ffff2024: e59f0720 ldr r0, [pc, #1824] ; 0xffff274c =0x01c20000 CCU_BASE
  2071. ffff2028: e5901050 ldr r1, [r0, #80] ; 0x50
  2072. ffff202c: e3c11003 bic r1, r1, #3
  2073. ffff2030: e3811001 orr r1, r1, #1
  2074. ffff2034: e5801050 str r1, [r0, #80] ; 0x50
  2075. ffff2038: e30021f4 movw r2, #500 ; 0x1f4
  2076. ffff203c: e320f000 nop {0}
  2077. ffff2040: e1b00002 movs r0, r2
  2078. ffff2044: e2422001 sub r2, r2, #1
  2079. ffff2048: 1afffffc bne 0xffff2040
  2080. ffff204c: e59f06f8 ldr r0, [pc, #1784] ; 0xffff274c =0x01c20000 CCU_BASE
  2081. ffff2050: e5901050 ldr r1, [r0, #80] ; 0x50
  2082. ffff2054: e3c11803 bic r1, r1, #196608 ; 0x30000
  2083. ffff2058: e3811803 orr r1, r1, #196608 ; 0x30000
  2084. ffff205c: e5801050 str r1, [r0, #80] ; 0x50
  2085. ffff2060: e5901054 ldr r1, [r0, #84] ; 0x54
  2086. ffff2064: e3c11e3f bic r1, r1, #1008 ; 0x3f0
  2087. ffff2068: e3811e19 orr r1, r1, #400 ; 0x190
  2088. ffff206c: e5801054 str r1, [r0, #84] ; 0x54
  2089. ffff2070: e30021f4 movw r2, #500 ; 0x1f4
  2090. ffff2074: e320f000 nop {0}
  2091. ffff2078: e1b00002 movs r0, r2
  2092. ffff207c: e2422001 sub r2, r2, #1
  2093. ffff2080: 1afffffc bne 0xffff2078
  2094. ffff2084: e59f06c0 ldr r0, [pc, #1728] ; 0xffff274c =0x01c20000 CCU_BASE
  2095. ffff2088: e5901054 ldr r1, [r0, #84] ; 0x54
  2096. ffff208c: e3c11a03 bic r1, r1, #12288 ; 0x3000
  2097. ffff2090: e3811a03 orr r1, r1, #12288 ; 0x3000
  2098. ffff2094: e5801054 str r1, [r0, #84] ; 0x54
  2099. ffff2098: e12fff1e bx lr
  2100. ffff209c: e3a00000 mov r0, #0
  2101. ffff20a0: e59f16ac ldr r1, [pc, #1708] ; 0xffff2754 =0x01c19400 O_HcRevision
  2102. ffff20a4: e5910000 ldr r0, [r1]
  2103. ffff20a8: e3800903 orr r0, r0, #49152 ; 0xc000
  2104. ffff20ac: e5810000 str r0, [r1]
  2105. ffff20b0: e12fff1e bx lr
  2106. ffff20b4: e3a00000 mov r0, #0
  2107. ffff20b8: e3a01000 mov r1, #0
  2108. ffff20bc: e59f2690 ldr r2, [pc, #1680] ; 0xffff2754 =0x01c19400 O_HcRevision
  2109. ffff20c0: e5920000 ldr r0, [r2]
  2110. ffff20c4: e3800801 orr r0, r0, #65536 ; 0x10000
  2111. ffff20c8: e5820000 str r0, [r2]
  2112. ffff20cc: e30017d0 movw r1, #2000 ; 0x7d0
  2113. ffff20d0: e320f000 nop {0}
  2114. ffff20d4: e1b02001 movs r2, r1
  2115. ffff20d8: e2411001 sub r1, r1, #1
  2116. ffff20dc: 1afffffc bne 0xffff20d4
  2117. ffff20e0: e3800b03 orr r0, r0, #3072 ; 0xc00
  2118. ffff20e4: e59f2668 ldr r2, [pc, #1640] ; 0xffff2754 =0x01c19400 O_HcRevision
  2119. ffff20e8: e5820000 str r0, [r2]
  2120. ffff20ec: e12fff1e bx lr
  2121. ffff20f0: e3a01000 mov r1, #0
  2122. ffff20f4: e59f0658 ldr r0, [pc, #1624] ; 0xffff2754 =0x01c19400 O_HcRevision
  2123. ffff20f8: e5900000 ldr r0, [r0]
  2124. ffff20fc: e20020ff and r2, r0, #255 ; 0xff
  2125. ffff2100: e3120303 tst r2, #201326592 ; 0xc000000
  2126. ffff2104: 1a00000a bne 0xffff2134
  2127. ffff2108: e51f0844 ldr r0, [pc, #-2116] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2128. ffff210c: e5d00041 ldrb r0, [r0, #65] ; 0x41
  2129. ffff2110: e2000018 and r0, r0, #24
  2130. ffff2114: e3500018 cmp r0, #24
  2131. ffff2118: 0a000003 beq 0xffff212c
  2132. ffff211c: e59f0630 ldr r0, [pc, #1584] ; 0xffff2754 =0x01c19400 O_HcRevision
  2133. ffff2120: e5901000 ldr r1, [r0]
  2134. ffff2124: e3811a03 orr r1, r1, #12288 ; 0x3000
  2135. ffff2128: e5801000 str r1, [r0]
  2136. ffff212c: e3a00001 mov r0, #1
  2137. ffff2130: e12fff1e bx lr
  2138. ffff2134: e3a00000 mov r0, #0
  2139. ffff2138: eafffffc b 0xffff2130
  2140. ffff213c: e3a00000 mov r0, #0
  2141. ffff2140: e59f160c ldr r1, [pc, #1548] ; 0xffff2754 =0x01c19400 O_HcRevision
  2142. ffff2144: e5910000 ldr r0, [r1]
  2143. ffff2148: e3c00801 bic r0, r0, #65536 ; 0x10000
  2144. ffff214c: e5810000 str r0, [r1]
  2145. ffff2150: e12fff1e bx lr
  2146. ffff2154: e51f0890 ldr r0, [pc, #-2192] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2147. ffff2158: e5d01041 ldrb r1, [r0, #65] ; 0x41
  2148. ffff215c: e2010080 and r0, r1, #128 ; 0x80
  2149. ffff2160: e3500080 cmp r0, #128 ; 0x80
  2150. ffff2164: 1a000007 bne 0xffff2188
  2151. ffff2168: e51f08a4 ldr r0, [pc, #-2212] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2152. ffff216c: e5d02041 ldrb r2, [r0, #65] ; 0x41
  2153. ffff2170: e2020018 and r0, r2, #24
  2154. ffff2174: e3500018 cmp r0, #24
  2155. ffff2178: 1a000001 bne 0xffff2184
  2156. ffff217c: e3a00001 mov r0, #1
  2157. ffff2180: e12fff1e bx lr
  2158. ffff2184: e320f000 nop {0}
  2159. ffff2188: e3a00000 mov r0, #0
  2160. ffff218c: eafffffb b 0xffff2180
  2161. ffff2190: e92d4010 push {r4, lr}
  2162. ffff2194: ebffffc0 bl 0xffff209c
  2163. ffff2198: ebffffc5 bl 0xffff20b4
  2164. ffff219c: ea000009 b 0xffff21c8
  2165. ffff21a0: ebffffeb bl 0xffff2154
  2166. ffff21a4: e1a03000 mov r3, r0
  2167. ffff21a8: ebffffd0 bl 0xffff20f0
  2168. ffff21ac: e1a04000 mov r4, r0
  2169. ffff21b0: e3530000 cmp r3, #0
  2170. ffff21b4: 1a000001 bne 0xffff21c0
  2171. ffff21b8: e3540000 cmp r4, #0
  2172. ffff21bc: 0a000000 beq 0xffff21c4
  2173. ffff21c0: ea000001 b 0xffff21cc
  2174. ffff21c4: e320f000 nop {0}
  2175. ffff21c8: eafffff4 b 0xffff21a0
  2176. ffff21cc: e320f000 nop {0}
  2177. ffff21d0: ebffffd9 bl 0xffff213c
  2178. ffff21d4: ebffff80 bl 0xffff1fdc
  2179. ffff21d8: e8bd8010 pop {r4, pc}
  2180. ffff21dc: e92d4070 push {r4, r5, r6, lr}
  2181. ffff21e0: e1a04000 mov r4, r0
  2182. ffff21e4: e3a05000 mov r5, #0
  2183. ffff21e8: e3a06000 mov r6, #0
  2184. ffff21ec: ebffff73 bl 0xffff1fc0
  2185. ffff21f0: e59f0560 ldr r0, [pc, #1376] ; 0xffff2758 =0x01c19410 O_HcInterruptEnable
  2186. ffff21f4: e3a01000 mov r1, #0
  2187. ffff21f8: e5901000 ldr r1, [r0]
  2188. ffff21fc: e3c11002 bic r1, r1, #2
  2189. ffff2200: e5801000 str r1, [r0]
  2190. ffff2204: e3a00001 mov r0, #1
  2191. ffff2208: e51f1944 ldr r1, [pc, #-2372] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2192. ffff220c: e5c10042 strb r0, [r1, #66] ; 0x42
  2193. ffff2210: e3a00007 mov r0, #7
  2194. ffff2214: e5c10094 strb r0, [r1, #148] ; 0x94
  2195. ffff2218: e3a00080 mov r0, #128 ; 0x80
  2196. ffff221c: e1c109b6 strh r0, [r1, #150] ; 0x96
  2197. ffff2220: e3a00002 mov r0, #2
  2198. ffff2224: e5c10042 strb r0, [r1, #66] ; 0x42
  2199. ffff2228: e3a00007 mov r0, #7
  2200. ffff222c: e5c10090 strb r0, [r1, #144] ; 0x90
  2201. ffff2230: e3000100 movw r0, #256 ; 0x100
  2202. ffff2234: e1c109b2 strh r0, [r1, #146] ; 0x92
  2203. ffff2238: e3a00007 mov r0, #7
  2204. ffff223c: e5c10050 strb r0, [r1, #80] ; 0x50
  2205. ffff2240: e1c10000 bic r0, r1, r0
  2206. ffff2244: e5d00048 ldrb r0, [r0, #72] ; 0x48
  2207. ffff2248: e3800001 orr r0, r0, #1
  2208. ffff224c: e5c10048 strb r0, [r1, #72] ; 0x48
  2209. ffff2250: e51f0974 ldr r0, [pc, #-2420] ; 0xffff18e4 =0x00007d00
  2210. ffff2254: e5900000 ldr r0, [r0]
  2211. ffff2258: ebfffd2e bl 0xffff1718
  2212. ffff225c: e3a00002 mov r0, #2
  2213. ffff2260: e5941024 ldr r1, [r4, #36] ; 0x24
  2214. ffff2264: e5c10034 strb r0, [r1, #52] ; 0x34
  2215. ffff2268: ebffffc8 bl 0xffff2190
  2216. ffff226c: e51f09a8 ldr r0, [pc, #-2472] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2217. ffff2270: e5d00040 ldrb r0, [r0, #64] ; 0x40
  2218. ffff2274: e3800040 orr r0, r0, #64 ; 0x40
  2219. ffff2278: e51f19b4 ldr r1, [pc, #-2484] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2220. ffff227c: e5c10040 strb r0, [r1, #64] ; 0x40
  2221. ffff2280: e8bd8070 pop {r4, r5, r6, pc}
  2222. ffff2284: e92d4010 push {r4, lr}
  2223. ffff2288: e1a04000 mov r4, r0
  2224. ffff228c: e51f09c8 ldr r0, [pc, #-2504] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2225. ffff2290: e5d00043 ldrb r0, [r0, #67] ; 0x43
  2226. ffff2294: e20000fe and r0, r0, #254 ; 0xfe
  2227. ffff2298: e51f19d4 ldr r1, [pc, #-2516] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2228. ffff229c: e5c10043 strb r0, [r1, #67] ; 0x43
  2229. ffff22a0: e1a00004 mov r0, r4
  2230. ffff22a4: ebffffcc bl 0xffff21dc
  2231. ffff22a8: ebfffe90 bl 0xffff1cf0
  2232. ffff22ac: e1a00004 mov r0, r4
  2233. ffff22b0: ebfffaf9 bl 0xffff0e9c
  2234. ffff22b4: ebfff7b0 bl 0xffff017c
  2235. ffff22b8: e8bd8010 pop {r4, pc}
  2236. ffff22bc: e3a01000 mov r1, #0
  2237. ffff22c0: e5801008 str r1, [r0, #8]
  2238. ffff22c4: e5801004 str r1, [r0, #4]
  2239. ffff22c8: e5801000 str r1, [r0]
  2240. ffff22cc: e12fff1e bx lr
  2241. ffff22d0: e92d4010 push {r4, lr}
  2242. ffff22d4: e3002100 movw r2, #256 ; 0x100
  2243. ffff22d8: e3a010cc mov r1, #204 ; 0xcc
  2244. ffff22dc: e3070e00 movw r0, #32256 ; 0x7e00
  2245. ffff22e0: ebfff97d bl 0xffff08dc
  2246. ffff22e4: e8bd8010 pop {r4, pc}
  2247. ffff22e8: e92d4010 push {r4, lr}
  2248. ffff22ec: e24ddd47 sub sp, sp, #4544 ; 0x11c0
  2249. ffff22f0: ebfffff6 bl 0xffff22d0
  2250. ffff22f4: e28d0a01 add r0, sp, #4096 ; 0x1000
  2251. ffff22f8: e2800f5f add r0, r0, #380 ; 0x17c
  2252. ffff22fc: e51f1a20 ldr r1, [pc, #-2592] ; 0xffff18e4 =0x00007d00
  2253. ffff2300: e5810000 str r0, [r1]
  2254. ffff2304: e28d1a01 add r1, sp, #4096 ; 0x1000
  2255. ffff2308: e2811f5a add r1, r1, #360 ; 0x168
  2256. ffff230c: e28d0a01 add r0, sp, #4096 ; 0x1000
  2257. ffff2310: e580117c str r1, [r0, #380] ; 0x17c
  2258. ffff2314: e28d1a01 add r1, sp, #4096 ; 0x1000
  2259. ffff2318: e2811f57 add r1, r1, #348 ; 0x15c
  2260. ffff231c: e28d0a01 add r0, sp, #4096 ; 0x1000
  2261. ffff2320: e5801180 str r1, [r0, #384] ; 0x180
  2262. ffff2324: e28d1a01 add r1, sp, #4096 ; 0x1000
  2263. ffff2328: e2811e15 add r1, r1, #336 ; 0x150
  2264. ffff232c: e28d0a01 add r0, sp, #4096 ; 0x1000
  2265. ffff2330: e5801184 str r1, [r0, #388] ; 0x184
  2266. ffff2334: e28d1a01 add r1, sp, #4096 ; 0x1000
  2267. ffff2338: e2811f52 add r1, r1, #328 ; 0x148
  2268. ffff233c: e28d0a01 add r0, sp, #4096 ; 0x1000
  2269. ffff2340: e5801188 str r1, [r0, #392] ; 0x188
  2270. ffff2344: e28d1d45 add r1, sp, #4416 ; 0x1140
  2271. ffff2348: e28d0a01 add r0, sp, #4096 ; 0x1000
  2272. ffff234c: e580118c str r1, [r0, #396] ; 0x18c
  2273. ffff2350: e28d1a01 add r1, sp, #4096 ; 0x1000
  2274. ffff2354: e2811f4e add r1, r1, #312 ; 0x138
  2275. ffff2358: e28d0a01 add r0, sp, #4096 ; 0x1000
  2276. ffff235c: e5801190 str r1, [r0, #400] ; 0x190
  2277. ffff2360: e28d1a01 add r1, sp, #4096 ; 0x1000
  2278. ffff2364: e2811e13 add r1, r1, #304 ; 0x130
  2279. ffff2368: e28d0a01 add r0, sp, #4096 ; 0x1000
  2280. ffff236c: e5801194 str r1, [r0, #404] ; 0x194
  2281. ffff2370: e28d1a01 add r1, sp, #4096 ; 0x1000
  2282. ffff2374: e2811f4a add r1, r1, #296 ; 0x128
  2283. ffff2378: e28d0a01 add r0, sp, #4096 ; 0x1000
  2284. ffff237c: e5801198 str r1, [r0, #408] ; 0x198
  2285. ffff2380: e28d1a01 add r1, sp, #4096 ; 0x1000
  2286. ffff2384: e2811e12 add r1, r1, #288 ; 0x120
  2287. ffff2388: e28d0a01 add r0, sp, #4096 ; 0x1000
  2288. ffff238c: e580119c str r1, [r0, #412] ; 0x19c
  2289. ffff2390: e28d1a01 add r1, sp, #4096 ; 0x1000
  2290. ffff2394: e28110d8 add r1, r1, #216 ; 0xd8
  2291. ffff2398: e28d0a01 add r0, sp, #4096 ; 0x1000
  2292. ffff239c: e58011a0 str r1, [r0, #416] ; 0x1a0
  2293. ffff23a0: e28d1a01 add r1, sp, #4096 ; 0x1000
  2294. ffff23a4: e28110bc add r1, r1, #188 ; 0xbc
  2295. ffff23a8: e28d0a01 add r0, sp, #4096 ; 0x1000
  2296. ffff23ac: e58011a4 str r1, [r0, #420] ; 0x1a4
  2297. ffff23b0: e28d1a01 add r1, sp, #4096 ; 0x1000
  2298. ffff23b4: e28110a0 add r1, r1, #160 ; 0xa0
  2299. ffff23b8: e28d0a01 add r0, sp, #4096 ; 0x1000
  2300. ffff23bc: e58011a8 str r1, [r0, #424] ; 0x1a8
  2301. ffff23c0: e28d1a01 add r1, sp, #4096 ; 0x1000
  2302. ffff23c4: e2811084 add r1, r1, #132 ; 0x84
  2303. ffff23c8: e28d0a01 add r0, sp, #4096 ; 0x1000
  2304. ffff23cc: e58011ac str r1, [r0, #428] ; 0x1ac
  2305. ffff23d0: e28d1a01 add r1, sp, #4096 ; 0x1000
  2306. ffff23d4: e2811068 add r1, r1, #104 ; 0x68
  2307. ffff23d8: e28d0a01 add r0, sp, #4096 ; 0x1000
  2308. ffff23dc: e58011b0 str r1, [r0, #432] ; 0x1b0
  2309. ffff23e0: e28d0a01 add r0, sp, #4096 ; 0x1000
  2310. ffff23e4: e2800f6d add r0, r0, #436 ; 0x1b4
  2311. ffff23e8: ebffffb3 bl 0xffff22bc
  2312. ffff23ec: ebfffe3a bl 0xffff1cdc
  2313. ffff23f0: e28d0a01 add r0, sp, #4096 ; 0x1000
  2314. ffff23f4: e2800f5a add r0, r0, #360 ; 0x168
  2315. ffff23f8: ebfffe3f bl 0xffff1cfc
  2316. ffff23fc: e28d0a01 add r0, sp, #4096 ; 0x1000
  2317. ffff2400: e2800f57 add r0, r0, #348 ; 0x15c
  2318. ffff2404: ebfffe55 bl 0xffff1d60
  2319. ffff2408: e28d0a01 add r0, sp, #4096 ; 0x1000
  2320. ffff240c: e2800e15 add r0, r0, #336 ; 0x150
  2321. ffff2410: ebfffe62 bl 0xffff1da0
  2322. ffff2414: e28d0a01 add r0, sp, #4096 ; 0x1000
  2323. ffff2418: e2800f52 add r0, r0, #328 ; 0x148
  2324. ffff241c: ebfffe6f bl 0xffff1de0
  2325. ffff2420: e28d0d45 add r0, sp, #4416 ; 0x1140
  2326. ffff2424: ebfffe7a bl 0xffff1e14
  2327. ffff2428: e28d2a01 add r2, sp, #4096 ; 0x1000
  2328. ffff242c: e2822f52 add r2, r2, #328 ; 0x148
  2329. ffff2430: e28d1d45 add r1, sp, #4416 ; 0x1140
  2330. ffff2434: e28d0a01 add r0, sp, #4096 ; 0x1000
  2331. ffff2438: e2800f4e add r0, r0, #312 ; 0x138
  2332. ffff243c: ebfffe81 bl 0xffff1e48
  2333. ffff2440: e28d0a01 add r0, sp, #4096 ; 0x1000
  2334. ffff2444: e2800e13 add r0, r0, #304 ; 0x130
  2335. ffff2448: ebfffe81 bl 0xffff1e54
  2336. ffff244c: e28d0a01 add r0, sp, #4096 ; 0x1000
  2337. ffff2450: e2800f4a add r0, r0, #296 ; 0x128
  2338. ffff2454: ebfffe7f bl 0xffff1e58
  2339. ffff2458: e28d2a01 add r2, sp, #4096 ; 0x1000
  2340. ffff245c: e2822e13 add r2, r2, #304 ; 0x130
  2341. ffff2460: e28d1a01 add r1, sp, #4096 ; 0x1000
  2342. ffff2464: e2811f4a add r1, r1, #296 ; 0x128
  2343. ffff2468: e28d0a01 add r0, sp, #4096 ; 0x1000
  2344. ffff246c: e2800e12 add r0, r0, #288 ; 0x120
  2345. ffff2470: ebfffe79 bl 0xffff1e5c
  2346. ffff2474: e28d2d45 add r2, sp, #4416 ; 0x1140
  2347. ffff2478: e28d1a01 add r1, sp, #4096 ; 0x1000
  2348. ffff247c: e2811f52 add r1, r1, #328 ; 0x148
  2349. ffff2480: e28d0a01 add r0, sp, #4096 ; 0x1000
  2350. ffff2484: e28000d8 add r0, r0, #216 ; 0xd8
  2351. ffff2488: ebfffe74 bl 0xffff1e60
  2352. ffff248c: e28d3a01 add r3, sp, #4096 ; 0x1000
  2353. ffff2490: e2833084 add r3, r3, #132 ; 0x84
  2354. ffff2494: e28d2a01 add r2, sp, #4096 ; 0x1000
  2355. ffff2498: e2822068 add r2, r2, #104 ; 0x68
  2356. ffff249c: e28d1068 add r1, sp, #104 ; 0x68
  2357. ffff24a0: e28d0a01 add r0, sp, #4096 ; 0x1000
  2358. ffff24a4: e28000bc add r0, r0, #188 ; 0xbc
  2359. ffff24a8: ebfffe92 bl 0xffff1ef8
  2360. ffff24ac: e28d1024 add r1, sp, #36 ; 0x24
  2361. ffff24b0: e28d0a01 add r0, sp, #4096 ; 0x1000
  2362. ffff24b4: e28000a0 add r0, r0, #160 ; 0xa0
  2363. ffff24b8: ebfffe98 bl 0xffff1f20
  2364. ffff24bc: e28d1068 add r1, sp, #104 ; 0x68
  2365. ffff24c0: e28d0a01 add r0, sp, #4096 ; 0x1000
  2366. ffff24c4: e2800084 add r0, r0, #132 ; 0x84
  2367. ffff24c8: ebfffeab bl 0xffff1f7c
  2368. ffff24cc: e28d1068 add r1, sp, #104 ; 0x68
  2369. ffff24d0: e28d0a01 add r0, sp, #4096 ; 0x1000
  2370. ffff24d4: e2800068 add r0, r0, #104 ; 0x68
  2371. ffff24d8: ebfffe9b bl 0xffff1f4c
  2372. ffff24dc: e28d1a01 add r1, sp, #4096 ; 0x1000
  2373. ffff24e0: e28d3a01 add r3, sp, #4096 ; 0x1000
  2374. ffff24e4: e2833084 add r3, r3, #132 ; 0x84
  2375. ffff24e8: e28d2a01 add r2, sp, #4096 ; 0x1000
  2376. ffff24ec: e2822068 add r2, r2, #104 ; 0x68
  2377. ffff24f0: e59101a0 ldr r0, [r1, #416] ; 0x1a0
  2378. ffff24f4: e28d1a01 add r1, sp, #4096 ; 0x1000
  2379. ffff24f8: e28110a0 add r1, r1, #160 ; 0xa0
  2380. ffff24fc: ebfffeaa bl 0xffff1fac
  2381. ffff2500: e28d0a01 add r0, sp, #4096 ; 0x1000
  2382. ffff2504: e2800f5f add r0, r0, #380 ; 0x17c
  2383. ffff2508: ebfffa68 bl 0xffff0eb0
  2384. ffff250c: e28d0a01 add r0, sp, #4096 ; 0x1000
  2385. ffff2510: e2800f5f add r0, r0, #380 ; 0x17c
  2386. ffff2514: ebffff5a bl 0xffff2284
  2387. ffff2518: e28d0a01 add r0, sp, #4096 ; 0x1000
  2388. ffff251c: e2800f5f add r0, r0, #380 ; 0x17c
  2389. ffff2520: ebfff8d2 bl 0xffff0870
  2390. ffff2524: e28ddd47 add sp, sp, #4544 ; 0x11c0
  2391. ffff2528: e8bd8010 pop {r4, pc}
  2392. ffff252c: e92d4070 push {r4, r5, r6, lr}
  2393. ffff2530: e1a04000 mov r4, r0
  2394. ffff2534: e3a06000 mov r6, #0
  2395. ffff2538: e3045e20 movw r5, #20000 ; 0x4e20
  2396. ffff253c: e5940024 ldr r0, [r4, #36] ; 0x24
  2397. ffff2540: e2806020 add r6, r0, #32
  2398. ffff2544: e5d60004 ldrb r0, [r6, #4]
  2399. ffff2548: ebfffa02 bl 0xffff0d58
  2400. ffff254c: ea00000a b 0xffff257c
  2401. ffff2550: e51f0c8c ldr r0, [pc, #-3212] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2402. ffff2554: e1d008b2 ldrh r0, [r0, #130] ; 0x82
  2403. ffff2558: e3100001 tst r0, #1
  2404. ffff255c: 1a000001 bne 0xffff2568
  2405. ffff2560: e3a00001 mov r0, #1
  2406. ffff2564: e8bd8070 pop {r4, r5, r6, pc}
  2407. ffff2568: e3550000 cmp r5, #0
  2408. ffff256c: 1a000001 bne 0xffff2578
  2409. ffff2570: e3a00002 mov r0, #2
  2410. ffff2574: eafffffa b 0xffff2564
  2411. ffff2578: e2455001 sub r5, r5, #1
  2412. ffff257c: eafffff3 b 0xffff2550
  2413. ffff2580: e92d40f0 push {r4, r5, r6, r7, lr}
  2414. ffff2584: e1a04000 mov r4, r0
  2415. ffff2588: e3a05000 mov r5, #0
  2416. ffff258c: e5926004 ldr r6, [r2, #4]
  2417. ffff2590: e5927010 ldr r7, [r2, #16]
  2418. ffff2594: e0466007 sub r6, r6, r7
  2419. ffff2598: e1560003 cmp r6, r3
  2420. ffff259c: 2a000003 bcs 0xffff25b0
  2421. ffff25a0: e5926004 ldr r6, [r2, #4]
  2422. ffff25a4: e5927010 ldr r7, [r2, #16]
  2423. ffff25a8: e0466007 sub r6, r6, r7
  2424. ffff25ac: ea000000 b 0xffff25b4
  2425. ffff25b0: e1a06003 mov r6, r3
  2426. ffff25b4: e1a00006 mov r0, r6
  2427. ffff25b8: e5926010 ldr r6, [r2, #16]
  2428. ffff25bc: e0866000 add r6, r6, r0
  2429. ffff25c0: e5826010 str r6, [r2, #16]
  2430. ffff25c4: e1a03000 mov r3, r0
  2431. ffff25c8: e3530004 cmp r3, #4
  2432. ffff25cc: 9a00000a bls 0xffff25fc
  2433. ffff25d0: ea000005 b 0xffff25ec
  2434. ffff25d4: e5d46000 ldrb r6, [r4]
  2435. ffff25d8: e5c16000 strb r6, [r1]
  2436. ffff25dc: e3550008 cmp r5, #8
  2437. ffff25e0: 2a000000 bcs 0xffff25e8
  2438. ffff25e4: e2855001 add r5, r5, #1
  2439. ffff25e8: e2811001 add r1, r1, #1
  2440. ffff25ec: e1b06003 movs r6, r3
  2441. ffff25f0: e2433001 sub r3, r3, #1
  2442. ffff25f4: 1afffff6 bne 0xffff25d4
  2443. ffff25f8: ea000013 b 0xffff264c
  2444. ffff25fc: e1a06001 mov r6, r1
  2445. ffff2600: e1a0c001 mov ip, r1
  2446. ffff2604: e3530004 cmp r3, #4
  2447. ffff2608: 1a000002 bne 0xffff2618
  2448. ffff260c: e5947000 ldr r7, [r4]
  2449. ffff2610: e5867000 str r7, [r6]
  2450. ffff2614: ea00000b b 0xffff2648
  2451. ffff2618: e3530002 cmp r3, #2
  2452. ffff261c: 1a000002 bne 0xffff262c
  2453. ffff2620: e1d470b0 ldrh r7, [r4]
  2454. ffff2624: e1cc70b0 strh r7, [ip]
  2455. ffff2628: ea000006 b 0xffff2648
  2456. ffff262c: ea000002 b 0xffff263c
  2457. ffff2630: e5d47000 ldrb r7, [r4]
  2458. ffff2634: e5c17000 strb r7, [r1]
  2459. ffff2638: e2811001 add r1, r1, #1
  2460. ffff263c: e1b07003 movs r7, r3
  2461. ffff2640: e2433001 sub r3, r3, #1
  2462. ffff2644: 1afffff9 bne 0xffff2630
  2463. ffff2648: e320f000 nop {0}
  2464. ffff264c: e8bd80f0 pop {r4, r5, r6, r7, pc}
  2465. ffff2650: e1a01000 mov r1, r0
  2466. ffff2654: e5910040 ldr r0, [r1, #64] ; 0x40
  2467. ffff2658: e3500000 cmp r0, #0
  2468. ffff265c: 1a000002 bne 0xffff266c
  2469. ffff2660: e51f0d9c ldr r0, [pc, #-3484] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2470. ffff2664: e5d0004c ldrb r0, [r0, #76] ; 0x4c
  2471. ffff2668: e5810040 str r0, [r1, #64] ; 0x40
  2472. ffff266c: e5910040 ldr r0, [r1, #64] ; 0x40
  2473. ffff2670: e12fff1e bx lr
  2474. ffff2674: e92d4070 push {r4, r5, r6, lr}
  2475. ffff2678: e1a03000 mov r3, r0
  2476. ffff267c: e3a00000 mov r0, #0
  2477. ffff2680: e5915000 ldr r5, [r1]
  2478. ffff2684: e5916010 ldr r6, [r1, #16]
  2479. ffff2688: e0854006 add r4, r5, r6
  2480. ffff268c: e5915004 ldr r5, [r1, #4]
  2481. ffff2690: e5916010 ldr r6, [r1, #16]
  2482. ffff2694: e0455006 sub r5, r5, r6
  2483. ffff2698: e1550002 cmp r5, r2
  2484. ffff269c: 2a000003 bcs 0xffff26b0
  2485. ffff26a0: e5915004 ldr r5, [r1, #4]
  2486. ffff26a4: e5916010 ldr r6, [r1, #16]
  2487. ffff26a8: e045c006 sub ip, r5, r6
  2488. ffff26ac: ea000000 b 0xffff26b4
  2489. ffff26b0: e1a0c002 mov ip, r2
  2490. ffff26b4: e1a0000c mov r0, ip
  2491. ffff26b8: e5915010 ldr r5, [r1, #16]
  2492. ffff26bc: e0855000 add r5, r5, r0
  2493. ffff26c0: e5815010 str r5, [r1, #16]
  2494. ffff26c4: e1a02000 mov r2, r0
  2495. ffff26c8: ea000001 b 0xffff26d4
  2496. ffff26cc: e4d45001 ldrb r5, [r4], #1
  2497. ffff26d0: e5c35000 strb r5, [r3]
  2498. ffff26d4: e1b05002 movs r5, r2
  2499. ffff26d8: e2422001 sub r2, r2, #1
  2500. ffff26dc: 1afffffa bne 0xffff26cc
  2501. ffff26e0: e8bd8070 pop {r4, r5, r6, pc}
  2502. ffff26e4: e1a02000 mov r2, r0
  2503. ffff26e8: e5920038 ldr r0, [r2, #56] ; 0x38
  2504. ffff26ec: e1c00001 bic r0, r0, r1
  2505. ffff26f0: e5820038 str r0, [r2, #56] ; 0x38
  2506. ffff26f4: e51f0e30 ldr r0, [pc, #-3632] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2507. ffff26f8: e5c01044 strb r1, [r0, #68] ; 0x44
  2508. ffff26fc: e3a00000 mov r0, #0
  2509. ffff2700: e12fff1e bx lr
  2510. ffff2704: e1a02000 mov r2, r0
  2511. ffff2708: e5920040 ldr r0, [r2, #64] ; 0x40
  2512. ffff270c: e1c00001 bic r0, r0, r1
  2513. ffff2710: e5820040 str r0, [r2, #64] ; 0x40
  2514. ffff2714: e51f0e50 ldr r0, [pc, #-3664] ; 0xffff18cc =0x01c19000 USB_OTG_BASE
  2515. ffff2718: e5c0104c strb r1, [r0, #76] ; 0x4c
  2516. ffff271c: e3a00000 mov r0, #0
  2517. ffff2720: e12fff1e bx lr
  2518. ;; Global Offset Table
  2519. ffff2724: 01010101
  2520. ffff2728: 01c81000 ; GIC_DIST
  2521. ffff272c: a0a0a0a0
  2522. ffff2730: 01c81420
  2523. ffff2734: 01c81820
  2524. ffff2738: 01c82000
  2525. ffff273c: 01c81410
  2526. ffff2740: ffff0890
  2527. ffff2744: ffff08a8
  2528. ffff2748: ffff089c
  2529. ffff274c: 01c20000 ; CCU_BASE
  2530. ffff2750: 7ffce0ff
  2531. ffff2754: 01c19400 ; O_HcRevision
  2532. ffff2758: 01c19410 ; O_HcInterruptEnable
  2533. ffff275c: e92d4001 push {r0, lr}
  2534. ffff2760: ebffffff bl 0xffff2764
  2535. ffff2764: ebffffff bl 0xffff2768
  2536. ffff2768: ebffffff bl 0xffff276c
  2537. ffff276c: ebffffff bl 0xffff2770
  2538. ffff2770: ebffffff bl 0xffff2774
  2539. ffff2774: ebffffff bl 0xffff2778
  2540. ffff2778: ebffffff bl 0xffff277c
  2541. ffff277c: ebffffff bl 0xffff2780
  2542. ffff2780: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
  2543. ffff2784: e3800b02 orr r0, r0, #2048 ; 0x800
  2544. ffff2788: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
  2545. ffff278c: e8bd4001 pop {r0, lr}
  2546. ffff2790: e1a0f00e mov pc, lr
  2547. ffff2794: e92d4001 push {r0, lr}
  2548. ffff2798: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
  2549. ffff279c: e3800a01 orr r0, r0, #4096 ; 0x1000
  2550. ffff27a0: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
  2551. ffff27a4: e8bd4001 pop {r0, lr}
  2552. ffff27a8: e1a0f00e mov pc, lr
  2553. ffff27ac: e92d4001 push {r0, lr}
  2554. ffff27b0: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
  2555. ffff27b4: e3800004 orr r0, r0, #4
  2556. ffff27b8: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
  2557. ffff27bc: e8bd4001 pop {r0, lr}
  2558. ffff27c0: e1a0f00e mov pc, lr
  2559. ffff27c4: e92d4001 push {r0, lr}
  2560. ffff27c8: ee110f30 mrc 15, 0, r0, cr1, cr0, {1}
  2561. ffff27cc: e3800002 orr r0, r0, #2
  2562. ffff27d0: ee010f30 mcr 15, 0, r0, cr1, cr0, {1}
  2563. ffff27d4: e8bd4001 pop {r0, lr}
  2564. ffff27d8: e1a0f00e mov pc, lr
  2565. ffff27dc: e92d4001 push {r0, lr}
  2566. ffff27e0: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
  2567. ffff27e4: e3800001 orr r0, r0, #1
  2568. ffff27e8: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
  2569. ffff27ec: e8bd4001 pop {r0, lr}
  2570. ffff27f0: e1a0f00e mov pc, lr
  2571. ffff27f4: e92d4001 push {r0, lr}
  2572. ffff27f8: ee110f30 mrc 15, 0, r0, cr1, cr0, {1}
  2573. ffff27fc: e3c00002 bic r0, r0, #2
  2574. ffff2800: ee010f30 mcr 15, 0, r0, cr1, cr0, {1}
  2575. ffff2804: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
  2576. ffff2808: e3c00001 bic r0, r0, #1
  2577. ffff280c: e3c00b02 bic r0, r0, #2048 ; 0x800
  2578. ffff2810: e3c00a01 bic r0, r0, #4096 ; 0x1000
  2579. ffff2814: e3c00004 bic r0, r0, #4
  2580. ffff2818: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
  2581. ffff281c: e8bd4001 pop {r0, lr}
  2582. ffff2820: e1a0f00e mov pc, lr
  2583. ffff2824: e92d5fff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2584. ffff2828: ee300f30 mrc 15, 1, r0, cr0, cr0, {1}
  2585. ffff282c: e2103407 ands r3, r0, #117440512 ; 0x7000000
  2586. ffff2830: e1a03ba3 lsr r3, r3, #23
  2587. ffff2834: 0a00001a beq 0xffff28a4
  2588. ffff2838: e3a0a000 mov sl, #0
  2589. ffff283c: e08a20aa add r2, sl, sl, lsr #1
  2590. ffff2840: e1a01230 lsr r1, r0, r2
  2591. ffff2844: e2011007 and r1, r1, #7
  2592. ffff2848: e3510002 cmp r1, #2
  2593. ffff284c: ba000011 blt 0xffff2898
  2594. ffff2850: ee40af10 mcr 15, 2, sl, cr0, cr0, {0}
  2595. ffff2854: f57ff06f isb sy
  2596. ffff2858: ee301f10 mrc 15, 1, r1, cr0, cr0, {0}
  2597. ffff285c: e2012007 and r2, r1, #7
  2598. ffff2860: e2822004 add r2, r2, #4
  2599. ffff2864: e30043ff movw r4, #1023 ; 0x3ff
  2600. ffff2868: e01441a1 ands r4, r4, r1, lsr #3
  2601. ffff286c: e16f5f14 clz r5, r4
  2602. ffff2870: e3077fff movw r7, #32767 ; 0x7fff
  2603. ffff2874: e01776a1 ands r7, r7, r1, lsr #13
  2604. ffff2878: e1a09004 mov r9, r4
  2605. ffff287c: e18ab519 orr fp, sl, r9, lsl r5
  2606. ffff2880: e18bb217 orr fp, fp, r7, lsl r2
  2607. ffff2884: ee07bf5e mcr 15, 0, fp, cr7, cr14, {2}
  2608. ffff2888: e2599001 subs r9, r9, #1
  2609. ffff288c: aafffffa bge 0xffff287c
  2610. ffff2890: e2577001 subs r7, r7, #1
  2611. ffff2894: aafffff7 bge 0xffff2878
  2612. ffff2898: e28aa002 add sl, sl, #2
  2613. ffff289c: e153000a cmp r3, sl
  2614. ffff28a0: caffffe5 bgt 0xffff283c
  2615. ffff28a4: e3a0a000 mov sl, #0
  2616. ffff28a8: ee40af10 mcr 15, 2, sl, cr0, cr0, {0}
  2617. ffff28ac: f57ff06f isb sy
  2618. ffff28b0: e8bd5fff pop {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2619. ffff28b4: e1a0f00e mov pc, lr
  2620. ffff28b8: e92d0003 push {r0, r1}
  2621. ffff28bc: e3a00000 mov r0, #0
  2622. ffff28c0: ee070f15 mcr 15, 0, r0, cr7, cr5, {0}
  2623. ffff28c4: e8bd0003 pop {r0, r1}
  2624. ffff28c8: e1a0f00e mov pc, lr
  2625. ffff28cc: e92d4001 push {r0, lr}
  2626. ffff28d0: ebfffff8 bl 0xffff28b8
  2627. ffff28d4: ebffffd2 bl 0xffff2824
  2628. ffff28d8: e8bd4001 pop {r0, lr}
  2629. ffff28dc: e1a0f00e mov pc, lr
  2630. ffff28e0: e92d5fff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2631. ffff28e4: e3a02040 mov r2, #64 ; 0x40
  2632. ffff28e8: e2423001 sub r3, r2, #1
  2633. ffff28ec: e1c00003 bic r0, r0, r3
  2634. ffff28f0: ee070f3b mcr 15, 0, r0, cr7, cr11, {1}
  2635. ffff28f4: f57ff04f dsb sy
  2636. ffff28f8: ee070f35 mcr 15, 0, r0, cr7, cr5, {1}
  2637. ffff28fc: e0800002 add r0, r0, r2
  2638. ffff2900: e1500001 cmp r0, r1
  2639. ffff2904: 3afffff9 bcc 0xffff28f0
  2640. ffff2908: e3a00000 mov r0, #0
  2641. ffff290c: ee070fd5 mcr 15, 0, r0, cr7, cr5, {6}
  2642. ffff2910: f57ff04f dsb sy
  2643. ffff2914: f57ff06f isb sy
  2644. ffff2918: e8bd5fff pop {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2645. ffff291c: e1a0f00e mov pc, lr
  2646. ffff2920: e92d5fff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2647. ffff2924: e3a02040 mov r2, #64 ; 0x40
  2648. ffff2928: e2423001 sub r3, r2, #1
  2649. ffff292c: e1c00003 bic r0, r0, r3
  2650. ffff2930: ee070f3e mcr 15, 0, r0, cr7, cr14, {1}
  2651. ffff2934: e0800002 add r0, r0, r2
  2652. ffff2938: e1500001 cmp r0, r1
  2653. ffff293c: 3afffffb bcc 0xffff2930
  2654. ffff2940: f57ff04f dsb sy
  2655. ffff2944: e8bd5fff pop {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2656. ffff2948: e1a0f00e mov pc, lr
  2657. ffff294c: e92d5fff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2658. ffff2950: e3a02040 mov r2, #64 ; 0x40
  2659. ffff2954: e2423001 sub r3, r2, #1
  2660. ffff2958: e1c00003 bic r0, r0, r3
  2661. ffff295c: ee070f3a mcr 15, 0, r0, cr7, cr10, {1}
  2662. ffff2960: e0800002 add r0, r0, r2
  2663. ffff2964: e1500001 cmp r0, r1
  2664. ffff2968: 3afffffb bcc 0xffff295c
  2665. ffff296c: f57ff04f dsb sy
  2666. ffff2970: e8bd5fff pop {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2667. ffff2974: e1a0f00e mov pc, lr
  2668. ffff2978: e92d5fff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2669. ffff297c: e3a02040 mov r2, #64 ; 0x40
  2670. ffff2980: e2423001 sub r3, r2, #1
  2671. ffff2984: e1100003 tst r0, r3
  2672. ffff2988: e1c00003 bic r0, r0, r3
  2673. ffff298c: 1e070f3e mcrne 15, 0, r0, cr7, cr14, {1}
  2674. ffff2990: e1110003 tst r1, r3
  2675. ffff2994: e1c11003 bic r1, r1, r3
  2676. ffff2998: 1e071f3e mcrne 15, 0, r1, cr7, cr14, {1}
  2677. ffff299c: ee070f36 mcr 15, 0, r0, cr7, cr6, {1}
  2678. ffff29a0: e0800002 add r0, r0, r2
  2679. ffff29a4: e1500001 cmp r0, r1
  2680. ffff29a8: 3afffffb bcc 0xffff299c
  2681. ffff29ac: f57ff04f dsb sy
  2682. ffff29b0: e8bd5fff pop {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
  2683. ffff29b4: e1a0f00e mov pc, lr
  2684. ffff29b8: e92d4001 push {r0, lr}
  2685. ffff29bc: e3a00000 mov r0, #0
  2686. ffff29c0: ee080f15 mcr 15, 0, r0, cr8, cr5, {0}
  2687. ffff29c4: ee080f16 mcr 15, 0, r0, cr8, cr6, {0}
  2688. ffff29c8: e8bd4001 pop {r0, lr}
  2689. ffff29cc: e1a0f00e mov pc, lr
  2690. ffff29d0: e92d4001 push {r0, lr}
  2691. ffff29d4: e10f0000 mrs r0, CPSR
  2692. ffff29d8: e3c01080 bic r1, r0, #128 ; 0x80
  2693. ffff29dc: e121f001 msr CPSR_c, r1
  2694. ffff29e0: e8bd4001 pop {r0, lr}
  2695. ffff29e4: e1a0f00e mov pc, lr
  2696. ffff29e8: e92d4001 push {r0, lr}
  2697. ffff29ec: e10f0000 mrs r0, CPSR
  2698. ffff29f0: e3801080 orr r1, r0, #128 ; 0x80
  2699. ffff29f4: e121f001 msr CPSR_c, r1
  2700. ffff29f8: e8bd4001 pop {r0, lr}
  2701. ffff29fc: e1a0f00e mov pc, lr
  2702. ffff2a00: e92d4001 push {r0, lr}
  2703. ffff2a04: e10f0000 mrs r0, CPSR
  2704. ffff2a08: e3c01040 bic r1, r0, #64 ; 0x40
  2705. ffff2a0c: e121f001 msr CPSR_c, r1
  2706. ffff2a10: e8bd4001 pop {r0, lr}
  2707. ffff2a14: e1a0f00e mov pc, lr
  2708. ffff2a18: e92d4001 push {r0, lr}
  2709. ffff2a1c: e10f0000 mrs r0, CPSR
  2710. ffff2a20: e3801040 orr r1, r0, #64 ; 0x40
  2711. ffff2a24: e121f001 msr CPSR_c, r1
  2712. ffff2a28: e8bd4001 pop {r0, lr}
  2713. ffff2a2c: e1a0f00e mov pc, lr
  2714. ffff2a30: e92d4001 push {r0, lr}
  2715. ffff2a34: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
  2716. ffff2a38: e3800a02 orr r0, r0, #8192 ; 0x2000
  2717. ffff2a3c: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
  2718. ffff2a40: e8bd4001 pop {r0, lr}
  2719. ffff2a44: e1a0f00e mov pc, lr
  2720. ffff2a48: e92d4001 push {r0, lr}
  2721. ffff2a4c: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}
  2722. ffff2a50: e3c00a02 bic r0, r0, #8192 ; 0x2000
  2723. ffff2a54: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}
  2724. ffff2a58: e8bd4001 pop {r0, lr}
  2725. ffff2a5c: e1a0f00e mov pc, lr
  2726. ...
  2727. ;;;*****************************************************************************
  2728. ;;;
  2729. ;;; Boot ROM
  2730. ;;;
  2731. ;;;*****************************************************************************
  2732. BROM:
  2733. ;; BROM header
  2734. ffff2c00: ea000006 b start ; jump instruction, see below
  2735. ffff2c04: 4e4f4765 .ascii "eGON" ; magic
  2736. ffff2c08: 4d52422e .ascii ".BRM"
  2737. ffff2c0c: 00000020 .word 32 ; header length
  2738. ffff2c10: 30303131 .ascii "1100" ; boot version (1.1.00)
  2739. ffff2c14: 30303131 .ascii "1100" ; eGon version (1.1.00)
  2740. ffff2c18: 31383631 .ascii "1681" ; platform information (V3s)
  2741. ffff2c1c: 00000000 .word 0
  2742. ;; BROM entry point
  2743. ;; Unknown sequence of pulsing
  2744. ;;
  2745. ;; According to the H6 User Manual (https://linux-sunxi.org/images/4/46/Allwinner_H6_V200_User_Manual_V1.1.pdf)
  2746. ;; which has a register with similar offset (0xa4) in its system configuration block,
  2747. ;; it is BROM_OUTPUT_REG, and bit 0 is BROM_OUTPUT_ENABLE, bit 1 is BROM_OUTPUT_VALUE
  2748. ;; This seems to generate a HI/LO/HI/LO/HI sequence on this pin...
  2749. ;; ... Except that it is an unknown pin on the V3s
  2750. start:
  2751. ffff2c20: e59f11bc ldr r1, [pc, #444] ; 0xffff2de4 =0x01c000a4 BROM_OUTPUT_REG
  2752. ffff2c24: e5912000 ldr r2, [r1]
  2753. ffff2c28: e3a03001 mov r3, #1
  2754. ffff2c2c: e1822003 orr r2, r2, r3
  2755. ffff2c30: e5812000 str r2, [r1] ; set bit 0 BROM_OUTPUT_ENABLE
  2756. ffff2c34: e59f11a8 ldr r1, [pc, #424] ; 0xffff2de4 =0x01c000a4 BROM_OUTPUT_REG
  2757. ffff2c38: e5912000 ldr r2, [r1]
  2758. ffff2c3c: e3a03002 mov r3, #2
  2759. ffff2c40: e1822003 orr r2, r2, r3
  2760. ffff2c44: e5812000 str r2, [r1] ; set bit 1 BROM_OUTPUT_VALUE
  2761. ffff2c48: e3a00014 mov r0, #20 ; delay loop 20 times
  2762. .delay0:
  2763. ffff2c4c: e2500001 subs r0, r0, #1
  2764. ffff2c50: 1afffffd bne .delay0
  2765. ffff2c54: e5912000 ldr r2, [r1]
  2766. ffff2c58: e1c22003 bic r2, r2, r3
  2767. ffff2c5c: e5812000 str r2, [r1] ; clear bit 1 BROM_OUTPUT_VALUE
  2768. ffff2c60: e3a0001e mov r0, #30 ; delay loop 30 times
  2769. .delay1:
  2770. ffff2c64: e2500001 subs r0, r0, #1
  2771. ffff2c68: 1afffffd bne .delay1
  2772. ffff2c6c: e5912000 ldr r2, [r1]
  2773. ffff2c70: e1822003 orr r2, r2, r3
  2774. ffff2c74: e5812000 str r2, [r1] ; set bit 1 BROM_OUTPUT_VALUE
  2775. ffff2c78: e3a00014 mov r0, #20 ; delay loop 20 times
  2776. .delay2:
  2777. ffff2c7c: e2500001 subs r0, r0, #1
  2778. ffff2c80: 1afffffd bne .delay2
  2779. ffff2c84: e5912000 ldr r2, [r1]
  2780. ffff2c88: e1c22003 bic r2, r2, r3
  2781. ffff2c8c: e5812000 str r2, [r1] ; clear bit 1 BROM_OUTPUT_VALUE
  2782. ffff2c90: e3a0001e mov r0, #30 ; delay loop 30 times
  2783. .delay3:
  2784. ffff2c94: e2500001 subs r0, r0, #1
  2785. ffff2c98: 1afffffd bne .delay3
  2786. ffff2c9c: e5912000 ldr r2, [r1]
  2787. ffff2ca0: e1822003 orr r2, r2, r3
  2788. ffff2ca4: e5812000 str r2, [r1] ; set bit 1 BROM_OUTPUT_VALUE
  2789. ffff2ca8: e3a00014 mov r0, #20 ; delay loop 20 times
  2790. .delay4:
  2791. ffff2cac: e2500001 subs r0, r0, #1
  2792. ffff2cb0: 1afffffd bne .delay4
  2793. ffff2cb4: e59f1128 ldr r1, [pc, #296] ; 0xffff2de4 =0x01c000a4 BROM_OUTPUT_REG
  2794. ffff2cb8: e5912000 ldr r2, [r1]
  2795. ffff2cbc: e3a03001 mov r3, #1
  2796. ffff2cc0: e1c22003 bic r2, r2, r3
  2797. ffff2cc4: e5812000 str r2, [r1] ; clear bit 0 BROM_OUTPUT_ENABLE
  2798. ffff2cc8: e3a00050 mov r0, #80 ; delay loop 80 times
  2799. .delay5:
  2800. ffff2ccc: e2500001 subs r0, r0, #1
  2801. ffff2cd0: 1afffffd bne .delay5
  2802. ffff2cd4: ea000001 b .check_multi_cpu
  2803. ;; Start a CPU other than #0, which is unlikely as the V3s only features a single core
  2804. .start_other_cpu:
  2805. ffff2cd8: e59f0108 ldr r0, [pc, #264] ; 0xffff2de8 =0x01f01da4 cpu0+ (or cpu0 hotplug) entry address register?
  2806. ffff2cdc: e590f000 ldr pc, [r0]
  2807. ;; Check for multi-CPU, which is unlikely as the V3s only features a single core
  2808. ;; For system CoProcessor instructions, see https://developer.arm.com/documentation/ddi0344/k/system-control-coprocessor/system-control-coprocessor-registers/register-allocation
  2809. .check_multi_cpu:
  2810. ffff2ce0: ee100fb0 mrc 15, 0, r0, cr0, cr0, {5}; read the MPIDR (Multiprocessor ID Register) from system CoProcessor
  2811. ffff2ce4: e2000003 and r0, r0, #3
  2812. ffff2ce8: e3500000 cmp r0, #0 ; 2 LSB bits are processor #
  2813. ffff2cec: 1afffff9 bne .start_other_cpu; start non-zero CPU
  2814. ffff2cf0: eaffffff b .start_cpu0 ; start CPU 0
  2815. ;; Start CPU #0
  2816. .start_cpu0:
  2817. ffff2cf4: e10f0000 mrs r0, CPSR ; read current program status register
  2818. ffff2cf8: e3c0001f bic r0, r0, #31 ; load System (ARMv4+) R0-R14, CPSR, PC as MASK
  2819. ffff2cfc: e3800013 orr r0, r0, #19 ; set SVC mode (supervisor) R0-R12, R13_svc R14_svc CPSR, SPSR_IRQ, PC
  2820. ffff2d00: e38000c0 orr r0, r0, #192 ; 0xc0e: enable FIQ + IRQ interrupts
  2821. ffff2d04: e3c00c02 bic r0, r0, #512 ; set little endianess
  2822. ffff2d08: e121f000 msr CPSR_c, r0 ; write to current program status register
  2823. ;; Disable MMU, I and D cache and program flow prediction
  2824. ffff2d0c: ee110f10 mrc 15, 0, r0, cr1, cr0, {0}; read CR (Control Register) from CoProcessor
  2825. ffff2d10: e3c00005 bic r0, r0, #5 ; disable MMU and data caching
  2826. ffff2d14: e3c00b06 bic r0, r0, #6144 ; 0x1800: disable program flow prediction and instruction caching
  2827. ffff2d18: ee010f10 mcr 15, 0, r0, cr1, cr0, {0}; write to CoProcessor control register
  2828. ;; Disable watchdog
  2829. ffff2d1c: e59f10c8 ldr r1, [pc, #200] ; 0xffff2dec =0x01c20cb8 load WDOG_MODE_REG address
  2830. ffff2d20: e5912000 ldr r2, [r1] ; load WDOG_MODE_REG value
  2831. ffff2d24: e3c22001 bic r2, r2, #1 ; disable watchdog reset WDOG_EN = 0
  2832. ffff2d28: e5812000 str r2, [r1] ; store WDOG_MODE_REG register
  2833. ;; Configure APB1 and AHB1 clocks, APB1 clock is /4
  2834. ffff2d2c: e59f10bc ldr r1, [pc, #188] ; 0xffff2df0 =0x01c20000 load CCU base address
  2835. ffff2d30: e5912054 ldr r2, [r1, #84] ; load AHB1_APB1_CFG_REG
  2836. ffff2d34: e3a03e33 mov r3, #816 ; 0x330: APB1_CLK_RATIO = 0x11, AHB1_PRE_DIV = 0x11, AHB1_CLK_DIV_RATIO = 0x11 (mask)
  2837. ffff2d38: e1c22003 bic r2, r2, r3 ; APB1_CLK_RATIO = 0x00, AHB1_PRE_DIV = 0x00, AHB1_CLK_DIV_RATIO = 0x00
  2838. ffff2d3c: e3a03c01 mov r3, #256 ; 0x100: APB1_CLK_RATIO = 0x10 (/4)
  2839. ffff2d40: e1822003 orr r2, r2, r3
  2840. ffff2d44: e5812054 str r2, [r1, #84] ; store AHB1_APB1_CFG_REG
  2841. ;; Enable DMA and PIO clock gating, reset DMA
  2842. ffff2d48: e5912060 ldr r2, [r1, #96] ; load BUS_CLK_GATING_REG0
  2843. ffff2d4c: e3a03040 mov r3, #64 ; DMA_GATING = 0x1
  2844. ffff2d50: e1822003 orr r2, r2, r3
  2845. ffff2d54: e5812060 str r2, [r1, #96] ; store BUS_CLK_GATING_REG0
  2846. ffff2d58: e5912068 ldr r2, [r1, #104] ; load BUS_CLK_GATING_REG2
  2847. ffff2d5c: e3a03020 mov r3, #32 ; PIO_GATING = 0x1
  2848. ffff2d60: e1822003 orr r2, r2, r3
  2849. ffff2d64: e5812068 str r2, [r1, #104] ; store BUS_CLK_GATING_REG2
  2850. ffff2d68: e59122c0 ldr r2, [r1, #704] ; load BUS_SOFT_RST_REG0
  2851. ffff2d6c: e3a03040 mov r3, #64 ; DMA_RST = 1
  2852. ffff2d70: e1822003 orr r2, r2, r3
  2853. ffff2d74: e58122c0 str r2, [r1, #704] ; store BUS_SOFT_RST_REG0
  2854. ;; Setup stack pointer to end of SRAM A1 (16KB)
  2855. ffff2d78: e59fd074 ldr sp, [pc, #116] ; 0xffff2df4 =0x00003ffc setup stack pointer to end of SRAM A1 (16KB)
  2856. ;; Check if resuming from standby mode
  2857. ffff2d7c: e59f3074 ldr r3, [pc, #116] ; 0xffff2df8 =0x01f01da0 standby flag register?
  2858. ffff2d80: e5932000 ldr r2, [r3]
  2859. ffff2d84: e30f1fff movw r1, #65535 ; 0xffff
  2860. ffff2d88: e0010002 and r0, r1, r2
  2861. ffff2d8c: e30e1fe8 movw r1, #61416 ; 0xefe8
  2862. ffff2d90: e1500001 cmp r0, r1
  2863. ffff2d94: 0a000058 beq resume_from_standby
  2864. ;; Clear undocumented register in System Control block
  2865. ;; Is this to enable SRAM C for CPU/DMA access?
  2866. ffff2d98: e3a01507 mov r1, #29360128 ; 0x1c00000: undocumented register in System Control block
  2867. ffff2d9c: e3a02000 mov r2, #0
  2868. ffff2da0: e5812000 str r2, [r1]
  2869. ;; Gate the Video Engine clock and reset it: why is it done here?
  2870. ;; Is it related to SRAM C being connected to the Video Engine?
  2871. ffff2da4: e59f1050 ldr r1, [pc, #80] ; 0xffff2dfc =0x01c20064 load BUS_CLK_GATING_REG1
  2872. ffff2da8: e5912000 ldr r2, [r1]
  2873. ffff2dac: e3a03001 mov r3, #1 ; VE_GATING = 1
  2874. ffff2db0: e1822003 orr r2, r2, r3
  2875. ffff2db4: e5812000 str r2, [r1] ; store BUS_CLK_GATING_REG1
  2876. ffff2db8: e59f1040 ldr r1, [pc, #64] ; 0xffff2e00 =0x01c202c4 load BUS_SOFT_RST_REG1
  2877. ffff2dbc: e5912000 ldr r2, [r1]
  2878. ffff2dc0: e3a03001 mov r3, #1 ; VE_RST = 1
  2879. ffff2dc4: e1822003 orr r2, r2, r3
  2880. ffff2dc8: e5812000 str r2, [r1] ; store BUS_SOFT_RST_REG1
  2881. ffff2dcc: e3a00e7d mov r0, #2000 ; 0x7d0
  2882. .delay_6:
  2883. ffff2dd0: e2500001 subs r0, r0, #1
  2884. ffff2dd4: 1afffffd bne .delay_6
  2885. ;; Setup stack pointer to 4k below end of SRAM C (44KB)
  2886. ffff2dd8: e59fd024 ldr sp, [pc, #36] ; 0xffff2e04 = 0x0000dffc setup stack pointer to 4k below end of SRAM C (44KB)
  2887. ffff2ddc: eb000014 bl boot ; jump to boot
  2888. ffff2de0: eafffffe b 0xffff2de0 ; loop forever
  2889. ;; Global Offset table
  2890. ffff2de4: 01c000a4
  2891. ffff2de8: 01f01da4 ; cpu0+ (or cpu hotplug) entry address register?
  2892. ffff2dec: 01c20cb8 ; WDOG_MODE_REG
  2893. ffff2df0: 01c20000 ; CCU_BASE
  2894. ffff2df4: 00003ffc
  2895. ffff2df8: 01f01da0 ; standby flag register?
  2896. ffff2dfc: 01c20064 ; BUS_CLK_GATING_REG1
  2897. ffff2e00: 01c202c4 ; BUS_SOFT_RST_REG1
  2898. ffff2e04: 0000dffc
  2899. ;;;*****************************************************************************
  2900. ;; Fetch the content of 0x20000 + r0 * 256 into r2, for unknow purpose
  2901. ffff2e08: e3a02000 mov r2, #0
  2902. ffff2e0c: e3a01000 mov r1, #0
  2903. ffff2e10: e3a03802 mov r3, #131072 ; 0x20000
  2904. ffff2e14: e0831400 add r1, r3, r0, lsl #8
  2905. ffff2e18: e5912000 ldr r2, [r1]
  2906. ffff2e1c: e12fff1e bx lr
  2907. ;;;*****************************************************************************
  2908. jump_spl:
  2909. ffff2e20: e1a04000 mov r4, r0
  2910. ffff2e24: e1a00004 mov r0, r4
  2911. ffff2e28: eb000ce6 bl jump_to
  2912. ffff2e2c: e320f000 nop {0}
  2913. ffff2e30: eafffffe b 0xffff2e30 ; loop forever
  2914. ;;; *****************************************************************************
  2915. ;; Boot sequence check
  2916. ;; Check first uboot button, it does not look like it is accessible on any of the V3s pins (please let me know!)
  2917. boot:
  2918. ffff2e34: eb000cce bl check_uboot ; check if uboot button is pressed, return value in r0
  2919. ffff2e38: e1a04000 mov r4, r0 ; r4 = check_uboot();
  2920. ffff2e3c: e3540000 cmp r4, #0 ; see if check_uboot returned 0
  2921. ffff2e40: 0a000000 beq .try_boot_MMC0 ; if check_uboot was 0, try to boot from MMC0
  2922. ffff2e44: ea000026 b .boot_fel ; else boot FEL mode
  2923. .try_boot_MMC0:
  2924. ffff2e48: e3a00000 mov r0, #0
  2925. ffff2e4c: ebffffed bl 0xffff2e08
  2926. ffff2e50: e3a00000 mov r0, #0 ; r0 = 0x0; (which card_no to boot, 0 = mmc0)
  2927. ffff2e54: eb000190 bl load_boot0_from_mmc ; load SPL from mmc0
  2928. ffff2e58: e1a04000 mov r4, r0 ; r4 = load_from_mmc();
  2929. ffff2e5c: e3540000 cmp r4, #0 ; see if load_from_mmc returned 0
  2930. ffff2e60: 1a000000 bne .try_boot_eMMC ; if load_from_mmc returned 0 try to boot from eMMc on MMC2
  2931. ffff2e64: ea000021 b .boot_spl ; else skip to .boot_spl
  2932. .try_boot_eMMC:
  2933. ffff2e68: e3a00001 mov r0, #1
  2934. ffff2e6c: ebffffe5 bl 0xffff2e08
  2935. ffff2e70: e3a00002 mov r0, #2 ; r0 = 0x2; (which card_no to boot, 2 = mmc2)
  2936. ffff2e74: eb0001b0 bl 0xffff353c ; load SPL from eMMC
  2937. ffff2e78: e1a04000 mov r4, r0 ; r4 = load_from_emmc();
  2938. ffff2e7c: e3540000 cmp r4, #0 ; see if load_from_emmc returned 0
  2939. ffff2e80: 1a000000 bne .try_boot_MMC2 ; if load_from_emmc returned 0 try to boot from MMC2
  2940. ffff2e84: ea000019 b .boot_spl ; else skip to .boot_spl
  2941. .try_boot_MMC2:
  2942. ffff2e88: e3a00002 mov r0, #2 ; r0 = 0x2; (which card_no to boot, 2 = mmc2)
  2943. ffff2e8c: eb000182 bl load_boot0_from_mmc ; load SPL from mmc2
  2944. ffff2e90: e1a04000 mov r4, r0 ; r4 = load_from_mmc();
  2945. ffff2e94: e3540000 cmp r4, #0 ; see if load_from_mmc returned 0
  2946. ffff2e98: 1a000000 bne .try_boot_SPINOR; if load_from_mmc returned 0 try to boot from SPI NAND-flash
  2947. ffff2e9c: ea000013 b .boot_spl
  2948. .try_boot_SPINOR:
  2949. ffff2ea0: e3a00002 mov r0, #2
  2950. ffff2ea4: ebffffd7 bl 0xffff2e08
  2951. ffff2ea8: eb000c2b bl load_boot0_from_spinor; load SPL from SPI NOR-flash
  2952. ffff2eac: e1a04000 mov r4, r0 ; r4 = load_from_spinor();
  2953. ffff2eb0: e3540000 cmp r4, #0 ; see if load_from_spinor returned 0
  2954. ffff2eb4: 1a000000 bne .try_boot_from_SPINAND; if load_from_spinor returned 0 try to boot from SPI NOR-flash
  2955. ffff2eb8: ea00000c b .boot_spl ; else skip to .boot_spl
  2956. .try_boot_SPINAND:
  2957. ffff2ebc: e3a00003 mov r0, #3
  2958. ffff2ec0: ebffffd0 bl 0xffff2e08
  2959. ffff2ec4: eb0000d7 bl load_boot0_from_spinand; load SPL from SPI NAND-flash
  2960. ffff2ec8: e1a04000 mov r4, r0 ; r4 = load_from_spinand();
  2961. ffff2ecc: e3540000 cmp r4, #0 ; see if load_from_spinand returned 0
  2962. ffff2ed0: 1a000000 bne .none_found ; if load_from_spinand returned 0 boot from FEL mode (via .none_found)
  2963. ffff2ed4: ea000005 b .boot_spl ; else skip to .boot_spl
  2964. .none_found:
  2965. ffff2ed8: e3a00004 mov r0, #4
  2966. ffff2edc: ebffffc9 bl 0xffff2e08
  2967. ffff2ee0: e320f000 nop {0}
  2968. .boot_fel:
  2969. ffff2ee4: e59f006c ldr r0, [pc, #108] ; 0xffff2f58 =0xffff0020 load interrupt vector 'fel_setup' into r0
  2970. ffff2ee8: eb000cb6 bl jump_to ; execute 'fel_setup' (via jump_to)
  2971. ffff2eec: e320f000 nop {0}
  2972. .boot_spl:
  2973. ffff2ef0: e3a010fc mov r1, #252 ; 0xfc
  2974. ffff2ef4: e3a00000 mov r0, #0
  2975. ffff2ef8: ebffffc8 bl jump_spl
  2976. resume_from_standby:
  2977. ffff2efc: e59f4058 ldr r4, [pc, #88] ; 0xffff2f5c =0x01f01da8 standby resume entry address register?
  2978. ffff2f00: e3a06000 mov r6, #0
  2979. ffff2f04: e3a05000 mov r5, #0
  2980. ffff2f08: e5946000 ldr r6, [r4]
  2981. ffff2f0c: e5965010 ldr r5, [r6, #16]
  2982. ffff2f10: e28f1048 add r1, pc, #72 ; 0x48 =0xffff2f60 "eGON.BT0"
  2983. ffff2f14: e5940000 ldr r0, [r4]
  2984. ffff2f18: eb000c45 bl check_magic ; check magic
  2985. ffff2f1c: e3500000 cmp r0, #0
  2986. ffff2f20: 1a00000b bne resume_fail
  2987. ffff2f24: e1a00005 mov r0, r5 ; value pointed by standby resume entry address register + 16
  2988. ffff2f28: e7df051f bfc r0, #10, #22 ; check if 10 MSB bits are 0 (valid address)
  2989. ffff2f2c: e3500000 cmp r0, #0
  2990. ffff2f30: 1a000007 bne resume_fail
  2991. ffff2f34: e1a01005 mov r1, r5 ; value pointed by standby resume entry address register + 16
  2992. ffff2f38: e5940000 ldr r0, [r4]
  2993. ffff2f3c: eb000c4e bl check_sum
  2994. ffff2f40: e3500000 cmp r0, #0
  2995. ffff2f44: 1a000002 bne resume_fail
  2996. ffff2f48: e3a010fc mov r1, #252 ; 0xfc
  2997. ffff2f4c: e5940000 ldr r0, [r4]
  2998. ffff2f50: ebffffb2 bl jump_spl
  2999. resume_fail:
  3000. ffff2f54: ebffffb6 bl boot
  3001. ;; Global Offset Table
  3002. ffff2f58: ffff0020
  3003. ffff2f5c: 01f01da8 ; standby resume entry address register?
  3004. ffff2f60: 4e4f4765 .ascii "eGON"
  3005. ffff2f64: 3054422e .asci ".BT0"
  3006. ffff2f68: 00000000
  3007. ffff2f6c: e92d4070 push {r4, r5, r6, lr}
  3008. ffff2f70: e1a03000 mov r3, r0
  3009. ffff2f74: e3520000 cmp r2, #0
  3010. ffff2f78: 1a00000b bne 0xffff2fac
  3011. ffff2f7c: e3510002 cmp r1, #2
  3012. ffff2f80: 2a000007 bcs 0xffff2fa4
  3013. ffff2f84: e59f0058 ldr r0, [pc, #88] ; 0xffff2fe4 =0xffff61cc
  3014. ffff2f88: e7b04201 ldr r4, [r0, r1, lsl #4]!
  3015. ffff2f8c: e9900060 ldmib r0, {r5, r6}
  3016. ffff2f90: e590000c ldr r0, [r0, #12]
  3017. ffff2f94: e583000c str r0, [r3, #12]
  3018. ffff2f98: e8830070 stm r3, {r4, r5, r6}
  3019. ffff2f9c: e3a00000 mov r0, #0
  3020. ffff2fa0: e8bd8070 pop {r4, r5, r6, pc}
  3021. ffff2fa4: e3e00000 mvn r0, #0
  3022. ffff2fa8: eafffffc b 0xffff2fa0
  3023. ffff2fac: e3520001 cmp r2, #1
  3024. ffff2fb0: 1a000009 bne 0xffff2fdc
  3025. ffff2fb4: e3510004 cmp r1, #4
  3026. ffff2fb8: 2a000005 bcs 0xffff2fd4
  3027. ffff2fbc: e59f0024 ldr r0, [pc, #36] ; 0xffff2fe8 =0xffff61ec
  3028. ffff2fc0: e0806201 add r6, r0, r1, lsl #4
  3029. ffff2fc4: e8960071 ldm r6, {r0, r4, r5, r6}
  3030. ffff2fc8: e8830071 stm r3, {r0, r4, r5, r6}
  3031. ffff2fcc: e3a00000 mov r0, #0
  3032. ffff2fd0: eafffff2 b 0xffff2fa0
  3033. ffff2fd4: e3e00000 mvn r0, #0
  3034. ffff2fd8: eafffff0 b 0xffff2fa0
  3035. ffff2fdc: e3e00000 mvn r0, #0
  3036. ffff2fe0: eaffffee b 0xffff2fa0
  3037. ;; Global Offset Table
  3038. ffff2fe4: ffff61cc
  3039. ffff2fe8: ffff61ec
  3040. ffff2fec: e92d4ff0 push {r4, r5, r6, r7, r8, r9, sl, fp, lr}
  3041. ffff2ff0: e24dd024 sub sp, sp, #36 ; 0x24
  3042. ffff2ff4: eb000a1f bl 0xffff5878
  3043. ffff2ff8: eb000b4d bl 0xffff5d34
  3044. ffff2ffc: e3a06000 mov r6, #0
  3045. ffff3000: ea00003f b 0xffff3104
  3046. ffff3004: e3a0a020 mov sl, #32
  3047. ffff3008: ea00003a b 0xffff30f8
  3048. ffff300c: e3a02001 mov r2, #1
  3049. ffff3010: e1a01006 mov r1, r6
  3050. ffff3014: e28d000c add r0, sp, #12
  3051. ffff3018: ebffffd3 bl 0xffff2f6c
  3052. ffff301c: e1a09000 mov r9, r0
  3053. ffff3020: e3790001 cmn r9, #1
  3054. ffff3024: 1a000000 bne 0xffff302c
  3055. ffff3028: ea000031 b 0xffff30f4
  3056. ffff302c: e59d000c ldr r0, [sp, #12]
  3057. ffff3030: e58d0020 str r0, [sp, #32]
  3058. ffff3034: e59d4010 ldr r4, [sp, #16]
  3059. ffff3038: e59d7018 ldr r7, [sp, #24]
  3060. ffff303c: e59d8014 ldr r8, [sp, #20]
  3061. ffff3040: e88d0110 stm sp, {r4, r8}
  3062. ffff3044: e58d7008 str r7, [sp, #8]
  3063. ffff3048: e3a02001 mov r2, #1
  3064. ffff304c: e3a01000 mov r1, #0
  3065. ffff3050: e1a0000a mov r0, sl
  3066. ffff3054: e59d3020 ldr r3, [sp, #32]
  3067. ffff3058: eb000b46 bl 0xffff5d78
  3068. ffff305c: e3500002 cmp r0, #2
  3069. ffff3060: 1a000000 bne 0xffff3068
  3070. ffff3064: ea000022 b 0xffff30f4
  3071. ffff3068: e28f1f7b add r1, pc, #492 ; 0x1ec =0xffff325c "eGON.BT0"
  3072. ffff306c: e3a00000 mov r0, #0
  3073. ffff3070: eb000bef bl check_magic
  3074. ffff3074: e3500000 cmp r0, #0
  3075. ffff3078: 0a000000 beq 0xffff3080
  3076. ffff307c: ea00001c b 0xffff30f4
  3077. ffff3080: e3a0b000 mov fp, #0
  3078. ffff3084: e59b5010 ldr r5, [fp, #16]
  3079. ffff3088: e2440001 sub r0, r4, #1
  3080. ffff308c: e1100005 tst r0, r5
  3081. ffff3090: 0a000000 beq 0xffff3098
  3082. ffff3094: ea000016 b 0xffff30f4
  3083. ffff3098: e730f415 udiv r0, r5, r4
  3084. ffff309c: e58d001c str r0, [sp, #28]
  3085. ffff30a0: e88d0110 stm sp, {r4, r8}
  3086. ffff30a4: e58d7008 str r7, [sp, #8]
  3087. ffff30a8: e3a01000 mov r1, #0
  3088. ffff30ac: e1a0000a mov r0, sl
  3089. ffff30b0: e1cd21dc ldrd r2, [sp, #28]
  3090. ffff30b4: eb000b2f bl 0xffff5d78
  3091. ffff30b8: e3500002 cmp r0, #2
  3092. ffff30bc: 1a000000 bne 0xffff30c4
  3093. ffff30c0: ea00000b b 0xffff30f4
  3094. ffff30c4: e1a01005 mov r1, r5
  3095. ffff30c8: e3a00000 mov r0, #0
  3096. ffff30cc: eb000bea bl check_sum
  3097. ffff30d0: e3500000 cmp r0, #0
  3098. ffff30d4: 1a000005 bne 0xffff30f0
  3099. ffff30d8: e3a00003 mov r0, #3
  3100. ffff30dc: e5cb0028 strb r0, [fp, #40] ; 0x28
  3101. ffff30e0: eb000a08 bl 0xffff5908
  3102. ffff30e4: e3a00000 mov r0, #0
  3103. ffff30e8: e28dd024 add sp, sp, #36 ; 0x24
  3104. ffff30ec: e8bd8ff0 pop {r4, r5, r6, r7, r8, r9, sl, fp, pc}
  3105. ffff30f0: e320f000 nop {0}
  3106. ffff30f4: e28aa020 add sl, sl, #32
  3107. ffff30f8: e35a0c01 cmp sl, #256 ; 0x100
  3108. ffff30fc: 3affffc2 bcc 0xffff300c
  3109. ffff3100: e2866001 add r6, r6, #1
  3110. ffff3104: e3560004 cmp r6, #4
  3111. ffff3108: 3affffbd bcc 0xffff3004
  3112. ffff310c: eb0009fd bl 0xffff5908
  3113. ffff3110: e3e00000 mvn r0, #0
  3114. ffff3114: eafffff3 b 0xffff30e8
  3115. ;;;*****************************************************************************
  3116. ffff3118: e92d4ff0 push {r4, r5, r6, r7, r8, r9, sl, fp, lr}
  3117. ffff311c: e24dd024 sub sp, sp, #36 ; 0x24
  3118. ffff3120: eb0009d4 bl 0xffff5878
  3119. ffff3124: eb000b02 bl 0xffff5d34
  3120. ffff3128: e3a06000 mov r6, #0
  3121. ffff312c: ea000038 b 0xffff3214
  3122. ffff3130: e3a02000 mov r2, #0
  3123. ffff3134: e1a01006 mov r1, r6
  3124. ffff3138: e28d0010 add r0, sp, #16
  3125. ffff313c: ebffff8a bl 0xffff2f6c
  3126. ffff3140: e1a09000 mov r9, r0
  3127. ffff3144: e3790001 cmn r9, #1
  3128. ffff3148: 1a000000 bne 0xffff3150
  3129. ffff314c: ea00002f b 0xffff3210
  3130. ffff3150: e59db010 ldr fp, [sp, #16]
  3131. ffff3154: e59d4014 ldr r4, [sp, #20]
  3132. ffff3158: e59d801c ldr r8, [sp, #28]
  3133. ffff315c: e59d7018 ldr r7, [sp, #24]
  3134. ffff3160: e1a0300b mov r3, fp
  3135. ffff3164: e3a02001 mov r2, #1
  3136. ffff3168: e3a01000 mov r1, #0
  3137. ffff316c: e1a00001 mov r0, r1
  3138. ffff3170: e88d0190 stm sp, {r4, r7, r8}
  3139. ffff3174: eb000aff bl 0xffff5d78
  3140. ffff3178: e3500002 cmp r0, #2
  3141. ffff317c: 1a000000 bne 0xffff3184
  3142. ffff3180: ea000022 b 0xffff3210
  3143. ffff3184: e28f10d0 add r1, pc, #208 ; 0xd0 =0xffff325c "eGON.BT0"
  3144. ffff3188: e3a00000 mov r0, #0
  3145. ffff318c: eb000ba8 bl check_magic
  3146. ffff3190: e3500000 cmp r0, #0
  3147. ffff3194: 0a000000 beq 0xffff319c
  3148. ffff3198: ea00001c b 0xffff3210
  3149. ffff319c: e3a0a000 mov sl, #0
  3150. ffff31a0: e59a5010 ldr r5, [sl, #16]
  3151. ffff31a4: e2440001 sub r0, r4, #1
  3152. ffff31a8: e1100005 tst r0, r5
  3153. ffff31ac: 0a000000 beq 0xffff31b4
  3154. ffff31b0: ea000016 b 0xffff3210
  3155. ffff31b4: e730f415 udiv r0, r5, r4
  3156. ffff31b8: e58d0020 str r0, [sp, #32]
  3157. ffff31bc: e1a0300b mov r3, fp
  3158. ffff31c0: e88d0190 stm sp, {r4, r7, r8}
  3159. ffff31c4: e3a01000 mov r1, #0
  3160. ffff31c8: e1a00001 mov r0, r1
  3161. ffff31cc: e59d2020 ldr r2, [sp, #32]
  3162. ffff31d0: eb000ae8 bl 0xffff5d78
  3163. ffff31d4: e3500002 cmp r0, #2
  3164. ffff31d8: 1a000000 bne 0xffff31e0
  3165. ffff31dc: ea00000b b 0xffff3210
  3166. ffff31e0: e1a01005 mov r1, r5
  3167. ffff31e4: e3a00000 mov r0, #0
  3168. ffff31e8: eb000ba3 bl check_sum
  3169. ffff31ec: e3500000 cmp r0, #0
  3170. ffff31f0: 1a000005 bne 0xffff320c
  3171. ffff31f4: e3a00003 mov r0, #3
  3172. ffff31f8: e5ca0028 strb r0, [sl, #40] ; 0x28
  3173. ffff31fc: eb0009c1 bl 0xffff5908
  3174. ffff3200: e3a00000 mov r0, #0
  3175. ffff3204: e28dd024 add sp, sp, #36 ; 0x24
  3176. ffff3208: e8bd8ff0 pop {r4, r5, r6, r7, r8, r9, sl, fp, pc}
  3177. ffff320c: e320f000 nop {0}
  3178. ffff3210: e2866001 add r6, r6, #1
  3179. ffff3214: e3560002 cmp r6, #2
  3180. ffff3218: 3affffc4 bcc 0xffff3130
  3181. ffff321c: eb0009b9 bl 0xffff5908
  3182. ffff3220: e3e00000 mvn r0, #0
  3183. ffff3224: eafffff6 b 0xffff3204
  3184. ;;;*****************************************************************************
  3185. load_boot0_from_spinand:
  3186. ffff3228: e92d4010 push {r4, lr}
  3187. ffff322c: ebffffb9 bl 0xffff3118
  3188. ffff3230: e3500000 cmp r0, #0
  3189. ffff3234: 1a000001 bne 0xffff3240
  3190. ffff3238: e3a00000 mov r0, #0
  3191. ffff323c: e8bd8010 pop {r4, pc}
  3192. ffff3240: ebffff69 bl 0xffff2fec
  3193. ffff3244: e3500000 cmp r0, #0
  3194. ffff3248: 1a000001 bne 0xffff3254
  3195. ffff324c: e3a00000 mov r0, #0
  3196. ffff3250: eafffff9 b 0xffff323c
  3197. ffff3254: e3e00000 mvn r0, #0
  3198. ffff3258: eafffff7 b 0xffff323c
  3199. ffff325c: 4e4f4765 .ascii "eGON"
  3200. ffff3260: 3054422e .ascii ".BT0"
  3201. ffff3264: 00000000 .word 0
  3202. ;;;*****************************************************************************
  3203. memcpy:
  3204. ffff3268: e92d4030 push {r4, r5, lr}
  3205. ffff326c: e1a03000 mov r3, r0
  3206. ffff3270: e3a00000 mov r0, #0
  3207. ffff3274: e1a04003 mov r4, r3
  3208. ffff3278: e1a0c001 mov ip, r1
  3209. ffff327c: e320f000 nop {0}
  3210. ffff3280: ea000002 b 0xffff3290
  3211. ffff3284: e7dc5000 ldrb r5, [ip, r0]
  3212. ffff3288: e7c45000 strb r5, [r4, r0]
  3213. ffff328c: e2800001 add r0, r0, #1
  3214. ffff3290: e1500002 cmp r0, r2
  3215. ffff3294: 3afffffa bcc 0xffff3284
  3216. ffff3298: e8bd8030 pop {r4, r5, pc}
  3217. ;;;*****************************************************************************
  3218. memset: ; r0 = dest, r1 = value, r2 = size
  3219. ffff329c: e92d4010 push {r4, lr}
  3220. ffff32a0: e1a03000 mov r3, r0
  3221. ffff32a4: e3a00000 mov r0, #0
  3222. ffff32a8: e1a0c003 mov ip, r3
  3223. ffff32ac: e320f000 nop {0}
  3224. ffff32b0: ea000001 b 0xffff32bc
  3225. ffff32b4: e7cc1000 strb r1, [ip, r0]
  3226. ffff32b8: e2800001 add r0, r0, #1
  3227. ffff32bc: e1500002 cmp r0, r2
  3228. ffff32c0: 3afffffb bcc 0xffff32b4
  3229. ffff32c4: e8bd8010 pop {r4, pc}
  3230. ;;;*****************************************************************************
  3231. memcmp: ; r0 = src, r1 = dest, r2 = size
  3232. ffff32c8: e92d4010 push {r4, lr}
  3233. ffff32cc: e1a03000 mov r3, r0
  3234. ffff32d0: e1a0c001 mov ip, r1
  3235. ffff32d4: e3a01000 mov r1, #0
  3236. ffff32d8: e320f000 nop {0}
  3237. ffff32dc: ea000006 b 0xffff32fc
  3238. ffff32e0: e7d30001 ldrb r0, [r3, r1]
  3239. ffff32e4: e7dc4001 ldrb r4, [ip, r1]
  3240. ffff32e8: e1500004 cmp r0, r4
  3241. ffff32ec: 0a000001 beq 0xffff32f8
  3242. ffff32f0: e3e00000 mvn r0, #0
  3243. ffff32f4: e8bd8010 pop {r4, pc}
  3244. ffff32f8: e2811001 add r1, r1, #1
  3245. ffff32fc: e1510002 cmp r1, r2
  3246. ffff3300: 3afffff6 bcc 0xffff32e0
  3247. ffff3304: e3a00000 mov r0, #0
  3248. ffff3308: eafffff9 b 0xffff32f4
  3249. ;;;*****************************************************************************
  3250. ffff330c: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr}
  3251. ffff3310: e1a07000 mov r7, r0
  3252. ffff3314: e1a06001 mov r6, r1
  3253. ffff3318: e1a08002 mov r8, r2
  3254. ffff331c: e3e09000 mvn r9, #0
  3255. ffff3320: e3a04000 mov r4, #0
  3256. ffff3324: e3a05000 mov r5, #0
  3257. ffff3328: e3a0a000 mov sl, #0
  3258. ffff332c: e3560000 cmp r6, #0
  3259. ffff3330: 1a000001 bne 0xffff333c
  3260. ffff3334: e3a0a010 mov sl, #16 ; try loading from offset 8KB
  3261. ffff3338: ea000006 b 0xffff3358
  3262. ffff333c: e3560001 cmp r6, #1
  3263. ffff3340: 1a000001 bne 0xffff334c
  3264. ffff3344: e300a100 movw sl, #256 ; try loading from offset 128KB
  3265. ffff3348: ea000002 b 0xffff3358
  3266. ffff334c: e3e09000 mvn r9, #0
  3267. ffff3350: e1a00009 mov r0, r9
  3268. ffff3354: e8bd87f0 pop {r4, r5, r6, r7, r8, r9, sl, pc}
  3269. ffff3358: e3a03000 mov r3, #0
  3270. ffff335c: e3a02001 mov r2, #1
  3271. ffff3360: e1a0100a mov r1, sl
  3272. ffff3364: e1a00008 mov r0, r8
  3273. ffff3368: eb00085c bl 0xffff54e0
  3274. ffff336c: e3500001 cmp r0, #1
  3275. ffff3370: 0a00000c beq 0xffff33a8
  3276. ffff3374: e59f12fc ldr r1, [pc, #764] ; 0xffff3678 =0x005b8d80
  3277. ffff3378: e1a00008 mov r0, r8
  3278. ffff337c: eb00067e bl 0xffff4d7c
  3279. ffff3380: e3a03000 mov r3, #0
  3280. ffff3384: e3a02001 mov r2, #1
  3281. ffff3388: e1a0100a mov r1, sl
  3282. ffff338c: e1a00008 mov r0, r8
  3283. ffff3390: eb000852 bl 0xffff54e0
  3284. ffff3394: e3500001 cmp r0, #1
  3285. ffff3398: 0a000002 beq 0xffff33a8
  3286. ffff339c: e3e09000 mvn r9, #0
  3287. ffff33a0: e1a00009 mov r0, r9
  3288. ffff33a4: eaffffea b 0xffff3354
  3289. ffff33a8: e28f1fb3 add r1, pc, #716 ; 0x2cc = 0xffff367c "eGON.BT0"
  3290. ffff33ac: e3a00000 mov r0, #0
  3291. ffff33b0: eb000b1f bl check_magic
  3292. ffff33b4: e3500000 cmp r0, #0
  3293. ffff33b8: 0a000002 beq 0xffff33c8
  3294. ffff33bc: e3e09000 mvn r9, #0
  3295. ffff33c0: e1a00009 mov r0, r9
  3296. ffff33c4: eaffffe2 b 0xffff3354
  3297. ffff33c8: e3a05000 mov r5, #0
  3298. ffff33cc: e5954010 ldr r4, [r5, #16]
  3299. ffff33d0: e3540902 cmp r4, #32768 ; 0x8000
  3300. ffff33d4: 8a000003 bhi 0xffff33e8
  3301. ffff33d8: e1a00004 mov r0, r4
  3302. ffff33dc: e7df049f bfc r0, #9, #23
  3303. ffff33e0: e3500000 cmp r0, #0
  3304. ffff33e4: 0a000002 beq 0xffff33f4
  3305. ffff33e8: e3e09000 mvn r9, #0
  3306. ffff33ec: e1a00009 mov r0, r9
  3307. ffff33f0: eaffffd7 b 0xffff3354
  3308. ffff33f4: e1a024a4 lsr r2, r4, #9
  3309. ffff33f8: e3a03000 mov r3, #0
  3310. ffff33fc: e1a0100a mov r1, sl
  3311. ffff3400: e1a00008 mov r0, r8
  3312. ffff3404: eb000835 bl 0xffff54e0
  3313. ffff3408: e15004a4 cmp r0, r4, lsr #9
  3314. ffff340c: 0a00000c beq 0xffff3444
  3315. ffff3410: e59f1260 ldr r1, [pc, #608] ; 0xffff3678 =0x005b8d80
  3316. ffff3414: e1a00008 mov r0, r8
  3317. ffff3418: eb000657 bl 0xffff4d7c
  3318. ffff341c: e1a024a4 lsr r2, r4, #9
  3319. ffff3420: e3a03000 mov r3, #0
  3320. ffff3424: e1a0100a mov r1, sl
  3321. ffff3428: e1a00008 mov r0, r8
  3322. ffff342c: eb00082b bl 0xffff54e0
  3323. ffff3430: e15004a4 cmp r0, r4, lsr #9
  3324. ffff3434: 0a000002 beq 0xffff3444
  3325. ffff3438: e3e09000 mvn r9, #0
  3326. ffff343c: e1a00009 mov r0, r9
  3327. ffff3440: eaffffc3 b 0xffff3354
  3328. ffff3444: e1a01004 mov r1, r4
  3329. ffff3448: e3a00000 mov r0, #0
  3330. ffff344c: eb000b0a bl check_sum
  3331. ffff3450: e3500000 cmp r0, #0
  3332. ffff3454: 1a00000d bne 0xffff3490
  3333. ffff3458: e3570000 cmp r7, #0
  3334. ffff345c: 1a000002 bne 0xffff346c
  3335. ffff3460: e3a00000 mov r0, #0
  3336. ffff3464: e5c50028 strb r0, [r5, #40] ; 0x28
  3337. ffff3468: ea000003 b 0xffff347c
  3338. ffff346c: e3570002 cmp r7, #2
  3339. ffff3470: 1a000001 bne 0xffff347c
  3340. ffff3474: e3a00002 mov r0, #2
  3341. ffff3478: e5c50028 strb r0, [r5, #40] ; 0x28
  3342. ffff347c: e5d50028 ldrb r0, [r5, #40] ; 0x28
  3343. ffff3480: e1800206 orr r0, r0, r6, lsl #4
  3344. ffff3484: e5c50028 strb r0, [r5, #40] ; 0x28
  3345. ffff3488: e3a09000 mov r9, #0
  3346. ffff348c: ea000000 b 0xffff3494
  3347. ffff3490: e3e09000 mvn r9, #0
  3348. ffff3494: e1a00009 mov r0, r9
  3349. ffff3498: eaffffad b 0xffff3354
  3350. ;;;*****************************************************************************
  3351. load_boot0_from_mmc: ; r0 = card_no
  3352. ffff349c: e92d4030 push {r4, r5, lr}
  3353. ffff34a0: e24dd064 sub sp, sp, #100 ; allocate local variables
  3354. ffff34a4: e1a05000 mov r5, r0 ; save card_no in r5
  3355. ffff34a8: e3e04000 mvn r4, #0 ; -1
  3356. ffff34ac: e3a0204c mov r2, #76 ; length
  3357. ffff34b0: e3a01000 mov r1, #0 ; value
  3358. ffff34b4: e28d0018 add r0, sp, #24 ; dest
  3359. ffff34b8: ebffff77 bl memset
  3360. ffff34bc: e3a02018 mov r2, #24 ; length
  3361. ffff34c0: e3a01000 mov r1, #0 ; value
  3362. ffff34c4: e1a0000d mov r0, sp ; dest
  3363. ffff34c8: ebffff73 bl memset
  3364. ffff34cc: e58dd018 str sp, [sp, #24]
  3365. ffff34d0: e28d1018 add r1, sp, #24
  3366. ffff34d4: e1a00005 mov r0, r5 ; r0 = card_no, r1 = structure
  3367. ffff34d8: eb00088e bl 0xffff5718
  3368. ffff34dc: e1a04000 mov r4, r0
  3369. ffff34e0: e3540000 cmp r4, #0
  3370. ffff34e4: 0a000001 beq 0xffff34f0
  3371. ffff34e8: e3e04000 mvn r4, #0
  3372. ffff34ec: ea00000c b 0xffff3524
  3373. ffff34f0: e28d2018 add r2, sp, #24
  3374. ffff34f4: e3a01000 mov r1, #0 ; try booting from offset 8KB
  3375. ffff34f8: e1a00005 mov r0, r5
  3376. ffff34fc: ebffff82 bl 0xffff330c
  3377. ffff3500: e1a04000 mov r4, r0
  3378. ffff3504: e3540000 cmp r4, #0
  3379. ffff3508: 0a000004 beq 0xffff3520
  3380. ffff350c: e28d2018 add r2, sp, #24
  3381. ffff3510: e3a01001 mov r1, #1 ; try booting from offset 128KB
  3382. ffff3514: e1a00005 mov r0, r5
  3383. ffff3518: ebffff7b bl 0xffff330c
  3384. ffff351c: e1a04000 mov r4, r0
  3385. ffff3520: e320f000 nop {0}
  3386. ffff3524: e28d1018 add r1, sp, #24
  3387. ffff3528: e1a00005 mov r0, r5
  3388. ffff352c: eb0008b9 bl 0xffff5818
  3389. ffff3530: e1a00004 mov r0, r4
  3390. ffff3534: e28dd064 add sp, sp, #100 ; 0x64
  3391. ffff3538: e8bd8030 pop {r4, r5, pc}
  3392. ;;; *****************************************************************************
  3393. ffff353c: e92d40f0 push {r4, r5, r6, r7, lr}
  3394. ffff3540: e24dd064 sub sp, sp, #100 ; 0x64
  3395. ffff3544: e1a06000 mov r6, r0
  3396. ffff3548: e3e07000 mvn r7, #0
  3397. ffff354c: e3a0204c mov r2, #76 ; 0x4c
  3398. ffff3550: e3a01000 mov r1, #0
  3399. ffff3554: e28d0018 add r0, sp, #24
  3400. ffff3558: ebffff4f bl memset
  3401. ffff355c: e3a02018 mov r2, #24
  3402. ffff3560: e3a01000 mov r1, #0
  3403. ffff3564: e1a0000d mov r0, sp
  3404. ffff3568: ebffff4b bl memset
  3405. ffff356c: e58dd018 str sp, [sp, #24]
  3406. ffff3570: e28d1018 add r1, sp, #24
  3407. ffff3574: e1a00006 mov r0, r6
  3408. ffff3578: eb000884 bl 0xffff5790
  3409. ffff357c: e3500000 cmp r0, #0
  3410. ffff3580: 0a000001 beq 0xffff358c
  3411. ffff3584: e320f000 nop {0}
  3412. ffff3588: ea000034 b 0xffff3660
  3413. ffff358c: e3a03000 mov r3, #0
  3414. ffff3590: e3a02001 mov r2, #1
  3415. ffff3594: e1a01003 mov r1, r3
  3416. ffff3598: e28d0018 add r0, sp, #24
  3417. ffff359c: eb0007f2 bl 0xffff556c
  3418. ffff35a0: e3500001 cmp r0, #1
  3419. ffff35a4: 0a000001 beq 0xffff35b0
  3420. ffff35a8: e3e07000 mvn r7, #0
  3421. ffff35ac: ea00002b b 0xffff3660
  3422. ffff35b0: e28f10c4 add r1, pc, #196 ; 0xc4 =0xffff367c "eGON.BT0"
  3423. ffff35b4: e3a00000 mov r0, #0
  3424. ffff35b8: eb000a9d bl check_magic
  3425. ffff35bc: e3500000 cmp r0, #0
  3426. ffff35c0: 0a000001 beq 0xffff35cc
  3427. ffff35c4: e3e07000 mvn r7, #0
  3428. ffff35c8: ea000024 b 0xffff3660
  3429. ffff35cc: e3a05000 mov r5, #0
  3430. ffff35d0: e5954010 ldr r4, [r5, #16]
  3431. ffff35d4: e3540902 cmp r4, #32768 ; 0x8000
  3432. ffff35d8: 8a000003 bhi 0xffff35ec
  3433. ffff35dc: e1a00004 mov r0, r4
  3434. ffff35e0: e7df049f bfc r0, #9, #23
  3435. ffff35e4: e3500000 cmp r0, #0
  3436. ffff35e8: 0a000001 beq 0xffff35f4
  3437. ffff35ec: e3e07000 mvn r7, #0
  3438. ffff35f0: ea00001a b 0xffff3660
  3439. ffff35f4: e1a024a4 lsr r2, r4, #9
  3440. ffff35f8: e3a03000 mov r3, #0
  3441. ffff35fc: e1a01003 mov r1, r3
  3442. ffff3600: e28d0018 add r0, sp, #24
  3443. ffff3604: eb0007d8 bl 0xffff556c
  3444. ffff3608: e15004a4 cmp r0, r4, lsr #9
  3445. ffff360c: 0a000001 beq 0xffff3618
  3446. ffff3610: e3e07000 mvn r7, #0
  3447. ffff3614: ea000011 b 0xffff3660
  3448. ffff3618: e1a01004 mov r1, r4
  3449. ffff361c: e3a00000 mov r0, #0
  3450. ffff3620: eb000a95 bl check_sum
  3451. ffff3624: e3500000 cmp r0, #0
  3452. ffff3628: 1a00000a bne 0xffff3658
  3453. ffff362c: e3560000 cmp r6, #0
  3454. ffff3630: 1a000002 bne 0xffff3640
  3455. ffff3634: e3a00000 mov r0, #0
  3456. ffff3638: e5c50028 strb r0, [r5, #40] ; 0x28
  3457. ffff363c: ea000003 b 0xffff3650
  3458. ffff3640: e3560002 cmp r6, #2
  3459. ffff3644: 1a000001 bne 0xffff3650
  3460. ffff3648: e3a00002 mov r0, #2
  3461. ffff364c: e5c50028 strb r0, [r5, #40] ; 0x28
  3462. ffff3650: e3a07000 mov r7, #0
  3463. ffff3654: ea000000 b 0xffff365c
  3464. ffff3658: e3e07000 mvn r7, #0
  3465. ffff365c: e320f000 nop {0}
  3466. ffff3660: e28d1018 add r1, sp, #24
  3467. ffff3664: e1a00006 mov r0, r6
  3468. ffff3668: eb00086a bl 0xffff5818
  3469. ffff366c: e1a00007 mov r0, r7
  3470. ffff3670: e28dd064 add sp, sp, #100 ; 0x64
  3471. ffff3674: e8bd80f0 pop {r4, r5, r6, r7, pc}
  3472. ;;; *****************************************************************************
  3473. ;; Global Offset Table
  3474. ffff3678: 005b8d80
  3475. ffff367c: 4e4f4765 .ascii "eGON"
  3476. ffff3680: 3054422e .ascii ".BT0"
  3477. ffff3684: 00000000
  3478. ;;;*****************************************************************************
  3479. reset_counter:
  3480. ffff3688: e3a00001 mov r0, #1
  3481. ffff368c: e59f1e64 ldr r1, [pc, #3684] ; 0xffff44f8 =0x01c20cd0 CNT64_TEST_REG
  3482. ffff3690: e5810000 str r0, [r1]
  3483. ffff3694: e12fff1e bx lr
  3484. ;;;*****************************************************************************
  3485. get_counter:
  3486. ffff3698: e92d4030 push {r4, r5, lr}
  3487. ffff369c: e320f000 nop {0}
  3488. ffff36a0: e3a00002 mov r0, #2
  3489. ffff36a4: e59f1e4c ldr r1, [pc, #3660] ; 0xffff44f8 =0x01c20cd0 CNT64_TEST_REG
  3490. ffff36a8: e5810000 str r0, [r1] ; CNT64_RL_EN = 0x1
  3491. ffff36ac: e1810100 orr r0, r1, r0, lsl #2 ; r0 = 0x01c20cd8 CNT64_HIGH_REG
  3492. ffff36b0: e5902000 ldr r2, [r0] ; load CNT64_HIGH_REG
  3493. ffff36b4: e1a03002 mov r3, r2
  3494. ffff36b8: e3a02000 mov r2, #0
  3495. ffff36bc: e2400004 sub r0, r0, #4 ; r0 = 0x01c20cd4 CNT64_LOW_REG
  3496. ffff36c0: e5900000 ldr r0, [r0] ; load CNT64_LOW_REG
  3497. ffff36c4: e1822000 orr r2, r2, r0
  3498. ffff36c8: e1a00002 mov r0, r2
  3499. ffff36cc: e1a01003 mov r1, r3
  3500. ffff36d0: e8bd8030 pop {r4, r5, pc} ; r0 = CNT64_LOW, r1 = CNT64_HIGH
  3501. ;;;*****************************************************************************
  3502. ffff36d4: e92d4ff0 push {r4, r5, r6, r7, r8, r9, sl, fp, lr}
  3503. ffff36d8: e1a04000 mov r4, r0
  3504. ffff36dc: e1a05001 mov r5, r1
  3505. ffff36e0: e1a01185 lsl r1, r5, #3
  3506. ffff36e4: e1810ea4 orr r0, r1, r4, lsr #29
  3507. ffff36e8: e1a01184 lsl r1, r4, #3
  3508. ffff36ec: e1a03205 lsl r3, r5, #4
  3509. ffff36f0: e1832e24 orr r2, r3, r4, lsr #28
  3510. ffff36f4: e1a03204 lsl r3, r4, #4
  3511. ffff36f8: e091a003 adds sl, r1, r3
  3512. ffff36fc: e0a0b002 adc fp, r0, r2
  3513. ffff3700: ebffffe4 bl get_counter
  3514. ffff3704: e1a08000 mov r8, r0
  3515. ffff3708: e1a09001 mov r9, r1
  3516. ffff370c: e320f000 nop {0}
  3517. ffff3710: ebffffe0 bl get_counter
  3518. ffff3714: e0506008 subs r6, r0, r8
  3519. ffff3718: e0c17009 sbc r7, r1, r9
  3520. ffff371c: e056000a subs r0, r6, sl
  3521. ffff3720: e0d7000b sbcs r0, r7, fp
  3522. ffff3724: 3afffff9 bcc 0xffff3710
  3523. ffff3728: e8bd8ff0 pop {r4, r5, r6, r7, r8, r9, sl, fp, pc}
  3524. ;;; *****************************************************************************
  3525. ffff372c: e92d4030 push {r4, r5, lr}
  3526. ffff3730: e1a04000 mov r4, r0
  3527. ffff3734: e1a05001 mov r5, r1
  3528. ffff3738: ea000002 b 0xffff3748
  3529. ffff373c: e3000320 movw r0, #800 ; 0x320
  3530. ffff3740: e3a01000 mov r1, #0
  3531. ffff3744: ebffffe2 bl 0xffff36d4
  3532. ffff3748: e1a01004 mov r1, r4
  3533. ffff374c: e1a00005 mov r0, r5
  3534. ffff3750: e2544001 subs r4, r4, #1
  3535. ffff3754: e2c55000 sbc r5, r5, #0
  3536. ffff3758: e3a03000 mov r3, #0
  3537. ffff375c: e0211003 eor r1, r1, r3
  3538. ffff3760: e0200003 eor r0, r0, r3
  3539. ffff3764: e1900001 orrs r0, r0, r1
  3540. ffff3768: 1afffff3 bne 0xffff373c
  3541. ffff376c: e8bd8030 pop {r4, r5, pc}
  3542. ;;;*****************************************************************************
  3543. init_SDC:
  3544. ffff3770: e3500002 cmp r0, #2 ; r0 = card_no, r1 = structure
  3545. ffff3774: 1a00001d bne .init_SDC0 ; SDC0
  3546. .init_SDC2:
  3547. ffff3778: e59f2d7c ldr r2, [pc, #3452] ; 0xffff44fc =0b01 01 01 01 01 01 01 01 01 01 01
  3548. ffff377c: e59f3d7c ldr r3, [pc, #3452] ; 0xffff4500 =0x01c20864 PC_PUL0
  3549. ffff3780: e5832000 str r2, [r3] ; enable pull-up on PC0-10
  3550. ffff3784: e59f2d78 ldr r2, [pc, #3448] ; 0xffff4504 =0b10 10 10 10 10 10 10 10
  3551. ffff3788: e243301c sub r3, r3, #28 ; PC_CFG0_REG
  3552. ffff378c: e5832000 str r2, [r3] ; configure PC as SDC2 function
  3553. ffff3790: e3002222 movw r2, #546 ; 0x222
  3554. ffff3794: e18331c2 orr r3, r3, r2, asr #3 ; PC_CFG1_REG
  3555. ffff3798: e5832000 str r2, [r3] ; configure PC as SDC2 function
  3556. ffff379c: e59f2d64 ldr r2, [pc, #3428] ; 0xffff4508 =0x01c20000 CCU_BASE
  3557. ffff37a0: e59222c0 ldr r2, [r2, #704] ; 0x2c0 0x01c202c0
  3558. ffff37a4: e3822b01 orr r2, r2, #1024 ; 0x400
  3559. ffff37a8: e59f3d58 ldr r3, [pc, #3416] ; 0xffff4508 =0x01c20000 CCU_BASE
  3560. ffff37ac: e58322c0 str r2, [r3, #704] ; 0x2c0 0x01c202c0
  3561. ffff37b0: e1a02003 mov r2, r3
  3562. ffff37b4: e5922060 ldr r2, [r2, #96] ; 0x60
  3563. ffff37b8: e3822b01 orr r2, r2, #1024 ; 0x400
  3564. ffff37bc: e5832060 str r2, [r3, #96] ; 0x60
  3565. ffff37c0: e3a02102 mov r2, #-2147483648 ; 0x80000000
  3566. ffff37c4: e5832090 str r2, [r3, #144] ; 0x90
  3567. ffff37c8: e2432a0f sub r2, r3, #61440 ; 0xf000
  3568. ffff37cc: e5812000 str r2, [r1]
  3569. ffff37d0: e5912000 ldr r2, [r1]
  3570. ffff37d4: e2822c02 add r2, r2, #512 ; 0x200
  3571. ffff37d8: e5812010 str r2, [r1, #16]
  3572. ffff37dc: e2832090 add r2, r3, #144 ; 0x90
  3573. ffff37e0: e5812008 str r2, [r1, #8]
  3574. ffff37e4: e59f2d20 ldr r2, [pc, #3360] ; 0xffff450c =0x016e3600 (24000000)
  3575. ffff37e8: e581200c str r2, [r1, #12]
  3576. ffff37ec: ea000019 b 0xffff3858
  3577. .init_SDC0:
  3578. ffff37f0: e3002565 movw r2, #1381 ; 0x565 =0b00 01 01 01 10 01 01
  3579. ffff37f4: e59f3d14 ldr r3, [pc, #3348] ; 0xffff4510 =0x01c208d0 PF_PUL0
  3580. ffff37f8: e5832000 str r2, [r3] ; enable pull-down on PF2, enable pull-up on PF0-1/PF3-5, disable pull-up/down on PF6
  3581. ffff37fc: e59f2d10 ldr r2, [pc, #3344] ; 0xffff4514 =0b111 0 010 0 010 0 010 0 010 0 010 0 010
  3582. ffff3800: e0433b42 sub r3, r3, r2, asr #22 ; PF_CFG0_REG
  3583. ffff3804: e5832000 str r2, [r3] ; configure PF as SDC0 function except for PF6
  3584. ffff3808: e59f2cf8 ldr r2, [pc, #3320] ; 0xffff4508 =0x01c20000 CCU_BASE
  3585. ffff380c: e59222c0 ldr r2, [r2, #704] ; 0x2c0
  3586. ffff3810: e3822c01 orr r2, r2, #256 ; 0x100
  3587. ffff3814: e59f3cec ldr r3, [pc, #3308] ; 0xffff4508 =0x01c20000 CCU_BASE
  3588. ffff3818: e58322c0 str r2, [r3, #704] ; 0x2c0
  3589. ffff381c: e1a02003 mov r2, r3
  3590. ffff3820: e5922060 ldr r2, [r2, #96] ; 0x60
  3591. ffff3824: e3822c01 orr r2, r2, #256 ; 0x100
  3592. ffff3828: e5832060 str r2, [r3, #96] ; 0x60
  3593. ffff382c: e3a02102 mov r2, #-2147483648 ; 0x80000000
  3594. ffff3830: e5832088 str r2, [r3, #136] ; 0x88
  3595. ffff3834: e2432a11 sub r2, r3, #69632 ; 0x11000
  3596. ffff3838: e5812000 str r2, [r1]
  3597. ffff383c: e5912000 ldr r2, [r1]
  3598. ffff3840: e2822c02 add r2, r2, #512 ; 0x200
  3599. ffff3844: e5812010 str r2, [r1, #16]
  3600. ffff3848: e2832088 add r2, r3, #136 ; 0x88
  3601. ffff384c: e5812008 str r2, [r1, #8]
  3602. ffff3850: e59f2cb4 ldr r2, [pc, #3252] ; 0xffff450c =0x016e3600 (24000000)
  3603. ffff3854: e581200c str r2, [r1, #12]
  3604. ffff3858: e3a02000 mov r2, #0
  3605. ffff385c: e5812004 str r2, [r1, #4]
  3606. ffff3860: e12fff1e bx lr
  3607. ;;;*****************************************************************************
  3608. ffff3864: e3500002 cmp r0, #2
  3609. ffff3868: 1a000019 bne 0xffff38d4
  3610. ffff386c: e59f2ca4 ldr r2, [pc, #3236] ; 0xffff4518 =0x77777777
  3611. ffff3870: e59f3ca4 ldr r3, [pc, #3236] ; 0xffff451c =0x01c20848 PC_CFG0
  3612. ffff3874: e5832000 str r2, [r3]
  3613. ffff3878: e2833004 add r3, r3, #4
  3614. ffff387c: e5832000 str r2, [r3]
  3615. ffff3880: e3002777 movw r2, #1911 ; 0x777
  3616. ffff3884: e2833004 add r3, r3, #4
  3617. ffff3888: e5832000 str r2, [r3]
  3618. ffff388c: e3052140 movw r2, #20800 ; 0x5140
  3619. ffff3890: e0833542 add r3, r3, r2, asr #10
  3620. ffff3894: e5832000 str r2, [r3]
  3621. ffff3898: e3a02014 mov r2, #20
  3622. ffff389c: e2833004 add r3, r3, #4
  3623. ffff38a0: e5832000 str r2, [r3]
  3624. ffff38a4: e3a02000 mov r2, #0
  3625. ffff38a8: e59f3c58 ldr r3, [pc, #3160] ; 0xffff4508 =0x01c20000 CCU_BASE
  3626. ffff38ac: e5832090 str r2, [r3, #144] ; 0x90
  3627. ffff38b0: e1c32002 bic r2, r3, r2
  3628. ffff38b4: e5922060 ldr r2, [r2, #96] ; 0x60
  3629. ffff38b8: e3c22b01 bic r2, r2, #1024 ; 0x400
  3630. ffff38bc: e5832060 str r2, [r3, #96] ; 0x60
  3631. ffff38c0: e1a02003 mov r2, r3
  3632. ffff38c4: e59222c0 ldr r2, [r2, #704] ; 0x2c0
  3633. ffff38c8: e3c22b01 bic r2, r2, #1024 ; 0x400
  3634. ffff38cc: e58322c0 str r2, [r3, #704] ; 0x2c0
  3635. ffff38d0: ea00000f b 0xffff3914
  3636. ffff38d4: e59f2c44 ldr r2, [pc, #3140] ; 0xffff4520 =0x07373733
  3637. ffff38d8: e59f3c44 ldr r3, [pc, #3140] ; 0xffff4524 =0x01c208b4 PF_CFG0
  3638. ffff38dc: e5832000 str r2, [r3]
  3639. ffff38e0: e3a02000 mov r2, #0
  3640. ffff38e4: e283301c add r3, r3, #28
  3641. ffff38e8: e5832000 str r2, [r3]
  3642. ffff38ec: e2433e8d sub r3, r3, #2256 ; 0x8d0
  3643. ffff38f0: e5832088 str r2, [r3, #136] ; 0x88
  3644. ffff38f4: e1c32002 bic r2, r3, r2
  3645. ffff38f8: e5922060 ldr r2, [r2, #96] ; 0x60
  3646. ffff38fc: e3c22c01 bic r2, r2, #256 ; 0x100
  3647. ffff3900: e5832060 str r2, [r3, #96] ; 0x60
  3648. ffff3904: e1a02003 mov r2, r3
  3649. ffff3908: e59222c0 ldr r2, [r2, #704] ; 0x2c0
  3650. ffff390c: e3c22c01 bic r2, r2, #256 ; 0x100
  3651. ffff3910: e58322c0 str r2, [r3, #704] ; 0x2c0
  3652. ffff3914: e12fff1e bx lr
  3653. ;;;********************************************************************************
  3654. ffff3918: e92d4070 push {r4, r5, r6, lr}
  3655. ffff391c: e1a02000 mov r2, r0
  3656. ffff3920: e5924000 ldr r4, [r2]
  3657. ffff3924: e5941000 ldr r1, [r4]
  3658. ffff3928: e3003190 movw r3, #400 ; 0x190
  3659. ffff392c: e59f5bf4 ldr r5, [pc, #3060] ; 0xffff4528 =0x80202000
  3660. ffff3930: e5815018 str r5, [r1, #24]
  3661. ffff3934: e320f000 nop {0}
  3662. ffff3938: e5910018 ldr r0, [r1, #24]
  3663. ffff393c: e3100102 tst r0, #-2147483648 ; 0x80000000
  3664. ffff3940: 0a000002 beq 0xffff3950
  3665. ffff3944: e1b00003 movs r0, r3
  3666. ffff3948: e2433001 sub r3, r3, #1
  3667. ffff394c: 1afffff9 bne 0xffff3938
  3668. ffff3950: e3530000 cmp r3, #0
  3669. ffff3954: ca000001 bgt 0xffff3960
  3670. ffff3958: e3e00000 mvn r0, #0
  3671. ffff395c: e8bd8070 pop {r4, r5, r6, pc}
  3672. ffff3960: e3e00000 mvn r0, #0
  3673. ffff3964: e5810038 str r0, [r1, #56] ; 0x38
  3674. ffff3968: e3a00000 mov r0, #0
  3675. ffff396c: eafffffa b 0xffff395c
  3676. ;;;********************************************************************************
  3677. ffff3970: e92d4ffe push {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
  3678. ffff3974: e1a0a000 mov sl, r0
  3679. ffff3978: e59a0000 ldr r0, [sl]
  3680. ffff397c: e58d0008 str r0, [sp, #8]
  3681. ffff3980: e59d0008 ldr r0, [sp, #8]
  3682. ffff3984: e5900000 ldr r0, [r0]
  3683. ffff3988: e58d0004 str r0, [sp, #4]
  3684. ffff398c: e3a00000 mov r0, #0
  3685. ffff3990: e58d0000 str r0, [sp]
  3686. ffff3994: e3a0b000 mov fp, #0
  3687. ffff3998: e320f000 nop {0}
  3688. ffff399c: e320f000 nop {0}
  3689. ffff39a0: e320f000 nop {0}
  3690. ffff39a4: ebffff3b bl get_counter
  3691. ffff39a8: e1a08000 mov r8, r0
  3692. ffff39ac: e1a09001 mov r9, r1
  3693. ffff39b0: e30f6fff movw r6, #65535 ; 0xffff
  3694. ffff39b4: e3a07000 mov r7, #0
  3695. ffff39b8: e320f000 nop {0}
  3696. ffff39bc: ebffff35 bl get_counter
  3697. ffff39c0: e0504008 subs r4, r0, r8
  3698. ffff39c4: e0c15009 sbc r5, r1, r9
  3699. ffff39c8: e59d0004 ldr r0, [sp, #4]
  3700. ffff39cc: e590b000 ldr fp, [r0]
  3701. ffff39d0: e31b0007 tst fp, #7
  3702. ffff39d4: 1a000001 bne 0xffff39e0
  3703. ffff39d8: e3a00000 mov r0, #0
  3704. ffff39dc: e8bd8ffe pop {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
  3705. ffff39e0: e0540006 subs r0, r4, r6
  3706. ffff39e4: e0d50007 sbcs r0, r5, r7
  3707. ffff39e8: 3afffff3 bcc 0xffff39bc
  3708. ffff39ec: e0540006 subs r0, r4, r6
  3709. ffff39f0: e0d50007 sbcs r0, r5, r7
  3710. ffff39f4: 3a000005 bcc 0xffff3a10
  3711. ffff39f8: e31b0007 tst fp, #7
  3712. ffff39fc: 0a000003 beq 0xffff3a10
  3713. ffff3a00: e3e00006 mvn r0, #6
  3714. ffff3a04: e58d0000 str r0, [sp]
  3715. ffff3a08: e59d0000 ldr r0, [sp]
  3716. ffff3a0c: eafffff2 b 0xffff39dc
  3717. ffff3a10: e3a00000 mov r0, #0
  3718. ffff3a14: eafffff0 b 0xffff39dc
  3719. ;;;********************************************************************************
  3720. ffff3a18: e92d43f0 push {r4, r5, r6, r7, r8, r9, lr}
  3721. ffff3a1c: e1a07000 mov r7, r0
  3722. ffff3a20: e1a05001 mov r5, r1
  3723. ffff3a24: e5974000 ldr r4, [r7]
  3724. ffff3a28: e5948000 ldr r8, [r4]
  3725. ffff3a2c: e3a09000 mov r9, #0
  3726. ffff3a30: e3a06010 mov r6, #16
  3727. ffff3a34: e320f000 nop {0}
  3728. ffff3a38: e5889004 str r9, [r8, #4]
  3729. ffff3a3c: e1a00007 mov r0, r7
  3730. ffff3a40: ebffffb4 bl 0xffff3918
  3731. ffff3a44: e3500000 cmp r0, #0
  3732. ffff3a48: 0a000001 beq 0xffff3a54
  3733. ffff3a4c: e3e00000 mvn r0, #0
  3734. ffff3a50: e8bd83f0 pop {r4, r5, r6, r7, r8, r9, pc}
  3735. ffff3a54: e3a00000 mov r0, #0
  3736. ffff3a58: e5941008 ldr r1, [r4, #8]
  3737. ffff3a5c: e5810000 str r0, [r1]
  3738. ffff3a60: e3a06010 mov r6, #16
  3739. ffff3a64: e320f000 nop {0}
  3740. ffff3a68: e1b00006 movs r0, r6
  3741. ffff3a6c: e2466001 sub r6, r6, #1
  3742. ffff3a70: 1afffffc bne 0xffff3a68
  3743. ffff3a74: e59f0ab0 ldr r0, [pc, #2736] ; 0xffff452c =0x00061a80 (400000)
  3744. ffff3a78: e1550000 cmp r5, r0
  3745. ffff3a7c: 8a000003 bhi 0xffff3a90
  3746. ffff3a80: e59f0aa8 ldr r0, [pc, #2728] ; 0xffff4530
  3747. ffff3a84: e5941008 ldr r1, [r4, #8]
  3748. ffff3a88: e5810000 str r0, [r1]
  3749. ffff3a8c: ea000009 b 0xffff3ab8
  3750. ffff3a90: e59f0a9c ldr r0, [pc, #2716] ; 0xffff4534
  3751. ffff3a94: e1550000 cmp r5, r0
  3752. ffff3a98: 8a000003 bhi 0xffff3aac
  3753. ffff3a9c: e3a00802 mov r0, #131072 ; 0x20000
  3754. ffff3aa0: e5941008 ldr r1, [r4, #8]
  3755. ffff3aa4: e5810000 str r0, [r1]
  3756. ffff3aa8: ea000002 b 0xffff3ab8
  3757. ffff3aac: e3a00801 mov r0, #65536 ; 0x10000
  3758. ffff3ab0: e5941008 ldr r1, [r4, #8]
  3759. ffff3ab4: e5810000 str r0, [r1]
  3760. ffff3ab8: e3a06010 mov r6, #16
  3761. ffff3abc: e320f000 nop {0}
  3762. ffff3ac0: e1b00006 movs r0, r6
  3763. ffff3ac4: e2466001 sub r6, r6, #1
  3764. ffff3ac8: 1afffffc bne 0xffff3ac0
  3765. ffff3acc: e5940008 ldr r0, [r4, #8]
  3766. ffff3ad0: e5900000 ldr r0, [r0]
  3767. ffff3ad4: e3800102 orr r0, r0, #-2147483648 ; 0x80000000
  3768. ffff3ad8: e5941008 ldr r1, [r4, #8]
  3769. ffff3adc: e5810000 str r0, [r1]
  3770. ffff3ae0: e3a06010 mov r6, #16
  3771. ffff3ae4: e320f000 nop {0}
  3772. ffff3ae8: e1b00006 movs r0, r6
  3773. ffff3aec: e2466001 sub r6, r6, #1
  3774. ffff3af0: 1afffffc bne 0xffff3ae8
  3775. ffff3af4: e3a09801 mov r9, #65536 ; 0x10000
  3776. ffff3af8: e5889004 str r9, [r8, #4]
  3777. ffff3afc: e1a00007 mov r0, r7
  3778. ffff3b00: ebffff84 bl 0xffff3918
  3779. ffff3b04: e3500000 cmp r0, #0
  3780. ffff3b08: 0a000001 beq 0xffff3b14
  3781. ffff3b0c: e3e00000 mvn r0, #0
  3782. ffff3b10: eaffffce b 0xffff3a50
  3783. ffff3b14: e3a00000 mov r0, #0
  3784. ffff3b18: eaffffcc b 0xffff3a50
  3785. ;;;********************************************************************************
  3786. ffff3b1c: e92d4070 push {r4, r5, r6, lr}
  3787. ffff3b20: e1a04000 mov r4, r0
  3788. ffff3b24: e5946000 ldr r6, [r4]
  3789. ffff3b28: e5965000 ldr r5, [r6]
  3790. ffff3b2c: e3a00000 mov r0, #0
  3791. ffff3b30: e5850078 str r0, [r5, #120] ; 0x78
  3792. ffff3b34: e3a0001e mov r0, #30
  3793. ffff3b38: e3a01000 mov r1, #0
  3794. ffff3b3c: ebfffee4 bl 0xffff36d4
  3795. ffff3b40: e3a00001 mov r0, #1
  3796. ffff3b44: e5850078 str r0, [r5, #120] ; 0x78
  3797. ffff3b48: e300012c movw r0, #300 ; 0x12c
  3798. ffff3b4c: e3a01000 mov r1, #0
  3799. ffff3b50: ebfffedf bl 0xffff36d4
  3800. ffff3b54: e8bd8070 pop {r4, r5, r6, pc}
  3801. ;;;********************************************************************************
  3802. ffff3b58: e92d4070 push {r4, r5, r6, lr}
  3803. ffff3b5c: e1a04000 mov r4, r0
  3804. ffff3b60: e5946000 ldr r6, [r4]
  3805. ffff3b64: e5965000 ldr r5, [r6]
  3806. ffff3b68: e594001c ldr r0, [r4, #28]
  3807. ffff3b6c: e3500000 cmp r0, #0
  3808. ffff3b70: 0a000007 beq 0xffff3b94
  3809. ffff3b74: e594101c ldr r1, [r4, #28]
  3810. ffff3b78: e1a00004 mov r0, r4
  3811. ffff3b7c: ebffffa5 bl 0xffff3a18
  3812. ffff3b80: e3500000 cmp r0, #0
  3813. ffff3b84: 0a000002 beq 0xffff3b94
  3814. ffff3b88: e3a00001 mov r0, #1
  3815. ffff3b8c: e5860014 str r0, [r6, #20]
  3816. ffff3b90: e8bd8070 pop {r4, r5, r6, pc}
  3817. ffff3b94: e5940018 ldr r0, [r4, #24]
  3818. ffff3b98: e3500004 cmp r0, #4
  3819. ffff3b9c: 1a000002 bne 0xffff3bac
  3820. ffff3ba0: e3a00001 mov r0, #1
  3821. ffff3ba4: e585000c str r0, [r5, #12]
  3822. ffff3ba8: ea000007 b 0xffff3bcc
  3823. ffff3bac: e5940018 ldr r0, [r4, #24]
  3824. ffff3bb0: e3500008 cmp r0, #8
  3825. ffff3bb4: 1a000002 bne 0xffff3bc4
  3826. ffff3bb8: e3a00002 mov r0, #2
  3827. ffff3bbc: e585000c str r0, [r5, #12]
  3828. ffff3bc0: ea000001 b 0xffff3bcc
  3829. ffff3bc4: e3a00000 mov r0, #0
  3830. ffff3bc8: e585000c str r0, [r5, #12]
  3831. ffff3bcc: e320f000 nop {0}
  3832. ffff3bd0: eaffffee b 0xffff3b90
  3833. ;;;********************************************************************************
  3834. ffff3bd4: e92d40f0 push {r4, r5, r6, r7, lr}
  3835. ffff3bd8: e1a05000 mov r5, r0
  3836. ffff3bdc: e5957000 ldr r7, [r5]
  3837. ffff3be0: e5974000 ldr r4, [r7]
  3838. ffff3be4: e3a00007 mov r0, #7
  3839. ffff3be8: e5840000 str r0, [r4]
  3840. ffff3bec: e1a00005 mov r0, r5
  3841. ffff3bf0: ebffff5e bl 0xffff3970
  3842. ffff3bf4: e1a06000 mov r6, r0
  3843. ffff3bf8: e3560000 cmp r6, #0
  3844. ffff3bfc: 0a000001 beq 0xffff3c08
  3845. ffff3c00: e1a00006 mov r0, r6
  3846. ffff3c04: e8bd80f0 pop {r4, r5, r6, r7, pc}
  3847. ffff3c08: e59f0928 ldr r0, [pc, #2344] ; 0xffff4538
  3848. ffff3c0c: e5840040 str r0, [r4, #64] ; 0x40
  3849. ffff3c10: e3a00000 mov r0, #0
  3850. ffff3c14: e5840030 str r0, [r4, #48] ; 0x30
  3851. ffff3c18: e3e00000 mvn r0, #0
  3852. ffff3c1c: e5840038 str r0, [r4, #56] ; 0x38
  3853. ffff3c20: e30003ff movw r0, #1023 ; 0x3ff
  3854. ffff3c24: e5840088 str r0, [r4, #136] ; 0x88
  3855. ffff3c28: e3000deb movw r0, #3563 ; 0xdeb
  3856. ffff3c2c: e5840050 str r0, [r4, #80] ; 0x50
  3857. ffff3c30: e3e00000 mvn r0, #0
  3858. ffff3c34: e5840008 str r0, [r4, #8]
  3859. ffff3c38: e3a00000 mov r0, #0
  3860. ffff3c3c: eafffff0 b 0xffff3c04
  3861. ;;;********************************************************************************
  3862. ffff3c40: e92d43f0 push {r4, r5, r6, r7, r8, r9, lr}
  3863. ffff3c44: e1a07000 mov r7, r0
  3864. ffff3c48: e5974000 ldr r4, [r7]
  3865. ffff3c4c: e5945000 ldr r5, [r4]
  3866. ffff3c50: e3a02000 mov r2, #0
  3867. ffff3c54: e591000c ldr r0, [r1, #12]
  3868. ffff3c58: e5918008 ldr r8, [r1, #8]
  3869. ffff3c5c: e00c0890 mul ip, r0, r8
  3870. ffff3c60: e59f68d4 ldr r6, [pc, #2260] ; 0xffff453c
  3871. ffff3c64: e3a0e000 mov lr, #0
  3872. ffff3c68: e5910004 ldr r0, [r1, #4]
  3873. ffff3c6c: e3100001 tst r0, #1
  3874. ffff3c70: 0a00001c beq 0xffff3ce8
  3875. ffff3c74: e5913000 ldr r3, [r1]
  3876. ffff3c78: e320f000 nop {0}
  3877. ffff3c7c: ea000016 b 0xffff3cdc
  3878. ffff3c80: e595003c ldr r0, [r5, #60] ; 0x3c
  3879. ffff3c84: e3100004 tst r0, #4
  3880. ffff3c88: 1a00000e bne 0xffff3cc8
  3881. ffff3c8c: e595003c ldr r0, [r5, #60] ; 0x3c
  3882. ffff3c90: e7e4e8d0 ubfx lr, r0, #17, #5
  3883. ffff3c94: e35e0000 cmp lr, #0
  3884. ffff3c98: 1a000000 bne 0xffff3ca0
  3885. ffff3c9c: e3a0e020 mov lr, #32
  3886. ffff3ca0: ea000005 b 0xffff3cbc
  3887. ffff3ca4: e5940010 ldr r0, [r4, #16]
  3888. ffff3ca8: e5908000 ldr r8, [r0]
  3889. ffff3cac: e1a00002 mov r0, r2
  3890. ffff3cb0: e2822001 add r2, r2, #1
  3891. ffff3cb4: e7838100 str r8, [r3, r0, lsl #2]
  3892. ffff3cb8: e59f687c ldr r6, [pc, #2172] ; 0xffff453c
  3893. ffff3cbc: e1b0000e movs r0, lr
  3894. ffff3cc0: e24ee001 sub lr, lr, #1
  3895. ffff3cc4: 1afffff6 bne 0xffff3ca4
  3896. ffff3cc8: e1b00006 movs r0, r6
  3897. ffff3ccc: e2466001 sub r6, r6, #1
  3898. ffff3cd0: 1a000001 bne 0xffff3cdc
  3899. ffff3cd4: e3e00000 mvn r0, #0
  3900. ffff3cd8: e8bd83f0 pop {r4, r5, r6, r7, r8, r9, pc}
  3901. ffff3cdc: e152012c cmp r2, ip, lsr #2
  3902. ffff3ce0: 3affffe6 bcc 0xffff3c80
  3903. ffff3ce4: ea000014 b 0xffff3d3c
  3904. ffff3ce8: e5913000 ldr r3, [r1]
  3905. ffff3cec: e3a02000 mov r2, #0
  3906. ffff3cf0: ea00000f b 0xffff3d34
  3907. ffff3cf4: e320f000 nop {0}
  3908. ffff3cf8: e2460001 sub r0, r6, #1
  3909. ffff3cfc: e1b06000 movs r6, r0
  3910. ffff3d00: 0a000002 beq 0xffff3d10
  3911. ffff3d04: e595003c ldr r0, [r5, #60] ; 0x3c
  3912. ffff3d08: e3100008 tst r0, #8
  3913. ffff3d0c: 1afffff9 bne 0xffff3cf8
  3914. ffff3d10: e3560000 cmp r6, #0
  3915. ffff3d14: ca000001 bgt 0xffff3d20
  3916. ffff3d18: e3e00000 mvn r0, #0
  3917. ffff3d1c: eaffffed b 0xffff3cd8
  3918. ffff3d20: e7930102 ldr r0, [r3, r2, lsl #2]
  3919. ffff3d24: e5948010 ldr r8, [r4, #16]
  3920. ffff3d28: e5880000 str r0, [r8]
  3921. ffff3d2c: e59f680c ldr r6, [pc, #2060] ; 0xffff4540
  3922. ffff3d30: e2822001 add r2, r2, #1
  3923. ffff3d34: e152012c cmp r2, ip, lsr #2
  3924. ffff3d38: 3affffed bcc 0xffff3cf4
  3925. ffff3d3c: e3a00000 mov r0, #0
  3926. ffff3d40: eaffffe4 b 0xffff3cd8
  3927. ;;;********************************************************************************
  3928. ffff3d44: e92d4ff3 push {r0, r1, r4, r5, r6, r7, r8, r9, sl, fp, lr}
  3929. ffff3d48: e24dd014 sub sp, sp, #20
  3930. ffff3d4c: e1a07001 mov r7, r1
  3931. ffff3d50: e59d0014 ldr r0, [sp, #20]
  3932. ffff3d54: e5900000 ldr r0, [r0]
  3933. ffff3d58: e58d0010 str r0, [sp, #16]
  3934. ffff3d5c: e59d0010 ldr r0, [sp, #16]
  3935. ffff3d60: e5906000 ldr r6, [r0]
  3936. ffff3d64: e59d0010 ldr r0, [sp, #16]
  3937. ffff3d68: e5904004 ldr r4, [r0, #4]
  3938. ffff3d6c: e597000c ldr r0, [r7, #12]
  3939. ffff3d70: e5971008 ldr r1, [r7, #8]
  3940. ffff3d74: e0000190 mul r0, r0, r1
  3941. ffff3d78: e58d000c str r0, [sp, #12]
  3942. ffff3d7c: e3a000ff mov r0, #255 ; 0xff
  3943. ffff3d80: e58d0008 str r0, [sp, #8]
  3944. ffff3d84: e3a05000 mov r5, #0
  3945. ffff3d88: e3a0a000 mov sl, #0
  3946. ffff3d8c: e3a00000 mov r0, #0
  3947. ffff3d90: e58d0000 str r0, [sp]
  3948. ffff3d94: e3a08000 mov r8, #0
  3949. ffff3d98: e5970004 ldr r0, [r7, #4]
  3950. ffff3d9c: e3100001 tst r0, #1
  3951. ffff3da0: 0a000001 beq 0xffff3dac
  3952. ffff3da4: e5970000 ldr r0, [r7]
  3953. ffff3da8: ea000000 b 0xffff3db0
  3954. ffff3dac: e5970000 ldr r0, [r7]
  3955. ffff3db0: e58d0004 str r0, [sp, #4]
  3956. ffff3db4: e59d000c ldr r0, [sp, #12]
  3957. ffff3db8: e1a0a7a0 lsr sl, r0, #15
  3958. ffff3dbc: e59d000c ldr r0, [sp, #12]
  3959. ffff3dc0: e7df079f bfc r0, #15, #17
  3960. ffff3dc4: e58d0000 str r0, [sp]
  3961. ffff3dc8: e59d0000 ldr r0, [sp]
  3962. ffff3dcc: e3500000 cmp r0, #0
  3963. ffff3dd0: 0a000001 beq 0xffff3ddc
  3964. ffff3dd4: e28aa001 add sl, sl, #1
  3965. ffff3dd8: ea000001 b 0xffff3de4
  3966. ffff3ddc: e3080000 movw r0, #32768 ; 0x8000
  3967. ffff3de0: e58d0000 str r0, [sp]
  3968. ffff3de4: e3a08000 mov r8, #0
  3969. ffff3de8: ea000045 b 0xffff3f04
  3970. ffff3dec: e0840205 add r0, r4, r5, lsl #4
  3971. ffff3df0: e3a01000 mov r1, #0
  3972. ffff3df4: e5801000 str r1, [r0]
  3973. ffff3df8: e5801004 str r1, [r0, #4]
  3974. ffff3dfc: e5801008 str r1, [r0, #8]
  3975. ffff3e00: e580100c str r1, [r0, #12]
  3976. ffff3e04: e7940205 ldr r0, [r4, r5, lsl #4]
  3977. ffff3e08: e3c00010 bic r0, r0, #16
  3978. ffff3e0c: e2800010 add r0, r0, #16
  3979. ffff3e10: e7840205 str r0, [r4, r5, lsl #4]
  3980. ffff3e14: e7940205 ldr r0, [r4, r5, lsl #4]
  3981. ffff3e18: e3c00102 bic r0, r0, #-2147483648 ; 0x80000000
  3982. ffff3e1c: e2800102 add r0, r0, #-2147483648 ; 0x80000000
  3983. ffff3e20: e7840205 str r0, [r4, r5, lsl #4]
  3984. ffff3e24: e7940205 ldr r0, [r4, r5, lsl #4]
  3985. ffff3e28: e3c00002 bic r0, r0, #2
  3986. ffff3e2c: e2800002 add r0, r0, #2
  3987. ffff3e30: e7840205 str r0, [r4, r5, lsl #4]
  3988. ffff3e34: e35a0001 cmp sl, #1
  3989. ffff3e38: 9a000009 bls 0xffff3e64
  3990. ffff3e3c: e24a0001 sub r0, sl, #1
  3991. ffff3e40: e1500008 cmp r0, r8
  3992. ffff3e44: 0a000006 beq 0xffff3e64
  3993. ffff3e48: e3080000 movw r0, #32768 ; 0x8000
  3994. ffff3e4c: e0841205 add r1, r4, r5, lsl #4
  3995. ffff3e50: e5911004 ldr r1, [r1, #4]
  3996. ffff3e54: e7cf1010 bfi r1, r0, #0, #16
  3997. ffff3e58: e0840205 add r0, r4, r5, lsl #4
  3998. ffff3e5c: e5801004 str r1, [r0, #4]
  3999. ffff3e60: ea000005 b 0xffff3e7c
  4000. ffff3e64: e0841205 add r1, r4, r5, lsl #4
  4001. ffff3e68: e59d0000 ldr r0, [sp]
  4002. ffff3e6c: e5911004 ldr r1, [r1, #4]
  4003. ffff3e70: e7cf1010 bfi r1, r0, #0, #16
  4004. ffff3e74: e0840205 add r0, r4, r5, lsl #4
  4005. ffff3e78: e5801004 str r1, [r0, #4]
  4006. ffff3e7c: e59d0004 ldr r0, [sp, #4]
  4007. ffff3e80: e0800788 add r0, r0, r8, lsl #15
  4008. ffff3e84: e0841205 add r1, r4, r5, lsl #4
  4009. ffff3e88: e5810008 str r0, [r1, #8]
  4010. ffff3e8c: e3580000 cmp r8, #0
  4011. ffff3e90: 1a000003 bne 0xffff3ea4
  4012. ffff3e94: e7940205 ldr r0, [r4, r5, lsl #4]
  4013. ffff3e98: e3c00008 bic r0, r0, #8
  4014. ffff3e9c: e2800008 add r0, r0, #8
  4015. ffff3ea0: e7840205 str r0, [r4, r5, lsl #4]
  4016. ffff3ea4: e24a0001 sub r0, sl, #1
  4017. ffff3ea8: e1500008 cmp r0, r8
  4018. ffff3eac: 1a00000e bne 0xffff3eec
  4019. ffff3eb0: e7940205 ldr r0, [r4, r5, lsl #4]
  4020. ffff3eb4: e3c00002 bic r0, r0, #2
  4021. ffff3eb8: e7840205 str r0, [r4, r5, lsl #4]
  4022. ffff3ebc: e7940205 ldr r0, [r4, r5, lsl #4]
  4023. ffff3ec0: e3c00004 bic r0, r0, #4
  4024. ffff3ec4: e2800004 add r0, r0, #4
  4025. ffff3ec8: e7840205 str r0, [r4, r5, lsl #4]
  4026. ffff3ecc: e7940205 ldr r0, [r4, r5, lsl #4]
  4027. ffff3ed0: e3c00020 bic r0, r0, #32
  4028. ffff3ed4: e2800020 add r0, r0, #32
  4029. ffff3ed8: e7840205 str r0, [r4, r5, lsl #4]
  4030. ffff3edc: e3a00000 mov r0, #0
  4031. ffff3ee0: e0841205 add r1, r4, r5, lsl #4
  4032. ffff3ee4: e581000c str r0, [r1, #12]
  4033. ffff3ee8: ea000003 b 0xffff3efc
  4034. ffff3eec: e2850001 add r0, r5, #1
  4035. ffff3ef0: e0840200 add r0, r4, r0, lsl #4
  4036. ffff3ef4: e0841205 add r1, r4, r5, lsl #4
  4037. ffff3ef8: e581000c str r0, [r1, #12]
  4038. ffff3efc: e2888001 add r8, r8, #1
  4039. ffff3f00: e2855001 add r5, r5, #1
  4040. ffff3f04: e158000a cmp r8, sl
  4041. ffff3f08: 3affffb7 bcc 0xffff3dec
  4042. ffff3f0c: e5969000 ldr r9, [r6]
  4043. ffff3f10: e3890024 orr r0, r9, #36 ; 0x24
  4044. ffff3f14: e5860000 str r0, [r6]
  4045. ffff3f18: e59d0014 ldr r0, [sp, #20]
  4046. ffff3f1c: ebfffe93 bl 0xffff3970
  4047. ffff3f20: e1a0b000 mov fp, r0
  4048. ffff3f24: e35b0000 cmp fp, #0
  4049. ffff3f28: 0a000002 beq 0xffff3f38
  4050. ffff3f2c: e1a0000b mov r0, fp
  4051. ffff3f30: e28dd01c add sp, sp, #28
  4052. ffff3f34: e8bd8ff0 pop {r4, r5, r6, r7, r8, r9, sl, fp, pc}
  4053. ffff3f38: e3a00001 mov r0, #1
  4054. ffff3f3c: e5860080 str r0, [r6, #128] ; 0x80
  4055. ffff3f40: e320f000 nop {0}
  4056. ffff3f44: e5960080 ldr r0, [r6, #128] ; 0x80
  4057. ffff3f48: e3100001 tst r0, #1
  4058. ffff3f4c: 1a000000 bne 0xffff3f54
  4059. ffff3f50: ea000005 b 0xffff3f6c
  4060. ffff3f54: e59d0008 ldr r0, [sp, #8]
  4061. ffff3f58: e2400001 sub r0, r0, #1
  4062. ffff3f5c: e58d0008 str r0, [sp, #8]
  4063. ffff3f60: e59d0008 ldr r0, [sp, #8]
  4064. ffff3f64: e3500000 cmp r0, #0
  4065. ffff3f68: cafffff5 bgt 0xffff3f44
  4066. ffff3f6c: e320f000 nop {0}
  4067. ffff3f70: e59d0008 ldr r0, [sp, #8]
  4068. ffff3f74: e3500000 cmp r0, #0
  4069. ffff3f78: 1a000001 bne 0xffff3f84
  4070. ffff3f7c: e3e00006 mvn r0, #6
  4071. ffff3f80: eaffffea b 0xffff3f30
  4072. ffff3f84: e3a00082 mov r0, #130 ; 0x82
  4073. ffff3f88: e5860080 str r0, [r6, #128] ; 0x80
  4074. ffff3f8c: e596008c ldr r0, [r6, #140] ; 0x8c
  4075. ffff3f90: e3c09003 bic r9, r0, #3
  4076. ffff3f94: e5970004 ldr r0, [r7, #4]
  4077. ffff3f98: e3100002 tst r0, #2
  4078. ffff3f9c: 0a000001 beq 0xffff3fa8
  4079. ffff3fa0: e3899001 orr r9, r9, #1
  4080. ffff3fa4: ea000000 b 0xffff3fac
  4081. ffff3fa8: e3899002 orr r9, r9, #2
  4082. ffff3fac: e586908c str r9, [r6, #140] ; 0x8c
  4083. ffff3fb0: e5864084 str r4, [r6, #132] ; 0x84
  4084. ffff3fb4: e59f0588 ldr r0, [pc, #1416] ; 0xffff4544
  4085. ffff3fb8: e5860040 str r0, [r6, #64] ; 0x40
  4086. ffff3fbc: e3a00000 mov r0, #0
  4087. ffff3fc0: eaffffda b 0xffff3f30
  4088. ;;;********************************************************************************
  4089. ffff3fc4: e92d4ff7 push {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr}
  4090. ffff3fc8: e24dd020 sub sp, sp, #32
  4091. ffff3fcc: e1a0b001 mov fp, r1
  4092. ffff3fd0: e59d0020 ldr r0, [sp, #32]
  4093. ffff3fd4: e5900000 ldr r0, [r0]
  4094. ffff3fd8: e58d001c str r0, [sp, #28]
  4095. ffff3fdc: e59d001c ldr r0, [sp, #28]
  4096. ffff3fe0: e590a000 ldr sl, [r0]
  4097. ffff3fe4: e3a00102 mov r0, #-2147483648 ; 0x80000000
  4098. ffff3fe8: e58d0018 str r0, [sp, #24]
  4099. ffff3fec: e3a00000 mov r0, #0
  4100. ffff3ff0: e58d0014 str r0, [sp, #20]
  4101. ffff3ff4: e58d0010 str r0, [sp, #16]
  4102. ffff3ff8: e58d000c str r0, [sp, #12]
  4103. ffff3ffc: e58d0008 str r0, [sp, #8]
  4104. ffff4000: e320f000 nop {0}
  4105. ffff4004: e320f000 nop {0}
  4106. ffff4008: e320f000 nop {0}
  4107. ffff400c: e59d001c ldr r0, [sp, #28]
  4108. ffff4010: e5900014 ldr r0, [r0, #20]
  4109. ffff4014: e3500000 cmp r0, #0
  4110. ffff4018: 0a000002 beq 0xffff4028
  4111. ffff401c: e3e00000 mvn r0, #0
  4112. ffff4020: e28dd02c add sp, sp, #44 ; 0x2c
  4113. ffff4024: e8bd8ff0 pop {r4, r5, r6, r7, r8, r9, sl, fp, pc}
  4114. ffff4028: e59b0000 ldr r0, [fp]
  4115. ffff402c: e3500000 cmp r0, #0
  4116. ffff4030: 1a000002 bne 0xffff4040
  4117. ffff4034: e59d0018 ldr r0, [sp, #24]
  4118. ffff4038: e3800902 orr r0, r0, #32768 ; 0x8000
  4119. ffff403c: e58d0018 str r0, [sp, #24]
  4120. ffff4040: e59b0004 ldr r0, [fp, #4]
  4121. ffff4044: e3100001 tst r0, #1
  4122. ffff4048: 0a000002 beq 0xffff4058
  4123. ffff404c: e59d0018 ldr r0, [sp, #24]
  4124. ffff4050: e3800040 orr r0, r0, #64 ; 0x40
  4125. ffff4054: e58d0018 str r0, [sp, #24]
  4126. ffff4058: e59b0004 ldr r0, [fp, #4]
  4127. ffff405c: e3100002 tst r0, #2
  4128. ffff4060: 0a000002 beq 0xffff4070
  4129. ffff4064: e59d0018 ldr r0, [sp, #24]
  4130. ffff4068: e3800080 orr r0, r0, #128 ; 0x80
  4131. ffff406c: e58d0018 str r0, [sp, #24]
  4132. ffff4070: e59b0004 ldr r0, [fp, #4]
  4133. ffff4074: e3100004 tst r0, #4
  4134. ffff4078: 0a000002 beq 0xffff4088
  4135. ffff407c: e59d0018 ldr r0, [sp, #24]
  4136. ffff4080: e3800c01 orr r0, r0, #256 ; 0x100
  4137. ffff4084: e58d0018 str r0, [sp, #24]
  4138. ffff4088: e59b001c ldr r0, [fp, #28]
  4139. ffff408c: e3100001 tst r0, #1
  4140. ffff4090: 0a000002 beq 0xffff40a0
  4141. ffff4094: e59d0018 ldr r0, [sp, #24]
  4142. ffff4098: e3800405 orr r0, r0, #83886080 ; 0x5000000
  4143. ffff409c: e58d0018 str r0, [sp, #24]
  4144. ffff40a0: e59b0008 ldr r0, [fp, #8]
  4145. ffff40a4: e58a001c str r0, [sl, #28]
  4146. ffff40a8: e59d0028 ldr r0, [sp, #40] ; 0x28
  4147. ffff40ac: e3500000 cmp r0, #0
  4148. ffff40b0: 1a000004 bne 0xffff40c8
  4149. ffff40b4: e59b0000 ldr r0, [fp]
  4150. ffff40b8: e59d1018 ldr r1, [sp, #24]
  4151. ffff40bc: e1800001 orr r0, r0, r1
  4152. ffff40c0: e58a0018 str r0, [sl, #24]
  4153. ffff40c4: ea000032 b 0xffff4194
  4154. ffff40c8: e59d0028 ldr r0, [sp, #40] ; 0x28
  4155. ffff40cc: e5900000 ldr r0, [r0]
  4156. ffff40d0: e3100003 tst r0, #3
  4157. ffff40d4: 0a000002 beq 0xffff40e4
  4158. ffff40d8: e3e00003 mvn r0, #3
  4159. ffff40dc: e58d0014 str r0, [sp, #20]
  4160. ffff40e0: ea0000e1 b 0xffff446c
  4161. ffff40e4: e59d0018 ldr r0, [sp, #24]
  4162. ffff40e8: e3800c22 orr r0, r0, #8704 ; 0x2200
  4163. ffff40ec: e58d0018 str r0, [sp, #24]
  4164. ffff40f0: e59d0028 ldr r0, [sp, #40] ; 0x28
  4165. ffff40f4: e5900004 ldr r0, [r0, #4]
  4166. ffff40f8: e3100002 tst r0, #2
  4167. ffff40fc: 0a000002 beq 0xffff410c
  4168. ffff4100: e59d0018 ldr r0, [sp, #24]
  4169. ffff4104: e3800b01 orr r0, r0, #1024 ; 0x400
  4170. ffff4108: e58d0018 str r0, [sp, #24]
  4171. ffff410c: e59d0028 ldr r0, [sp, #40] ; 0x28
  4172. ffff4110: e5900008 ldr r0, [r0, #8]
  4173. ffff4114: e59d1028 ldr r1, [sp, #40] ; 0x28
  4174. ffff4118: e591100c ldr r1, [r1, #12]
  4175. ffff411c: e0000190 mul r0, r0, r1
  4176. ffff4120: e58d0008 str r0, [sp, #8]
  4177. ffff4124: e59d0028 ldr r0, [sp, #40] ; 0x28
  4178. ffff4128: e590000c ldr r0, [r0, #12]
  4179. ffff412c: e58a0010 str r0, [sl, #16]
  4180. ffff4130: e59d0008 ldr r0, [sp, #8]
  4181. ffff4134: e58a0014 str r0, [sl, #20]
  4182. ffff4138: e59a0000 ldr r0, [sl]
  4183. ffff413c: e3800102 orr r0, r0, #-2147483648 ; 0x80000000
  4184. ffff4140: e58a0000 str r0, [sl]
  4185. ffff4144: e59b0000 ldr r0, [fp]
  4186. ffff4148: e59d1018 ldr r1, [sp, #24]
  4187. ffff414c: e1800001 orr r0, r0, r1
  4188. ffff4150: e58a0018 str r0, [sl, #24]
  4189. ffff4154: e59b001c ldr r0, [fp, #28]
  4190. ffff4158: e3100001 tst r0, #1
  4191. ffff415c: 0a000002 beq 0xffff416c
  4192. ffff4160: e3a00000 mov r0, #0
  4193. ffff4164: e58d0014 str r0, [sp, #20]
  4194. ffff4168: ea000003 b 0xffff417c
  4195. ffff416c: e59d0020 ldr r0, [sp, #32]
  4196. ffff4170: e59d1028 ldr r1, [sp, #40] ; 0x28
  4197. ffff4174: ebfffeb1 bl 0xffff3c40
  4198. ffff4178: e58d0014 str r0, [sp, #20]
  4199. ffff417c: e59d0014 ldr r0, [sp, #20]
  4200. ffff4180: e3500000 cmp r0, #0
  4201. ffff4184: 0a000002 beq 0xffff4194
  4202. ffff4188: e3e00002 mvn r0, #2
  4203. ffff418c: e58d0014 str r0, [sp, #20]
  4204. ffff4190: ea0000b5 b 0xffff446c
  4205. ffff4194: e59b001c ldr r0, [fp, #28]
  4206. ffff4198: e3100001 tst r0, #1
  4207. ffff419c: 0a000043 beq 0xffff42b0
  4208. ffff41a0: ebfffd3c bl get_counter
  4209. ffff41a4: e1a08000 mov r8, r0
  4210. ffff41a8: e1a09001 mov r9, r1
  4211. ffff41ac: e59f6394 ldr r6, [pc, #916] ; 0xffff4548
  4212. ffff41b0: e3a07000 mov r7, #0
  4213. ffff41b4: e320f000 nop {0}
  4214. ffff41b8: ebfffd36 bl get_counter
  4215. ffff41bc: e0504008 subs r4, r0, r8
  4216. ffff41c0: e0c15009 sbc r5, r1, r9
  4217. ffff41c4: e59a0038 ldr r0, [sl, #56] ; 0x38
  4218. ffff41c8: e30b19c2 movw r1, #47554 ; 0xb9c2
  4219. ffff41cc: e1100001 tst r0, r1
  4220. ffff41d0: 0a000000 beq 0xffff41d8
  4221. ffff41d4: ea000002 b 0xffff41e4
  4222. ffff41d8: e0540006 subs r0, r4, r6
  4223. ffff41dc: e0d50007 sbcs r0, r5, r7
  4224. ffff41e0: 3afffff4 bcc 0xffff41b8
  4225. ffff41e4: e320f000 nop {0}
  4226. ffff41e8: e0540006 subs r0, r4, r6
  4227. ffff41ec: e0d50007 sbcs r0, r5, r7
  4228. ffff41f0: 2a000003 bcs 0xffff4204
  4229. ffff41f4: e59a0038 ldr r0, [sl, #56] ; 0x38
  4230. ffff41f8: e30b18c2 movw r1, #47298 ; 0xb8c2
  4231. ffff41fc: e1100001 tst r0, r1
  4232. ffff4200: 0a000004 beq 0xffff4218
  4233. ffff4204: e3e00004 mvn r0, #4
  4234. ffff4208: e58d0014 str r0, [sp, #20]
  4235. ffff420c: e3a00322 mov r0, #-2013265920 ; 0x88000000
  4236. ffff4210: e58a0018 str r0, [sl, #24]
  4237. ffff4214: ea000094 b 0xffff446c
  4238. ffff4218: e3000100 movw r0, #256 ; 0x100
  4239. ffff421c: e58a0038 str r0, [sl, #56] ; 0x38
  4240. ffff4220: ebfffd1c bl get_counter
  4241. ffff4224: e1a08000 mov r8, r0
  4242. ffff4228: e1a09001 mov r9, r1
  4243. ffff422c: e59f6318 ldr r6, [pc, #792] ; 0xffff454c
  4244. ffff4230: e3a07000 mov r7, #0
  4245. ffff4234: e320f000 nop {0}
  4246. ffff4238: ebfffd16 bl get_counter
  4247. ffff423c: e0504008 subs r4, r0, r8
  4248. ffff4240: e0c15009 sbc r5, r1, r9
  4249. ffff4244: e59a0038 ldr r0, [sl, #56] ; 0x38
  4250. ffff4248: e30b1ac2 movw r1, #47810 ; 0xbac2
  4251. ffff424c: e1100001 tst r0, r1
  4252. ffff4250: 0a000000 beq 0xffff4258
  4253. ffff4254: ea000002 b 0xffff4264
  4254. ffff4258: e0540006 subs r0, r4, r6
  4255. ffff425c: e0d50007 sbcs r0, r5, r7
  4256. ffff4260: 3afffff4 bcc 0xffff4238
  4257. ffff4264: e320f000 nop {0}
  4258. ffff4268: e0540006 subs r0, r4, r6
  4259. ffff426c: e0d50007 sbcs r0, r5, r7
  4260. ffff4270: 2a000003 bcs 0xffff4284
  4261. ffff4274: e59a0038 ldr r0, [sl, #56] ; 0x38
  4262. ffff4278: e30b18c2 movw r1, #47298 ; 0xb8c2
  4263. ffff427c: e1100001 tst r0, r1
  4264. ffff4280: 0a000004 beq 0xffff4298
  4265. ffff4284: e3e00005 mvn r0, #5
  4266. ffff4288: e58d0014 str r0, [sp, #20]
  4267. ffff428c: e3a00322 mov r0, #-2013265920 ; 0x88000000
  4268. ffff4290: e58a0018 str r0, [sl, #24]
  4269. ffff4294: ea000074 b 0xffff446c
  4270. ffff4298: e3000200 movw r0, #512 ; 0x200
  4271. ffff429c: e58a0038 str r0, [sl, #56] ; 0x38
  4272. ffff42a0: e59d0020 ldr r0, [sp, #32]
  4273. ffff42a4: e59d1028 ldr r1, [sp, #40] ; 0x28
  4274. ffff42a8: ebfffe64 bl 0xffff3c40
  4275. ffff42ac: e58d0014 str r0, [sp, #20]
  4276. ffff42b0: ebfffcf8 bl get_counter
  4277. ffff42b4: e1a08000 mov r8, r0
  4278. ffff42b8: e1a09001 mov r9, r1
  4279. ffff42bc: e3056dc0 movw r6, #24000 ; 0x5dc0
  4280. ffff42c0: e3a07000 mov r7, #0
  4281. ffff42c4: e320f000 nop {0}
  4282. ffff42c8: ebfffcf2 bl get_counter
  4283. ffff42cc: e0504008 subs r4, r0, r8
  4284. ffff42d0: e0c15009 sbc r5, r1, r9
  4285. ffff42d4: e59a0038 ldr r0, [sl, #56] ; 0x38
  4286. ffff42d8: e58d0010 str r0, [sp, #16]
  4287. ffff42dc: e30b0bc6 movw r0, #48070 ; 0xbbc6
  4288. ffff42e0: e59d1010 ldr r1, [sp, #16]
  4289. ffff42e4: e1100001 tst r0, r1
  4290. ffff42e8: 0a000000 beq 0xffff42f0
  4291. ffff42ec: ea000002 b 0xffff42fc
  4292. ffff42f0: e0540006 subs r0, r4, r6
  4293. ffff42f4: e0d50007 sbcs r0, r5, r7
  4294. ffff42f8: 3afffff2 bcc 0xffff42c8
  4295. ffff42fc: e320f000 nop {0}
  4296. ffff4300: e0540006 subs r0, r4, r6
  4297. ffff4304: e0d50007 sbcs r0, r5, r7
  4298. ffff4308: 2a000003 bcs 0xffff431c
  4299. ffff430c: e30b0bc2 movw r0, #48066 ; 0xbbc2
  4300. ffff4310: e59d1010 ldr r1, [sp, #16]
  4301. ffff4314: e1100001 tst r0, r1
  4302. ffff4318: 0a000002 beq 0xffff4328
  4303. ffff431c: e3e00001 mvn r0, #1
  4304. ffff4320: e58d0014 str r0, [sp, #20]
  4305. ffff4324: ea000050 b 0xffff446c
  4306. ffff4328: e59d0028 ldr r0, [sp, #40] ; 0x28
  4307. ffff432c: e3500000 cmp r0, #0
  4308. ffff4330: 0a000022 beq 0xffff43c0
  4309. ffff4334: e3a00000 mov r0, #0
  4310. ffff4338: e58d0000 str r0, [sp]
  4311. ffff433c: ebfffcd5 bl get_counter
  4312. ffff4340: e1a08000 mov r8, r0
  4313. ffff4344: e1a09001 mov r9, r1
  4314. ffff4348: e59f6200 ldr r6, [pc, #512] ; 0xffff4550
  4315. ffff434c: e3a07000 mov r7, #0
  4316. ffff4350: e30b0bca movw r0, #48074 ; 0xbbca
  4317. ffff4354: e58d0000 str r0, [sp]
  4318. ffff4358: e320f000 nop {0}
  4319. ffff435c: ebfffccd bl get_counter
  4320. ffff4360: e0504008 subs r4, r0, r8
  4321. ffff4364: e0c15009 sbc r5, r1, r9
  4322. ffff4368: e59a0038 ldr r0, [sl, #56] ; 0x38
  4323. ffff436c: e58d0010 str r0, [sp, #16]
  4324. ffff4370: e59d0000 ldr r0, [sp]
  4325. ffff4374: e59d1010 ldr r1, [sp, #16]
  4326. ffff4378: e1100001 tst r0, r1
  4327. ffff437c: 0a000000 beq 0xffff4384
  4328. ffff4380: ea000002 b 0xffff4390
  4329. ffff4384: e0540006 subs r0, r4, r6
  4330. ffff4388: e0d50007 sbcs r0, r5, r7
  4331. ffff438c: 3afffff2 bcc 0xffff435c
  4332. ffff4390: e320f000 nop {0}
  4333. ffff4394: e0540006 subs r0, r4, r6
  4334. ffff4398: e0d50007 sbcs r0, r5, r7
  4335. ffff439c: 2a000003 bcs 0xffff43b0
  4336. ffff43a0: e30b0bc2 movw r0, #48066 ; 0xbbc2
  4337. ffff43a4: e59d1010 ldr r1, [sp, #16]
  4338. ffff43a8: e1100001 tst r0, r1
  4339. ffff43ac: 0a000002 beq 0xffff43bc
  4340. ffff43b0: e3e00002 mvn r0, #2
  4341. ffff43b4: e58d0014 str r0, [sp, #20]
  4342. ffff43b8: ea00002b b 0xffff446c
  4343. ffff43bc: e320f000 nop {0}
  4344. ffff43c0: e59b0004 ldr r0, [fp, #4]
  4345. ffff43c4: e3100008 tst r0, #8
  4346. ffff43c8: 0a000018 beq 0xffff4430
  4347. ffff43cc: ebfffcb1 bl get_counter
  4348. ffff43d0: e1a08000 mov r8, r0
  4349. ffff43d4: e1a09001 mov r9, r1
  4350. ffff43d8: e59f6174 ldr r6, [pc, #372] ; 0xffff4554
  4351. ffff43dc: e3a07000 mov r7, #0
  4352. ffff43e0: e320f000 nop {0}
  4353. ffff43e4: ebfffcab bl get_counter
  4354. ffff43e8: e0504008 subs r4, r0, r8
  4355. ffff43ec: e0c15009 sbc r5, r1, r9
  4356. ffff43f0: e59a003c ldr r0, [sl, #60] ; 0x3c
  4357. ffff43f4: e58d0010 str r0, [sp, #16]
  4358. ffff43f8: e59d0010 ldr r0, [sp, #16]
  4359. ffff43fc: e3100c02 tst r0, #512 ; 0x200
  4360. ffff4400: 1a000000 bne 0xffff4408
  4361. ffff4404: ea000002 b 0xffff4414
  4362. ffff4408: e0540006 subs r0, r4, r6
  4363. ffff440c: e0d50007 sbcs r0, r5, r7
  4364. ffff4410: 3afffff3 bcc 0xffff43e4
  4365. ffff4414: e320f000 nop {0}
  4366. ffff4418: e0540006 subs r0, r4, r6
  4367. ffff441c: e0d50007 sbcs r0, r5, r7
  4368. ffff4420: 3a000002 bcc 0xffff4430
  4369. ffff4424: e3e00002 mvn r0, #2
  4370. ffff4428: e58d0014 str r0, [sp, #20]
  4371. ffff442c: ea00000e b 0xffff446c
  4372. ffff4430: e59b0004 ldr r0, [fp, #4]
  4373. ffff4434: e3100002 tst r0, #2
  4374. ffff4438: 0a000008 beq 0xffff4460
  4375. ffff443c: e59a002c ldr r0, [sl, #44] ; 0x2c
  4376. ffff4440: e58b000c str r0, [fp, #12]
  4377. ffff4444: e59a0028 ldr r0, [sl, #40] ; 0x28
  4378. ffff4448: e58b0010 str r0, [fp, #16]
  4379. ffff444c: e59a0024 ldr r0, [sl, #36] ; 0x24
  4380. ffff4450: e58b0014 str r0, [fp, #20]
  4381. ffff4454: e59a0020 ldr r0, [sl, #32]
  4382. ffff4458: e58b0018 str r0, [fp, #24]
  4383. ffff445c: ea000001 b 0xffff4468
  4384. ffff4460: e59a0020 ldr r0, [sl, #32]
  4385. ffff4464: e58b000c str r0, [fp, #12]
  4386. ffff4468: e320f000 nop {0}
  4387. ffff446c: e59d0028 ldr r0, [sp, #40] ; 0x28
  4388. ffff4470: e3500000 cmp r0, #0
  4389. ffff4474: 0a00000c beq 0xffff44ac
  4390. ffff4478: e59d000c ldr r0, [sp, #12]
  4391. ffff447c: e3500000 cmp r0, #0
  4392. ffff4480: 0a000009 beq 0xffff44ac
  4393. ffff4484: e59a0088 ldr r0, [sl, #136] ; 0x88
  4394. ffff4488: e58d0010 str r0, [sp, #16]
  4395. ffff448c: e59d0010 ldr r0, [sp, #16]
  4396. ffff4490: e58a0088 str r0, [sl, #136] ; 0x88
  4397. ffff4494: e3a00000 mov r0, #0
  4398. ffff4498: e58a008c str r0, [sl, #140] ; 0x8c
  4399. ffff449c: e58a0080 str r0, [sl, #128] ; 0x80
  4400. ffff44a0: e59a0000 ldr r0, [sl]
  4401. ffff44a4: e3c00020 bic r0, r0, #32
  4402. ffff44a8: e58a0000 str r0, [sl]
  4403. ffff44ac: e59d0014 ldr r0, [sp, #20]
  4404. ffff44b0: e3500000 cmp r0, #0
  4405. ffff44b4: 0a00000b beq 0xffff44e8
  4406. ffff44b8: e3a00007 mov r0, #7
  4407. ffff44bc: e58a0000 str r0, [sl]
  4408. ffff44c0: e59d0020 ldr r0, [sp, #32]
  4409. ffff44c4: ebfffd29 bl 0xffff3970
  4410. ffff44c8: e58d0004 str r0, [sp, #4]
  4411. ffff44cc: e59d0004 ldr r0, [sp, #4]
  4412. ffff44d0: e3500000 cmp r0, #0
  4413. ffff44d4: 0a000001 beq 0xffff44e0
  4414. ffff44d8: e59d0004 ldr r0, [sp, #4]
  4415. ffff44dc: eafffecf b 0xffff4020
  4416. ffff44e0: e59d0020 ldr r0, [sp, #32]
  4417. ffff44e4: ebfffd0b bl 0xffff3918
  4418. ffff44e8: e3e00000 mvn r0, #0
  4419. ffff44ec: e58a0038 str r0, [sl, #56] ; 0x38
  4420. ffff44f0: e59d0014 ldr r0, [sp, #20]
  4421. ffff44f4: eafffec9e b 0xffff4020
  4422. ;; Global Offset Table
  4423. ffff44f8: 01c20cd0 ; CNT64_TEST_REG
  4424. ffff44fc: 00155555
  4425. ffff4500: 01c20864 ; PC_PUL0
  4426. ffff4504: 22222222
  4427. ffff4508: 01c20000 ; CCU_BASE
  4428. ffff450c: 016e3600 ; 24000000
  4429. ffff4510: 01c208d0 ; PF_PUL0
  4430. ffff4514: 07222222
  4431. ffff4518: 77777777
  4432. ffff451c: 01c20848 ; PC_CFG0
  4433. ffff4520: 07373733
  4434. ffff4524: 01c208b4 ; PF_CFG0
  4435. ffff4528: 80202000
  4436. ffff452c: 00061a80 ; 400000
  4437. ffff4530: 0002000e
  4438. ffff4534: 005b8d80
  4439. ffff4538: 00070008
  4440. ffff453c: 0007ffff
  4441. ffff4540: 000fffff
  4442. ffff4544: 20070008
  4443. ffff4548: 00249f00
  4444. ffff454c: 015be680
  4445. ffff4550: 00b71b00 ; 12000000
  4446. ffff4554: 00493e00
  4447. ;;;********************************************************************************
  4448. ffff4558: e92d40f0 push {r4, r5, r6, r7, lr} ; r0 = card_no, r1 = structure
  4449. ffff455c: e1a07000 mov r7, r0
  4450. ffff4560: e1a04001 mov r4, r1
  4451. ffff4564: e5945000 ldr r5, [r4]
  4452. ffff4568: e1a01005 mov r1, r5
  4453. ffff456c: e1a00007 mov r0, r7
  4454. ffff4570: ebfffc7e bl init_SDC
  4455. ffff4574: e3a00007 mov r0, #7
  4456. ffff4578: e5951000 ldr r1, [r5]
  4457. ffff457c: e5810000 str r0, [r1]
  4458. ffff4580: e1a00004 mov r0, r4
  4459. ffff4584: ebfffcf9 bl 0xffff3970
  4460. ffff4588: e1a06000 mov r6, r0
  4461. ffff458c: e3560000 cmp r6, #0
  4462. ffff4590: 0a000001 beq 0xffff459c
  4463. ffff4594: e1a00006 mov r0, r6
  4464. ffff4598: e8bd80f0 pop {r4, r5, r6, r7, pc}
  4465. ffff459c: e3000911 movw r0, #2321 ; 0x911
  4466. ffff45a0: e5840024 str r0, [r4, #36] ; 0x24
  4467. ffff45a4: e3a008fe mov r0, #16646144 ; 0xfe0000
  4468. ffff45a8: e5840004 str r0, [r4, #4]
  4469. ffff45ac: e51f0088 ldr r0, [pc, #-136] ; 0xffff452c =0x00061a80 (400000)
  4470. ffff45b0: e584000c str r0, [r4, #12]
  4471. ffff45b4: e59f002c ldr r0, [pc, #44] ; 0xffff45e8 =0x03197500 (52000000)
  4472. ffff45b8: e5840010 str r0, [r4, #16]
  4473. ffff45bc: e3a00000 mov r0, #0
  4474. ffff45c0: eafffff4 b 0xffff4598
  4475. ;;;********************************************************************************
  4476. ffff45c4: e92d4070 push {r4, r5, r6, lr}
  4477. ffff45c8: e1a05000 mov r5, r0
  4478. ffff45cc: e1a04001 mov r4, r1
  4479. ffff45d0: e5946000 ldr r6, [r4]
  4480. ffff45d4: e1a01006 mov r1, r6
  4481. ffff45d8: e1a00005 mov r0, r5
  4482. ffff45dc: ebfffca0 bl 0xffff3864
  4483. ffff45e0: e3a00000 mov r0, #0
  4484. ffff45e4: e8bd8070 pop {r4, r5, r6, pc}
  4485. ;; Global Offset Table
  4486. ffff45e8: 03197500 ; 52000000
  4487. ;;;********************************************************************************
  4488. ffff45ec: e92d4070 push {r4, r5, r6, lr}
  4489. ffff45f0: e24dd028 sub sp, sp, #40 ; 0x28
  4490. ffff45f4: e1a06000 mov r6, r0
  4491. ffff45f8: e1a04001 mov r4, r1
  4492. ffff45fc: e3a0000d mov r0, #13
  4493. ffff4600: e58d0004 str r0, [sp, #4]
  4494. ffff4604: e3a00015 mov r0, #21
  4495. ffff4608: e58d0008 str r0, [sp, #8]
  4496. ffff460c: e5960034 ldr r0, [r6, #52] ; 0x34
  4497. ffff4610: e1a00800 lsl r0, r0, #16
  4498. ffff4614: e58d000c str r0, [sp, #12]
  4499. ffff4618: e3a00000 mov r0, #0
  4500. ffff461c: e58d0020 str r0, [sp, #32]
  4501. ffff4620: e320f000 nop {0}
  4502. ffff4624: e3a02000 mov r2, #0
  4503. ffff4628: e28d1004 add r1, sp, #4
  4504. ffff462c: e1a00006 mov r0, r6
  4505. ffff4630: ebfffe63 bl 0xffff3fc4
  4506. ffff4634: e1a05000 mov r5, r0
  4507. ffff4638: e3550000 cmp r5, #0
  4508. ffff463c: 0a000002 beq 0xffff464c
  4509. ffff4640: e1a00005 mov r0, r5
  4510. ffff4644: e28dd028 add sp, sp, #40 ; 0x28
  4511. ffff4648: e8bd8070 pop {r4, r5, r6, pc}
  4512. ffff464c: e59d0010 ldr r0, [sp, #16]
  4513. ffff4650: e3100c01 tst r0, #256 ; 0x100
  4514. ffff4654: 0a000000 beq 0xffff465c
  4515. ffff4658: ea00000b b 0xffff468c
  4516. ffff465c: e3a00001 mov r0, #1
  4517. ffff4660: e3a01000 mov r1, #0
  4518. ffff4664: ebfffc30 bl 0xffff372c
  4519. ffff4668: e59d0010 ldr r0, [sp, #16]
  4520. ffff466c: e59f1e10 ldr r1, [pc, #3600] ; 0xffff5484 = 0xfdf94080
  4521. ffff4670: e1100001 tst r0, r1
  4522. ffff4674: 0a000001 beq 0xffff4680
  4523. ffff4678: e3e00011 mvn r0, #17
  4524. ffff467c: eafffff0 b 0xffff4644
  4525. ffff4680: e1b00004 movs r0, r4
  4526. ffff4684: e2444001 sub r4, r4, #1
  4527. ffff4688: 1affffe5 bne 0xffff4624
  4528. ffff468c: e320f000 nop {0}
  4529. ffff4690: e3540000 cmp r4, #0
  4530. ffff4694: ca000001 bgt 0xffff46a0
  4531. ffff4698: e3e00012 mvn r0, #18
  4532. ffff469c: eaffffe8 b 0xffff4644
  4533. ffff46a0: e3a00000 mov r0, #0
  4534. ffff46a4: eaffffe6 b 0xffff4644
  4535. ;;;********************************************************************************
  4536. ffff46a8: e92d4030 push {r4, r5, lr}
  4537. ffff46ac: e24dd024 sub sp, sp, #36 ; 0x24
  4538. ffff46b0: e1a04000 mov r4, r0
  4539. ffff46b4: e3a05000 mov r5, #0
  4540. ffff46b8: e3a00000 mov r0, #0
  4541. ffff46bc: e58d0000 str r0, [sp]
  4542. ffff46c0: e58d0008 str r0, [sp, #8]
  4543. ffff46c4: e58d0004 str r0, [sp, #4]
  4544. ffff46c8: e58d001c str r0, [sp, #28]
  4545. ffff46cc: e3a02000 mov r2, #0
  4546. ffff46d0: e1a0100d mov r1, sp
  4547. ffff46d4: e1a00004 mov r0, r4
  4548. ffff46d8: ebfffe39 bl 0xffff3fc4
  4549. ffff46dc: e1a05000 mov r5, r0
  4550. ffff46e0: e3a00001 mov r0, #1
  4551. ffff46e4: e3a01000 mov r1, #0
  4552. ffff46e8: ebfffc0f bl 0xffff372c
  4553. ffff46ec: e1a00005 mov r0, r5
  4554. ffff46f0: e28dd024 add sp, sp, #36 ; 0x24
  4555. ffff46f4: e8bd8030 pop {r4, r5, pc}
  4556. ;;;********************************************************************************
  4557. ffff46f8: e92d4030 push {r4, r5, lr}
  4558. ffff46fc: e24dd024 sub sp, sp, #36 ; 0x24
  4559. ffff4700: e1a04000 mov r4, r0
  4560. ffff4704: e3a05000 mov r5, #0
  4561. ffff4708: e3a00000 mov r0, #0
  4562. ffff470c: e58d0000 str r0, [sp]
  4563. ffff4710: e59f0d70 ldr r0, [pc, #3440] ; 0xffff5488 =0xf0f0f0f0
  4564. ffff4714: e58d0008 str r0, [sp, #8]
  4565. ffff4718: e3a00000 mov r0, #0
  4566. ffff471c: e58d0004 str r0, [sp, #4]
  4567. ffff4720: e58d001c str r0, [sp, #28]
  4568. ffff4724: e3a02000 mov r2, #0
  4569. ffff4728: e1a0100d mov r1, sp
  4570. ffff472c: e1a00004 mov r0, r4
  4571. ffff4730: ebfffe23 bl 0xffff3fc4
  4572. ffff4734: e1a05000 mov r5, r0
  4573. ffff4738: e1a00005 mov r0, r5
  4574. ffff473c: e28dd024 add sp, sp, #36 ; 0x24
  4575. ffff4740: e8bd8030 pop {r4, r5, pc}
  4576. ffff4744: e92d4030 push {r4, r5, lr}
  4577. ffff4748: e24dd024 sub sp, sp, #36 ; 0x24
  4578. ffff474c: e1a04000 mov r4, r0
  4579. ffff4750: e3a05000 mov r5, #0
  4580. ffff4754: e3a00000 mov r0, #0
  4581. ffff4758: e58d0000 str r0, [sp]
  4582. ffff475c: e59f0d28 ldr r0, [pc, #3368] ; 0xffff548c =0xf0f0f0fa
  4583. ffff4760: e58d0008 str r0, [sp, #8]
  4584. ffff4764: e3a00000 mov r0, #0
  4585. ffff4768: e58d0004 str r0, [sp, #4]
  4586. ffff476c: e58d001c str r0, [sp, #28]
  4587. ffff4770: e3a02000 mov r2, #0
  4588. ffff4774: e1a0100d mov r1, sp
  4589. ffff4778: e1a00004 mov r0, r4
  4590. ffff477c: ebfffe10 bl 0xffff3fc4
  4591. ffff4780: e1a05000 mov r5, r0
  4592. ffff4784: e3a00001 mov r0, #1
  4593. ffff4788: e3a01000 mov r1, #0
  4594. ffff478c: ebfffbe6 bl 0xffff372c
  4595. ffff4790: e1a00005 mov r0, r5
  4596. ffff4794: e28dd024 add sp, sp, #36 ; 0x24
  4597. ffff4798: e8bd8030 pop {r4, r5, pc}
  4598. ;;;********************************************************************************
  4599. ffff479c: e92d4070 push {r4, r5, r6, lr}
  4600. ffff47a0: e24dd028 sub sp, sp, #40 ; 0x28
  4601. ffff47a4: e1a04000 mov r4, r0
  4602. ffff47a8: e30063e8 movw r6, #1000 ; 0x3e8
  4603. ffff47ac: e320f000 nop {0}
  4604. ffff47b0: e3a00037 mov r0, #55 ; 0x37
  4605. ffff47b4: e58d0004 str r0, [sp, #4]
  4606. ffff47b8: e3a00015 mov r0, #21
  4607. ffff47bc: e58d0008 str r0, [sp, #8]
  4608. ffff47c0: e3a00000 mov r0, #0
  4609. ffff47c4: e58d000c str r0, [sp, #12]
  4610. ffff47c8: e58d0020 str r0, [sp, #32]
  4611. ffff47cc: e3a02000 mov r2, #0
  4612. ffff47d0: e28d1004 add r1, sp, #4
  4613. ffff47d4: e1a00004 mov r0, r4
  4614. ffff47d8: ebfffdf9 bl 0xffff3fc4
  4615. ffff47dc: e1a05000 mov r5, r0
  4616. ffff47e0: e3550000 cmp r5, #0
  4617. ffff47e4: 0a000002 beq 0xffff47f4
  4618. ffff47e8: e1a00005 mov r0, r5
  4619. ffff47ec: e28dd028 add sp, sp, #40 ; 0x28
  4620. ffff47f0: e8bd8070 pop {r4, r5, r6, pc}
  4621. ffff47f4: e3a00029 mov r0, #41 ; 0x29
  4622. ffff47f8: e58d0004 str r0, [sp, #4]
  4623. ffff47fc: e3a00001 mov r0, #1
  4624. ffff4800: e58d0008 str r0, [sp, #8]
  4625. ffff4804: e5940004 ldr r0, [r4, #4]
  4626. ffff4808: e59f1c80 ldr r1, [pc, #3200] ; 0xffff5490 =0x00ff8000
  4627. ffff480c: e0000001 and r0, r0, r1
  4628. ffff4810: e58d000c str r0, [sp, #12]
  4629. ffff4814: e5940008 ldr r0, [r4, #8]
  4630. ffff4818: e2401802 sub r1, r0, #131072 ; 0x20000
  4631. ffff481c: e2511020 subs r1, r1, #32
  4632. ffff4820: 1a000002 bne 0xffff4830
  4633. ffff4824: e59d000c ldr r0, [sp, #12]
  4634. ffff4828: e3800101 orr r0, r0, #1073741824 ; 0x40000000
  4635. ffff482c: e58d000c str r0, [sp, #12]
  4636. ffff4830: e3a02000 mov r2, #0
  4637. ffff4834: e28d1004 add r1, sp, #4
  4638. ffff4838: e1a00004 mov r0, r4
  4639. ffff483c: ebfffde0 bl 0xffff3fc4
  4640. ffff4840: e1a05000 mov r5, r0
  4641. ffff4844: e3550000 cmp r5, #0
  4642. ffff4848: 0a000001 beq 0xffff4854
  4643. ffff484c: e1a00005 mov r0, r5
  4644. ffff4850: eaffffe5 b 0xffff47ec
  4645. ffff4854: e3a00001 mov r0, #1
  4646. ffff4858: e3a01000 mov r1, #0
  4647. ffff485c: ebfffbb2 bl 0xffff372c
  4648. ffff4860: e59d0010 ldr r0, [sp, #16]
  4649. ffff4864: e3100102 tst r0, #-2147483648 ; 0x80000000
  4650. ffff4868: 1a000002 bne 0xffff4878
  4651. ffff486c: e1b00006 movs r0, r6
  4652. ffff4870: e2466001 sub r6, r6, #1
  4653. ffff4874: 1affffcd bne 0xffff47b0
  4654. ffff4878: e3560000 cmp r6, #0
  4655. ffff487c: ca000001 bgt 0xffff4888
  4656. ffff4880: e3e00010 mvn r0, #16
  4657. ffff4884: eaffffd8 b 0xffff47ec
  4658. ffff4888: e5940008 ldr r0, [r4, #8]
  4659. ffff488c: e2401802 sub r1, r0, #131072 ; 0x20000
  4660. ffff4890: e2511020 subs r1, r1, #32
  4661. ffff4894: 0a000001 beq 0xffff48a0
  4662. ffff4898: e59f0bf4 ldr r0, [pc, #3060] ; 0xffff5494 =0x00020010
  4663. ffff489c: e5840008 str r0, [r4, #8]
  4664. ffff48a0: e59d0010 ldr r0, [sp, #16]
  4665. ffff48a4: e5840028 str r0, [r4, #40] ; 0x28
  4666. ffff48a8: e5940028 ldr r0, [r4, #40] ; 0x28
  4667. ffff48ac: e7e00f50 ubfx r0, r0, #30, #1
  4668. ffff48b0: e5840014 str r0, [r4, #20]
  4669. ffff48b4: e3a00000 mov r0, #0
  4670. ffff48b8: e5840034 str r0, [r4, #52] ; 0x34
  4671. ffff48bc: e320f000 nop {0}
  4672. ffff48c0: eaffffc9 b 0xffff47ec
  4673. ;;;********************************************************************************
  4674. ffff48c4: e92d4070 push {r4, r5, r6, lr}
  4675. ffff48c8: e24dd028 sub sp, sp, #40 ; 0x28
  4676. ffff48cc: e1a04000 mov r4, r0
  4677. ffff48d0: e30063e8 movw r6, #1000 ; 0x3e8
  4678. ffff48d4: e1a00004 mov r0, r4
  4679. ffff48d8: ebffff72 bl 0xffff46a8
  4680. ffff48dc: e3a00001 mov r0, #1
  4681. ffff48e0: e58d0004 str r0, [sp, #4]
  4682. ffff48e4: e58d0008 str r0, [sp, #8]
  4683. ffff48e8: e3a00000 mov r0, #0
  4684. ffff48ec: e58d000c str r0, [sp, #12]
  4685. ffff48f0: e58d0020 str r0, [sp, #32]
  4686. ffff48f4: e3a02000 mov r2, #0
  4687. ffff48f8: e28d1004 add r1, sp, #4
  4688. ffff48fc: e1a00004 mov r0, r4
  4689. ffff4900: ebfffdaf bl 0xffff3fc4
  4690. ffff4904: e1a05000 mov r5, r0
  4691. ffff4908: e3550000 cmp r5, #0
  4692. ffff490c: 0a000002 beq 0xffff491c
  4693. ffff4910: e1a00005 mov r0, r5
  4694. ffff4914: e28dd028 add sp, sp, #40 ; 0x28
  4695. ffff4918: e8bd8070 pop {r4, r5, r6, pc}
  4696. ffff491c: e3a00001 mov r0, #1
  4697. ffff4920: e3a01000 mov r1, #0
  4698. ffff4924: ebfffb80 bl 0xffff372c
  4699. ffff4928: e320f000 nop {0}
  4700. ffff492c: e3a00001 mov r0, #1
  4701. ffff4930: e58d0004 str r0, [sp, #4]
  4702. ffff4934: e58d0008 str r0, [sp, #8]
  4703. ffff4938: e5940004 ldr r0, [r4, #4]
  4704. ffff493c: e59d1010 ldr r1, [sp, #16]
  4705. ffff4940: e3c114ff bic r1, r1, #-16777216 ; 0xff000000
  4706. ffff4944: e3c1107f bic r1, r1, #127 ; 0x7f
  4707. ffff4948: e0000001 and r0, r0, r1
  4708. ffff494c: e59d1010 ldr r1, [sp, #16]
  4709. ffff4950: e2011206 and r1, r1, #1610612736 ; 0x60000000
  4710. ffff4954: e1800001 orr r0, r0, r1
  4711. ffff4958: e58d000c str r0, [sp, #12]
  4712. ffff495c: e5940024 ldr r0, [r4, #36] ; 0x24
  4713. ffff4960: e3100b02 tst r0, #2048 ; 0x800
  4714. ffff4964: 0a000002 beq 0xffff4974
  4715. ffff4968: e59d000c ldr r0, [sp, #12]
  4716. ffff496c: e3800101 orr r0, r0, #1073741824 ; 0x40000000
  4717. ffff4970: e58d000c str r0, [sp, #12]
  4718. ffff4974: e3a00000 mov r0, #0
  4719. ffff4978: e58d0020 str r0, [sp, #32]
  4720. ffff497c: e3a02000 mov r2, #0
  4721. ffff4980: e28d1004 add r1, sp, #4
  4722. ffff4984: e1a00004 mov r0, r4
  4723. ffff4988: ebfffd8d bl 0xffff3fc4
  4724. ffff498c: e1a05000 mov r5, r0
  4725. ffff4990: e3550000 cmp r5, #0
  4726. ffff4994: 0a000001 beq 0xffff49a0
  4727. ffff4998: e1a00005 mov r0, r5
  4728. ffff499c: eaffffdc b 0xffff4914
  4729. ffff49a0: e3a00001 mov r0, #1
  4730. ffff49a4: e3a01000 mov r1, #0
  4731. ffff49a8: ebfffb5f bl 0xffff372c
  4732. ffff49ac: e59d0010 ldr r0, [sp, #16]
  4733. ffff49b0: e3100102 tst r0, #-2147483648 ; 0x80000000
  4734. ffff49b4: 1a000002 bne 0xffff49c4
  4735. ffff49b8: e1b00006 movs r0, r6
  4736. ffff49bc: e2466001 sub r6, r6, #1
  4737. ffff49c0: 1affffd9 bne 0xffff492c
  4738. ffff49c4: e3560000 cmp r6, #0
  4739. ffff49c8: ca000001 bgt 0xffff49d4
  4740. ffff49cc: e3e00010 mvn r0, #16
  4741. ffff49d0: eaffffcf b 0xffff4914
  4742. ffff49d4: e3a00801 mov r0, #65536 ; 0x10000
  4743. ffff49d8: e5840008 str r0, [r4, #8]
  4744. ffff49dc: e59d0010 ldr r0, [sp, #16]
  4745. ffff49e0: e5840028 str r0, [r4, #40] ; 0x28
  4746. ffff49e4: e5940028 ldr r0, [r4, #40] ; 0x28
  4747. ffff49e8: e7e00f50 ubfx r0, r0, #30, #1
  4748. ffff49ec: e5840014 str r0, [r4, #20]
  4749. ffff49f0: e3a00001 mov r0, #1
  4750. ffff49f4: e5840034 str r0, [r4, #52] ; 0x34
  4751. ffff49f8: e3a00000 mov r0, #0
  4752. ffff49fc: eaffffc4 b 0xffff4914
  4753. ;;;********************************************************************************
  4754. ffff4a00: e92d4070 push {r4, r5, r6, lr}
  4755. ffff4a04: e24dd038 sub sp, sp, #56 ; 0x38
  4756. ffff4a08: e1a05000 mov r5, r0
  4757. ffff4a0c: e1a04001 mov r4, r1
  4758. ffff4a10: e3a00008 mov r0, #8
  4759. ffff4a14: e58d0014 str r0, [sp, #20]
  4760. ffff4a18: e3a00015 mov r0, #21
  4761. ffff4a1c: e58d0018 str r0, [sp, #24]
  4762. ffff4a20: e3a00000 mov r0, #0
  4763. ffff4a24: e58d001c str r0, [sp, #28]
  4764. ffff4a28: e58d0030 str r0, [sp, #48] ; 0x30
  4765. ffff4a2c: e58d4004 str r4, [sp, #4]
  4766. ffff4a30: e3a00001 mov r0, #1
  4767. ffff4a34: e58d000c str r0, [sp, #12]
  4768. ffff4a38: e3000200 movw r0, #512 ; 0x200
  4769. ffff4a3c: e58d0010 str r0, [sp, #16]
  4770. ffff4a40: e3a00001 mov r0, #1
  4771. ffff4a44: e58d0008 str r0, [sp, #8]
  4772. ffff4a48: e28d2004 add r2, sp, #4
  4773. ffff4a4c: e28d1014 add r1, sp, #20
  4774. ffff4a50: e1a00005 mov r0, r5
  4775. ffff4a54: ebfffd5a bl 0xffff3fc4
  4776. ffff4a58: e1a06000 mov r6, r0
  4777. ffff4a5c: e1a00006 mov r0, r6
  4778. ffff4a60: e28dd038 add sp, sp, #56 ; 0x38
  4779. ffff4a64: e8bd8070 pop {r4, r5, r6, pc}
  4780. ;;; ;********************************************************************************
  4781. ffff4a68: e92d43f0 push {r4, r5, r6, r7, r8, r9, lr}
  4782. ffff4a6c: e24dd024 sub sp, sp, #36 ; 0x24
  4783. ffff4a70: e1a06000 mov r6, r0
  4784. ffff4a74: e1a09001 mov r9, r1
  4785. ffff4a78: e1a04002 mov r4, r2
  4786. ffff4a7c: e1a05003 mov r5, r3
  4787. ffff4a80: e30073e8 movw r7, #1000 ; 0x3e8
  4788. ffff4a84: e3a00006 mov r0, #6
  4789. ffff4a88: e58d0000 str r0, [sp]
  4790. ffff4a8c: e3a0001d mov r0, #29
  4791. ffff4a90: e58d0004 str r0, [sp, #4]
  4792. ffff4a94: e3a00403 mov r0, #50331648 ; 0x3000000
  4793. ffff4a98: e1800804 orr r0, r0, r4, lsl #16
  4794. ffff4a9c: e1800405 orr r0, r0, r5, lsl #8
  4795. ffff4aa0: e58d0008 str r0, [sp, #8]
  4796. ffff4aa4: e3a00000 mov r0, #0
  4797. ffff4aa8: e58d001c str r0, [sp, #28]
  4798. ffff4aac: e3a02000 mov r2, #0
  4799. ffff4ab0: e1a0100d mov r1, sp
  4800. ffff4ab4: e1a00006 mov r0, r6
  4801. ffff4ab8: ebfffd41 bl 0xffff3fc4
  4802. ffff4abc: e1a08000 mov r8, r0
  4803. ffff4ac0: e1a01007 mov r1, r7
  4804. ffff4ac4: e1a00006 mov r0, r6
  4805. ffff4ac8: ebfffec7 bl 0xffff45ec
  4806. ffff4acc: e1a00008 mov r0, r8
  4807. ffff4ad0: e28dd024 add sp, sp, #36 ; 0x24
  4808. ffff4ad4: e8bd83f0 pop {r4, r5, r6, r7, r8, r9, pc}
  4809. ;;;********************************************************************************
  4810. ffff4ad8: e1a02000 mov r2, r0
  4811. ffff4adc: e3a00000 mov r0, #0
  4812. ffff4ae0: e5820020 str r0, [r2, #32]
  4813. ffff4ae4: e5920008 ldr r0, [r2, #8]
  4814. ffff4ae8: e59f39a8 ldr r3, [pc, #2472] ; 0xffff5498 =0x00010040
  4815. ffff4aec: e1500003 cmp r0, r3
  4816. ffff4af0: 2a000001 bcs 0xffff4afc
  4817. ffff4af4: e3a00000 mov r0, #0
  4818. ffff4af8: e12fff1e bx lr
  4819. ffff4afc: e5920020 ldr r0, [r2, #32]
  4820. ffff4b00: e3800c01 orr r0, r0, #256 ; 0x100
  4821. ffff4b04: e5820020 str r0, [r2, #32]
  4822. ffff4b08: e5920020 ldr r0, [r2, #32]
  4823. ffff4b0c: e3800001 orr r0, r0, #1
  4824. ffff4b10: e5820020 str r0, [r2, #32]
  4825. ffff4b14: e3a00000 mov r0, #0
  4826. ffff4b18: eafffff6 b 0xffff4af8
  4827. ;;;********************************************************************************
  4828. ffff4b1c: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  4829. ffff4b20: e24dd038 sub sp, sp, #56 ; 0x38
  4830. ffff4b24: e1a08000 mov r8, r0
  4831. ffff4b28: e1a05001 mov r5, r1
  4832. ffff4b2c: e1a04002 mov r4, r2
  4833. ffff4b30: e1a06003 mov r6, r3
  4834. ffff4b34: e59d7050 ldr r7, [sp, #80] ; 0x50
  4835. ffff4b38: e3a00006 mov r0, #6
  4836. ffff4b3c: e58d0014 str r0, [sp, #20]
  4837. ffff4b40: e3a00015 mov r0, #21
  4838. ffff4b44: e58d0018 str r0, [sp, #24]
  4839. ffff4b48: e3e004ff mvn r0, #-16777216 ; 0xff000000
  4840. ffff4b4c: e1800f85 orr r0, r0, r5, lsl #31
  4841. ffff4b50: e58d001c str r0, [sp, #28]
  4842. ffff4b54: e1a01104 lsl r1, r4, #2
  4843. ffff4b58: e3a0200f mov r2, #15
  4844. ffff4b5c: e59d001c ldr r0, [sp, #28]
  4845. ffff4b60: e1c00112 bic r0, r0, r2, lsl r1
  4846. ffff4b64: e58d001c str r0, [sp, #28]
  4847. ffff4b68: e1a01104 lsl r1, r4, #2
  4848. ffff4b6c: e59d001c ldr r0, [sp, #28]
  4849. ffff4b70: e1800116 orr r0, r0, r6, lsl r1
  4850. ffff4b74: e58d001c str r0, [sp, #28]
  4851. ffff4b78: e3a00000 mov r0, #0
  4852. ffff4b7c: e58d0030 str r0, [sp, #48] ; 0x30
  4853. ffff4b80: e58d7004 str r7, [sp, #4]
  4854. ffff4b84: e3a00040 mov r0, #64 ; 0x40
  4855. ffff4b88: e58d0010 str r0, [sp, #16]
  4856. ffff4b8c: e3a00001 mov r0, #1
  4857. ffff4b90: e58d000c str r0, [sp, #12]
  4858. ffff4b94: e58d0008 str r0, [sp, #8]
  4859. ffff4b98: e28d2004 add r2, sp, #4
  4860. ffff4b9c: e28d1014 add r1, sp, #20
  4861. ffff4ba0: e1a00008 mov r0, r8
  4862. ffff4ba4: ebfffd06 bl 0xffff3fc4
  4863. ffff4ba8: e28dd038 add sp, sp, #56 ; 0x38
  4864. ffff4bac: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  4865. ;;;********************************************************************************
  4866. ffff4bb0: e92d4070 push {r4, r5, r6, lr}
  4867. ffff4bb4: e24dd040 sub sp, sp, #64 ; 0x40
  4868. ffff4bb8: e1a04000 mov r4, r0
  4869. ffff4bbc: e3a00000 mov r0, #0
  4870. ffff4bc0: e5840020 str r0, [r4, #32]
  4871. ffff4bc4: e3a00037 mov r0, #55 ; 0x37
  4872. ffff4bc8: e58d001c str r0, [sp, #28]
  4873. ffff4bcc: e3a00015 mov r0, #21
  4874. ffff4bd0: e58d0020 str r0, [sp, #32]
  4875. ffff4bd4: e5940034 ldr r0, [r4, #52] ; 0x34
  4876. ffff4bd8: e1a00800 lsl r0, r0, #16
  4877. ffff4bdc: e58d0024 str r0, [sp, #36] ; 0x24
  4878. ffff4be0: e3a00000 mov r0, #0
  4879. ffff4be4: e58d0038 str r0, [sp, #56] ; 0x38
  4880. ffff4be8: e3a02000 mov r2, #0
  4881. ffff4bec: e28d101c add r1, sp, #28
  4882. ffff4bf0: e1a00004 mov r0, r4
  4883. ffff4bf4: ebfffcf2 bl 0xffff3fc4
  4884. ffff4bf8: e1a05000 mov r5, r0
  4885. ffff4bfc: e3550000 cmp r5, #0
  4886. ffff4c00: 0a000002 beq 0xffff4c10
  4887. ffff4c04: e1a00005 mov r0, r5
  4888. ffff4c08: e28dd040 add sp, sp, #64 ; 0x40
  4889. ffff4c0c: e8bd8070 pop {r4, r5, r6, pc}
  4890. ffff4c10: e3a00033 mov r0, #51 ; 0x33
  4891. ffff4c14: e58d001c str r0, [sp, #28]
  4892. ffff4c18: e3a00015 mov r0, #21
  4893. ffff4c1c: e58d0020 str r0, [sp, #32]
  4894. ffff4c20: e3a00000 mov r0, #0
  4895. ffff4c24: e58d0024 str r0, [sp, #36] ; 0x24
  4896. ffff4c28: e58d0038 str r0, [sp, #56] ; 0x38
  4897. ffff4c2c: e3a06003 mov r6, #3
  4898. ffff4c30: e320f000 nop {0}
  4899. ffff4c34: e28d0014 add r0, sp, #20
  4900. ffff4c38: e58d0004 str r0, [sp, #4]
  4901. ffff4c3c: e3a00008 mov r0, #8
  4902. ffff4c40: e58d0010 str r0, [sp, #16]
  4903. ffff4c44: e3a00001 mov r0, #1
  4904. ffff4c48: e58d000c str r0, [sp, #12]
  4905. ffff4c4c: e58d0008 str r0, [sp, #8]
  4906. ffff4c50: e28d2004 add r2, sp, #4
  4907. ffff4c54: e28d101c add r1, sp, #28
  4908. ffff4c58: e1a00004 mov r0, r4
  4909. ffff4c5c: ebfffcd8 bl 0xffff3fc4
  4910. ffff4c60: e1a05000 mov r5, r0
  4911. ffff4c64: e3550000 cmp r5, #0
  4912. ffff4c68: 0a000005 beq 0xffff4c84
  4913. ffff4c6c: e1b00006 movs r0, r6
  4914. ffff4c70: e2466001 sub r6, r6, #1
  4915. ffff4c74: 0a000000 beq 0xffff4c7c
  4916. ffff4c78: eaffffed b 0xffff4c34
  4917. ffff4c7c: e1a00005 mov r0, r5
  4918. ffff4c80: eaffffe0 b 0xffff4c08
  4919. ffff4c84: e30f2f00 movw r2, #65280 ; 0xff00
  4920. ffff4c88: e59d1014 ldr r1, [sp, #20]
  4921. ffff4c8c: e0021421 and r1, r2, r1, lsr #8
  4922. ffff4c90: e59d0014 ldr r0, [sp, #20]
  4923. ffff4c94: e1810c20 orr r0, r1, r0, lsr #24
  4924. ffff4c98: e3a028ff mov r2, #16711680 ; 0xff0000
  4925. ffff4c9c: e59d1014 ldr r1, [sp, #20]
  4926. ffff4ca0: e0021401 and r1, r2, r1, lsl #8
  4927. ffff4ca4: e1800001 orr r0, r0, r1
  4928. ffff4ca8: e3a024ff mov r2, #-16777216 ; 0xff000000
  4929. ffff4cac: e59d1014 ldr r1, [sp, #20]
  4930. ffff4cb0: e0021c01 and r1, r2, r1, lsl #24
  4931. ffff4cb4: e1800001 orr r0, r0, r1
  4932. ffff4cb8: e584002c str r0, [r4, #44] ; 0x2c
  4933. ffff4cbc: e30f2f00 movw r2, #65280 ; 0xff00
  4934. ffff4cc0: e59d1018 ldr r1, [sp, #24]
  4935. ffff4cc4: e0021421 and r1, r2, r1, lsr #8
  4936. ffff4cc8: e59d0018 ldr r0, [sp, #24]
  4937. ffff4ccc: e1810c20 orr r0, r1, r0, lsr #24
  4938. ffff4cd0: e3a028ff mov r2, #16711680 ; 0xff0000
  4939. ffff4cd4: e59d1018 ldr r1, [sp, #24]
  4940. ffff4cd8: e0021401 and r1, r2, r1, lsl #8
  4941. ffff4cdc: e1800001 orr r0, r0, r1
  4942. ffff4ce0: e3a024ff mov r2, #-16777216 ; 0xff000000
  4943. ffff4ce4: e59d1018 ldr r1, [sp, #24]
  4944. ffff4ce8: e0021c01 and r1, r2, r1, lsl #24
  4945. ffff4cec: e1800001 orr r0, r0, r1
  4946. ffff4cf0: e5840030 str r0, [r4, #48] ; 0x30
  4947. ffff4cf4: e594002c ldr r0, [r4, #44] ; 0x2c
  4948. ffff4cf8: e7e30c50 ubfx r0, r0, #24, #4
  4949. ffff4cfc: e3500000 cmp r0, #0
  4950. ffff4d00: 0a000004 beq 0xffff4d18
  4951. ffff4d04: e3500001 cmp r0, #1
  4952. ffff4d08: 0a000006 beq 0xffff4d28
  4953. ffff4d0c: e3500002 cmp r0, #2
  4954. ffff4d10: 1a00000c bne 0xffff4d48
  4955. ffff4d14: ea000007 b 0xffff4d38
  4956. ffff4d18: e320f000 nop {0}
  4957. ffff4d1c: e59f0770 ldr r0, [pc, #1904] ; 0xffff5494 =0x00020010
  4958. ffff4d20: e5840008 str r0, [r4, #8]
  4959. ffff4d24: ea00000b b 0xffff4d58
  4960. ffff4d28: e320f000 nop {0}
  4961. ffff4d2c: e59f0768 ldr r0, [pc, #1896] ; 0xffff549c =0x0002001a
  4962. ffff4d30: e5840008 str r0, [r4, #8]
  4963. ffff4d34: ea000007 b 0xffff4d58
  4964. ffff4d38: e320f000 nop {0}
  4965. ffff4d3c: e59f075c ldr r0, [pc, #1884] ; 0xffff54a0 =0x00020020
  4966. ffff4d40: e5840008 str r0, [r4, #8]
  4967. ffff4d44: ea000003 b 0xffff4d58
  4968. ffff4d48: e320f000 nop {0}
  4969. ffff4d4c: e59f0740 ldr r0, [pc, #1856] ; 0xffff5494 =0x00020010
  4970. ffff4d50: e5840008 str r0, [r4, #8]
  4971. ffff4d54: e320f000 nop {0}
  4972. ffff4d58: e320f000 nop {0}
  4973. ffff4d5c: e594002c ldr r0, [r4, #44] ; 0x2c
  4974. ffff4d60: e3100701 tst r0, #262144 ; 0x40000
  4975. ffff4d64: 0a000002 beq 0xffff4d74
  4976. ffff4d68: e5940020 ldr r0, [r4, #32]
  4977. ffff4d6c: e3800c01 orr r0, r0, #256 ; 0x100
  4978. ffff4d70: e5840020 str r0, [r4, #32]
  4979. ffff4d74: e3a00000 mov r0, #0
  4980. ffff4d78: eaffffa2 b 0xffff4c08
  4981. ;;;********************************************************************************
  4982. ffff4d7c: e92d4070 push {r4, r5, r6, lr}
  4983. ffff4d80: e1a04000 mov r4, r0
  4984. ffff4d84: e1a05001 mov r5, r1
  4985. ffff4d88: e5940010 ldr r0, [r4, #16]
  4986. ffff4d8c: e1500005 cmp r0, r5
  4987. ffff4d90: 2a000000 bcs 0xffff4d98
  4988. ffff4d94: e5945010 ldr r5, [r4, #16]
  4989. ffff4d98: e594000c ldr r0, [r4, #12]
  4990. ffff4d9c: e1500005 cmp r0, r5
  4991. ffff4da0: 9a000000 bls 0xffff4da8
  4992. ffff4da4: e594500c ldr r5, [r4, #12]
  4993. ffff4da8: e584501c str r5, [r4, #28]
  4994. ffff4dac: e1a00004 mov r0, r4
  4995. ffff4db0: ebfffb68 bl 0xffff3b58
  4996. ffff4db4: e8bd8070 pop {r4, r5, r6, pc}
  4997. ;;;********************************************************************************
  4998. ffff4db8: e92d4070 push {r4, r5, r6, lr}
  4999. ffff4dbc: e1a04000 mov r4, r0
  5000. ffff4dc0: e1a05001 mov r5, r1
  5001. ffff4dc4: e5845018 str r5, [r4, #24]
  5002. ffff4dc8: e1a00004 mov r0, r4
  5003. ffff4dcc: ebfffb61 bl 0xffff3b58
  5004. ffff4dd0: e8bd8070 pop {r4, r5, r6, pc}
  5005. ;;;********************************************************************************
  5006. ffff4dd4: e92d4070 push {r4, r5, r6, lr}
  5007. ffff4dd8: e24ddf8a sub sp, sp, #552 ; 0x228
  5008. ffff4ddc: e1a04000 mov r4, r0
  5009. ffff4de0: e30063e8 movw r6, #1000 ; 0x3e8
  5010. ffff4de4: e3a00002 mov r0, #2
  5011. ffff4de8: e58d0204 str r0, [sp, #516] ; 0x204
  5012. ffff4dec: e3a00007 mov r0, #7
  5013. ffff4df0: e58d0208 str r0, [sp, #520] ; 0x208
  5014. ffff4df4: e3a00000 mov r0, #0
  5015. ffff4df8: e58d020c str r0, [sp, #524] ; 0x20c
  5016. ffff4dfc: e58d0220 str r0, [sp, #544] ; 0x220
  5017. ffff4e00: e3a02000 mov r2, #0
  5018. ffff4e04: e28d1f81 add r1, sp, #516 ; 0x204
  5019. ffff4e08: e1a00004 mov r0, r4
  5020. ffff4e0c: ebfffc6c bl 0xffff3fc4
  5021. ffff4e10: e1a05000 mov r5, r0
  5022. ffff4e14: e3550000 cmp r5, #0
  5023. ffff4e18: 0a000002 beq 0xffff4e28
  5024. ffff4e1c: e1a00005 mov r0, r5
  5025. ffff4e20: e28ddf8a add sp, sp, #552 ; 0x228
  5026. ffff4e24: e8bd8070 pop {r4, r5, r6, pc}
  5027. ffff4e28: e3a00003 mov r0, #3
  5028. ffff4e2c: e58d0204 str r0, [sp, #516] ; 0x204
  5029. ffff4e30: e5940034 ldr r0, [r4, #52] ; 0x34
  5030. ffff4e34: e1a00800 lsl r0, r0, #16
  5031. ffff4e38: e58d020c str r0, [sp, #524] ; 0x20c
  5032. ffff4e3c: e3a00015 mov r0, #21
  5033. ffff4e40: e58d0208 str r0, [sp, #520] ; 0x208
  5034. ffff4e44: e3a00000 mov r0, #0
  5035. ffff4e48: e58d0220 str r0, [sp, #544] ; 0x220
  5036. ffff4e4c: e3a02000 mov r2, #0
  5037. ffff4e50: e28d1f81 add r1, sp, #516 ; 0x204
  5038. ffff4e54: e1a00004 mov r0, r4
  5039. ffff4e58: ebfffc59 bl 0xffff3fc4
  5040. ffff4e5c: e1a05000 mov r5, r0
  5041. ffff4e60: e3550000 cmp r5, #0
  5042. ffff4e64: 0a000001 beq 0xffff4e70
  5043. ffff4e68: e1a00005 mov r0, r5
  5044. ffff4e6c: eaffffeb b 0xffff4e20
  5045. ffff4e70: e5940008 ldr r0, [r4, #8]
  5046. ffff4e74: e3100802 tst r0, #131072 ; 0x20000
  5047. ffff4e78: 0a000003 beq 0xffff4e8c
  5048. ffff4e7c: e30f1fff movw r1, #65535 ; 0xffff
  5049. ffff4e80: e59d0210 ldr r0, [sp, #528] ; 0x210
  5050. ffff4e84: e0010820 and r0, r1, r0, lsr #16
  5051. ffff4e88: e5840034 str r0, [r4, #52] ; 0x34
  5052. ffff4e8c: e59f1610 ldr r1, [pc, #1552] ; 0xffff54a4
  5053. ffff4e90: e1a00004 mov r0, r4
  5054. ffff4e94: ebffffb8 bl 0xffff4d7c
  5055. ffff4e98: e3a00009 mov r0, #9
  5056. ffff4e9c: e58d0204 str r0, [sp, #516] ; 0x204
  5057. ffff4ea0: e3a00007 mov r0, #7
  5058. ffff4ea4: e58d0208 str r0, [sp, #520] ; 0x208
  5059. ffff4ea8: e5940034 ldr r0, [r4, #52] ; 0x34
  5060. ffff4eac: e1a00800 lsl r0, r0, #16
  5061. ffff4eb0: e58d020c str r0, [sp, #524] ; 0x20c
  5062. ffff4eb4: e3a00000 mov r0, #0
  5063. ffff4eb8: e58d0220 str r0, [sp, #544] ; 0x220
  5064. ffff4ebc: e3a02000 mov r2, #0
  5065. ffff4ec0: e28d1f81 add r1, sp, #516 ; 0x204
  5066. ffff4ec4: e1a00004 mov r0, r4
  5067. ffff4ec8: ebfffc3d bl 0xffff3fc4
  5068. ffff4ecc: e1a05000 mov r5, r0
  5069. ffff4ed0: e3550000 cmp r5, #0
  5070. ffff4ed4: 0a000001 beq 0xffff4ee0
  5071. ffff4ed8: e1a00005 mov r0, r5
  5072. ffff4edc: eaffffcf b 0xffff4e20
  5073. ffff4ee0: e1a01006 mov r1, r6
  5074. ffff4ee4: e1a00004 mov r0, r4
  5075. ffff4ee8: ebfffdbf bl 0xffff45ec
  5076. ffff4eec: e5940008 ldr r0, [r4, #8]
  5077. ffff4ef0: e3500801 cmp r0, #65536 ; 0x10000
  5078. ffff4ef4: 1a000023 bne 0xffff4f88
  5079. ffff4ef8: e59d1210 ldr r1, [sp, #528] ; 0x210
  5080. ffff4efc: e7e30d51 ubfx r0, r1, #26, #4
  5081. ffff4f00: e3500005 cmp r0, #5
  5082. ffff4f04: 308ff100 addcc pc, pc, r0, lsl #2
  5083. ffff4f08: ea000018 b 0xffff4f70
  5084. ffff4f0c: ea000003 b 0xffff4f20
  5085. ffff4f10: ea000006 b 0xffff4f30
  5086. ffff4f14: ea000009 b 0xffff4f40
  5087. ffff4f18: ea00000c b 0xffff4f50
  5088. ffff4f1c: ea00000f b 0xffff4f60
  5089. ffff4f20: e320f000 nop {0}
  5090. ffff4f24: e59f157c ldr r1, [pc, #1404] ; 0xffff54a8
  5091. ffff4f28: e5841008 str r1, [r4, #8]
  5092. ffff4f2c: ea000013 b 0xffff4f80
  5093. ffff4f30: e320f000 nop {0}
  5094. ffff4f34: e59f1570 ldr r1, [pc, #1392] ; 0xffff54ac
  5095. ffff4f38: e5841008 str r1, [r4, #8]
  5096. ffff4f3c: ea00000f b 0xffff4f80
  5097. ffff4f40: e320f000 nop {0}
  5098. ffff4f44: e59f1564 ldr r1, [pc, #1380] ; 0xffff54b0
  5099. ffff4f48: e5841008 str r1, [r4, #8]
  5100. ffff4f4c: ea00000b b 0xffff4f80
  5101. ffff4f50: e320f000 nop {0}
  5102. ffff4f54: e59f1558 ldr r1, [pc, #1368] ; 0xffff54b4
  5103. ffff4f58: e5841008 str r1, [r4, #8]
  5104. ffff4f5c: ea000007 b 0xffff4f80
  5105. ffff4f60: e320f000 nop {0}
  5106. ffff4f64: e59f152c ldr r1, [pc, #1324] ; 0xffff5498 =0x00010040
  5107. ffff4f68: e5841008 str r1, [r4, #8]
  5108. ffff4f6c: ea000003 b 0xffff4f80
  5109. ffff4f70: e320f000 nop {0}
  5110. ffff4f74: e59f152c ldr r1, [pc, #1324] ; 0xffff54a8
  5111. ffff4f78: e5841008 str r1, [r4, #8]
  5112. ffff4f7c: e320f000 nop {0}
  5113. ffff4f80: e320f000 nop {0}
  5114. ffff4f84: e320f000 nop {0}
  5115. ffff4f88: e59d0214 ldr r0, [sp, #532] ; 0x214
  5116. ffff4f8c: e7e30850 ubfx r0, r0, #16, #4
  5117. ffff4f90: e3a01001 mov r1, #1
  5118. ffff4f94: e1a00011 lsl r0, r1, r0
  5119. ffff4f98: e5840044 str r0, [r4, #68] ; 0x44
  5120. ffff4f9c: e5940044 ldr r0, [r4, #68] ; 0x44
  5121. ffff4fa0: e3500c02 cmp r0, #512 ; 0x200
  5122. ffff4fa4: 9a000001 bls 0xffff4fb0
  5123. ffff4fa8: e3000200 movw r0, #512 ; 0x200
  5124. ffff4fac: e5840044 str r0, [r4, #68] ; 0x44
  5125. ffff4fb0: e3a00007 mov r0, #7
  5126. ffff4fb4: e58d0204 str r0, [sp, #516] ; 0x204
  5127. ffff4fb8: e3a0001d mov r0, #29
  5128. ffff4fbc: e58d0208 str r0, [sp, #520] ; 0x208
  5129. ffff4fc0: e5940034 ldr r0, [r4, #52] ; 0x34
  5130. ffff4fc4: e1a00800 lsl r0, r0, #16
  5131. ffff4fc8: e58d020c str r0, [sp, #524] ; 0x20c
  5132. ffff4fcc: e3a00000 mov r0, #0
  5133. ffff4fd0: e58d0220 str r0, [sp, #544] ; 0x220
  5134. ffff4fd4: e3a02000 mov r2, #0
  5135. ffff4fd8: e28d1f81 add r1, sp, #516 ; 0x204
  5136. ffff4fdc: e1a00004 mov r0, r4
  5137. ffff4fe0: ebfffbf7 bl 0xffff3fc4
  5138. ffff4fe4: e1a05000 mov r5, r0
  5139. ffff4fe8: e3550000 cmp r5, #0
  5140. ffff4fec: 0a000001 beq 0xffff4ff8
  5141. ffff4ff0: e1a00005 mov r0, r5
  5142. ffff4ff4: eaffff89 b 0xffff4e20
  5143. ffff4ff8: e3a000ff mov r0, #255 ; 0xff
  5144. ffff4ffc: e5840038 str r0, [r4, #56] ; 0x38
  5145. ffff5000: e584003c str r0, [r4, #60] ; 0x3c
  5146. ffff5004: e5940008 ldr r0, [r4, #8]
  5147. ffff5008: e3100802 tst r0, #131072 ; 0x20000
  5148. ffff500c: 1a000036 bne 0xffff50ec
  5149. ffff5010: e5940008 ldr r0, [r4, #8]
  5150. ffff5014: e59f147c ldr r1, [pc, #1148] ; 0xffff5498 =0x00010040
  5151. ffff5018: e1500001 cmp r0, r1
  5152. ffff501c: 3a000032 bcc 0xffff50ec
  5153. ffff5020: e28d1004 add r1, sp, #4
  5154. ffff5024: e1a00004 mov r0, r4
  5155. ffff5028: ebfffe74 bl 0xffff4a00
  5156. ffff502c: e1a05000 mov r5, r0
  5157. ffff5030: e5dd00c4 ldrb r0, [sp, #196] ; 0xc4
  5158. ffff5034: e3500007 cmp r0, #7
  5159. ffff5038: 308ff100 addcc pc, pc, r0, lsl #2
  5160. ffff503c: ea00001e b 0xffff50bc
  5161. ffff5040: ea000005 b 0xffff505c
  5162. ffff5044: ea000008 b 0xffff506c
  5163. ffff5048: ea00000b b 0xffff507c
  5164. ffff504c: ea00000e b 0xffff508c
  5165. ffff5050: ea000019 b 0xffff50bc
  5166. ffff5054: ea000010 b 0xffff509c
  5167. ffff5058: ea000013 b 0xffff50ac
  5168. ffff505c: e320f000 nop {0}
  5169. ffff5060: e59f0430 ldr r0, [pc, #1072] ; 0xffff5498 =0x00010040
  5170. ffff5064: e5840008 str r0, [r4, #8]
  5171. ffff5068: ea000013 b 0xffff50bc
  5172. ffff506c: e320f000 nop {0}
  5173. ffff5070: e59f0440 ldr r0, [pc, #1088] ; 0xffff54b8
  5174. ffff5074: e5840008 str r0, [r4, #8]
  5175. ffff5078: ea00000f b 0xffff50bc
  5176. ffff507c: e320f000 nop {0}
  5177. ffff5080: e59f0434 ldr r0, [pc, #1076] ; 0xffff54bc
  5178. ffff5084: e5840008 str r0, [r4, #8]
  5179. ffff5088: ea00000b b 0xffff50bc
  5180. ffff508c: e320f000 nop {0}
  5181. ffff5090: e59f0428 ldr r0, [pc, #1064] ; 0xffff54c0
  5182. ffff5094: e5840008 str r0, [r4, #8]
  5183. ffff5098: ea000007 b 0xffff50bc
  5184. ffff509c: e320f000 nop {0}
  5185. ffff50a0: e59f041c ldr r0, [pc, #1052] ; 0xffff54c4
  5186. ffff50a4: e5840008 str r0, [r4, #8]
  5187. ffff50a8: ea000003 b 0xffff50bc
  5188. ffff50ac: e320f000 nop {0}
  5189. ffff50b0: e59f0410 ldr r0, [pc, #1040] ; 0xffff54c8
  5190. ffff50b4: e5840008 str r0, [r4, #8]
  5191. ffff50b8: e320f000 nop {0}
  5192. ffff50bc: e320f000 nop {0}
  5193. ffff50c0: e5dd00a4 ldrb r0, [sp, #164] ; 0xa4
  5194. ffff50c4: e3100001 tst r0, #1
  5195. ffff50c8: 0a000001 beq 0xffff50d4
  5196. ffff50cc: e5dd00b7 ldrb r0, [sp, #183] ; 0xb7
  5197. ffff50d0: e5840038 str r0, [r4, #56] ; 0x38
  5198. ffff50d4: e5940008 ldr r0, [r4, #8]
  5199. ffff50d8: e59f13e0 ldr r1, [pc, #992] ; 0xffff54c0
  5200. ffff50dc: e1500001 cmp r0, r1
  5201. ffff50e0: 3a000001 bcc 0xffff50ec
  5202. ffff50e4: e5dd00b5 ldrb r0, [sp, #181] ; 0xb5
  5203. ffff50e8: e584003c str r0, [r4, #60] ; 0x3c
  5204. ffff50ec: e5940008 ldr r0, [r4, #8]
  5205. ffff50f0: e3100802 tst r0, #131072 ; 0x20000
  5206. ffff50f4: 0a000003 beq 0xffff5108
  5207. ffff50f8: e1a00004 mov r0, r4
  5208. ffff50fc: ebfffeab bl 0xffff4bb0
  5209. ffff5100: e1a05000 mov r5, r0
  5210. ffff5104: ea000003 b 0xffff5118
  5211. ffff5108: e28d1004 add r1, sp, #4
  5212. ffff510c: e1a00004 mov r0, r4
  5213. ffff5110: ebfffe70 bl 0xffff4ad8
  5214. ffff5114: e1a05000 mov r5, r0
  5215. ffff5118: e3550000 cmp r5, #0
  5216. ffff511c: 0a000001 beq 0xffff5128
  5217. ffff5120: e1a00005 mov r0, r5
  5218. ffff5124: eaffff3d b 0xffff4e20
  5219. ffff5128: e1c402d0 ldrd r0, [r4, #32]
  5220. ffff512c: e0000001 and r0, r0, r1
  5221. ffff5130: e5840020 str r0, [r4, #32]
  5222. ffff5134: e5940008 ldr r0, [r4, #8]
  5223. ffff5138: e3100802 tst r0, #131072 ; 0x20000
  5224. ffff513c: 0a000033 beq 0xffff5210
  5225. ffff5140: e5940020 ldr r0, [r4, #32]
  5226. ffff5144: e3100c01 tst r0, #256 ; 0x100
  5227. ffff5148: 0a000025 beq 0xffff51e4
  5228. ffff514c: e3a00037 mov r0, #55 ; 0x37
  5229. ffff5150: e58d0204 str r0, [sp, #516] ; 0x204
  5230. ffff5154: e3a00015 mov r0, #21
  5231. ffff5158: e58d0208 str r0, [sp, #520] ; 0x208
  5232. ffff515c: e5940034 ldr r0, [r4, #52] ; 0x34
  5233. ffff5160: e1a00800 lsl r0, r0, #16
  5234. ffff5164: e58d020c str r0, [sp, #524] ; 0x20c
  5235. ffff5168: e3a00000 mov r0, #0
  5236. ffff516c: e58d0220 str r0, [sp, #544] ; 0x220
  5237. ffff5170: e3a02000 mov r2, #0
  5238. ffff5174: e28d1f81 add r1, sp, #516 ; 0x204
  5239. ffff5178: e1a00004 mov r0, r4
  5240. ffff517c: ebfffb90 bl 0xffff3fc4
  5241. ffff5180: e1a05000 mov r5, r0
  5242. ffff5184: e3550000 cmp r5, #0
  5243. ffff5188: 0a000001 beq 0xffff5194
  5244. ffff518c: e1a00005 mov r0, r5
  5245. ffff5190: eaffff22 b 0xffff4e20
  5246. ffff5194: e3a00006 mov r0, #6
  5247. ffff5198: e58d0204 str r0, [sp, #516] ; 0x204
  5248. ffff519c: e3a00015 mov r0, #21
  5249. ffff51a0: e58d0208 str r0, [sp, #520] ; 0x208
  5250. ffff51a4: e3a00002 mov r0, #2
  5251. ffff51a8: e58d020c str r0, [sp, #524] ; 0x20c
  5252. ffff51ac: e3a00000 mov r0, #0
  5253. ffff51b0: e58d0220 str r0, [sp, #544] ; 0x220
  5254. ffff51b4: e3a02000 mov r2, #0
  5255. ffff51b8: e28d1f81 add r1, sp, #516 ; 0x204
  5256. ffff51bc: e1a00004 mov r0, r4
  5257. ffff51c0: ebfffb7f bl 0xffff3fc4
  5258. ffff51c4: e1a05000 mov r5, r0
  5259. ffff51c8: e3550000 cmp r5, #0
  5260. ffff51cc: 0a000001 beq 0xffff51d8
  5261. ffff51d0: e1a00005 mov r0, r5
  5262. ffff51d4: eaffff11 b 0xffff4e20
  5263. ffff51d8: e3a01004 mov r1, #4
  5264. ffff51dc: e1a00004 mov r0, r4
  5265. ffff51e0: ebfffef4 bl 0xffff4db8
  5266. ffff51e4: e5940020 ldr r0, [r4, #32]
  5267. ffff51e8: e3100001 tst r0, #1
  5268. ffff51ec: 0a000003 beq 0xffff5200
  5269. ffff51f0: e59f12d4 ldr r1, [pc, #724] ; 0xffff54cc
  5270. ffff51f4: e1a00004 mov r0, r4
  5271. ffff51f8: ebfffedf bl 0xffff4d7c
  5272. ffff51fc: ea000035 b 0xffff52d8
  5273. ffff5200: e59f12c8 ldr r1, [pc, #712] ; 0xffff54d0 =0x017d7840 (25000000)
  5274. ffff5204: e1a00004 mov r0, r4
  5275. ffff5208: ebfffedb bl 0xffff4d7c
  5276. ffff520c: ea000031 b 0xffff52d8
  5277. ffff5210: e5940020 ldr r0, [r4, #32]
  5278. ffff5214: e3100c01 tst r0, #256 ; 0x100
  5279. ffff5218: 0a00000d beq 0xffff5254
  5280. ffff521c: e3a03001 mov r3, #1
  5281. ffff5220: e3a020b7 mov r2, #183 ; 0xb7
  5282. ffff5224: e1a01003 mov r1, r3
  5283. ffff5228: e1a00004 mov r0, r4
  5284. ffff522c: ebfffe0d bl 0xffff4a68
  5285. ffff5230: e1a05000 mov r5, r0
  5286. ffff5234: e3550000 cmp r5, #0
  5287. ffff5238: 0a000001 beq 0xffff5244
  5288. ffff523c: e1a00005 mov r0, r5
  5289. ffff5240: eafffef6 b 0xffff4e20
  5290. ffff5244: e3a01004 mov r1, #4
  5291. ffff5248: e1a00004 mov r0, r4
  5292. ffff524c: ebfffed9 bl 0xffff4db8
  5293. ffff5250: ea00000f b 0xffff5294
  5294. ffff5254: e5940020 ldr r0, [r4, #32]
  5295. ffff5258: e3100c02 tst r0, #512 ; 0x200
  5296. ffff525c: 0a00000c beq 0xffff5294
  5297. ffff5260: e3a03002 mov r3, #2
  5298. ffff5264: e3a020b7 mov r2, #183 ; 0xb7
  5299. ffff5268: e3a01001 mov r1, #1
  5300. ffff526c: e1a00004 mov r0, r4
  5301. ffff5270: ebfffdfc bl 0xffff4a68
  5302. ffff5274: e1a05000 mov r5, r0
  5303. ffff5278: e3550000 cmp r5, #0
  5304. ffff527c: 0a000001 beq 0xffff5288
  5305. ffff5280: e1a00005 mov r0, r5
  5306. ffff5284: eafffee5 b 0xffff4e20
  5307. ffff5288: e3a01008 mov r1, #8
  5308. ffff528c: e1a00004 mov r0, r4
  5309. ffff5290: ebfffec8 bl 0xffff4db8
  5310. ffff5294: e5940020 ldr r0, [r4, #32]
  5311. ffff5298: e3100001 tst r0, #1
  5312. ffff529c: 0a00000a beq 0xffff52cc
  5313. ffff52a0: e5940020 ldr r0, [r4, #32]
  5314. ffff52a4: e3100010 tst r0, #16
  5315. ffff52a8: 0a000003 beq 0xffff52bc
  5316. ffff52ac: e59f1220 ldr r1, [pc, #544] ; 0xffff54d4
  5317. ffff52b0: e1a00004 mov r0, r4
  5318. ffff52b4: ebfffeb0 bl 0xffff4d7c
  5319. ffff52b8: ea000006 b 0xffff52d8
  5320. ffff52bc: e59f1214 ldr r1, [pc, #532] ; 0xffff54d8
  5321. ffff52c0: e1a00004 mov r0, r4
  5322. ffff52c4: ebfffeac bl 0xffff4d7c
  5323. ffff52c8: ea000002 b 0xffff52d8
  5324. ffff52cc: e59f1208 ldr r1, [pc, #520] ; 0xffff54dc
  5325. ffff52d0: e1a00004 mov r0, r4
  5326. ffff52d4: ebfffea8 bl 0xffff4d7c
  5327. ffff52d8: e3a00000 mov r0, #0
  5328. ffff52dc: eafffecf b 0xffff4e20
  5329. ;;;********************************************************************************
  5330. ffff52e0: e92d4030 push {r4, r5, lr}
  5331. ffff52e4: e24dd024 sub sp, sp, #36 ; 0x24
  5332. ffff52e8: e1a04000 mov r4, r0
  5333. ffff52ec: e3a00008 mov r0, #8
  5334. ffff52f0: e58d0000 str r0, [sp]
  5335. ffff52f4: e5940004 ldr r0, [r4, #4]
  5336. ffff52f8: e59f1190 ldr r1, [pc, #400] ; 0xffff5490 =0x00ff8000
  5337. ffff52fc: e1100001 tst r0, r1
  5338. ffff5300: 0a000001 beq 0xffff530c
  5339. ffff5304: e3a00001 mov r0, #1
  5340. ffff5308: ea000000 b 0xffff5310
  5341. ffff530c: e3a00000 mov r0, #0
  5342. ffff5310: e3a010aa mov r1, #170 ; 0xaa
  5343. ffff5314: e1810400 orr r0, r1, r0, lsl #8
  5344. ffff5318: e58d0008 str r0, [sp, #8]
  5345. ffff531c: e3a00015 mov r0, #21
  5346. ffff5320: e58d0004 str r0, [sp, #4]
  5347. ffff5324: e3a00000 mov r0, #0
  5348. ffff5328: e58d001c str r0, [sp, #28]
  5349. ffff532c: e3a02000 mov r2, #0
  5350. ffff5330: e1a0100d mov r1, sp
  5351. ffff5334: e1a00004 mov r0, r4
  5352. ffff5338: ebfffb21 bl 0xffff3fc4
  5353. ffff533c: e1a05000 mov r5, r0
  5354. ffff5340: e3550000 cmp r5, #0
  5355. ffff5344: 0a000002 beq 0xffff5354
  5356. ffff5348: e1a00005 mov r0, r5
  5357. ffff534c: e28dd024 add sp, sp, #36 ; 0x24
  5358. ffff5350: e8bd8030 pop {r4, r5, pc}
  5359. ffff5354: e59d000c ldr r0, [sp, #12]
  5360. ffff5358: e20000ff and r0, r0, #255 ; 0xff
  5361. ffff535c: e35000aa cmp r0, #170 ; 0xaa
  5362. ffff5360: 0a000001 beq 0xffff536c
  5363. ffff5364: e3e00010 mvn r0, #16
  5364. ffff5368: eafffff7 b 0xffff534c
  5365. ffff536c: e59f012c ldr r0, [pc, #300] ; 0xffff54a0 =0x00020020
  5366. ffff5370: e5840008 str r0, [r4, #8]
  5367. ffff5374: e3a00000 mov r0, #0
  5368. ffff5378: eafffff3 b 0xffff534c
  5369. ;;;********************************************************************************
  5370. ffff537c: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  5371. ffff5380: e24dd038 sub sp, sp, #56 ; 0x38
  5372. ffff5384: e1a04000 mov r4, r0
  5373. ffff5388: e1a08001 mov r8, r1
  5374. ffff538c: e1a06002 mov r6, r2
  5375. ffff5390: e1a05003 mov r5, r3
  5376. ffff5394: e3550000 cmp r5, #0
  5377. ffff5398: 0a000004 beq 0xffff53b0
  5378. ffff539c: e3a00012 mov r0, #18
  5379. ffff53a0: e58d0014 str r0, [sp, #20]
  5380. ffff53a4: e3a00000 mov r0, #0
  5381. ffff53a8: e58d0034 str r0, [sp, #52] ; 0x34
  5382. ffff53ac: ea000002 b 0xffff53bc
  5383. ffff53b0: e3a00000 mov r0, #0
  5384. ffff53b4: e28dd038 add sp, sp, #56 ; 0x38
  5385. ffff53b8: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  5386. ffff53bc: e5940014 ldr r0, [r4, #20]
  5387. ffff53c0: e3500000 cmp r0, #0
  5388. ffff53c4: 0a000001 beq 0xffff53d0
  5389. ffff53c8: e58d601c str r6, [sp, #28]
  5390. ffff53cc: ea000002 b 0xffff53dc
  5391. ffff53d0: e5940044 ldr r0, [r4, #68] ; 0x44
  5392. ffff53d4: e0000690 mul r0, r0, r6
  5393. ffff53d8: e58d001c str r0, [sp, #28]
  5394. ffff53dc: e3a00015 mov r0, #21
  5395. ffff53e0: e58d0018 str r0, [sp, #24]
  5396. ffff53e4: e3a00000 mov r0, #0
  5397. ffff53e8: e58d0030 str r0, [sp, #48] ; 0x30
  5398. ffff53ec: e58d8004 str r8, [sp, #4]
  5399. ffff53f0: e58d500c str r5, [sp, #12]
  5400. ffff53f4: e5940044 ldr r0, [r4, #68] ; 0x44
  5401. ffff53f8: e58d0010 str r0, [sp, #16]
  5402. ffff53fc: e3a00001 mov r0, #1
  5403. ffff5400: e58d0008 str r0, [sp, #8]
  5404. ffff5404: e28d2004 add r2, sp, #4
  5405. ffff5408: e28d1014 add r1, sp, #20
  5406. ffff540c: e1a00004 mov r0, r4
  5407. ffff5410: ebfffaeb bl 0xffff3fc4
  5408. ffff5414: e1a07000 mov r7, r0
  5409. ffff5418: e59d0014 ldr r0, [sp, #20]
  5410. ffff541c: e3500012 cmp r0, #18
  5411. ffff5420: 1a000011 bne 0xffff546c
  5412. ffff5424: e59d0034 ldr r0, [sp, #52] ; 0x34
  5413. ffff5428: e3500000 cmp r0, #0
  5414. ffff542c: 1a00000e bne 0xffff546c
  5415. ffff5430: e3a0000c mov r0, #12
  5416. ffff5434: e58d0014 str r0, [sp, #20]
  5417. ffff5438: e3a0001d mov r0, #29
  5418. ffff543c: e58d0018 str r0, [sp, #24]
  5419. ffff5440: e3a00000 mov r0, #0
  5420. ffff5444: e58d001c str r0, [sp, #28]
  5421. ffff5448: e58d0030 str r0, [sp, #48] ; 0x30
  5422. ffff544c: e3a02000 mov r2, #0
  5423. ffff5450: e28d1014 add r1, sp, #20
  5424. ffff5454: e1a00004 mov r0, r4
  5425. ffff5458: ebfffad9 bl 0xffff3fc4
  5426. ffff545c: e3500000 cmp r0, #0
  5427. ffff5460: 0a000001 beq 0xffff546c
  5428. ffff5464: e3a00000 mov r0, #0
  5429. ffff5468: eaffffd1 b 0xffff53b4
  5430. ffff546c: e3570000 cmp r7, #0
  5431. ffff5470: 0a000001 beq 0xffff547c
  5432. ffff5474: e3a00000 mov r0, #0
  5433. ffff5478: eaffffcd b 0xffff53b4
  5434. ffff547c: e1a00005 mov r0, r5
  5435. ffff5480: eaffffcb b 0xffff53b4
  5436. ;;;********************************************************************************
  5437. ;; Global Offset Table
  5438. ffff5484: fdf94080
  5439. ffff5488: f0f0f0f0
  5440. ffff548c: f0f0f0fa
  5441. ffff5490: 00ff8000
  5442. ffff5494: 00020010
  5443. ffff5498: 00010040
  5444. ffff549c: 0002001a
  5445. ffff54a0: 00020020
  5446. ffff54a4: 005b8d80
  5447. ffff54a8: 00010012
  5448. ffff54ac: 00010014
  5449. ffff54b0: 00010022
  5450. ffff54b4: 00010030
  5451. ffff54b8: 00010041
  5452. ffff54bc: 00010042
  5453. ffff54c0: 00010043
  5454. ffff54c4: 00010044
  5455. ffff54c8: 00010045
  5456. ffff54cc: 02faf080
  5457. ffff54d0: 017d7840
  5458. ffff54d4: 03197500
  5459. ffff54d8: 018cba80
  5460. ffff54dc: 01312d00
  5461. ;;;********************************************************************************
  5462. ffff54e0: e92d47f0 push {r4, r5, r6, r7, r8, r9, sl, lr}
  5463. ffff54e4: e1a05000 mov r5, r0
  5464. ffff54e8: e1a08001 mov r8, r1
  5465. ffff54ec: e1a06002 mov r6, r2
  5466. ffff54f0: e1a09003 mov r9, r3
  5467. ffff54f4: e1a07006 mov r7, r6
  5468. ffff54f8: e3560000 cmp r6, #0
  5469. ffff54fc: 1a000001 bne 0xffff5508
  5470. ffff5500: e3a00000 mov r0, #0
  5471. ffff5504: e8bd87f0 pop {r4, r5, r6, r7, r8, r9, sl, pc}
  5472. ffff5508: e320f000 nop {0}
  5473. ffff550c: e5950048 ldr r0, [r5, #72] ; 0x48
  5474. ffff5510: e1500007 cmp r0, r7
  5475. ffff5514: 2a000001 bcs 0xffff5520
  5476. ffff5518: e5950048 ldr r0, [r5, #72] ; 0x48
  5477. ffff551c: ea000000 b 0xffff5524
  5478. ffff5520: e1a00007 mov r0, r7
  5479. ffff5524: e1a04000 mov r4, r0
  5480. ffff5528: e1a03004 mov r3, r4
  5481. ffff552c: e1a02008 mov r2, r8
  5482. ffff5530: e1a01009 mov r1, r9
  5483. ffff5534: e1a00005 mov r0, r5
  5484. ffff5538: ebffff8f bl 0xffff537c
  5485. ffff553c: e1500004 cmp r0, r4
  5486. ffff5540: 0a000001 beq 0xffff554c
  5487. ffff5544: e3a00000 mov r0, #0
  5488. ffff5548: eaffffed b 0xffff5504
  5489. ffff554c: e0477004 sub r7, r7, r4
  5490. ffff5550: e0888004 add r8, r8, r4
  5491. ffff5554: e5950044 ldr r0, [r5, #68] ; 0x44
  5492. ffff5558: e0299094 mla r9, r4, r0, r9
  5493. ffff555c: e3570000 cmp r7, #0
  5494. ffff5560: 1affffe9 bne 0xffff550c
  5495. ffff5564: e1a00006 mov r0, r6
  5496. ffff5568: eaffffe5 b 0xffff5504
  5497. ;;;********************************************************************************
  5498. ffff556c: e92d43f0 push {r4, r5, r6, r7, r8, r9, lr}
  5499. ffff5570: e24dd034 sub sp, sp, #52 ; 0x34
  5500. ffff5574: e1a05000 mov r5, r0
  5501. ffff5578: e1a09001 mov r9, r1
  5502. ffff557c: e1a06002 mov r6, r2
  5503. ffff5580: e1a07003 mov r7, r3
  5504. ffff5584: e3a04000 mov r4, #0
  5505. ffff5588: e3a08001 mov r8, #1
  5506. ffff558c: e59f02a4 ldr r0, [pc, #676] ; 0xffff5838 = 0x00b71b00 (12000000)
  5507. ffff5590: e585001c str r0, [r5, #28]
  5508. ffff5594: e320f000 nop {0}
  5509. ffff5598: e1a00005 mov r0, r5
  5510. ffff559c: ebfff95e bl 0xffff3b1c
  5511. ffff55a0: e1a00005 mov r0, r5
  5512. ffff55a4: ebfff96b bl 0xffff3b58
  5513. ffff55a8: e300012c movw r0, #300 ; 0x12c
  5514. ffff55ac: e3a01000 mov r1, #0
  5515. ffff55b0: ebfff847 bl 0xffff36d4
  5516. ffff55b4: e1a00005 mov r0, r5
  5517. ffff55b8: ebfffc4e bl 0xffff46f8
  5518. ffff55bc: e3a00000 mov r0, #0
  5519. ffff55c0: e58d0010 str r0, [sp, #16]
  5520. ffff55c4: e58d0018 str r0, [sp, #24]
  5521. ffff55c8: e58d0014 str r0, [sp, #20]
  5522. ffff55cc: e3a00001 mov r0, #1
  5523. ffff55d0: e58d002c str r0, [sp, #44] ; 0x2c
  5524. ffff55d4: e58d7000 str r7, [sp]
  5525. ffff55d8: e58d6008 str r6, [sp, #8]
  5526. ffff55dc: e3000200 movw r0, #512 ; 0x200
  5527. ffff55e0: e58d000c str r0, [sp, #12]
  5528. ffff55e4: e3a00001 mov r0, #1
  5529. ffff55e8: e58d0004 str r0, [sp, #4]
  5530. ffff55ec: e1a0200d mov r2, sp
  5531. ffff55f0: e28d1010 add r1, sp, #16
  5532. ffff55f4: e1a00005 mov r0, r5
  5533. ffff55f8: ebfffa71 bl 0xffff3fc4
  5534. ffff55fc: e1a04000 mov r4, r0
  5535. ffff5600: e3740005 cmn r4, #5
  5536. ffff5604: 0a000001 beq 0xffff5610
  5537. ffff5608: e3740006 cmn r4, #6
  5538. ffff560c: 1a000002 bne 0xffff561c
  5539. ffff5610: e1a00004 mov r0, r4
  5540. ffff5614: e28dd034 add sp, sp, #52 ; 0x34
  5541. ffff5618: e8bd83f0 pop {r4, r5, r6, r7, r8, r9, pc}
  5542. ffff561c: e3540000 cmp r4, #0
  5543. ffff5620: 0a000008 beq 0xffff5648
  5544. ffff5624: e3580000 cmp r8, #0
  5545. ffff5628: 0a000006 beq 0xffff5648
  5546. ffff562c: e3a08000 mov r8, #0
  5547. ffff5630: e51f0194 ldr r0, [pc, #-404] ; 0xffff54a4 =0x005b8d80
  5548. ffff5634: e585001c str r0, [r5, #28]
  5549. ffff5638: e3a00001 mov r0, #1
  5550. ffff563c: e3a01000 mov r1, #0
  5551. ffff5640: ebfff839 bl 0xffff372c
  5552. ffff5644: eaffffd3 b 0xffff5598
  5553. ffff5648: e3540000 cmp r4, #0
  5554. ffff564c: 0a000001 beq 0xffff5658
  5555. ffff5650: e1a00004 mov r0, r4
  5556. ffff5654: eaffffee b 0xffff5614
  5557. ffff5658: e1a00006 mov r0, r6
  5558. ffff565c: eaffffec b 0xffff5614
  5559. ;;;********************************************************************************
  5560. ffff5660: e92d4070 push {r4, r5, r6, lr}
  5561. ffff5664: e1a05000 mov r5, r0
  5562. ffff5668: e3a04000 mov r4, #0
  5563. ffff566c: e1a00005 mov r0, r5
  5564. ffff5670: ebfff957 bl 0xffff3bd4
  5565. ffff5674: e1a04000 mov r4, r0
  5566. ffff5678: e3540000 cmp r4, #0
  5567. ffff567c: 0a000001 beq 0xffff5688
  5568. ffff5680: e1a00004 mov r0, r4
  5569. ffff5684: e8bd8070 pop {r4, r5, r6, pc}
  5570. ffff5688: e1a00005 mov r0, r5
  5571. ffff568c: ebfff922 bl 0xffff3b1c
  5572. ffff5690: e59f01a4 ldr r0, [pc, #420] ; 0xffff583c =0x00061a80 (400000)
  5573. ffff5694: e585001c str r0, [r5, #28]
  5574. ffff5698: e3a00001 mov r0, #1
  5575. ffff569c: e5850018 str r0, [r5, #24]
  5576. ffff56a0: e1a00005 mov r0, r5
  5577. ffff56a4: ebfff92b bl 0xffff3b58
  5578. ffff56a8: e300012c movw r0, #300 ; 0x12c
  5579. ffff56ac: e3a01000 mov r1, #0
  5580. ffff56b0: ebfff807 bl 0xffff36d4
  5581. ffff56b4: e1a00005 mov r0, r5
  5582. ffff56b8: ebfffbfa bl 0xffff46a8
  5583. ffff56bc: e1a04000 mov r4, r0
  5584. ffff56c0: e3540000 cmp r4, #0
  5585. ffff56c4: 0a000001 beq 0xffff56d0
  5586. ffff56c8: e1a00004 mov r0, r4
  5587. ffff56cc: eaffffec b 0xffff5684
  5588. ffff56d0: e3a00000 mov r0, #0
  5589. ffff56d4: e5850040 str r0, [r5, #64] ; 0x40
  5590. ffff56d8: e1a00005 mov r0, r5
  5591. ffff56dc: ebfffeff bl 0xffff52e0
  5592. ffff56e0: e1a00005 mov r0, r5
  5593. ffff56e4: ebfffc2c bl 0xffff479c
  5594. ffff56e8: e1a04000 mov r4, r0
  5595. ffff56ec: e3540000 cmp r4, #0
  5596. ffff56f0: 0a000006 beq 0xffff5710
  5597. ffff56f4: e1a00005 mov r0, r5
  5598. ffff56f8: ebfffc71 bl 0xffff48c4
  5599. ffff56fc: e1a04000 mov r4, r0
  5600. ffff5700: e3540000 cmp r4, #0
  5601. ffff5704: 0a000001 beq 0xffff5710
  5602. ffff5708: e3e00010 mvn r0, #16
  5603. ffff570c: eaffffdc b 0xffff5684
  5604. ffff5710: e1a00004 mov r0, r4
  5605. ffff5714: eaffffda b 0xffff5684
  5606. ;;;********************************************************************************
  5607. ffff5718: e92d4070 push {r4, r5, r6, lr} ; r0 = card_no, r1 = structure
  5608. ffff571c: e1a06000 mov r6, r0
  5609. ffff5720: e1a04001 mov r4, r1
  5610. ffff5724: e3e05000 mvn r5, #0
  5611. ffff5728: e1a01004 mov r1, r4
  5612. ffff572c: e1a00006 mov r0, r6
  5613. ffff5730: ebfffb88 bl 0xffff4558
  5614. ffff5734: e1a05000 mov r5, r0
  5615. ffff5738: e3550000 cmp r5, #0
  5616. ffff573c: 0a000001 beq 0xffff5748
  5617. ffff5740: e3e00000 mvn r0, #0
  5618. ffff5744: e8bd8070 pop {r4, r5, r6, pc}
  5619. ffff5748: e300012c movw r0, #300 ; 0x12c
  5620. ffff574c: e5840048 str r0, [r4, #72] ; 0x48
  5621. ffff5750: e1a00004 mov r0, r4
  5622. ffff5754: ebffffc1 bl 0xffff5660
  5623. ffff5758: e1a05000 mov r5, r0
  5624. ffff575c: e3550000 cmp r5, #0
  5625. ffff5760: 0a000001 beq 0xffff576c
  5626. ffff5764: e3e00000 mvn r0, #0
  5627. ffff5768: eafffff5 b 0xffff5744
  5628. ffff576c: e1a00004 mov r0, r4
  5629. ffff5770: ebfffd97 bl 0xffff4dd4
  5630. ffff5774: e1a05000 mov r5, r0
  5631. ffff5778: e3550000 cmp r5, #0
  5632. ffff577c: 0a000001 beq 0xffff5788
  5633. ffff5780: e3e00000 mvn r0, #0
  5634. ffff5784: eaffffee b 0xffff5744
  5635. ffff5788: e3a00000 mov r0, #0
  5636. ffff578c: eaffffec b 0xffff5744
  5637. ;;;********************************************************************************
  5638. ffff5790: e92d4070 push {r4, r5, r6, lr}
  5639. ffff5794: e1a06000 mov r6, r0
  5640. ffff5798: e1a04001 mov r4, r1
  5641. ffff579c: e3e05000 mvn r5, #0
  5642. ffff57a0: e1a01004 mov r1, r4
  5643. ffff57a4: e1a00006 mov r0, r6
  5644. ffff57a8: ebfffb6a bl 0xffff4558
  5645. ffff57ac: e1a05000 mov r5, r0
  5646. ffff57b0: e3550000 cmp r5, #0
  5647. ffff57b4: 0a000001 beq 0xffff57c0
  5648. ffff57b8: e3e00000 mvn r0, #0
  5649. ffff57bc: e8bd8070 pop {r4, r5, r6, pc}
  5650. ffff57c0: e300012c movw r0, #300 ; 0x12c
  5651. ffff57c4: e5840048 str r0, [r4, #72] ; 0x48
  5652. ffff57c8: e1a00004 mov r0, r4
  5653. ffff57cc: ebfff900 bl 0xffff3bd4
  5654. ffff57d0: e1a05000 mov r5, r0
  5655. ffff57d4: e3550000 cmp r5, #0
  5656. ffff57d8: 0a000001 beq 0xffff57e4
  5657. ffff57dc: e1a00005 mov r0, r5
  5658. ffff57e0: eafffff5 b 0xffff57bc
  5659. ffff57e4: e1a00004 mov r0, r4
  5660. ffff57e8: ebfff8cb bl 0xffff3b1c
  5661. ffff57ec: e59f0044 ldr r0, [pc, #68] ; 0xffff5838 =0x00b71b00 (12000000)
  5662. ffff57f0: e584001c str r0, [r4, #28]
  5663. ffff57f4: e3a00004 mov r0, #4
  5664. ffff57f8: e5840018 str r0, [r4, #24]
  5665. ffff57fc: e1a00004 mov r0, r4
  5666. ffff5800: ebfff8d4 bl 0xffff3b58
  5667. ffff5804: e300012c movw r0, #300 ; 0x12c
  5668. ffff5808: e3a01000 mov r1, #0
  5669. ffff580c: ebfff7b0 bl 0xffff36d4
  5670. ffff5810: e3a00000 mov r0, #0
  5671. ffff5814: eaffffe8 b 0xffff57bc
  5672. ;;;********************************************************************************
  5673. ffff5818: e92d4070 push {r4, r5, r6, lr}
  5674. ffff581c: e1a04000 mov r4, r0
  5675. ffff5820: e1a05001 mov r5, r1
  5676. ffff5824: e1a01005 mov r1, r5
  5677. ffff5828: e1a00004 mov r0, r4
  5678. ffff582c: ebfffb64 bl 0xffff45c4
  5679. ffff5830: e3a00000 mov r0, #0
  5680. ffff5834: e8bd8070 pop {r4, r5, r6, pc}
  5681. ;;;********************************************************************************
  5682. ;; Global Offset Table
  5683. ffff5838: 00b71b00 ; 12000000
  5684. ffff583c: 00061a80 ; 400000
  5685. ;;;********************************************************************************
  5686. ffff5840: e59f06e8 ldr r0, [pc, #1768] ; 0xffff5f30 =0x77773333 =b0 111 0 111 0 111 0 111 0 011 0 011 0 011 0 011
  5687. ffff5844: e59f16e8 ldr r1, [pc, #1768] ; 0xffff5f34 =0x01c20848 PC_CFG0
  5688. ffff5848: e5810000 str r0, [r1] ; configure PC as SPI
  5689. ffff584c: e3a00010 mov r0, #16 ; 00 00 00 00 00 00 00 00 01 00 00
  5690. ffff5850: e281101c add r1, r1, #28 ; PC_PULL0
  5691. ffff5854: e5810000 str r0, [r1] ; enable pull-up on PC2
  5692. ffff5858: e12fff1e bx lr
  5693. ;;;********************************************************************************
  5694. ffff585c: e59f06d4 ldr r0, [pc, #1748] ; 0xffff5f38 =0x77777777 =b0 111 0 111 0 111 0 111 0 111 0 111 0 111 0 111
  5695. ffff5860: e59f16cc ldr r1, [pc, #1740] ; 0xffff5f34 =0x01c20848 PC_CFG0
  5696. ffff5864: e5810000 str r0, [r1] ; configure PC as disabled I/O
  5697. ffff5868: e3a00000 mov r0, #0
  5698. ffff586c: e281101c add r1, r1, #28 ; PC_PULL0
  5699. ffff5870: e5810000 str r0, [r1] ; disable pull-ups
  5700. ffff5874: e12fff1e bx lr
  5701. ;;;********************************************************************************
  5702. ffff5878: e92d4010 push {r4, lr}
  5703. ffff587c: e59f06b8 ldr r0, [pc, #1720] ; 0xffff5f3c =0x01c20000 SCU_BASE
  5704. ffff5880: e59002c0 ldr r0, [r0, #704] ; 0x2c0
  5705. ffff5884: e3800601 orr r0, r0, #1048576 ; 0x100000
  5706. ffff5888: e59f16ac ldr r1, [pc, #1708] ; 0xffff5f3c =0x01c20000 SCU_BASE
  5707. ffff588c: e58102c0 str r0, [r1, #704] ; 0x2c0
  5708. ffff5890: e1a00001 mov r0, r1
  5709. ffff5894: e5900060 ldr r0, [r0, #96] ; 0x60
  5710. ffff5898: e3800601 orr r0, r0, #1048576 ; 0x100000
  5711. ffff589c: e5810060 str r0, [r1, #96] ; 0x60
  5712. ffff58a0: e3a00102 mov r0, #-2147483648 ; 0x80000000
  5713. ffff58a4: e58100a0 str r0, [r1, #160] ; 0xa0
  5714. ffff58a8: ebffffe4 bl 0xffff5840
  5715. ffff58ac: e59f0688 ldr r0, [pc, #1672] ; 0xffff5f3c =0x01c20000 SCU_BASE
  5716. ffff58b0: e59002c0 ldr r0, [r0, #704] ; 0x2c0
  5717. ffff58b4: e3800040 orr r0, r0, #64 ; 0x40
  5718. ffff58b8: e59f167c ldr r1, [pc, #1660] ; 0xffff5f3c =0x01c20000 SCU_BASE
  5719. ffff58bc: e58102c0 str r0, [r1, #704] ; 0x2c0
  5720. ffff58c0: e1a00001 mov r0, r1
  5721. ffff58c4: e5900060 ldr r0, [r0, #96] ; 0x60
  5722. ffff58c8: e3800040 orr r0, r0, #64 ; 0x40
  5723. ffff58cc: e5810060 str r0, [r1, #96] ; 0x60
  5724. ffff58d0: e3010001 movw r0, #4097 ; 0x1001
  5725. ffff58d4: e2811912 add r1, r1, #294912 ; 0x48000
  5726. ffff58d8: e5810024 str r0, [r1, #36] ; 0x24
  5727. ffff58dc: e59f065c ldr r0, [pc, #1628] ; 0xffff5f40 =0x80000083
  5728. ffff58e0: e5810004 str r0, [r1, #4]
  5729. ffff58e4: e3000184 movw r0, #388 ; 0x184
  5730. ffff58e8: e5810008 str r0, [r1, #8]
  5731. ffff58ec: e59f0650 ldr r0, [pc, #1616] ; 0xffff5f44 =0x80208020
  5732. ffff58f0: e5810018 str r0, [r1, #24]
  5733. ffff58f4: e3a00000 mov r0, #0
  5734. ffff58f8: e5810010 str r0, [r1, #16]
  5735. ffff58fc: e3e00000 mvn r0, #0
  5736. ffff5900: e5810014 str r0, [r1, #20]
  5737. ffff5904: e8bd8010 pop {r4, pc}
  5738. ;;;********************************************************************************
  5739. ffff5908: e92d4010 push {r4, lr}
  5740. ffff590c: e3a00000 mov r0, #0
  5741. ffff5910: e59f1630 ldr r1, [pc, #1584] ; 0xffff5f48 = 0x01c68000
  5742. ffff5914: e5810004 str r0, [r1, #4]
  5743. ffff5918: ebffffcf bl 0xffff585c
  5744. ffff591c: e3a00000 mov r0, #0
  5745. ffff5920: e59f1614 ldr r1, [pc, #1556] ; 0xffff5f3c =0x01c20000 SCU_BASE
  5746. ffff5924: e58100a0 str r0, [r1, #160] ; 0xa0
  5747. ffff5928: e1c10000 bic r0, r1, r0
  5748. ffff592c: e59002c0 ldr r0, [r0, #704] ; 0x2c0
  5749. ffff5930: e3c00601 bic r0, r0, #1048576 ; 0x100000
  5750. ffff5934: e58102c0 str r0, [r1, #704] ; 0x2c0
  5751. ffff5938: e1a00001 mov r0, r1
  5752. ffff593c: e5900060 ldr r0, [r0, #96] ; 0x60
  5753. ffff5940: e3c00601 bic r0, r0, #1048576 ; 0x100000
  5754. ffff5944: e5810060 str r0, [r1, #96] ; 0x60
  5755. ffff5948: e1a00001 mov r0, r1
  5756. ffff594c: e5900060 ldr r0, [r0, #96] ; 0x60
  5757. ffff5950: e3c00040 bic r0, r0, #64 ; 0x40
  5758. ffff5954: e5810060 str r0, [r1, #96] ; 0x60
  5759. ffff5958: e1a00001 mov r0, r1
  5760. ffff595c: e59002c0 ldr r0, [r0, #704] ; 0x2c0
  5761. ffff5960: e3c00040 bic r0, r0, #64 ; 0x40
  5762. ffff5964: e58102c0 str r0, [r1, #704] ; 0x2c0
  5763. ffff5968: e8bd8010 pop {r4, pc}
  5764. ;;;********************************************************************************
  5765. ffff596c: e1a01000 mov r1, r0
  5766. ffff5970: e320f000 nop {0}
  5767. ffff5974: e59f05d0 ldr r0, [pc, #1488] ; 0xffff5f4c =0x01c02000 DMA_BASE
  5768. ffff5978: e5900030 ldr r0, [r0, #48] ; 0x30
  5769. ffff597c: e3100001 tst r0, #1
  5770. ffff5980: 1a000001 bne 0xffff598c
  5771. ffff5984: e3a00000 mov r0, #0
  5772. ffff5988: e12fff1e bx lr
  5773. ffff598c: e2410001 sub r0, r1, #1
  5774. ffff5990: e1b01000 movs r1, r0
  5775. ffff5994: 1afffff6 bne 0xffff5974
  5776. ffff5998: e3a00002 mov r0, #2
  5777. ffff599c: eafffff9 b 0xffff5988
  5778. ;;;********************************************************************************
  5779. ffff59a0: e1a01000 mov r1, r0
  5780. ffff59a4: e320f000 nop {0}
  5781. ffff59a8: e59f0598 ldr r0, [pc, #1432] ; 0xffff5f48 =0x01c68000
  5782. ffff59ac: e5900014 ldr r0, [r0, #20]
  5783. ffff59b0: e3100a01 tst r0, #4096 ; 0x1000
  5784. ffff59b4: 0a000001 beq 0xffff59c0
  5785. ffff59b8: e3a00000 mov r0, #0
  5786. ffff59bc: e12fff1e bx lr
  5787. ffff59c0: e2410001 sub r0, r1, #1
  5788. ffff59c4: e1b01000 movs r1, r0
  5789. ffff59c8: 1afffff6 bne 0xffff59a8
  5790. ffff59cc: e3a00002 mov r0, #2
  5791. ffff59d0: eafffff9 b 0xffff59bc
  5792. ;;;********************************************************************************
  5793. ffff59d4: e3a00000 mov r0, #0
  5794. ffff59d8: e59f156c ldr r1, [pc, #1388] ; 0xffff5f4c =0x01c02000 DMA_BASE
  5795. ffff59dc: e5810100 str r0, [r1, #256] ; 0x100
  5796. ffff59e0: e2400b02 sub r0, r0, #2048 ; 0x800
  5797. ffff59e4: e5810108 str r0, [r1, #264] ; 0x108
  5798. ffff59e8: e3a0000f mov r0, #15
  5799. ffff59ec: e5810010 str r0, [r1, #16]
  5800. ffff59f0: e3a00000 mov r0, #0
  5801. ffff59f4: e12fff1e bx lr
  5802. ;;;********************************************************************************
  5803. ffff59f8: e92d4070 push {r4, r5, r6, lr}
  5804. ffff59fc: e1a04000 mov r4, r0
  5805. ffff5a00: e1a05001 mov r5, r1
  5806. ffff5a04: e59dc010 ldr ip, [sp, #16]
  5807. ffff5a08: e30e1000 movw r1, #57344 ; 0xe000
  5808. ffff5a0c: e5814000 str r4, [r1]
  5809. ffff5a10: e5812004 str r2, [r1, #4]
  5810. ffff5a14: e5813008 str r3, [r1, #8]
  5811. ffff5a18: e581c00c str ip, [r1, #12]
  5812. ffff5a1c: e5815010 str r5, [r1, #16]
  5813. ffff5a20: e2410b3a sub r0, r1, #59392 ; 0xe800
  5814. ffff5a24: e5810014 str r0, [r1, #20]
  5815. ffff5a28: e3a00000 mov r0, #0
  5816. ffff5a2c: e59f6518 ldr r6, [pc, #1304] ; 0xffff5f4c =0x01c02000 DMA_BASE
  5817. ffff5a30: e5860100 str r0, [r6, #256] ; 0x100
  5818. ffff5a34: e3a0000f mov r0, #15
  5819. ffff5a38: e5860010 str r0, [r6, #16]
  5820. ffff5a3c: e1c60000 bic r0, r6, r0
  5821. ffff5a40: e5801108 str r1, [r0, #264] ; 0x108
  5822. ffff5a44: e3a00001 mov r0, #1
  5823. ffff5a48: e5860100 str r0, [r6, #256] ; 0x100
  5824. ffff5a4c: e3a00000 mov r0, #0
  5825. ffff5a50: e8bd8070 pop {r4, r5, r6, pc}
  5826. ;;;********************************************************************************
  5827. ffff5a54: e92d4ffe push {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, lr}
  5828. ffff5a58: e1a04000 mov r4, r0
  5829. ffff5a5c: e1a05001 mov r5, r1
  5830. ffff5a60: e1a07002 mov r7, r2
  5831. ffff5a64: e1a09003 mov r9, r3
  5832. ffff5a68: e301bf07 movw fp, #7943 ; 0x1f07
  5833. ffff5a6c: e3a00037 mov r0, #55 ; 0x37
  5834. ffff5a70: e58d0008 str r0, [sp, #8]
  5835. ffff5a74: e59f04d4 ldr r0, [pc, #1236] ; 0xffff5f50 =0x01c68300 SPI_RXD
  5836. ffff5a78: e58d0004 str r0, [sp, #4]
  5837. ffff5a7c: e2408c01 sub r8, r0, #256 ; 0x100
  5838. ffff5a80: e0840005 add r0, r4, r5
  5839. ffff5a84: e280ae96 add sl, r0, #2400 ; 0x960
  5840. ffff5a88: e2480c02 sub r0, r8, #512 ; 0x200
  5841. ffff5a8c: e5804034 str r4, [r0, #52] ; 0x34
  5842. ffff5a90: e0840005 add r0, r4, r5
  5843. ffff5a94: e2481c02 sub r1, r8, #512 ; 0x200
  5844. ffff5a98: e5810030 str r0, [r1, #48] ; 0x30
  5845. ffff5a9c: e1a00001 mov r0, r1
  5846. ffff5aa0: e5804038 str r4, [r0, #56] ; 0x38
  5847. ffff5aa4: e5900018 ldr r0, [r0, #24]
  5848. ffff5aa8: e3800c01 orr r0, r0, #256 ; 0x100
  5849. ffff5aac: e5810018 str r0, [r1, #24]
  5850. ffff5ab0: e1a03009 mov r3, r9
  5851. ffff5ab4: e58d5000 str r5, [sp]
  5852. ffff5ab8: e1a0100b mov r1, fp
  5853. ffff5abc: e59d0008 ldr r0, [sp, #8]
  5854. ffff5ac0: e59d2004 ldr r2, [sp, #4]
  5855. ffff5ac4: ebffffcb bl 0xffff59f8
  5856. ffff5ac8: e3a06000 mov r6, #0
  5857. ffff5acc: ea000002 b 0xffff5adc
  5858. ffff5ad0: e7d70006 ldrb r0, [r7, r6]
  5859. ffff5ad4: e5c80000 strb r0, [r8]
  5860. ffff5ad8: e2866001 add r6, r6, #1
  5861. ffff5adc: e1560004 cmp r6, r4
  5862. ffff5ae0: 3afffffa bcc 0xffff5ad0
  5863. ffff5ae4: e59f045c ldr r0, [pc, #1116] ; 0xffff5f48 =0x01c68000
  5864. ffff5ae8: e5900008 ldr r0, [r0, #8]
  5865. ffff5aec: e3800102 orr r0, r0, #-2147483648 ; 0x80000000
  5866. ffff5af0: e59f1450 ldr r1, [pc, #1104] ; 0xffff5f48 =0x01c68000
  5867. ffff5af4: e5810008 str r0, [r1, #8]
  5868. ffff5af8: e1a0000a mov r0, sl
  5869. ffff5afc: ebffff9a bl 0xffff596c
  5870. ffff5b00: e3500002 cmp r0, #2
  5871. ffff5b04: 1a000002 bne 0xffff5b14
  5872. ffff5b08: ebffffb1 bl 0xffff59d4
  5873. ffff5b0c: e3a00002 mov r0, #2
  5874. ffff5b10: e8bd8ffe pop {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
  5875. ffff5b14: e1a0000a mov r0, sl
  5876. ffff5b18: ebffffa0 bl 0xffff59a0
  5877. ffff5b1c: e3500002 cmp r0, #2
  5878. ffff5b20: 1a000002 bne 0xffff5b30
  5879. ffff5b24: ebffffaa bl 0xffff59d4
  5880. ffff5b28: e3a00002 mov r0, #2
  5881. ffff5b2c: eafffff7 b 0xffff5b10
  5882. ffff5b30: ebffffa7 bl 0xffff59d4
  5883. ffff5b34: e3010000 movw r0, #4096 ; 0x1000
  5884. ffff5b38: e59f1408 ldr r1, [pc, #1032] ; 0xffff5f48 =0x01c68000
  5885. ffff5b3c: e5810014 str r0, [r1, #20]
  5886. ffff5b40: e1c10000 bic r0, r1, r0
  5887. ffff5b44: e5900014 ldr r0, [r0, #20]
  5888. ffff5b48: e3100c0f tst r0, #3840 ; 0xf00
  5889. ffff5b4c: 0a000001 beq 0xffff5b58
  5890. ffff5b50: e3a00002 mov r0, #2
  5891. ffff5b54: eaffffed b 0xffff5be8
  5892. ffff5b84: e3a00003 mov r0, #3
  5893. ffff5b88: e5cd0000 strb r0, [sp]
  5894. ffff5b8c: e1a00825 lsr r0, r5, #16
  5895. ffff5b90: e5cd0001 strb r0, [sp, #1]
  5896. ffff5b94: e1a00425 lsr r0, r5, #8
  5897. ffff5b98: e5cd0002 strb r0, [sp, #2]
  5898. ffff5b9c: e5cd5003 strb r5, [sp, #3]
  5899. ffff5ba0: e0470004 sub r0, r7, r4
  5900. ffff5ba4: e3500b02 cmp r0, #2048 ; 0x800
  5901. ffff5ba8: 9a000001 bls 0xffff5bb4
  5902. ffff5bac: e3000800 movw r0, #2048 ; 0x800
  5903. ffff5bb0: ea000000 b 0xffff5bb8
  5904. ffff5bb4: e0470004 sub r0, r7, r4
  5905. ffff5bb8: e1a06000 mov r6, r0
  5906. ffff5bbc: e08b3004 add r3, fp, r4
  5907. ffff5bc0: e1a0200d mov r2, sp
  5908. ffff5bc4: e1a01006 mov r1, r6
  5909. ffff5bc8: e3a00004 mov r0, #4
  5910. ffff5bcc: ebffffa0 bl 0xffff5a54
  5911. ffff5bd0: e3500002 cmp r0, #2
  5912. ffff5bd4: 1a000001 bne 0xffff5be0
  5913. ffff5bd8: e3a00002 mov r0, #2
  5914. ffff5bdc: e8bd8ff8 pop {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc}
  5915. ffff5be0: e0855006 add r5, r5, r6
  5916. ffff5be4: e0844006 add r4, r4, r6
  5917. ffff5be8: e1540007 cmp r4, r7
  5918. ffff5bec: 3affffe4 bcc 0xffff5b84
  5919. ffff5bf0: e3a00000 mov r0, #0
  5920. ffff5bf4: eafffff8 b 0xffff5bdc
  5921. ;;;********************************************************************************
  5922. ffff5bf8: e92d47fc push {r2, r3, r4, r5, r6, r7, r8, r9, sl, lr}
  5923. ffff5bfc: e1a05000 mov r5, r0
  5924. ffff5c00: e1a07001 mov r7, r1
  5925. ffff5c04: e1a08002 mov r8, r2
  5926. ffff5c08: e1a0a007 mov sl, r7
  5927. ffff5c0c: e3a00000 mov r0, #0
  5928. ffff5c10: e58d0004 str r0, [sp, #4]
  5929. ffff5c14: e3a06000 mov r6, #0
  5930. ffff5c18: e3a09000 mov r9, #0
  5931. ffff5c1c: e1a04485 lsl r4, r5, #9
  5932. ffff5c20: ea000012 b 0xffff5c70
  5933. ffff5c24: e3a000e8 mov r0, #232 ; 0xe8
  5934. ffff5c28: e5cd0000 strb r0, [sp]
  5935. ffff5c2c: e1a00824 lsr r0, r4, #16
  5936. ffff5c30: e5cd0001 strb r0, [sp, #1]
  5937. ffff5c34: e1a00424 lsr r0, r4, #8
  5938. ffff5c38: e5cd0002 strb r0, [sp, #2]
  5939. ffff5c3c: e5cd4003 strb r4, [sp, #3]
  5940. ffff5c40: e08a3009 add r3, sl, r9
  5941. ffff5c44: e1a0200d mov r2, sp
  5942. ffff5c48: e3001100 movw r1, #256 ; 0x100
  5943. ffff5c4c: e3a00008 mov r0, #8
  5944. ffff5c50: ebffff7f bl 0xffff5a54
  5945. ffff5c54: e3500002 cmp r0, #2
  5946. ffff5c58: 1a000001 bne 0xffff5c64
  5947. ffff5c5c: e3a00002 mov r0, #2
  5948. ffff5c60: e8bd87fc pop {r2, r3, r4, r5, r6, r7, r8, r9, sl, pc}
  5949. ffff5c64: e2866001 add r6, r6, #1
  5950. ffff5c68: e2899c01 add r9, r9, #256 ; 0x100
  5951. ffff5c6c: e2844c02 add r4, r4, #512 ; 0x200
  5952. ffff5c70: e1560008 cmp r6, r8
  5953. ffff5c74: 3affffea bcc 0xffff5c24
  5954. ffff5c78: e3a00000 mov r0, #0
  5955. ffff5c7c: eafffff7 b 0xffff5c60
  5956. ;;;********************************************************************************
  5957. ffff5c80: e92d400c push {r2, r3, lr}
  5958. ffff5c84: e1a01000 mov r1, r0
  5959. ffff5c88: e59f22c4 ldr r2, [pc, #708] ; 0xffff5f54 =0xffff622c
  5960. ffff5c8c: e8920005 ldm r2, {r0, r2}
  5961. ffff5c90: e88d0005 stm sp, {r0, r2}
  5962. ffff5c94: e79d0101 ldr r0, [sp, r1, lsl #2]
  5963. ffff5c98: e8bd800c pop {r2, r3, pc}
  5964. ;;;********************************************************************************
  5965. ffff5c9c: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  5966. ffff5ca0: e1a04000 mov r4, r0
  5967. ffff5ca4: e1a06001 mov r6, r1
  5968. ffff5ca8: e59f72a8 ldr r7, [pc, #680] ; 0xffff5f58 =0x01c68200 SPI_TXD
  5969. ffff5cac: e2470c02 sub r0, r7, #512 ; 0x200
  5970. ffff5cb0: e5804034 str r4, [r0, #52] ; 0x34
  5971. ffff5cb4: e5804030 str r4, [r0, #48] ; 0x30
  5972. ffff5cb8: e5804038 str r4, [r0, #56] ; 0x38
  5973. ffff5cbc: e2848e96 add r8, r4, #2400 ; 0x960
  5974. ffff5cc0: e3a05000 mov r5, #0
  5975. ffff5cc4: ea000002 b 0xffff5cd4
  5976. ffff5cc8: e7d60005 ldrb r0, [r6, r5]
  5977. ffff5ccc: e5c70000 strb r0, [r7]
  5978. ffff5cd0: e2855001 add r5, r5, #1
  5979. ffff5cd4: e1550004 cmp r5, r4
  5980. ffff5cd8: 3afffffa bcc 0xffff5cc8
  5981. ffff5cdc: e59f0264 ldr r0, [pc, #612] ; 0xffff5f48 =0x01c68000
  5982. ffff5ce0: e5900008 ldr r0, [r0, #8]
  5983. ffff5ce4: e3800102 orr r0, r0, #-2147483648 ; 0x80000000
  5984. ffff5ce8: e59f1258 ldr r1, [pc, #600] ; 0xffff5f48 =0x01c68000
  5985. ffff5cec: e5810008 str r0, [r1, #8]
  5986. ffff5cf0: e1a00008 mov r0, r8
  5987. ffff5cf4: ebffff29 bl 0xffff59a0
  5988. ffff5cf8: e3500002 cmp r0, #2
  5989. ffff5cfc: 1a000001 bne 0xffff5d08
  5990. ffff5d00: e3a00002 mov r0, #2
  5991. ffff5d04: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  5992. ffff5d08: e3010000 movw r0, #4096 ; 0x1000
  5993. ffff5d0c: e59f1234 ldr r1, [pc, #564] ; 0xffff5f48 =0x01c68000
  5994. ffff5d10: e5810014 str r0, [r1, #20]
  5995. ffff5d14: e1c10000 bic r0, r1, r0
  5996. ffff5d18: e5900014 ldr r0, [r0, #20]
  5997. ffff5d1c: e3100c0f tst r0, #3840 ; 0xf00
  5998. ffff5d20: 0a000001 beq 0xffff5d2c
  5999. ffff5d24: e3a00002 mov r0, #2
  6000. ffff5d28: eafffff5 b 0xffff5d04
  6001. ffff5d2c: e3a00000 mov r0, #0
  6002. ffff5d30: eafffff3 b 0xffff5d04
  6003. ;;;********************************************************************************
  6004. ffff5d34: e92d4038 push {r3, r4, r5, lr}
  6005. ffff5d38: e3a000ff mov r0, #255 ; 0xff
  6006. ffff5d3c: e58d0000 str r0, [sp]
  6007. ffff5d40: e3a040f0 mov r4, #240 ; 0xf0
  6008. ffff5d44: e1a0100d mov r1, sp
  6009. ffff5d48: e3a00001 mov r0, #1
  6010. ffff5d4c: ebffffd2 bl 0xffff5c9c
  6011. ffff5d50: e3500002 cmp r0, #2
  6012. ffff5d54: 1a000001 bne 0xffff5d60
  6013. ffff5d58: e3a00002 mov r0, #2
  6014. ffff5d5c: e8bd8038 pop {r3, r4, r5, pc}
  6015. ffff5d60: e320f000 nop {0}
  6016. ffff5d64: e2440001 sub r0, r4, #1
  6017. ffff5d68: e1b04000 movs r4, r0
  6018. ffff5d6c: 1afffffc bne 0xffff5d64
  6019. ffff5d70: e3a00000 mov r0, #0
  6020. ffff5d74: eafffff8 b 0xffff5d5c
  6021. ;;;********************************************************************************
  6022. ffff5d78: e92d4ff0 push {r4, r5, r6, r7, r8, r9, sl, fp, lr}
  6023. ffff5d7c: e24dd024 sub sp, sp, #36 ; 0x24
  6024. ffff5d80: e1a05000 mov r5, r0
  6025. ffff5d84: e1a07001 mov r7, r1
  6026. ffff5d88: e1a08002 mov r8, r2
  6027. ffff5d8c: e1a06003 mov r6, r3
  6028. ffff5d90: e28db048 add fp, sp, #72 ; 0x48
  6029. ffff5d94: e89b0e00 ldm fp, {r9, sl, fp}
  6030. ffff5d98: e3a00000 mov r0, #0
  6031. ffff5d9c: e58d0010 str r0, [sp, #16]
  6032. ffff5da0: e58d700c str r7, [sp, #12]
  6033. ffff5da4: e58d0008 str r0, [sp, #8]
  6034. ffff5da8: e3a00032 mov r0, #50 ; 0x32
  6035. ffff5dac: e58d0004 str r0, [sp, #4]
  6036. ffff5db0: e1a04005 mov r4, r5
  6037. ffff5db4: ea000056 b 0xffff5f14
  6038. ffff5db8: e3a00013 mov r0, #19
  6039. ffff5dbc: e5cd001c strb r0, [sp, #28]
  6040. ffff5dc0: e1a00824 lsr r0, r4, #16
  6041. ffff5dc4: e5cd001d strb r0, [sp, #29]
  6042. ffff5dc8: e1a00424 lsr r0, r4, #8
  6043. ffff5dcc: e5cd001e strb r0, [sp, #30]
  6044. ffff5dd0: e5cd401f strb r4, [sp, #31]
  6045. ffff5dd4: e28d101c add r1, sp, #28
  6046. ffff5dd8: e3a00004 mov r0, #4
  6047. ffff5ddc: ebffffae bl 0xffff5c9c
  6048. ffff5de0: e3500002 cmp r0, #2
  6049. ffff5de4: 1a000002 bne 0xffff5df4
  6050. ffff5de8: e3a00002 mov r0, #2
  6051. ffff5dec: e58d0010 str r0, [sp, #16]
  6052. ffff5df0: ea00004b b 0xffff5f24
  6053. ffff5df4: e3a0000f mov r0, #15
  6054. ffff5df8: e5cd0018 strb r0, [sp, #24]
  6055. ffff5dfc: e3a000c0 mov r0, #192 ; 0xc0
  6056. ffff5e00: e5cd0019 strb r0, [sp, #25]
  6057. ffff5e04: e3a00032 mov r0, #50 ; 0x32
  6058. ffff5e08: e58d0004 str r0, [sp, #4]
  6059. ffff5e0c: e320f000 nop {0}
  6060. ffff5e10: e28d3008 add r3, sp, #8
  6061. ffff5e14: e28d2018 add r2, sp, #24
  6062. ffff5e18: e3a01001 mov r1, #1
  6063. ffff5e1c: e3a00002 mov r0, #2
  6064. ffff5e20: ebffff0b bl 0xffff5a54
  6065. ffff5e24: e3500002 cmp r0, #2
  6066. ffff5e28: 1a000002 bne 0xffff5e38
  6067. ffff5e2c: e3a00002 mov r0, #2
  6068. ffff5e30: e58d0010 str r0, [sp, #16]
  6069. ffff5e34: ea00003a b 0xffff5f24
  6070. ffff5e38: e5dd0008 ldrb r0, [sp, #8]
  6071. ffff5e3c: e2000001 and r0, r0, #1
  6072. ffff5e40: e58d0008 str r0, [sp, #8]
  6073. ffff5e44: e5dd0008 ldrb r0, [sp, #8]
  6074. ffff5e48: e3500000 cmp r0, #0
  6075. ffff5e4c: 1a000000 bne 0xffff5e54
  6076. ffff5e50: ea000003 b 0xffff5e64
  6077. ffff5e54: e59d0004 ldr r0, [sp, #4]
  6078. ffff5e58: e2500001 subs r0, r0, #1
  6079. ffff5e5c: e58d0004 str r0, [sp, #4]
  6080. ffff5e60: 1affffea bne 0xffff5e10
  6081. ffff5e64: e320f000 nop {0}
  6082. ffff5e68: e3a0000b mov r0, #11
  6083. ffff5e6c: e5cd001c strb r0, [sp, #28]
  6084. ffff5e70: e3560b02 cmp r6, #2048 ; 0x800
  6085. ffff5e74: 1a000010 bne 0xffff5ebc
  6086. ffff5e78: e35a0001 cmp sl, #1
  6087. ffff5e7c: 1a000006 bne 0xffff5e9c
  6088. ffff5e80: e730fb14 udiv r0, r4, fp
  6089. ffff5e84: e2000001 and r0, r0, #1
  6090. ffff5e88: e3500001 cmp r0, #1
  6091. ffff5e8c: 1a000002 bne 0xffff5e9c
  6092. ffff5e90: e3a00010 mov r0, #16
  6093. ffff5e94: e5cd001d strb r0, [sp, #29]
  6094. ffff5e98: ea000001 b 0xffff5ea4
  6095. ffff5e9c: e3a00000 mov r0, #0
  6096. ffff5ea0: e5cd001d strb r0, [sp, #29]
  6097. ffff5ea4: e3a00000 mov r0, #0
  6098. ffff5ea8: e5cd001e strb r0, [sp, #30]
  6099. ffff5eac: e5cd001f strb r0, [sp, #31]
  6100. ffff5eb0: e3a00004 mov r0, #4
  6101. ffff5eb4: e58d0014 str r0, [sp, #20]
  6102. ffff5eb8: ea000008 b 0xffff5ee0
  6103. ffff5ebc: e3560a01 cmp r6, #4096 ; 0x1000
  6104. ffff5ec0: 1a000006 bne 0xffff5ee0
  6105. ffff5ec4: e3a00000 mov r0, #0
  6106. ffff5ec8: e5cd001d strb r0, [sp, #29]
  6107. ffff5ecc: e5cd001e strb r0, [sp, #30]
  6108. ffff5ed0: e5cd001f strb r0, [sp, #31]
  6109. ffff5ed4: e5cd0020 strb r0, [sp, #32]
  6110. ffff5ed8: e3a00005 mov r0, #5
  6111. ffff5edc: e58d0014 str r0, [sp, #20]
  6112. ffff5ee0: e0441005 sub r1, r4, r5
  6113. ffff5ee4: e59d000c ldr r0, [sp, #12]
  6114. ffff5ee8: e0230199 mla r3, r9, r1, r0
  6115. ffff5eec: e28d201c add r2, sp, #28
  6116. ffff5ef0: e1a01009 mov r1, r9
  6117. ffff5ef4: e59d0014 ldr r0, [sp, #20]
  6118. ffff5ef8: ebfffed5 bl 0xffff5a54
  6119. ffff5efc: e3500002 cmp r0, #2
  6120. ffff5f00: 1a000002 bne 0xffff5f10
  6121. ffff5f04: e3a00002 mov r0, #2
  6122. ffff5f08: e58d0010 str r0, [sp, #16]
  6123. ffff5f0c: ea000004 b 0xffff5f24
  6124. ffff5f10: e2844001 add r4, r4, #1
  6125. ffff5f14: e0850008 add r0, r5, r8
  6126. ffff5f18: e1500004 cmp r0, r4
  6127. ffff5f1c: 8affffa5 bhi 0xffff5db8
  6128. ffff5f20: e320f000 nop {0}
  6129. ffff5f24: e59d0010 ldr r0, [sp, #16]
  6130. ffff5f28: e28dd024 add sp, sp, #36 ; 0x24
  6131. ffff5f2c: e8bd8ff0 pop {r4, r5, r6, r7, r8, r9, sl, fp, pc}
  6132. ;;;********************************************************************************
  6133. ;; Global Offset Table
  6134. ffff5f30: 77773333
  6135. ffff5f34: 01c20848 ; PC_CFG0
  6136. ffff5f38: 77777777
  6137. ffff5f3c: 01c20000 ; SCU_BASE
  6138. ffff5f40: 80000083
  6139. ffff5f44: 80208020
  6140. ffff5f48: 01c68000 ; SPI0_BASE
  6141. ffff5f4c: 01c02000 ; DMA_BASE
  6142. ffff5f50: 01c68300 ; SPI_RXD
  6143. ffff5f54: ffff622c
  6144. ffff5f58: 01c68200 ; SPI_TXD
  6145. ;;;*****************************************************************************
  6146. load_boot0_from_spinor:
  6147. ffff5f5c: e92d41f0 push {r4, r5, r6, r7, r8, lr}
  6148. ffff5f60: ebfffe44 bl 0xffff5878
  6149. ffff5f64: e3a07000 mov r7, #0
  6150. ffff5f68: ea000029 b 0xffff6014
  6151. ffff5f6c: e1a00007 mov r0, r7
  6152. ffff5f70: ebffff42 bl 0xffff5c80
  6153. ffff5f74: e1a05000 mov r5, r0
  6154. ffff5f78: e3a02001 mov r2, #1
  6155. ffff5f7c: e3a01000 mov r1, #0
  6156. ffff5f80: e1a00001 mov r0, r1
  6157. ffff5f84: e12fff35 blx r5
  6158. ffff5f88: e3500002 cmp r0, #2
  6159. ffff5f8c: 1a000000 bne 0xffff5f94
  6160. ffff5f90: ea00001e b 0xffff6010
  6161. ffff5f94: e28f108c add r1, pc, #140 ; 0x8c =0xffff5028 "eGON.BT0"
  6162. ffff5f98: e3a00000 mov r0, #0
  6163. ffff5f9c: eb000024 bl check_magic
  6164. ffff5fa0: e3500000 cmp r0, #0
  6165. ffff5fa4: 0a000000 beq 0xffff5fac
  6166. ffff5fa8: ea000018 b 0xffff6010
  6167. ffff5fac: e3a06000 mov r6, #0
  6168. ffff5fb0: e5964010 ldr r4, [r6, #16]
  6169. ffff5fb4: e1a00004 mov r0, r4
  6170. ffff5fb8: e7df049f bfc r0, #9, #23
  6171. ffff5fbc: e3500000 cmp r0, #0
  6172. ffff5fc0: 0a000000 beq 0xffff5fc8
  6173. ffff5fc4: ea000011 b 0xffff6010
  6174. ffff5fc8: e1a02424 lsr r2, r4, #8
  6175. ffff5fcc: e3a01000 mov r1, #0
  6176. ffff5fd0: e1a00001 mov r0, r1
  6177. ffff5fd4: e12fff35 blx r5
  6178. ffff5fd8: e3500002 cmp r0, #2
  6179. ffff5fdc: 1a000000 bne 0xffff5fe4
  6180. ffff5fe0: ea00000a b 0xffff6010
  6181. ffff5fe4: e1a01004 mov r1, r4
  6182. ffff5fe8: e3a00000 mov r0, #0
  6183. ffff5fec: eb000022 bl check_sum
  6184. ffff5ff0: e3500000 cmp r0, #0
  6185. ffff5ff4: 1a000004 bne 0xffff600c
  6186. ffff5ff8: e3a00003 mov r0, #3
  6187. ffff5ffc: e5c60028 strb r0, [r6, #40] ; 0x28
  6188. ffff6000: ebfffe40 bl 0xffff5908
  6189. ffff6004: e3a00000 mov r0, #0
  6190. ffff6008: e8bd81f0 pop {r4, r5, r6, r7, r8, pc}
  6191. ffff600c: e320f000 nop {0}
  6192. ffff6010: e2877001 add r7, r7, #1
  6193. ffff6014: e3570002 cmp r7, #2
  6194. ffff6018: 3affffd3 bcc 0xffff5f6c
  6195. ffff601c: ebfffe39 bl 0xffff5908
  6196. ffff6020: e3e00000 mvn r0, #0
  6197. ffff6024: eafffff7 b 0xffff6008
  6198. ;;;*****************************************************************************
  6199. ffff6028: 4e4f4765 .ascii "eGON"
  6200. ffff602c: 3054422e .ascii ".BT0"
  6201. ffff6030: 00000000
  6202. ;;;*****************************************************************************
  6203. check_magic:
  6204. ffff6034: e92d40f0 push {r4, r5, r6, r7, lr}
  6205. ffff6038: e1a02000 mov r2, r0
  6206. ffff603c: e1a0c002 mov ip, r2
  6207. ffff6040: e28c4004 add r4, ip, #4
  6208. ffff6044: e3a03000 mov r3, #0 ; counter
  6209. ffff6048: e3a05008 mov r5, #8 ; length
  6210. ffff604c: ea000006 b 0xffff606c ; while
  6211. ffff6050: e4d40001 ldrb r0, [r4], #1 ; load byte from src
  6212. ffff6054: e4d16001 ldrb r6, [r1], #1 ; load byte from reference
  6213. ffff6058: e1500006 cmp r0, r6
  6214. ffff605c: 0a000001 beq 0xffff6068 ; check if bytes are equal
  6215. ffff6060: e3a00001 mov r0, #1 ; no match
  6216. ffff6064: e8bd80f0 pop {r4, r5, r6, r7, pc}
  6217. ffff6068: e2833001 add r3, r3, #1 ; increment counter
  6218. ffff606c: e1530005 cmp r3, r5
  6219. ffff6070: 3afffff6 bcc 0xffff6050 ; end of magic?
  6220. ffff6074: e3a00000 mov r0, #0 ; yes, this is a match!
  6221. ffff6078: eafffff9 b 0xffff6064
  6222. ;;;*****************************************************************************
  6223. check_sum:
  6224. ffff607c: e92d40f0 push {r4, r5, r6, r7, lr}
  6225. ffff6080: e1a03000 mov r3, r0
  6226. ffff6084: e1a05001 mov r5, r1
  6227. ffff6088: e1a04003 mov r4, r3
  6228. ffff608c: e594600c ldr r6, [r4, #12]
  6229. ffff6090: e59f00bc ldr r0, [pc, #188] ; 0xffff6154 =0x5f0a6c39
  6230. ffff6094: e584000c str r0, [r4, #12]
  6231. ffff6098: e1a07125 lsr r7, r5, #2
  6232. ffff609c: e3a02000 mov r2, #0
  6233. ffff60a0: e1a01003 mov r1, r3
  6234. ffff60a4: e320f000 nop {0}
  6235. ffff60a8: e4910004 ldr r0, [r1], #4
  6236. ffff60ac: e0822000 add r2, r2, r0
  6237. ffff60b0: e4910004 ldr r0, [r1], #4
  6238. ffff60b4: e0822000 add r2, r2, r0
  6239. ffff60b8: e4910004 ldr r0, [r1], #4
  6240. ffff60bc: e0822000 add r2, r2, r0
  6241. ffff60c0: e4910004 ldr r0, [r1], #4
  6242. ffff60c4: e0822000 add r2, r2, r0
  6243. ffff60c8: e2470004 sub r0, r7, #4
  6244. ffff60cc: e1a07000 mov r7, r0
  6245. ffff60d0: e3500003 cmp r0, #3
  6246. ffff60d4: 8afffff3 bhi 0xffff60a8
  6247. ffff60d8: ea000001 b 0xffff60e4
  6248. ffff60dc: e4910004 ldr r0, [r1], #4
  6249. ffff60e0: e0822000 add r2, r2, r0
  6250. ffff60e4: e1b00007 movs r0, r7
  6251. ffff60e8: e2477001 sub r7, r7, #1
  6252. ffff60ec: 1afffffa bne 0xffff60dc
  6253. ffff60f0: e584600c str r6, [r4, #12]
  6254. ffff60f4: e1520006 cmp r2, r6
  6255. ffff60f8: 1a000001 bne 0xffff6104
  6256. ffff60fc: e3a00000 mov r0, #0
  6257. ffff6100: e8bd80f0 pop {r4, r5, r6, r7, pc}
  6258. ffff6104: e3a00001 mov r0, #1
  6259. ffff6108: eafffffc b 0xffff6100
  6260. ffff610c: e92d4070 push {r4, r5, r6, lr}
  6261. ffff6110: e1a05000 mov r5, r0
  6262. ffff6114: e1a06001 mov r6, r1
  6263. ffff6118: e1a04002 mov r4, r2
  6264. ffff611c: e1a01004 mov r1, r4
  6265. ffff6120: e1a00005 mov r0, r5
  6266. ffff6124: ebffffc2 bl check_magic
  6267. ffff6128: e3500000 cmp r0, #0
  6268. ffff612c: 1a000006 bne 0xffff614c
  6269. ffff6130: e1a01006 mov r1, r6
  6270. ffff6134: e1a00005 mov r0, r5
  6271. ffff6138: ebffffcf bl check_sum
  6272. ffff613c: e3500000 cmp r0, #0
  6273. ffff6140: 1a000001 bne 0xffff614c
  6274. ffff6144: e3a00000 mov r0, #0
  6275. ffff6148: e8bd8070 pop {r4, r5, r6, pc}
  6276. ffff614c: e3a00001 mov r0, #1
  6277. ffff6150: eafffffc b 0xffff6148
  6278. ;; Global Offset Table
  6279. ffff6154: 5f0a6c39
  6280. ffff6158: e1a01000 mov r1, r0
  6281. ffff615c: e1a00001 mov r0, r1
  6282. ffff6160: ea000000 b 0xffff6168
  6283. ffff6164: e2400001 sub r0, r0, #1
  6284. ffff6168: e3500000 cmp r0, #0
  6285. ffff616c: cafffffc bgt 0xffff6164
  6286. ffff6170: e12fff1e bx lr
  6287. ;;; ;*****************************************************************************
  6288. check_uboot:
  6289. ffff6174: e92d4070 push {r4, r5, r6, lr}
  6290. ffff6178: e3a05000 mov r5, #0
  6291. ffff617c: e3a0603c mov r6, #60 ; 0x3c
  6292. ffff6180: e3a04004 mov r4, #4
  6293. ffff6184: ea000006 b 0xffff61a4
  6294. ffff6188: e1a00006 mov r0, r6
  6295. ffff618c: ebfffff1 bl 0xffff6158
  6296. ffff6190: e3a00507 mov r0, #29360128 ; 0x1c00000
  6297. ffff6194: e5900024 ldr r0, [r0, #36] ; 0x24 VER_REG
  6298. ffff6198: e7e00450 ubfx r0, r0, #8, #1 ; UBOOT_SEL_PAD_STA
  6299. ffff619c: e0855000 add r5, r5, r0
  6300. ffff61a0: e2444001 sub r4, r4, #1
  6301. ffff61a4: e3540000 cmp r4, #0
  6302. ffff61a8: cafffff6 bgt 0xffff6188
  6303. ffff61ac: e3550000 cmp r5, #0
  6304. ffff61b0: 1a000001 bne 0xffff61bc
  6305. ffff61b4: e3e00000 mvn r0, #0
  6306. ffff61b8: e8bd8070 pop {r4, r5, r6, pc}
  6307. ffff61bc: e3a00000 mov r0, #0
  6308. ffff61c0: eafffffc b 0xffff61b8
  6309. ffff61c4: 00004770 andeq r4, r0, r0, ror r7
  6310. ;;;*****************************************************************************
  6311. jump_to:
  6312. ffff61c8: e1a0f000 mov pc, r0
  6313. ;;;*****************************************************************************
  6314. ffff61cc: 00000800
  6315. ffff61d0: 00000400
  6316. ffff61d4: 00000000
  6317. ffff61d8: 00000040
  6318. ffff61dc: 00001000
  6319. ffff61e0: 00000400
  6320. ffff61e4: 00000000
  6321. ffff61e8: 00000040
  6322. ffff61ec: 00000800
  6323. ffff61f0: 00000400
  6324. ffff61f4: 00000000
  6325. ffff61f8: 00000040
  6326. ffff61fc: 00001000
  6327. ffff6200: 00000400
  6328. ffff6204: 00000000
  6329. ffff6208: 00000040
  6330. ffff620c: 00000800
  6331. ffff6210: 00000400
  6332. ffff6214: 00000001
  6333. ffff6218: 00000040
  6334. ffff621c: 00000800
  6335. ffff6220: 00000400
  6336. ffff6224: 00000001
  6337. ffff6228: 00000080
  6338. ffff622c: ffff5b60
  6339. ffff6230: ffff5bf8
  6340. ...