<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dimo</id>
	<title>The iPhone Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dimo"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/Dimo"/>
	<updated>2026-05-21T12:52:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=ECID&amp;diff=6329</id>
		<title>ECID</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=ECID&amp;diff=6329"/>
		<updated>2010-05-09T05:56:16Z</updated>

		<summary type="html">&lt;p&gt;Dimo: /* WIndows Instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''E'''xclusive '''C'''hip '''ID''' or '''ECID''', is an identifier unique to every unit.&lt;br /&gt;
&lt;br /&gt;
ECID looks like this: &amp;lt;tt&amp;gt;00000XXXXXXXXXXX&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The Img3 Tag ==&lt;br /&gt;
With the [[iPhone 3GS]], the ECID tag with your ECID is put in the signature checked section of every firmware file, and sent to Apple's servers for re-signing to get a valid [[SHSH]].&lt;br /&gt;
&lt;br /&gt;
The implication of this is Apple has been disallowing downgrades (even via [[DFU]]) on newer devices when a new firmware version is released.&lt;br /&gt;
&lt;br /&gt;
== Get your ECID ==&lt;br /&gt;
===Mac Instructions===&lt;br /&gt;
*Put your device in [[Recovery Mode|Recovery]] or [[DFU]] mode.&lt;br /&gt;
*Open System Profiler. (in /Applications/Utilities/)&lt;br /&gt;
*In the sidebar, go to &amp;quot;USB&amp;quot; (in the &amp;quot;Hardware&amp;quot; section)&lt;br /&gt;
*Under &amp;quot;Serial Number&amp;quot;, there should be a part called &amp;quot;ECID&amp;quot;. There you go.&lt;br /&gt;
&lt;br /&gt;
===WIndows Instructions===&lt;br /&gt;
* Use [http://difrnt.com/blog/?p=25 ECID Grabber] Tool or [http://www.dimosoft.com/webboard/?document_srl=4171 iPhone Information Reader Extendded Ver 1.0E] Tool (Korean Only) &lt;br /&gt;
* Read USB device info when Apple Device in connected in Recovery Mode or DFU mode&lt;br /&gt;
** Recovery Mode: &amp;lt;pre&amp;gt;iProduct: &amp;quot;Apple Mobile Device (Recovery Mode)&amp;quot;&amp;lt;/pre&amp;gt; &amp;lt;pre&amp;gt;iSerialNumber: &amp;quot;CPID:XXXX CPRV:15 CPFM:03 SCEP:03 BDID:00 ECID:XXXXXXXXXXXXXXXX IBFL:01 SRNM:[XXXXXXXXXXX] IMEI:[XXXXXXXXXXXXXXX]&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** DFU: &amp;lt;pre&amp;gt;iProduct: &amp;quot;Apple Mobile Device (DFU Mode)&amp;quot;&amp;lt;/pre&amp;gt; &amp;lt;pre&amp;gt;iSerialNumber: &amp;quot;CPID:XXXX CPRV:15 CPFM:03 SCEP:03 BDID:00 ECID:XXXXXXXXXXXXXXXX SRTG:[iBoot-XXX.X.X]&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ECID Caching ==&lt;br /&gt;
Saurik has developed his own server that has been designed to 'cache' every signature that Apple has given you. Rather than being 'live' and talking directly to Apple's servers, it retrieves on file results.&lt;br /&gt;
&lt;br /&gt;
To use this server, open up your hosts file and add the following line&lt;br /&gt;
&amp;lt;pre&amp;gt;74.208.10.249 gs.apple.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, when iTunes thinks it is talking to Apple, it is talking to Cydia instead. Doing this will allow iTunes to access signatures already stored by Cydia's &amp;quot;on file&amp;quot; feature.&lt;br /&gt;
This server will also act as a cache for any SHSH blobs it hasn't seen, acting as an intermediary to Apple's server. This effectively registers your device with the &amp;quot;on file&amp;quot; mechanism, which means you can now enjoy the protections of being able to downgrade your firmware in the future even if you aren't jailbroken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.saurik.com/id/12 Caching Apple's Signature Server]&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=ECID&amp;diff=6073</id>
		<title>ECID</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=ECID&amp;diff=6073"/>
		<updated>2010-04-14T02:34:39Z</updated>

		<summary type="html">&lt;p&gt;Dimo: /* Get your ECID */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''E'''xclusive '''C'''hip '''ID''' or '''ECID''', is an identifier unique to every unit.&lt;br /&gt;
&lt;br /&gt;
ECID looks like this: &amp;lt;tt&amp;gt;00000XXXXXXXXXXX&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The Img3 Tag ==&lt;br /&gt;
With the [[iPhone 3GS]], the ECID tag with your ECID is put in the signature checked section of every firmware file, and sent to Apple's servers for re-signing to get a valid [[SHSH]].&lt;br /&gt;
&lt;br /&gt;
The implication of this is Apple has been disallowing downgrades (even via [[DFU]]) on newer devices when a new firmware version is released.&lt;br /&gt;
&lt;br /&gt;
== Get your ECID ==&lt;br /&gt;
* Windows: use [[http://difrnt.com/blog/?p=25 ECID Grabber]] Tool or [[http://www.dimosoft.com/webboard/?document_srl=594 iPhone Information Reader Extendded Ver 1.0E]] Tool ( Korean Language Only ) &lt;br /&gt;
* Read USB-Device infos when Apple Device in connected in Recovery Mode or [[DFU]]&lt;br /&gt;
** Recovery Mode: &amp;lt;pre&amp;gt;iProduct: &amp;quot;Apple Mobile Device (Recovery Mode)&amp;quot;&amp;lt;/pre&amp;gt; &amp;lt;pre&amp;gt;iSerialNumber: &amp;quot;CPID:8920 CPRV:15 CPFM:03 SCEP:03 BDID:00 ECID:XXXXXXXXXXXXXXXX IBFL:01 SRNM:[XXXXXXXXXXX] IMEI:[XXXXXXXXXXXXXXX]&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
** DFU: &amp;lt;pre&amp;gt;iProduct: &amp;quot;Apple Mobile Device (DFU Mode)&amp;quot;&amp;lt;/pre&amp;gt; &amp;lt;pre&amp;gt;iSerialNumber: &amp;quot;CPID:8920 CPRV:15 CPFM:03 SCEP:03 BDID:00 ECID:XXXXXXXXXXXXXXXX SRTG:[iBoot-XXX.X.X]&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ECID Caching ==&lt;br /&gt;
Saurik has developed his own server that has been designed to 'cache' every signature that Apple has given you. Rather than being 'live' and talking directly to Apple's servers, it retrieves on file results.&lt;br /&gt;
&lt;br /&gt;
To use this server, open up your hosts file and add the following line&lt;br /&gt;
&amp;lt;pre&amp;gt;74.208.105.171 gs.apple.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, when iTunes thinks it is talking to Apple, it is talking to Cydia instead. Doing this will allow iTunes to access signatures already stored by Cydia's &amp;quot;on file&amp;quot; feature.&lt;br /&gt;
This server will also act as a cache for any SHSH blobs it hasn't seen, acting as an intermediary to Apple's server. This effectively registers your device with the &amp;quot;on file&amp;quot; mechanism, which means you can now enjoy the protections of being able to downgrade your firmware in the future even if you aren't jailbroken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.saurik.com/id/12 Caching Apple's Signature Server]&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Recovery_Mode_(Protocols)&amp;diff=6065</id>
		<title>Recovery Mode (Protocols)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Recovery_Mode_(Protocols)&amp;diff=6065"/>
		<updated>2010-04-13T03:20:11Z</updated>

		<summary type="html">&lt;p&gt;Dimo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Recovery Mode 1.x (DevID=0x1280)==&lt;br /&gt;
This is the old [[Recovery Mode]] protocol.&lt;br /&gt;
&lt;br /&gt;
===Implementions===&lt;br /&gt;
*[http://lpahome.com/geohot/iphonere.rar kernel driver]&lt;br /&gt;
*[http://www.iphonelinux.org/index.php/IBooter iBooter]&lt;br /&gt;
&lt;br /&gt;
==Recovery Mode 2.x (DevID=0x1281)==&lt;br /&gt;
This is the new [[Recovery Mode]] protocol used in 2.0 iBoots.&lt;br /&gt;
&lt;br /&gt;
==Recovery Mode 2.x (DevID=0x1282)==&lt;br /&gt;
This is the new [[Recovery Mode]] protocol used in unknown iBoots.&lt;br /&gt;
&lt;br /&gt;
==Recovery Mode 2.x (DevID=0x1283)==&lt;br /&gt;
This is the new [[Recovery Mode]] protocol used in unknown iBoots.&lt;br /&gt;
&lt;br /&gt;
===Commands===&lt;br /&gt;
 usb_control_msg(idev, 0xA1, 3, 0, 0, buf, 6, 1000); //get status&lt;br /&gt;
 usb_control_msg(idev, 0x40, 0, 0, 0, buf, strlen(buf), 1000); //send command&lt;br /&gt;
 usb_control_msg(idev, 0x21, 1, x, 0, fbuf, s, 1000); //send file&lt;br /&gt;
&lt;br /&gt;
After sending a file, request the status several times. Also increment x as you send.&lt;br /&gt;
&lt;br /&gt;
It also has another interface which appears like a USB to serial converter.&lt;br /&gt;
&lt;br /&gt;
===Implementations===&lt;br /&gt;
* [http://chronicdev.googlecode.com/svn/trunk/iRecovery/ iRecovery]&lt;br /&gt;
&lt;br /&gt;
[[Category:Protocols (S5L)]]&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Normal_Mode&amp;diff=6064</id>
		<title>Normal Mode</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Normal_Mode&amp;diff=6064"/>
		<updated>2010-04-13T03:18:54Z</updated>

		<summary type="html">&lt;p&gt;Dimo: /* Device IDs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the protocol [[iTunes]] uses to talk to the booted iPhone. It uses usbmux to provide TCP like connectivity over a USB port using SSL. There is a pairing process iTunes uses to establish the secure channel. File transfer is provided by [[AFC]].&lt;br /&gt;
&lt;br /&gt;
==Device IDs==&lt;br /&gt;
It appears that it uses different device IDs:&lt;br /&gt;
* [[iPhone]] - 0x1290&lt;br /&gt;
* [[iPod touch]] - 0x1291&lt;br /&gt;
* [[iPhone 3G]] - 0x1292&lt;br /&gt;
* [[iPod touch 2G]] - 0x1293&lt;br /&gt;
* [[iPhone 3GS]] - 0x1294&lt;br /&gt;
* [[iPod touch 3G]] - 0x1299&lt;br /&gt;
* [[iPad]] - 0x129a ( From Device Driver INF File at iTunes 9.1)&lt;br /&gt;
&lt;br /&gt;
==Patch: Disable SSL==&lt;br /&gt;
There is a way to disable SSL encyption during iTunes communication on jailbroken devices by patching lockdownd binary:&lt;br /&gt;
&lt;br /&gt;
:(#) Disable SSL protection&lt;br /&gt;
:(#) FW 2.1&lt;br /&gt;
:(#) binary /usr/libexec/lockdownd&lt;br /&gt;
:-0x1000&lt;br /&gt;
'''Offset''' 000112F8: 0C 30 98 E5 &amp;gt; 00 30 A0 E3 ; Conn.UseSSL = false&lt;br /&gt;
&lt;br /&gt;
After applying the patch all packets between iPhone and iTunes become plain and clear. Musthave for R&amp;amp;D ppl.&lt;br /&gt;
==USBMux Protocol==&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
* [[MobileDevice Library]]&lt;br /&gt;
* [http://wikee.iphwn.org/usb:usbmux The dev team's page on the topic]&lt;br /&gt;
* [http://libimobiledevice.org/docs/html/files.html Protocol Documentation]&lt;br /&gt;
* [http://libimobiledevice.org/ iFuse]&lt;br /&gt;
&lt;br /&gt;
[[Category:Protocols (S5L)]]&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Kernelcache_loader_(iBoot_command)&amp;diff=5903</id>
		<title>Kernelcache loader (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Kernelcache_loader_(iBoot_command)&amp;diff=5903"/>
		<updated>2010-03-11T10:45:22Z</updated>

		<summary type="html">&lt;p&gt;Dimo: New page: == iPhone 3GS 8920x from iBoot-636.66 ==  ==Disassembly for kernalcache Loader== &amp;lt;pre&amp;gt; N88AP_iBoot:4FF15E04     ; =============== S U B R O U T I N E ======================================...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
==Disassembly for kernalcache Loader==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF15E04     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF15E04&lt;br /&gt;
N88AP_iBoot:4FF15E04     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF15E04&lt;br /&gt;
N88AP_iBoot:4FF15E04     ; int __fastcall LoadImage_kernelcache_img3(int memoery_pos, int memory_size)&lt;br /&gt;
N88AP_iBoot:4FF15E04     LoadImage_kernelcache_img3              ; CODE XREF: sub_4FF0067C+C8�p&lt;br /&gt;
N88AP_iBoot:4FF15E04                                             ; n88ap__iBoot__bootx_function+4E�p&lt;br /&gt;
N88AP_iBoot:4FF15E04&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_C4          = -0xC4&lt;br /&gt;
N88AP_iBoot:4FF15E04     param_R1        = -0xC0&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_BC          = -0xBC&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_B8          = -0xB8&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_B4          = -0xB4&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_B0          = -0xB0&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_AC          = -0xAC&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_A8          = -0xA8&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_A4          = -0xA4&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_A0          = -0xA0&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_9C          = -0x9C&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_98          = -0x98&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_94          = -0x94&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_90          = -0x90&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_8C          = -0x8C&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_88          = -0x88&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_84          = -0x84&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_7E          = -0x7E&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_78          = -0x78&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_74          = -0x74&lt;br /&gt;
N88AP_iBoot:4FF15E04     param_R2        = -0x70&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_6C          = -0x6C&lt;br /&gt;
N88AP_iBoot:4FF15E04     param_R3        = -0x68&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_64          = -0x64&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_60          = -0x60&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_5C          = -0x5C&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_58          = -0x58&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_54          = -0x54&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_34          = -0x34&lt;br /&gt;
N88AP_iBoot:4FF15E04     var_24          = -0x24&lt;br /&gt;
N88AP_iBoot:4FF15E04     oldR4           = -0x14&lt;br /&gt;
N88AP_iBoot:4FF15E04     oldR5           = -0x10&lt;br /&gt;
N88AP_iBoot:4FF15E04     oldR6           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF15E04     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF15E04     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF15E04&lt;br /&gt;
N88AP_iBoot:4FF15E04 000                 PUSH    {R4-R7,LR}      ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF15E06 014                 ADD     R7, SP, #0xC    ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15E08 014                 PUSH.W  {R8,R10,R11}    ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF15E0C 020                 SUB     SP, SP, #0xA4   ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15E0E 0C4                 LDR.W   R5, =dword_4FF2A308 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15E12 0C4                 MOV     R8, R2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15E14 0C4                 MOVS    R2, #0          ; Type&lt;br /&gt;
N88AP_iBoot:4FF15E16 0C4                 LDR     R3, [R5]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15E18 0C4                 STR     R3, [SP,#0xC4+var_24] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15E1A 0C4                 BL      n88ap__iBoot__MEMZ_STRUCT_INIT ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15E1E 0C4                 CBNZ    R0, loc_4FF15E30 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF15E20 0C4                 LDR.W   R0, =aKernelcacheImageCorrupt ; &amp;quot;Kernelcache image corrupt\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15E24 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15E28 0C4                 MOV.W   R0, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15E2C 0C4                 B.W     loc_4FF16BA8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15E30     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15E30&lt;br /&gt;
N88AP_iBoot:4FF15E30     loc_4FF15E30                            ; CODE XREF: LoadImage_kernelcache_img3+1A�j&lt;br /&gt;
N88AP_iBoot:4FF15E30 0C4                 LDR     R3, [R0,#4]     ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF15E32 0C4                 CMP.W   R3, #0xF00000   ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15E36 0C4                 BLS     loc_4FF15E48    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15E38 0C4                 LDR.W   R0, =aKernelcacheTooLarge ; &amp;quot;Kernelcache too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15E3C 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15E40 0C4                 MOV     R0, 0xFFFFFFFE  ; mem_info&lt;br /&gt;
N88AP_iBoot:4FF15E44 0C4                 B.W     loc_4FF16BA8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15E48     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15E48&lt;br /&gt;
N88AP_iBoot:4FF15E48     loc_4FF15E48                            ; CODE XREF: LoadImage_kernelcache_img3+32�j&lt;br /&gt;
N88AP_iBoot:4FF15E48 0C4                 MOV.W   R3, #0x43000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15E4C 0C4                 LDR.W   R1, ='krnl'     ; TAG_TYPE&lt;br /&gt;
N88AP_iBoot:4FF15E50 0C4                 STR     R3, [SP,#0xC4+var_58] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15E52 0C4                 ADD     R2, SP, #0xC4+var_58 ; unknown1&lt;br /&gt;
N88AP_iBoot:4FF15E54 0C4                 MOV.W   R3, #0xF00000   ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15E58 0C4                 STR     R3, [SP,#0xC4+var_5C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15E5A 0C4                 ADD     R3, SP, #0xC4+var_5C ; unknown2&lt;br /&gt;
N88AP_iBoot:4FF15E5C 0C4                 BL      n88ap__iBoot__image_load ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15E60 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15E62 0C4                 BGE     loc_4FF15E74    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15E64 0C4                 LDR.W   R0, =aKernelcacheImageNotValid ; &amp;quot;Kernelcache image not valid\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15E68 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15E6C 0C4                 MOV     R0, 0xFFFFFFFD&lt;br /&gt;
N88AP_iBoot:4FF15E70 0C4                 B.W     loc_4FF16BA8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15E74     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15E74&lt;br /&gt;
N88AP_iBoot:4FF15E74     loc_4FF15E74                            ; CODE XREF: LoadImage_kernelcache_img3+5E�j&lt;br /&gt;
N88AP_iBoot:4FF15E74 0C4                 LDR     R0, [SP,#0xC4+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15E76 0C4                 LDR     R0, [R0]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15E78 0C4                 BL      sub_4FF1F408    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15E7C 0C4                 LDR.W   R3, ='comp'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15E80 0C4                 CMP     R0, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15E82 0C4                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15E84 0C4                 IT NE                   ; If Then&lt;br /&gt;
N88AP_iBoot:4FF15E86 0C4                 MOVNE   R0, 0xFFFFFFFC&lt;br /&gt;
N88AP_iBoot:4FF15E8A 0C4                 BNE.W   loc_4FF16BA8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15E8E 0C4                 B.W     loc_4FF16B48    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15E92     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15E92&lt;br /&gt;
N88AP_iBoot:4FF15E92     loc_4FF15E92                            ; CODE XREF: LoadImage_kernelcache_img3+D56�j&lt;br /&gt;
N88AP_iBoot:4FF15E92 0C4                 LDR     R0, [R6,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15E94 0C4                 BL      sub_4FF1F408    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15E98 0C4                 LDR.W   R3, ='lzss'     ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF15E9C 0C4                 CMP     R0, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15E9E 0C4                 IT NE                   ; If Then&lt;br /&gt;
N88AP_iBoot:4FF15EA0 0C4                 LDRNE.W R0, =aUnknownKernelcacheCompressionType ; &amp;quot;unknown kernelcache compression type\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15EA4 0C4                 BNE     loc_4FF15F30    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15EA6 0C4                 ADD.W   R11, R6, #0x180 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15EAA 0C4                 MOV     R1, R6          ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF15EAC 0C4                 LDR.W   R0, =aLoadingKernelCacheAtX___ ; &amp;quot;Loading kernel cache at %#x...&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15EB0 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15EB4 0C4                 MOV     R1, R11         ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF15EB6 0C4                 LDR.W   R0, =aDataStartsAtP ; &amp;quot;data starts at %p\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15EBA 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15EBE 0C4                 LDR     R0, [R6,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15EC0 0C4                 BL      sub_4FF1F408    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15EC4 0C4                 RSB.W   R3, R6, #3      ; Rd = Op2 - Op1&lt;br /&gt;
N88AP_iBoot:4FF15EC8 0C4                 ADD     R3, R11         ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15ECA 0C4                 ADDS    R3, R3, R0      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15ECC 0C4                 STR     R0, [SP,#0xC4+var_BC] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15ECE 0C4                 BIC.W   R3, R3, #3      ; Rd = Op1 &amp;amp; ~Op2&lt;br /&gt;
N88AP_iBoot:4FF15ED2 0C4                 STR     R3, [SP,#0xC4+param_R1] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15ED4 0C4                 LDR     R0, [R6,#0xC]   ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15ED6 0C4                 BL      sub_4FF1F408    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15EDA 0C4                 LDR     R2, [SP,#0xC4+param_R1] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15EDC 0C4                 ADD.W   R1, R2, R0      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15EE0 0C4                 CMP.W   R1, #0xF00000   ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15EE4 0C4                 MOV     R10, R0         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15EE6 0C4                 ITT HI                  ; If Then&lt;br /&gt;
N88AP_iBoot:4FF15EE8 0C4                 MOVHI.W R2, #0xF00000   ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15EEC 0C4                 LDRHI.W R0, =aUncompressedSizeTooLargeUMaxD ; &amp;quot;uncompressed size too large %u, max %d\n&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF15EF0 0C4                 BHI     loc_4FF15F12    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15EF2 0C4                 LDR     R3, [SP,#0xC4+param_R1] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15EF4 0C4                 MOV     R2, R11         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15EF6 0C4                 ADD.W   R4, R3, R6      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15EFA 0C4                 RSB.W   R1, R3, #0xF00000 ; Rd = Op2 - Op1&lt;br /&gt;
N88AP_iBoot:4FF15EFE 0C4                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15F00 0C4                 LDR     R3, [SP,#0xC4+var_BC] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15F02 0C4                 BL      sub_4FF1D5DC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15F06 0C4                 CMP     R10, R0         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15F08 0C4                 MOV     R1, R0          ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF15F0A 0C4                 BEQ     loc_4FF15F18    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15F0C 0C4                 LDR.W   R0, =aSizeMismatchFromLzssDShouldBeD ; &amp;quot;size mismatch from lzss %d, should be %&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF15F10 0C4                 MOV     R2, R10         ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF15F12&lt;br /&gt;
N88AP_iBoot:4FF15F12     loc_4FF15F12                            ; CODE XREF: LoadImage_kernelcache_img3+EC�j&lt;br /&gt;
N88AP_iBoot:4FF15F12 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15F16 0C4                 B       loc_4FF15F42    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15F18     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15F18&lt;br /&gt;
N88AP_iBoot:4FF15F18     loc_4FF15F18                            ; CODE XREF: LoadImage_kernelcache_img3+106�j&lt;br /&gt;
N88AP_iBoot:4FF15F18 0C4                 LDR     R0, [R6,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15F1A 0C4                 BL      sub_4FF1F408    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15F1E 0C4                 MOV     R1, R10         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15F20 0C4                 MOV     R11, R0         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15F22 0C4                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15F24 0C4                 BL      sub_4FF1CB3C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15F28 0C4                 CMP     R11, R0         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15F2A 0C4                 BEQ     loc_4FF15F36    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15F2C 0C4                 LDR.W   R0, =aAdlerMismatch ; &amp;quot;adler mismatch\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15F30&lt;br /&gt;
N88AP_iBoot:4FF15F30     loc_4FF15F30                            ; CODE XREF: LoadImage_kernelcache_img3+A0�j&lt;br /&gt;
N88AP_iBoot:4FF15F30                                             ; LoadImage_kernelcache_img3+D52�j&lt;br /&gt;
N88AP_iBoot:4FF15F30 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15F34 0C4                 B       loc_4FF15F42    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15F36     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15F36&lt;br /&gt;
N88AP_iBoot:4FF15F36     loc_4FF15F36                            ; CODE XREF: LoadImage_kernelcache_img3+126�j&lt;br /&gt;
N88AP_iBoot:4FF15F36 0C4                 LDR.W   R0, =aDone      ; &amp;quot;done\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15F3A 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15F3E 0C4                 STR     R4, [SP,#0xC4+var_58] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15F40 0C4                 CBNZ    R4, loc_4FF15F4A ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF15F42&lt;br /&gt;
N88AP_iBoot:4FF15F42     loc_4FF15F42                            ; CODE XREF: LoadImage_kernelcache_img3+112�j&lt;br /&gt;
N88AP_iBoot:4FF15F42                                             ; LoadImage_kernelcache_img3+130�j&lt;br /&gt;
N88AP_iBoot:4FF15F42 0C4                 MOV     R0, 0xFFFFFFFB&lt;br /&gt;
N88AP_iBoot:4FF15F46 0C4                 B.W     loc_4FF16BA8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15F4A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15F4A&lt;br /&gt;
N88AP_iBoot:4FF15F4A     loc_4FF15F4A                            ; CODE XREF: LoadImage_kernelcache_img3+13C�j&lt;br /&gt;
N88AP_iBoot:4FF15F4A 0C4                 LDR     R1, [SP,#0xC4+param_R1] ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF15F4C 0C4                 LDR.W   R3, =0xFEEDFACE ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF15F50 0C4                 LDR     R0, [R1,R6]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15F52 0C4                 CMP     R0, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15F54 0C4                 IT NE                   ; If Then&lt;br /&gt;
N88AP_iBoot:4FF15F56 0C4                 MOVNE   R0, 0xFFFFFFFA&lt;br /&gt;
N88AP_iBoot:4FF15F5A 0C4                 BNE.W   loc_4FF16BA8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15F5E 0C4                 B.W     loc_4FF16B5E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15F62     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15F62&lt;br /&gt;
N88AP_iBoot:4FF15F62     loc_4FF15F62                            ; CODE XREF: LoadImage_kernelcache_img3+D9A�j&lt;br /&gt;
N88AP_iBoot:4FF15F62 0C4                 LDR.W   R0, =aLoad_macho_imageFailedToLoadDeviceTree ; &amp;quot;load_macho_image: failed to load device&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF15F66 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15F6A 0C4                 B.W     loc_4FF16B34    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15F6E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15F6E&lt;br /&gt;
N88AP_iBoot:4FF15F6E     loc_4FF15F6E                            ; CODE XREF: LoadImage_kernelcache_img3+D96�j&lt;br /&gt;
N88AP_iBoot:4FF15F6E 0C4                 LDR.W   R2, =dword_4FF2CD04 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15F72 0C4                 ADD.W   R10, R6, #0x1C  ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15F76 0C4                 LDR     R0, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15F78 0C4                 BL      sub_4FF138BC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15F7C 0C4                 LDR.W   R3, =dword_4FF2CD10 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15F80 0C4                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15F82 0C4                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15F84 0C4                 STR     R6, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15F86 0C4                 LDR     R6, [R6,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15F88 0C4                 STR     R1, [SP,#0xC4+var_B8] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15F8A 0C4                 STR     R6, [SP,#0xC4+var_B0] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15F8C 0C4                 B       loc_4FF160AC    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15F8E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15F8E&lt;br /&gt;
N88AP_iBoot:4FF15F8E     loc_4FF15F8E                            ; CODE XREF: LoadImage_kernelcache_img3+2AE�j&lt;br /&gt;
N88AP_iBoot:4FF15F8E 0C4                 LDR.W   R2, [R10,#4]    ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15F92 0C4                 STR     R2, [SP,#0xC4+var_B4] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15F94 0C4                 LDR.W   R3, [R10]       ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15F98 0C4                 CMP     R3, #2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15F9A 0C4                 STR     R3, [SP,#0xC4+var_C4] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15F9C 0C4                 BEQ.W   loc_4FF16BA2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15FA0 0C4                 CMP     R3, #5          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15FA2 0C4                 BEQ     loc_4FF1607C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15FA4 0C4                 CMP     R3, #1          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15FA6 0C4                 BNE     loc_4FF1609C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15FA8 0C4                 LDR.W   R2, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FAC 0C4                 LDR.W   R3, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FB0 0C4                 LDR.W   R1, [R10,#0x18] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FB4 0C4                 LDR     R2, [R2,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FB6 0C4                 LDR     R3, [R3,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FB8 0C4                 STR     R1, [SP,#0xC4+var_A4] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15FBA 0C4                 LDR.W   R11, [R10,#0x1C] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FBE 0C4                 STR     R2, [SP,#0xC4+var_AC] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15FC0 0C4                 LDR.W   R2, =dword_4FF2CD10 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FC4 0C4                 STR     R3, [SP,#0xC4+var_A8] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15FC6 0C4                 LDR.W   R1, [R10,#0x20] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FCA 0C4                 LDR     R2, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FCC 0C4                 ADD.W   R4, R10, #8     ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15FD0 0C4                 STR     R1, [SP,#0xC4+var_98] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15FD2 0C4                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15FD4 0C4                 LDR.W   R1, =a__pagezero ; &amp;quot;__PAGEZERO&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15FD8 0C4                 STR     R2, [SP,#0xC4+var_9C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15FDA 0C4                 LDR.W   R6, [R10,#0x24] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FDE 0C4                 BL      sub_4FF1ECA0    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15FE2 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15FE4 0C4                 BEQ.W   loc_4FF16BA2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15FE8 0C4                 LDR     R3, [SP,#0xC4+var_A8] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FEA 0C4                 LDR     R1, [SP,#0xC4+var_A4] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FEC 0C4                 LDR     R2, [SP,#0xC4+var_AC] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15FEE 0C4                 ADD.W   R0, R3, R1      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15FF2 0C4                 SUBS    R0, R0, R2      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15FF4 0C4                 MOVS    R1, #0x20 ; ' ' ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF15FF6 0C4                 STR     R0, [SP,#0xC4+var_A0] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15FF8 0C4                 LDR.W   R2, =aKernelS   ; &amp;quot;Kernel-%s&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15FFC 0C4                 ADD     R0, SP, #0xC4+var_54 ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF15FFE 0C4                 MOV     R3, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16000 0C4                 BL      sub_4FF1EC48    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16004 0C4                 ADD     R0, SP, #0xC4+var_54 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16006 0C4                 LDR     R1, [SP,#0xC4+var_A0] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16008 0C4                 MOV     R2, R11         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1600A 0C4                 BL      N88AP__iBoot__AllocateMemoryRange ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1600E 0C4                 CMP.W   R11, #0         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16012 0C4                 BEQ     loc_4FF16028    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16014 0C4                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16016 0C4                 LDR.W   R1, =a__prelink ; &amp;quot;__PRELINK&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1601A 0C4                 BL      sub_4FF1ECA0    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1601E 0C4                 CBNZ    R0, loc_4FF16028 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF16020 0C4                 LDR.W   R3, =dword_4FF2CD14 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16024 0C4                 LDR     R1, [SP,#0xC4+var_C4] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16026 0C4                 STR     R1, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16028&lt;br /&gt;
N88AP_iBoot:4FF16028     loc_4FF16028                            ; CODE XREF: LoadImage_kernelcache_img3+20E�j&lt;br /&gt;
N88AP_iBoot:4FF16028                                             ; LoadImage_kernelcache_img3+21A�j&lt;br /&gt;
N88AP_iBoot:4FF16028 0C4                 CBZ     R6, loc_4FF1603A ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1602A 0C4                 LDR     R2, [SP,#0xC4+var_9C] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1602C 0C4                 LDR     R3, [SP,#0xC4+var_98] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1602E 0C4                 LDR     R0, [SP,#0xC4+var_A0] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16030 0C4                 ADD.W   R1, R2, R3      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16034 0C4                 MOV     R2, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16036 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF1603A&lt;br /&gt;
N88AP_iBoot:4FF1603A     loc_4FF1603A                            ; CODE XREF: LoadImage_kernelcache_img3:loc_4FF16028�j&lt;br /&gt;
N88AP_iBoot:4FF1603A 0C4                 CMP     R11, R6         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1603C 0C4                 BLE     loc_4FF1604E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1603E 0C4                 LDR     R1, [SP,#0xC4+var_A0] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16040 0C4                 RSB.W   R2, R6, R11     ; Rd = Op2 - Op1&lt;br /&gt;
N88AP_iBoot:4FF16044 0C4                 ADD.W   R0, R1, R6      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16048 0C4                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1604A 0C4                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF1604E&lt;br /&gt;
N88AP_iBoot:4FF1604E     loc_4FF1604E                            ; CODE XREF: LoadImage_kernelcache_img3+238�j&lt;br /&gt;
N88AP_iBoot:4FF1604E 0C4                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16050 0C4                 MOVS    R0, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16052 0C4                 MOV     R2, R1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16054 0C4                 BL      sub_4FF1E344    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16058 0C4                 LDR     R2, [SP,#0xC4+var_A4] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1605A 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1605C 0C4                 ADD.W   R4, R11, R2     ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16060 0C4                 BL      sub_4FF15CC8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16064 0C4                 CMP     R4, R0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16066 0C4                 BLS.W   loc_4FF16BA2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1606A 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1606C 0C4                 BL      sub_4FF15CC8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16070 0C4                 RSB.W   R0, R0, R4      ; Rd = Op2 - Op1&lt;br /&gt;
N88AP_iBoot:4FF16074 0C4                 BL      sub_4FF15CC8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16078 0C4                 B.W     loc_4FF16BA2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1607C     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1607C&lt;br /&gt;
N88AP_iBoot:4FF1607C     loc_4FF1607C                            ; CODE XREF: LoadImage_kernelcache_img3+19E�j&lt;br /&gt;
N88AP_iBoot:4FF1607C 0C4                 LDR.W   R3, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16080 0C4                 LDR.W   R1, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16084 0C4                 LDR     R2, [R3,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16086 0C4                 LDR.W   R3, [R10,#0x4C] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1608A 0C4                 ADD     R3, R2          ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1608C 0C4                 LDR     R2, [R1,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1608E 0C4                 RSB.W   R2, R2, R3      ; Rd = Op2 - Op1&lt;br /&gt;
N88AP_iBoot:4FF16092 0C4                 LDR.W   R3, =dword_4FF2CBC8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16096 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16098 0C4                 B.W     loc_4FF16BA2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1609C     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1609C&lt;br /&gt;
N88AP_iBoot:4FF1609C     loc_4FF1609C                            ; CODE XREF: LoadImage_kernelcache_img3+1A2�j&lt;br /&gt;
N88AP_iBoot:4FF1609C 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1609E 0C4                 BNE.W   loc_4FF16B34    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF160A2&lt;br /&gt;
N88AP_iBoot:4FF160A2     loc_4FF160A2                            ; CODE XREF: LoadImage_kernelcache_img3+DA0�j&lt;br /&gt;
N88AP_iBoot:4FF160A2 0C4                 LDR     R2, [SP,#0xC4+var_B4] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160A4 0C4                 LDR     R3, [SP,#0xC4+var_B8] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160A6 0C4                 ADD     R10, R2         ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF160A8 0C4                 ADDS    R3, #1          ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF160AA 0C4                 STR     R3, [SP,#0xC4+var_B8] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF160AC&lt;br /&gt;
N88AP_iBoot:4FF160AC     loc_4FF160AC                            ; CODE XREF: LoadImage_kernelcache_img3+188�j&lt;br /&gt;
N88AP_iBoot:4FF160AC 0C4                 LDR     R1, [SP,#0xC4+var_B8] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160AE 0C4                 LDR     R2, [SP,#0xC4+var_B0] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160B0 0C4                 CMP     R1, R2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF160B2 0C4                 BLT.W   loc_4FF15F8E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF160B6 0C4                 LDR.W   R3, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160BA 0C4                 LDR.W   R10, =dword_4FF2A03C ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160BE 0C4                 MOVS    R6, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF160C0 0C4                 LDR.W   R2, =dword_4FF214E8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160C4 0C4                 LDR.W   R1, [R10]       ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160C8 0C4                 STR     R6, [R3,#0x18]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF160CA 0C4                 LDR.W   R3, =aRdMd0NandEnableReformat1Progress ; &amp;quot;rd=md0 nand-enable-reformat=1 -progress&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF160CE 0C4                 LDR.W   R0, ='Teth'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160D2 0C4                 CMP     R1, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF160D4 0C4                 ITE NE                  ; If Then&lt;br /&gt;
N88AP_iBoot:4FF160D6 0C4                 MOVNE   R4, R3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF160D8 0C4                 MOVEQ   R4, R2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF160DA 0C4                 MOVS    R2, #0x10       ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF160DC 0C4                 ADD     R1, SP, #0xC4+var_34 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF160DE 0C4                 BL      sub_4FF17C24    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF160E2 0C4                 CMP.W   R0, #0xFFFFFFFF ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF160E6 0C4                 BEQ     loc_4FF160FA    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF160E8 0C4                 LDRB.W  R3, [SP,#0xC4+var_34] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF160EC 0C4                 CBZ     R3, loc_4FF160FA ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF160EE 0C4                 LDR.W   R0, =aIsTethered ; &amp;quot;is-tethered&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF160F2 0C4                 MOV     R1, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF160F4 0C4                 MOVS    R2, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF160F6 0C4                 BL      sub_4FF1D084    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF160FA&lt;br /&gt;
N88AP_iBoot:4FF160FA     loc_4FF160FA                            ; CODE XREF: LoadImage_kernelcache_img3+2E2�j&lt;br /&gt;
N88AP_iBoot:4FF160FA                                             ; LoadImage_kernelcache_img3+2E8�j&lt;br /&gt;
N88AP_iBoot:4FF160FA 0C4                 LDR.W   R0, =aIsTethered ; &amp;quot;is-tethered&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF160FE 0C4                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16100 0C4                 BL      sub_4FF1CD88    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16104 0C4                 CBZ     R0, loc_4FF16114 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16106 0C4                 LDR.W   R0, =n88ap__iBOOT__gBootArgs.commandLine ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1610A 0C4                 LDR.W   R2, =aSForceUsbPower1 ; &amp;quot;%s force-usb-power=1 &amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1610E 0C4                 MOV.W   R1, #0x100      ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16112 0C4                 B       loc_4FF16120    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16114     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16114&lt;br /&gt;
N88AP_iBoot:4FF16114     loc_4FF16114                            ; CODE XREF: LoadImage_kernelcache_img3+300�j&lt;br /&gt;
N88AP_iBoot:4FF16114 0C4                 LDR.W   R0, =n88ap__iBOOT__gBootArgs.commandLine ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF16118 0C4                 LDR.W   R2, =aS_2       ; &amp;quot;%s &amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1611C 0C4                 MOV.W   R1, #0x100      ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF16120&lt;br /&gt;
N88AP_iBoot:4FF16120     loc_4FF16120                            ; CODE XREF: LoadImage_kernelcache_img3+30E�j&lt;br /&gt;
N88AP_iBoot:4FF16120 0C4                 MOV     R3, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16122 0C4                 BL      sub_4FF1EC48    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16126 0C4                 LDR.W   R1, =n88ap__iBOOT__gBootArgs.commandLine ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF1612A 0C4                 LDR.W   R0, =aGbootargs_commandlineS ; &amp;quot;gBootArgs.commandLine = [%s]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1612E 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16132 0C4                 MOVS    R2, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16134 0C4                 LDR.W   R0, =n88ap__iBOOT__gBootArgs.commandLine ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16138 0C4                 LDR.W   R1, =aS_3       ; &amp;quot;-s&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1613C 0C4                 BL      sub_4FF15CE8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16140 0C4                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16142 0C4                 CBNZ    R0, loc_4FF16152 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF16144 0C4                 LDR.W   R0, =n88ap__iBOOT__gBootArgs.commandLine ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16148 0C4                 LDR.W   R1, =aV_1       ; &amp;quot;-v&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1614C 0C4                 BL      sub_4FF15CE8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16150 0C4                 CBZ     R0, loc_4FF1615A ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16152&lt;br /&gt;
N88AP_iBoot:4FF16152     loc_4FF16152                            ; CODE XREF: LoadImage_kernelcache_img3+33E�j&lt;br /&gt;
N88AP_iBoot:4FF16152 0C4                 LDR.W   R1, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16156 0C4                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16158 0C4                 STR     R3, [R1,#0x18]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1615A&lt;br /&gt;
N88AP_iBoot:4FF1615A     loc_4FF1615A                            ; CODE XREF: LoadImage_kernelcache_img3+34C�j&lt;br /&gt;
N88AP_iBoot:4FF1615A 0C4                 LDR.W   R0, =n88ap__iBOOT__gBootArgs.commandLine ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1615E 0C4                 LDR.W   R1, =aDebug     ; &amp;quot;debug=&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16162 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16164 0C4                 BL      sub_4FF15CE8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16168 0C4                 CBZ     R0, loc_4FF1616E ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1616A 0C4                 BL      sub_4FF19FD4    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1616E&lt;br /&gt;
N88AP_iBoot:4FF1616E     loc_4FF1616E                            ; CODE XREF: LoadImage_kernelcache_img3+364�j&lt;br /&gt;
N88AP_iBoot:4FF1616E 0C4                 LDR.W   R0, =n88ap__iBOOT__gBootArgs.commandLine ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16172 0C4                 LDR.W   R1, =aForceUsbPower1 ; &amp;quot;force-usb-power=1&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16176 0C4                 MOVS    R2, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16178 0C4                 BL      sub_4FF15CE8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1617C 0C4                 CBZ     R0, loc_4FF16186 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1617E 0C4                 LDR.W   R3, =dword_4FF2A148 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16182 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16184 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16186&lt;br /&gt;
N88AP_iBoot:4FF16186     loc_4FF16186                            ; CODE XREF: LoadImage_kernelcache_img3+378�j&lt;br /&gt;
N88AP_iBoot:4FF16186 0C4                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16188 0C4                 MOVS    R2, #0x14       ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1618A 0C4                 ADD     R0, SP, #0xC4+var_94 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1618C 0C4                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF16190 0C4                 ADD     R0, SP, #0xC4+var_94 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16192 0C4                 BL      sub_4FF17200    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16196 0C4                 LDR.W   R6, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1619A 0C4                 LDR     R3, [SP,#0xC4+var_88] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1619C 0C4                 LDR.W   R2, =dword_4FF2CD0C ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161A0 0C4                 MOV.W   R11, #0         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF161A4 0C4                 STR     R3, [R6,#0x1C]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161A6 0C4                 LDR     R3, [SP,#0xC4+var_90] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161A8 0C4                 MOV     R1, R11         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF161AA 0C4                 STR.W   R11, [R2]       ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161AE 0C4                 STR     R3, [R6,#0x20]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161B0 0C4                 LDR     R3, [SP,#0xC4+var_8C] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161B2 0C4                 LDR.W   R0, =aVramSize  ; &amp;quot;vram-size&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF161B6 0C4                 STR     R3, [R6,#0x24]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161B8 0C4                 LDR     R3, [SP,#0xC4+var_84] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161BA 0C4                 STR     R3, [R6,#0x28]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161BC 0C4                 LDR     R3, [SP,#0xC4+var_94] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161BE 0C4                 STR     R3, [R6,#0x14]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161C0 0C4                 BL      sub_4FF1CD88    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF161C4 0C4                 LDR.W   R3, =dword_4FF2CD0C ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161C8 0C4                 LDR     R2, [R6,#0xC]   ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161CA 0C4                 CMP.W   R0, #0x300000   ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF161CE 0C4                 STR     R0, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161D0 0C4                 ITTT CC                 ; If Then&lt;br /&gt;
N88AP_iBoot:4FF161D2 0C4                 LDRCC.W R1, =dword_4FF2CD0C ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161D6 0C4                 MOVCC.W R3, #0x300000   ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF161DA 0C4                 STRCC   R3, [R1]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161DC 0C4                 LDR.W   R1, =dword_4FF2CD0C ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161E0 0C4                 LDR     R3, [R1]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161E2 0C4                 RSB.W   R3, R3, R2      ; Rd = Op2 - Op1&lt;br /&gt;
N88AP_iBoot:4FF161E6 0C4                 LDR.W   R2, =dword_4FF2CD08 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161EA 0C4                 STR     R3, [R6,#0xC]   ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161EC 0C4                 LDR     R0, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161EE 0C4                 STR     R0, [R6,#0x34]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161F0 0C4                 BL      sub_4FF15CC8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF161F4 0C4                 LDR     R2, [R6,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161F6 0C4                 MOV     R3, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF161F8 0C4                 STR     R0, [R6,#0x30]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF161FA 0C4                 LDR     R0, [R6,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF161FC 0C4                 SUBS    R0, R0, R2      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF161FE 0C4                 ADDS    R0, R0, R3      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16200 0C4                 LDR.W   R3, =dword_4FF2CD04 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16204 0C4                 LDR     R1, [R3]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16206 0C4                 LDR.W   R3, =dword_4FF2CD08 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1620A 0C4                 LDR     R2, [R3]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1620C 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF16210 0C4                 LDR     R3, [R6,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16212 0C4                 LDR     R0, [R6,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16214 0C4                 LDR.W   R1, =dword_4FF2CD04 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16218 0C4                 SUBS    R0, R0, R3      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1621A 0C4                 LDR     R3, [R6,#0x30]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1621C 0C4                 ADDS    R0, R0, R3      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1621E 0C4                 STR     R0, [R1]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16220 0C4                 BL      sub_4FF138BC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16224 0C4                 LDR.W   R3, =dword_4FF2CD08 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16228 0C4                 LDR.W   R2, =dword_4FF2CD04 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1622C 0C4                 LDR.W   R0, =aDevicetree ; &amp;quot;DeviceTree&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16230 0C4                 LDR     R1, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16232 0C4                 LDR     R2, [R3]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16234 0C4                 BL      N88AP__iBoot__AllocateMemoryRange ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16238 0C4                 LDR.W   R3, [R10]       ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1623C 0C4                 CBZ     R3, loc_4FF16270 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1623E 0C4                 LDR.W   R10, =dword_4FF2A040 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16242 0C4                 LDR.W   R0, [R10]       ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16246 0C4                 BL      sub_4FF15CC8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1624A 0C4                 LDR     R1, [R6,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1624C 0C4                 LDR     R3, [R6,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1624E 0C4                 LDR.W   R2, [R10]       ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16252 0C4                 SUBS    R1, R1, R3      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16254 0C4                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16256 0C4                 LDR.W   R0, =dword_4FF2A03C ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1625A 0C4                 ADDS    R1, R1, R4      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1625C 0C4                 LDR     R0, [R0]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1625E 0C4                 BLX     sub_4FF1EE64    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF16262 0C4                 LDR.W   R2, [R10]       ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16266 0C4                 LDR.W   R0, =aRamdisk   ; &amp;quot;RAMDisk&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1626A 0C4                 MOV     R1, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1626C 0C4                 BL      N88AP__iBoot__AllocateMemoryRange ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16270&lt;br /&gt;
N88AP_iBoot:4FF16270     loc_4FF16270                            ; CODE XREF: LoadImage_kernelcache_img3+438�j&lt;br /&gt;
N88AP_iBoot:4FF16270 0C4                 MOV     R0, R11         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16272 0C4                 LDR.W   R1, =dword_4FF214E8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16276 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16278 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1627C 0C4                 CBZ     R0, loc_4FF1629E ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1627E 0C4                 LDR.W   R3, =aModelNumber ; &amp;quot;model-number&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16282 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16284 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16286 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16288 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1628A 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1628C 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16290 0C4                 CBZ     R0, loc_4FF1629E ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16292 0C4                 LDR.W   R0, ='Mod#'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16296 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16298 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1629A 0C4                 BL      sub_4FF17C24    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1629E&lt;br /&gt;
N88AP_iBoot:4FF1629E     loc_4FF1629E                            ; CODE XREF: LoadImage_kernelcache_img3+478�j&lt;br /&gt;
N88AP_iBoot:4FF1629E                                             ; LoadImage_kernelcache_img3+48C�j&lt;br /&gt;
N88AP_iBoot:4FF1629E 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF162A0 0C4                 LDR.W   R1, =dword_4FF214E8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162A4 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF162A6 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF162AA 0C4                 CBZ     R0, loc_4FF162CC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF162AC 0C4                 LDR.W   R3, =aRegionInfo ; &amp;quot;region-info&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF162B0 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162B2 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF162B4 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF162B6 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF162B8 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF162BA 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF162BE 0C4                 CBZ     R0, loc_4FF162CC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF162C0 0C4                 LDR.W   R0, ='Regn'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162C4 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162C6 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162C8 0C4                 BL      sub_4FF17C24    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF162CC&lt;br /&gt;
N88AP_iBoot:4FF162CC     loc_4FF162CC                            ; CODE XREF: LoadImage_kernelcache_img3+4A6�j&lt;br /&gt;
N88AP_iBoot:4FF162CC                                             ; LoadImage_kernelcache_img3+4BA�j&lt;br /&gt;
N88AP_iBoot:4FF162CC 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF162CE 0C4                 LDR.W   R1, =dword_4FF214E8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162D2 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF162D4 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF162D8 0C4                 CBZ     R0, loc_4FF162FA ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF162DA 0C4                 LDR.W   R3, =aSerialNumber ; &amp;quot;serial-number&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF162DE 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162E0 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF162E2 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF162E4 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF162E6 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF162E8 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF162EC 0C4                 CBZ     R0, loc_4FF162FA ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF162EE 0C4                 LDR.W   R0, ='SrNm'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162F2 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162F4 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF162F6 0C4                 BL      sub_4FF17C24    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF162FA&lt;br /&gt;
N88AP_iBoot:4FF162FA     loc_4FF162FA                            ; CODE XREF: LoadImage_kernelcache_img3+4D4�j&lt;br /&gt;
N88AP_iBoot:4FF162FA                                             ; LoadImage_kernelcache_img3+4E8�j&lt;br /&gt;
N88AP_iBoot:4FF162FA 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF162FC 0C4                 LDR.W   R1, =dword_4FF214E8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16300 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16302 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16306 0C4                 CBZ     R0, loc_4FF16328 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16308 0C4                 LDR.W   R3, =aMlbSerialNumber ; &amp;quot;mlb-serial-number&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1630C 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1630E 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16310 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16312 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16314 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16316 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1631A 0C4                 CBZ     R0, loc_4FF16328 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1631C 0C4                 LDR.W   R0, ='MLB#'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16320 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16322 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16324 0C4                 BL      sub_4FF17C24    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16328&lt;br /&gt;
N88AP_iBoot:4FF16328     loc_4FF16328                            ; CODE XREF: LoadImage_kernelcache_img3+502�j&lt;br /&gt;
N88AP_iBoot:4FF16328                                             ; LoadImage_kernelcache_img3+516�j&lt;br /&gt;
N88AP_iBoot:4FF16328 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1632A 0C4                 LDR.W   R1, =dword_4FF214E8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1632E 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16330 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16334 0C4                 CBZ     R0, loc_4FF16356 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16336 0C4                 LDR.W   R3, =aConfigNumber ; &amp;quot;config-number&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1633A 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1633C 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1633E 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16340 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16342 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16344 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16348 0C4                 CBZ     R0, loc_4FF16356 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1634A 0C4                 LDR.W   R0, ='CFG#'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1634E 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16350 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16352 0C4                 BL      sub_4FF17C24    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16356&lt;br /&gt;
N88AP_iBoot:4FF16356     loc_4FF16356                            ; CODE XREF: LoadImage_kernelcache_img3+530�j&lt;br /&gt;
N88AP_iBoot:4FF16356                                             ; LoadImage_kernelcache_img3+544�j&lt;br /&gt;
N88AP_iBoot:4FF16356 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16358 0C4                 LDR.W   R1, =aPram      ; &amp;quot;pram&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1635C 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1635E 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16362 0C4                 CBZ     R0, loc_4FF16388 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16364 0C4                 LDR.W   R3, =aReg       ; &amp;quot;reg&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16368 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1636A 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1636C 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1636E 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16370 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16372 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16376 0C4                 CBZ     R0, loc_4FF16388 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16378 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1637A 0C4                 LDR.W   R2, =0x4FFFC000 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1637E 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16380 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16382 0C4                 MOV.W   R2, #0x4000     ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16386 0C4                 STR     R2, [R3,#4]     ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16388&lt;br /&gt;
N88AP_iBoot:4FF16388     loc_4FF16388                            ; CODE XREF: LoadImage_kernelcache_img3+55E�j&lt;br /&gt;
N88AP_iBoot:4FF16388                                             ; LoadImage_kernelcache_img3+572�j&lt;br /&gt;
N88AP_iBoot:4FF16388 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1638A 0C4                 LDR.W   R1, =aVram      ; &amp;quot;vram&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1638E 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16390 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16394 0C4                 CBZ     R0, loc_4FF163BC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16396 0C4                 LDR.W   R3, =aReg       ; &amp;quot;reg&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1639A 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1639C 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1639E 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF163A0 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF163A2 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF163A4 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF163A8 0C4                 CBZ     R0, loc_4FF163BC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF163AA 0C4                 LDR.W   R2, =dword_4FF2CD0C ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF163AE 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF163B0 0C4                 LDR     R1, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF163B2 0C4                 RSB.W   R2, R1, #0x50000000 ; Rd = Op2 - Op1&lt;br /&gt;
N88AP_iBoot:4FF163B6 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF163B8 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF163BA 0C4                 STR     R1, [R3,#4]     ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF163BC&lt;br /&gt;
N88AP_iBoot:4FF163BC     loc_4FF163BC                            ; CODE XREF: LoadImage_kernelcache_img3+590�j&lt;br /&gt;
N88AP_iBoot:4FF163BC                                             ; LoadImage_kernelcache_img3+5A4�j&lt;br /&gt;
N88AP_iBoot:4FF163BC 0C4                 LDR.W   R0, =aNetworkType ; &amp;quot;network-type&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF163C0 0C4                 BL      sub_4FF1CD9C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF163C4 0C4                 CBZ     R0, loc_4FF163D4 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF163C6 0C4                 LDR.W   R1, =aEthernet  ; &amp;quot;ethernet&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF163CA 0C4                 BL      sub_4FF1ECA0    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF163CE 0C4                 CBZ     R0, loc_4FF163D4 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF163D0 0C4                 MOVS    R6, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF163D2 0C4                 B       loc_4FF163D6    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF163D4     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF163D4&lt;br /&gt;
N88AP_iBoot:4FF163D4     loc_4FF163D4                            ; CODE XREF: LoadImage_kernelcache_img3+5C0�j&lt;br /&gt;
N88AP_iBoot:4FF163D4                                             ; LoadImage_kernelcache_img3+5CA�j&lt;br /&gt;
N88AP_iBoot:4FF163D4 0C4                 MOVS    R6, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF163D6&lt;br /&gt;
N88AP_iBoot:4FF163D6     loc_4FF163D6                            ; CODE XREF: LoadImage_kernelcache_img3+5CE�j&lt;br /&gt;
N88AP_iBoot:4FF163D6 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF163D8 0C4                 LDR.W   R1, =aChosen    ; &amp;quot;chosen&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF163DC 0C4                 ADD     R2, SP, #0xC4+var_64 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF163DE 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF163E2 0C4                 CBNZ    R0, loc_4FF163EE ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF163E4 0C4                 LDR.W   R0, =aUpdatedevicetreeFailedToFindTheChosenNode ; &amp;quot;UpdateDeviceTree: failed to find the /c&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF163E8 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF163EC 0C4                 B       loc_4FF16AD4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF163EE     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF163EE&lt;br /&gt;
N88AP_iBoot:4FF163EE     loc_4FF163EE                            ; CODE XREF: LoadImage_kernelcache_img3+5DE�j&lt;br /&gt;
N88AP_iBoot:4FF163EE 0C4                 LDR.W   R3, =aDebugEnabled ; &amp;quot;debug-enabled&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF163F2 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF163F4 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF163F6 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF163F8 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF163FA 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF163FC 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16400 0C4                 CBZ     R0, loc_4FF16410 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16402 0C4                 MOVS    R0, #0x20 ; ' ' ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16404 0C4                 BL      sub_4FF19FAC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16408 0C4                 CBZ     R0, loc_4FF16410 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1640A 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1640C 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1640E 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16410&lt;br /&gt;
N88AP_iBoot:4FF16410     loc_4FF16410                            ; CODE XREF: LoadImage_kernelcache_img3+5FC�j&lt;br /&gt;
N88AP_iBoot:4FF16410                                             ; LoadImage_kernelcache_img3+604�j&lt;br /&gt;
N88AP_iBoot:4FF16410 0C4                 LDR.W   R3, =aDevelopmentCert ; &amp;quot;development-cert&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16414 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16416 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16418 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1641A 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1641C 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1641E 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16422 0C4                 CBZ     R0, loc_4FF16434 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16424 0C4                 MOV.W   R0, #BlackRa1n__iPhoneTypeInfo ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16428 0C4                 BL      sub_4FF19FAC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1642C 0C4                 CBZ     R0, loc_4FF16434 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1642E 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16430 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16432 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16434&lt;br /&gt;
N88AP_iBoot:4FF16434     loc_4FF16434                            ; CODE XREF: LoadImage_kernelcache_img3+61E�j&lt;br /&gt;
N88AP_iBoot:4FF16434                                             ; LoadImage_kernelcache_img3+628�j&lt;br /&gt;
N88AP_iBoot:4FF16434 0C4                 LDR.W   R3, =aProductionCert ; &amp;quot;production-cert&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16438 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1643A 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1643C 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1643E 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16440 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16442 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16446 0C4                 CBZ     R0, loc_4FF16458 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16448 0C4                 MOV.W   R0, #0x200000   ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1644C 0C4                 BL      sub_4FF19FAC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16450 0C4                 CBZ     R0, loc_4FF16458 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16452 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16454 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16456 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16458&lt;br /&gt;
N88AP_iBoot:4FF16458     loc_4FF16458                            ; CODE XREF: LoadImage_kernelcache_img3+642�j&lt;br /&gt;
N88AP_iBoot:4FF16458                                             ; LoadImage_kernelcache_img3+64C�j&lt;br /&gt;
N88AP_iBoot:4FF16458 0C4                 LDR.W   R3, =aGidAesKey ; &amp;quot;gid-aes-key&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1645C 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1645E 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16460 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16462 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16464 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16466 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1646A 0C4                 CBZ     R0, loc_4FF1647C ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1646C 0C4                 MOV.W   R0, #0x40000    ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16470 0C4                 BL      sub_4FF19FAC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16474 0C4                 CBZ     R0, loc_4FF1647C ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16476 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16478 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1647A 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1647C&lt;br /&gt;
N88AP_iBoot:4FF1647C     loc_4FF1647C                            ; CODE XREF: LoadImage_kernelcache_img3+666�j&lt;br /&gt;
N88AP_iBoot:4FF1647C                                             ; LoadImage_kernelcache_img3+670�j&lt;br /&gt;
N88AP_iBoot:4FF1647C 0C4                 LDR.W   R3, =aUidAesKey ; &amp;quot;uid-aes-key&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16480 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16482 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16484 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16486 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16488 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1648A 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1648E 0C4                 CBZ     R0, loc_4FF164A0 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16490 0C4                 MOV.W   R0, #0x80000    ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16494 0C4                 BL      sub_4FF19FAC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16498 0C4                 CBZ     R0, loc_4FF164A0 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1649A 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1649C 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1649E 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF164A0&lt;br /&gt;
N88AP_iBoot:4FF164A0     loc_4FF164A0                            ; CODE XREF: LoadImage_kernelcache_img3+68A�j&lt;br /&gt;
N88AP_iBoot:4FF164A0                                             ; LoadImage_kernelcache_img3+694�j&lt;br /&gt;
N88AP_iBoot:4FF164A0 0C4                 LDR.W   R3, =aSecureBoot ; &amp;quot;secure-boot&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF164A4 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF164A6 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF164A8 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF164AA 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF164AC 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF164AE 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF164B2 0C4                 CBZ     R0, loc_4FF164C4 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF164B4 0C4                 MOV.W   R0, #0x10000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF164B8 0C4                 BL      sub_4FF19FAC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF164BC 0C4                 CBZ     R0, loc_4FF164C4 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF164BE 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF164C0 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF164C2 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF164C4&lt;br /&gt;
N88AP_iBoot:4FF164C4     loc_4FF164C4                            ; CODE XREF: LoadImage_kernelcache_img3+6AE�j&lt;br /&gt;
N88AP_iBoot:4FF164C4                                             ; LoadImage_kernelcache_img3+6B8�j&lt;br /&gt;
N88AP_iBoot:4FF164C4 0C4                 LDR     R3, =aSoftwareBehavior ; &amp;quot;software-behavior&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF164C6 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF164C8 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF164CA 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF164CC 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF164CE 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF164D0 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF164D4 0C4                 CBZ     R0, loc_4FF164E0 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF164D6 0C4                 LDR     R0, ='SwBh'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF164D8 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF164DA 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF164DC 0C4                 BL      sub_4FF17C24    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF164E0&lt;br /&gt;
N88AP_iBoot:4FF164E0     loc_4FF164E0                            ; CODE XREF: LoadImage_kernelcache_img3+6D0�j&lt;br /&gt;
N88AP_iBoot:4FF164E0 0C4                 LDR     R3, =aSystemTrusted ; &amp;quot;system-trusted&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF164E2 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF164E4 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF164E6 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF164E8 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF164EA 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF164EC 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF164F0 0C4                 CBZ     R0, loc_4FF16502 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF164F2 0C4                 MOV.W   R0, #0x20000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF164F6 0C4                 BL      sub_4FF19FAC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF164FA 0C4                 CBZ     R0, loc_4FF16502 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF164FC 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF164FE 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16500 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16502&lt;br /&gt;
N88AP_iBoot:4FF16502     loc_4FF16502                            ; CODE XREF: LoadImage_kernelcache_img3+6EC�j&lt;br /&gt;
N88AP_iBoot:4FF16502                                             ; LoadImage_kernelcache_img3+6F6�j&lt;br /&gt;
N88AP_iBoot:4FF16502 0C4                 LDR     R3, =aBoardId   ; &amp;quot;board-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16504 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16506 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16508 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1650A 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1650C 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1650E 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16512 0C4                 CBZ     R0, loc_4FF1651C ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16514 0C4                 LDR     R4, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16516 0C4                 BL      sub_4FF184E4    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1651A 0C4                 STR     R0, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1651C&lt;br /&gt;
N88AP_iBoot:4FF1651C     loc_4FF1651C                            ; CODE XREF: LoadImage_kernelcache_img3+70E�j&lt;br /&gt;
N88AP_iBoot:4FF1651C 0C4                 LDR     R3, =aChipId    ; &amp;quot;chip-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1651E 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16520 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16522 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16524 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16526 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16528 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1652C 0C4                 CBZ     R0, loc_4FF16536 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1652E 0C4                 LDR     R4, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16530 0C4                 BL      sub_4FF1F8F8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16534 0C4                 STR     R0, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16536&lt;br /&gt;
N88AP_iBoot:4FF16536     loc_4FF16536                            ; CODE XREF: LoadImage_kernelcache_img3+728�j&lt;br /&gt;
N88AP_iBoot:4FF16536 0C4                 LDR     R3, =aUniqueChipId ; &amp;quot;unique-chip-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16538 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1653A 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1653C 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1653E 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16540 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16542 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16546 0C4                 CBZ     R0, loc_4FF16552 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16548 0C4                 LDR     R4, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1654A 0C4                 BL      sub_4FF1F904    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1654E 0C4                 STMIA.W R4, {R0,R1}     ; Store Block to Memory&lt;br /&gt;
N88AP_iBoot:4FF16552&lt;br /&gt;
N88AP_iBoot:4FF16552     loc_4FF16552                            ; CODE XREF: LoadImage_kernelcache_img3+742�j&lt;br /&gt;
N88AP_iBoot:4FF16552 0C4                 LDR     R3, =aFirmwareVersion ; &amp;quot;firmware-version&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16554 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16556 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16558 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1655A 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1655C 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1655E 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16562 0C4                 CBZ     R0, loc_4FF1656E ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16564 0C4                 LDR     R0, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16566 0C4                 LDR     R1, =aIboot636_66 ; &amp;quot;iBoot-636.66&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16568 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1656A 0C4                 BL      sub_4FF1ED1C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1656E&lt;br /&gt;
N88AP_iBoot:4FF1656E     loc_4FF1656E                            ; CODE XREF: LoadImage_kernelcache_img3+75E�j&lt;br /&gt;
N88AP_iBoot:4FF1656E 0C4                 LDR     R3, =aBootpResponse ; &amp;quot;bootp-response&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16570 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16572 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16574 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16576 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16578 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1657A 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1657E 0C4                 CBZ     R0, loc_4FF165E2 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16580 0C4                 LDR     R4, =dword_4FF2CD18 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16582 0C4                 ADD     R1, SP, #0xC4+var_74 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16584 0C4                 MOV.W   R10, #2         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16588 0C4                 LDR     R0, =aIpaddr    ; &amp;quot;ipaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1658A 0C4                 STRB.W  R10, [R4]       ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1658E 0C4                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16590 0C4                 STR     R3, [SP,#0xC4+var_74] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16592 0C4                 BL      sub_4FF1D170    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16596 0C4                 ADD.W   R0, R4, #0x10   ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1659A 0C4                 ADD     R1, SP, #0xC4+var_74 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1659C 0C4                 MOVS    R2, #4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1659E 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF165A2 0C4                 LDR     R0, =aGateway   ; &amp;quot;gateway&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF165A4 0C4                 BL      sub_4FF1CD9C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF165A8 0C4                 CBZ     R0, loc_4FF165D6 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF165AA 0C4                 ADD     R1, SP, #0xC4+var_74 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF165AC 0C4                 LDR     R0, =aGateway   ; &amp;quot;gateway&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF165AE 0C4                 BL      sub_4FF1D170    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF165B2 0C4                 LDR     R1, =dword_4FF25954 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF165B4 0C4                 MOVS    R2, #4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF165B6 0C4                 ADD.W   R0, R4, #0xEC   ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF165BA 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF165BE 0C4                 LDR     R1, =dword_4FF2595C ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF165C0 0C4                 MOV     R2, R10         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF165C2 0C4                 ADD.W   R0, R4, #0xF0   ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF165C6 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF165CA 0C4                 ADD.W   R0, R4, #0xF2   ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF165CE 0C4                 ADD     R1, SP, #0xC4+var_74 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF165D0 0C4                 MOVS    R2, #4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF165D2 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF165D6&lt;br /&gt;
N88AP_iBoot:4FF165D6     loc_4FF165D6                            ; CODE XREF: LoadImage_kernelcache_img3+7A4�j&lt;br /&gt;
N88AP_iBoot:4FF165D6 0C4                 LDR     R0, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF165D8 0C4                 MOV     R1, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF165DA 0C4                 MOV.W   R2, #0x12C      ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF165DE 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF165E2&lt;br /&gt;
N88AP_iBoot:4FF165E2     loc_4FF165E2                            ; CODE XREF: LoadImage_kernelcache_img3+77A�j&lt;br /&gt;
N88AP_iBoot:4FF165E2 0C4                 LDR     R0, =n88ap__iBOOT__gBootArgs.commandLine ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF165E4 0C4                 LDR     R1, =aRd_1      ; &amp;quot;rd=&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF165E6 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF165E8 0C4                 BL      sub_4FF15CE8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF165EC 0C4                 CBNZ    R0, loc_4FF1660C ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF165EE 0C4                 LDR     R3, =aRootMatching ; &amp;quot;root-matching&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF165F0 0C4                 LDR     R0, [SP,#0xC4+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF165F2 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF165F4 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF165F6 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF165F8 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF165FA 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF165FE 0C4                 CBZ     R0, loc_4FF1660C ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16600 0C4                 LDR     R0, [SP,#0xC4+param_R2] ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF16602 0C4                 LDR     R1, [SP,#0xC4+param_R3] ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF16604 0C4                 LDR     R2, =aDictKeyIoproviderclassKeyStringIomediaStringK ; &amp;quot;&amp;lt;dict&amp;gt;&amp;lt;key&amp;gt;IOProviderClass&amp;lt;/key&amp;gt;&amp;lt;string&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF16606 0C4                 MOVS    R3, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16608 0C4                 BL      sub_4FF1EC48    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1660C&lt;br /&gt;
N88AP_iBoot:4FF1660C     loc_4FF1660C                            ; CODE XREF: LoadImage_kernelcache_img3+7E8�j&lt;br /&gt;
N88AP_iBoot:4FF1660C                                             ; LoadImage_kernelcache_img3+7FA�j&lt;br /&gt;
N88AP_iBoot:4FF1660C 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1660E 0C4                 LDR     R1, =dword_4FF214E8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16610 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16612 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16616 0C4                 CBZ     R0, loc_4FF16634 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16618 0C4                 LDR     R3, =aPlatformName ; &amp;quot;platform-name&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1661A 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1661C 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1661E 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16620 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16622 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16624 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16628 0C4                 CBZ     R0, loc_4FF16634 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1662A 0C4                 LDR     R0, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1662C 0C4                 LDR     R1, =aS5l8920x  ; &amp;quot;s5l8920x&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1662E 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16630 0C4                 BL      sub_4FF1ED1C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16634&lt;br /&gt;
N88AP_iBoot:4FF16634     loc_4FF16634                            ; CODE XREF: LoadImage_kernelcache_img3+812�j&lt;br /&gt;
N88AP_iBoot:4FF16634                                             ; LoadImage_kernelcache_img3+824�j&lt;br /&gt;
N88AP_iBoot:4FF16634 0C4                 ADD.W   R0, SP, #0xC4+var_7E ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16638 0C4                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1663A 0C4                 MOVS    R2, #6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1663C 0C4                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF16640 0C4                 LDR     R0, =aEthaddr   ; &amp;quot;ethaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16642 0C4                 BL      sub_4FF1CD9C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16646 0C4                 CBZ     R0, loc_4FF16654 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16648 0C4                 ADD.W   R1, SP, #0xC4+var_7E ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1664C 0C4                 LDR     R0, =aEthaddr   ; &amp;quot;ethaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1664E 0C4                 BL      sub_4FF1D0C4    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16652 0C4                 B       loc_4FF16664    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16654     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16654&lt;br /&gt;
N88AP_iBoot:4FF16654     loc_4FF16654                            ; CODE XREF: LoadImage_kernelcache_img3+842�j&lt;br /&gt;
N88AP_iBoot:4FF16654 0C4                 STR     R0, [SP,#0xC4+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16656 0C4                 MOVS    R0, #6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16658 0C4                 ADD.W   R1, SP, #0xC4+var_7E ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1665C 0C4                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1665E 0C4                 ADD     R3, SP, #0xC4+var_78 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16660 0C4                 BL      sub_4FF1A638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16664&lt;br /&gt;
N88AP_iBoot:4FF16664     loc_4FF16664                            ; CODE XREF: LoadImage_kernelcache_img3+84E�j&lt;br /&gt;
N88AP_iBoot:4FF16664 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16666 0C4                 LDR     R1, =dword_4FF214E8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16668 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1666A 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1666E 0C4                 CBZ     R0, loc_4FF1668E ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16670 0C4                 LDR     R3, =aLocalMacAddress ; &amp;quot;local-mac-address&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16672 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16674 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16676 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16678 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1667A 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1667C 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16680 0C4                 CBZ     R0, loc_4FF1668E ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16682 0C4                 LDR     R0, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16684 0C4                 ADD.W   R1, SP, #0xC4+var_7E ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16688 0C4                 MOVS    R2, #6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1668A 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF1668E&lt;br /&gt;
N88AP_iBoot:4FF1668E     loc_4FF1668E                            ; CODE XREF: LoadImage_kernelcache_img3+86A�j&lt;br /&gt;
N88AP_iBoot:4FF1668E                                             ; LoadImage_kernelcache_img3+87C�j&lt;br /&gt;
N88AP_iBoot:4FF1668E 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16690 0C4                 LDR     R1, =aEthernet  ; &amp;quot;ethernet&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16692 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16694 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16698 0C4                 CBZ     R0, loc_4FF166DC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1669A 0C4                 LDR     R3, =aLocalMacAddress ; &amp;quot;local-mac-address&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1669C 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1669E 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166A0 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF166A2 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166A4 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166A6 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF166AA 0C4                 CBZ     R0, loc_4FF166DC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF166AC 0C4                 LDR     R0, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF166AE 0C4                 ADD.W   R1, SP, #0xC4+var_7E ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166B2 0C4                 MOVS    R2, #6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF166B4 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF166B8 0C4                 CBZ     R6, loc_4FF166DC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF166BA 0C4                 LDR     R3, =aCompatible ; &amp;quot;compatible&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF166BC 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF166BE 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166C0 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF166C2 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166C4 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166C6 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF166CA 0C4                 CBZ     R0, loc_4FF166DC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF166CC 0C4                 LDR     R0, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF166CE 0C4                 LDR     R1, =aXxx       ; &amp;quot;xxx&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF166D0 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF166D2 0C4                 BL      sub_4FF1ED1C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF166D6 0C4                 LDR     R0, =aEthernetDisabled ; &amp;quot;Ethernet disabled\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF166D8 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF166DC&lt;br /&gt;
N88AP_iBoot:4FF166DC     loc_4FF166DC                            ; CODE XREF: LoadImage_kernelcache_img3+894�j&lt;br /&gt;
N88AP_iBoot:4FF166DC                                             ; LoadImage_kernelcache_img3+8A6�j&lt;br /&gt;
N88AP_iBoot:4FF166DC                                             ; LoadImage_kernelcache_img3+8B4�j&lt;br /&gt;
N88AP_iBoot:4FF166DC                                             ; LoadImage_kernelcache_img3+8C6�j&lt;br /&gt;
N88AP_iBoot:4FF166DC 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF166DE 0C4                 LDR     R1, =aArmIoSdio ; &amp;quot;arm-io/sdio&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF166E0 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166E2 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF166E6 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF166E8 0C4                 BEQ     loc_4FF16768    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF166EA 0C4                 LDR     R3, =aLocalMacAddress ; &amp;quot;local-mac-address&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF166EC 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF166EE 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166F0 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF166F2 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166F4 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF166F6 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF166FA 0C4                 CBZ     R0, loc_4FF1671C ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF166FC 0C4                 LDR     R0, =aWifiaddr  ; &amp;quot;wifiaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF166FE 0C4                 BL      sub_4FF1CD9C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16702 0C4                 CBZ     R0, loc_4FF1670E ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16704 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16706 0C4                 LDR     R0, =aWifiaddr  ; &amp;quot;wifiaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16708 0C4                 BL      sub_4FF1D0C4    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1670C 0C4                 B       loc_4FF1671C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1670E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1670E&lt;br /&gt;
N88AP_iBoot:4FF1670E     loc_4FF1670E                            ; CODE XREF: LoadImage_kernelcache_img3+8FE�j&lt;br /&gt;
N88AP_iBoot:4FF1670E 0C4                 STR     R0, [SP,#0xC4+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16710 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16712 0C4                 MOVS    R0, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16714 0C4                 MOVS    R2, #6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16716 0C4                 ADD     R3, SP, #0xC4+var_78 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16718 0C4                 BL      sub_4FF1A638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1671C&lt;br /&gt;
N88AP_iBoot:4FF1671C     loc_4FF1671C                            ; CODE XREF: LoadImage_kernelcache_img3+8F6�j&lt;br /&gt;
N88AP_iBoot:4FF1671C                                             ; LoadImage_kernelcache_img3+908�j&lt;br /&gt;
N88AP_iBoot:4FF1671C 0C4                 LDR     R3, =aTxCalibration ; &amp;quot;tx-calibration&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1671E 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16720 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16722 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16724 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16726 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16728 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1672C 0C4                 CBZ     R0, loc_4FF16746 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1672E 0C4                 LDR     R0, =aInstallingWifiCalibration ; &amp;quot;Installing WIFI Calibration\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16730 0C4                 MOVS    R3, #0          ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF16732 0C4                 STR     R3, [SP,#0xC4+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16734 0C4                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16738 0C4                 MOVS    R0, #2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1673A 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1673C 0C4                 MOV.W   R2, #0x400      ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16740 0C4                 ADD     R3, SP, #0xC4+var_78 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16742 0C4                 BL      sub_4FF1A638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16746&lt;br /&gt;
N88AP_iBoot:4FF16746     loc_4FF16746                            ; CODE XREF: LoadImage_kernelcache_img3+928�j&lt;br /&gt;
N88AP_iBoot:4FF16746 0C4                 LDR     R3, =aVendorId  ; &amp;quot;vendor-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16748 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1674A 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1674C 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1674E 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16750 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16752 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16756 0C4                 CBZ     R0, loc_4FF16768 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16758 0C4                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1675A 0C4                 MOVS    R0, #3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1675C 0C4                 STR     R3, [SP,#0xC4+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1675E 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16760 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16762 0C4                 ADD     R3, SP, #0xC4+var_78 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16764 0C4                 BL      sub_4FF1A638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16768&lt;br /&gt;
N88AP_iBoot:4FF16768     loc_4FF16768                            ; CODE XREF: LoadImage_kernelcache_img3+8E4�j&lt;br /&gt;
N88AP_iBoot:4FF16768                                             ; LoadImage_kernelcache_img3+952�j&lt;br /&gt;
N88AP_iBoot:4FF16768 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1676A 0C4                 LDR     R1, =aArmIoUart3Bluetooth ; &amp;quot;arm-io/uart3/bluetooth&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1676C 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1676E 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16772 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16774 0C4                 BEQ.W   loc_4FF16960    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16778 0C4                 LDR     R3, =aLocalMacAddress ; &amp;quot;local-mac-address&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1677A 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1677C 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1677E 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16780 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16782 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16784 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16788 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1678A 0C4                 BEQ.W   loc_4FF1693E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1678E 0C4                 LDR     R0, =aBtaddr    ; &amp;quot;btaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16790 0C4                 BL      sub_4FF1CD9C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16794 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16796 0C4                 BEQ.W   loc_4FF16930    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1679A 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1679C 0C4                 LDR     R0, =aBtaddr    ; &amp;quot;btaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1679E 0C4                 BL      sub_4FF1D0C4    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF167A2 0C4                 B       loc_4FF1693E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF167A2     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF167A4 0C4 off_4FF167A4    DCD dword_4FF2A308      ; DATA XREF: LoadImage_kernelcache_img3+A�r&lt;br /&gt;
N88AP_iBoot:4FF167A8     ; int off_4FF167A8&lt;br /&gt;
N88AP_iBoot:4FF167A8 0C4 off_4FF167A8    DCD aKernelcacheImageCorrupt&lt;br /&gt;
N88AP_iBoot:4FF167A8                                             ; DATA XREF: LoadImage_kernelcache_img3+1C�r&lt;br /&gt;
N88AP_iBoot:4FF167A8                                             ; &amp;quot;Kernelcache image corrupt\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167AC     ; int off_4FF167AC&lt;br /&gt;
N88AP_iBoot:4FF167AC 0C4 off_4FF167AC    DCD aKernelcacheTooLarge&lt;br /&gt;
N88AP_iBoot:4FF167AC                                             ; DATA XREF: LoadImage_kernelcache_img3+34�r&lt;br /&gt;
N88AP_iBoot:4FF167AC                                             ; &amp;quot;Kernelcache too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167B0     ; char *dword_4FF167B0&lt;br /&gt;
N88AP_iBoot:4FF167B0 0C4 dword_4FF167B0  DCD 'krnl'              ; DATA XREF: LoadImage_kernelcache_img3+48�r&lt;br /&gt;
N88AP_iBoot:4FF167B4     ; int off_4FF167B4&lt;br /&gt;
N88AP_iBoot:4FF167B4 0C4 off_4FF167B4    DCD aKernelcacheImageNotValid&lt;br /&gt;
N88AP_iBoot:4FF167B4                                             ; DATA XREF: LoadImage_kernelcache_img3+60�r&lt;br /&gt;
N88AP_iBoot:4FF167B4                                             ; &amp;quot;Kernelcache image not valid\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167B8 0C4 dword_4FF167B8  DCD 'comp'              ; DATA XREF: LoadImage_kernelcache_img3+78�r&lt;br /&gt;
N88AP_iBoot:4FF167BC     ; int dword_4FF167BC&lt;br /&gt;
N88AP_iBoot:4FF167BC 0C4 dword_4FF167BC  DCD 'lzss'              ; DATA XREF: LoadImage_kernelcache_img3+94�r&lt;br /&gt;
N88AP_iBoot:4FF167C0 0C4 off_4FF167C0    DCD aUnknownKernelcacheCompressionType&lt;br /&gt;
N88AP_iBoot:4FF167C0                                             ; DATA XREF: LoadImage_kernelcache_img3+9C�r&lt;br /&gt;
N88AP_iBoot:4FF167C0                                             ; &amp;quot;unknown kernelcache compression type\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167C4     ; int off_4FF167C4&lt;br /&gt;
N88AP_iBoot:4FF167C4 0C4 off_4FF167C4    DCD aLoadingKernelCacheAtX___&lt;br /&gt;
N88AP_iBoot:4FF167C4                                             ; DATA XREF: LoadImage_kernelcache_img3+A8�r&lt;br /&gt;
N88AP_iBoot:4FF167C4                                             ; &amp;quot;Loading kernel cache at %#x...&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167C8     ; int off_4FF167C8&lt;br /&gt;
N88AP_iBoot:4FF167C8 0C4 off_4FF167C8    DCD aDataStartsAtP      ; DATA XREF: LoadImage_kernelcache_img3+B2�r&lt;br /&gt;
N88AP_iBoot:4FF167C8                                             ; &amp;quot;data starts at %p\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167CC 0C4 off_4FF167CC    DCD aUncompressedSizeTooLargeUMaxD&lt;br /&gt;
N88AP_iBoot:4FF167CC                                             ; DATA XREF: LoadImage_kernelcache_img3+E8�r&lt;br /&gt;
N88AP_iBoot:4FF167CC                                             ; &amp;quot;uncompressed size too large %u, max %d\n&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF167D0     ; int off_4FF167D0&lt;br /&gt;
N88AP_iBoot:4FF167D0 0C4 off_4FF167D0    DCD aSizeMismatchFromLzssDShouldBeD&lt;br /&gt;
N88AP_iBoot:4FF167D0                                             ; DATA XREF: LoadImage_kernelcache_img3+108�r&lt;br /&gt;
N88AP_iBoot:4FF167D0                                             ; &amp;quot;size mismatch from lzss %d, should be %&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF167D4     ; int off_4FF167D4&lt;br /&gt;
N88AP_iBoot:4FF167D4 0C4 off_4FF167D4    DCD aAdlerMismatch      ; DATA XREF: LoadImage_kernelcache_img3+128�r&lt;br /&gt;
N88AP_iBoot:4FF167D4                                             ; &amp;quot;adler mismatch\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167D8     ; int off_4FF167D8&lt;br /&gt;
N88AP_iBoot:4FF167D8 0C4 off_4FF167D8    DCD aDone               ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF15F36�r&lt;br /&gt;
N88AP_iBoot:4FF167D8                                             ; &amp;quot;done\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167DC     ; int dword_4FF167DC&lt;br /&gt;
N88AP_iBoot:4FF167DC 0C4 dword_4FF167DC  DCD 0xFEEDFACE          ; DATA XREF: LoadImage_kernelcache_img3+148�r&lt;br /&gt;
N88AP_iBoot:4FF167E0     ; int off_4FF167E0&lt;br /&gt;
N88AP_iBoot:4FF167E0 0C4 off_4FF167E0    DCD aLoad_macho_imageFailedToLoadDeviceTree&lt;br /&gt;
N88AP_iBoot:4FF167E0                                             ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF15F62�r&lt;br /&gt;
N88AP_iBoot:4FF167E0                                             ; &amp;quot;load_macho_image: failed to load device&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF167E4 0C4 off_4FF167E4    DCD dword_4FF2CD04      ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF15F6E�r&lt;br /&gt;
N88AP_iBoot:4FF167E4                                             ; LoadImage_kernelcache_img3+3FC�r&lt;br /&gt;
N88AP_iBoot:4FF167E4                                             ; LoadImage_kernelcache_img3+410�r&lt;br /&gt;
N88AP_iBoot:4FF167E4                                             ; LoadImage_kernelcache_img3+424�r&lt;br /&gt;
N88AP_iBoot:4FF167E8 0C4 off_4FF167E8    DCD dword_4FF2CD10      ; DATA XREF: LoadImage_kernelcache_img3+178�r&lt;br /&gt;
N88AP_iBoot:4FF167E8                                             ; LoadImage_kernelcache_img3+1BC�r&lt;br /&gt;
N88AP_iBoot:4FF167EC 0C4 off_4FF167EC    DCD dword_4FF2CBCC      ; DATA XREF: LoadImage_kernelcache_img3+1A4�r&lt;br /&gt;
N88AP_iBoot:4FF167EC                                             ; LoadImage_kernelcache_img3+1A8�r&lt;br /&gt;
N88AP_iBoot:4FF167EC                                             ; LoadImage_kernelcache_img3:loc_4FF1607C�r&lt;br /&gt;
N88AP_iBoot:4FF167EC                                             ; LoadImage_kernelcache_img3+27C�r&lt;br /&gt;
N88AP_iBoot:4FF167EC                                             ; LoadImage_kernelcache_img3+2B2�r ...&lt;br /&gt;
N88AP_iBoot:4FF167F0 0C4 off_4FF167F0    DCD a__pagezero         ; DATA XREF: LoadImage_kernelcache_img3+1D0�r&lt;br /&gt;
N88AP_iBoot:4FF167F0                                             ; &amp;quot;__PAGEZERO&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167F4 0C4 off_4FF167F4    DCD aKernelS            ; DATA XREF: LoadImage_kernelcache_img3+1F4�r&lt;br /&gt;
N88AP_iBoot:4FF167F4                                             ; &amp;quot;Kernel-%s&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167F8 0C4 off_4FF167F8    DCD a__prelink          ; DATA XREF: LoadImage_kernelcache_img3+212�r&lt;br /&gt;
N88AP_iBoot:4FF167F8                                             ; &amp;quot;__PRELINK&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF167FC 0C4 off_4FF167FC    DCD dword_4FF2CD14      ; DATA XREF: LoadImage_kernelcache_img3+21C�r&lt;br /&gt;
N88AP_iBoot:4FF16800 0C4 off_4FF16800    DCD dword_4FF2CBC8      ; DATA XREF: LoadImage_kernelcache_img3+28E�r&lt;br /&gt;
N88AP_iBoot:4FF16804 0C4 off_4FF16804    DCD dword_4FF2A03C      ; DATA XREF: LoadImage_kernelcache_img3+2B6�r&lt;br /&gt;
N88AP_iBoot:4FF16804                                             ; LoadImage_kernelcache_img3+452�r&lt;br /&gt;
N88AP_iBoot:4FF16808 0C4 off_4FF16808    DCD dword_4FF214E8      ; DATA XREF: LoadImage_kernelcache_img3+2BC�r&lt;br /&gt;
N88AP_iBoot:4FF16808                                             ; LoadImage_kernelcache_img3+46E�r&lt;br /&gt;
N88AP_iBoot:4FF16808                                             ; LoadImage_kernelcache_img3+49C�r&lt;br /&gt;
N88AP_iBoot:4FF16808                                             ; LoadImage_kernelcache_img3+4CA�r&lt;br /&gt;
N88AP_iBoot:4FF16808                                             ; LoadImage_kernelcache_img3+4F8�r ...&lt;br /&gt;
N88AP_iBoot:4FF1680C 0C4 off_4FF1680C    DCD aRdMd0NandEnableReformat1Progress&lt;br /&gt;
N88AP_iBoot:4FF1680C                                             ; DATA XREF: LoadImage_kernelcache_img3+2C6�r&lt;br /&gt;
N88AP_iBoot:4FF1680C                                             ; &amp;quot;rd=md0 nand-enable-reformat=1 -progress&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF16810 0C4 dword_4FF16810  DCD 'Teth'              ; DATA XREF: LoadImage_kernelcache_img3+2CA�r&lt;br /&gt;
N88AP_iBoot:4FF16814 0C4 off_4FF16814    DCD aIsTethered         ; DATA XREF: LoadImage_kernelcache_img3+2EA�r&lt;br /&gt;
N88AP_iBoot:4FF16814                                             ; LoadImage_kernelcache_img3:loc_4FF160FA�r&lt;br /&gt;
N88AP_iBoot:4FF16814                                             ; &amp;quot;is-tethered&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16818     ; int off_4FF16818&lt;br /&gt;
N88AP_iBoot:4FF16818 0C4 off_4FF16818    DCD n88ap__iBOOT__gBootArgs.commandLine&lt;br /&gt;
N88AP_iBoot:4FF16818                                             ; DATA XREF: LoadImage_kernelcache_img3+302�r&lt;br /&gt;
N88AP_iBoot:4FF16818                                             ; LoadImage_kernelcache_img3:loc_4FF16114�r&lt;br /&gt;
N88AP_iBoot:4FF16818                                             ; LoadImage_kernelcache_img3+322�r&lt;br /&gt;
N88AP_iBoot:4FF16818                                             ; LoadImage_kernelcache_img3+330�r&lt;br /&gt;
N88AP_iBoot:4FF16818                                             ; LoadImage_kernelcache_img3+340�r ...&lt;br /&gt;
N88AP_iBoot:4FF1681C 0C4 off_4FF1681C    DCD aSForceUsbPower1    ; DATA XREF: LoadImage_kernelcache_img3+306�r&lt;br /&gt;
N88AP_iBoot:4FF1681C                                             ; &amp;quot;%s force-usb-power=1 &amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16820 0C4 off_4FF16820    DCD aS_2                ; DATA XREF: LoadImage_kernelcache_img3+314�r&lt;br /&gt;
N88AP_iBoot:4FF16820                                             ; &amp;quot;%s &amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16824     ; int off_4FF16824&lt;br /&gt;
N88AP_iBoot:4FF16824 0C4 off_4FF16824    DCD aGbootargs_commandlineS&lt;br /&gt;
N88AP_iBoot:4FF16824                                             ; DATA XREF: LoadImage_kernelcache_img3+326�r&lt;br /&gt;
N88AP_iBoot:4FF16824                                             ; &amp;quot;gBootArgs.commandLine = [%s]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16828 0C4 off_4FF16828    DCD aS_3                ; DATA XREF: LoadImage_kernelcache_img3+334�r&lt;br /&gt;
N88AP_iBoot:4FF16828                                             ; &amp;quot;-s&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1682C 0C4 off_4FF1682C    DCD aV_1                ; DATA XREF: LoadImage_kernelcache_img3+344�r&lt;br /&gt;
N88AP_iBoot:4FF1682C                                             ; &amp;quot;-v&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16830 0C4 off_4FF16830    DCD aDebug              ; DATA XREF: LoadImage_kernelcache_img3+35A�r&lt;br /&gt;
N88AP_iBoot:4FF16830                                             ; &amp;quot;debug=&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16834 0C4 off_4FF16834    DCD aForceUsbPower1     ; DATA XREF: LoadImage_kernelcache_img3+36E�r&lt;br /&gt;
N88AP_iBoot:4FF16834                                             ; &amp;quot;force-usb-power=1&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16838 0C4 off_4FF16838    DCD dword_4FF2A148      ; DATA XREF: LoadImage_kernelcache_img3+37A�r&lt;br /&gt;
N88AP_iBoot:4FF1683C 0C4 off_4FF1683C    DCD dword_4FF2CD0C      ; DATA XREF: LoadImage_kernelcache_img3+398�r&lt;br /&gt;
N88AP_iBoot:4FF1683C                                             ; LoadImage_kernelcache_img3+3C0�r&lt;br /&gt;
N88AP_iBoot:4FF1683C                                             ; LoadImage_kernelcache_img3+3CE�r&lt;br /&gt;
N88AP_iBoot:4FF1683C                                             ; LoadImage_kernelcache_img3+3D8�r&lt;br /&gt;
N88AP_iBoot:4FF1683C                                             ; LoadImage_kernelcache_img3+5A6�r&lt;br /&gt;
N88AP_iBoot:4FF16840 0C4 off_4FF16840    DCD aVramSize           ; DATA XREF: LoadImage_kernelcache_img3+3AE�r&lt;br /&gt;
N88AP_iBoot:4FF16840                                             ; &amp;quot;vram-size&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16844 0C4 off_4FF16844    DCD dword_4FF2CD08      ; DATA XREF: LoadImage_kernelcache_img3+3E2�r&lt;br /&gt;
N88AP_iBoot:4FF16844                                             ; LoadImage_kernelcache_img3+402�r&lt;br /&gt;
N88AP_iBoot:4FF16844                                             ; LoadImage_kernelcache_img3+420�r&lt;br /&gt;
N88AP_iBoot:4FF16848 0C4 off_4FF16848    DCD aDevicetree         ; DATA XREF: LoadImage_kernelcache_img3+428�r&lt;br /&gt;
N88AP_iBoot:4FF16848                                             ; &amp;quot;DeviceTree&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1684C 0C4 off_4FF1684C    DCD dword_4FF2A040      ; DATA XREF: LoadImage_kernelcache_img3+43A�r&lt;br /&gt;
N88AP_iBoot:4FF16850 0C4 off_4FF16850    DCD aRamdisk            ; DATA XREF: LoadImage_kernelcache_img3+462�r&lt;br /&gt;
N88AP_iBoot:4FF16850                                             ; &amp;quot;RAMDisk&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16854 0C4 off_4FF16854    DCD aModelNumber        ; DATA XREF: LoadImage_kernelcache_img3+47A�r&lt;br /&gt;
N88AP_iBoot:4FF16854                                             ; &amp;quot;model-number&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16858 0C4 dword_4FF16858  DCD 'Mod#'              ; DATA XREF: LoadImage_kernelcache_img3+48E�r&lt;br /&gt;
N88AP_iBoot:4FF1685C 0C4 off_4FF1685C    DCD aRegionInfo         ; DATA XREF: LoadImage_kernelcache_img3+4A8�r&lt;br /&gt;
N88AP_iBoot:4FF1685C                                             ; &amp;quot;region-info&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16860 0C4 dword_4FF16860  DCD 'Regn'              ; DATA XREF: LoadImage_kernelcache_img3+4BC�r&lt;br /&gt;
N88AP_iBoot:4FF16864 0C4 off_4FF16864    DCD aSerialNumber       ; DATA XREF: LoadImage_kernelcache_img3+4D6�r&lt;br /&gt;
N88AP_iBoot:4FF16864                                             ; &amp;quot;serial-number&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16868 0C4 dword_4FF16868  DCD 'SrNm'              ; DATA XREF: LoadImage_kernelcache_img3+4EA�r&lt;br /&gt;
N88AP_iBoot:4FF1686C 0C4 off_4FF1686C    DCD aMlbSerialNumber    ; DATA XREF: LoadImage_kernelcache_img3+504�r&lt;br /&gt;
N88AP_iBoot:4FF1686C                                             ; &amp;quot;mlb-serial-number&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16870 0C4 dword_4FF16870  DCD 'MLB#'              ; DATA XREF: LoadImage_kernelcache_img3+518�r&lt;br /&gt;
N88AP_iBoot:4FF16874 0C4 off_4FF16874    DCD aConfigNumber       ; DATA XREF: LoadImage_kernelcache_img3+532�r&lt;br /&gt;
N88AP_iBoot:4FF16874                                             ; &amp;quot;config-number&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16878 0C4 dword_4FF16878  DCD 'CFG#'              ; DATA XREF: LoadImage_kernelcache_img3+546�r&lt;br /&gt;
N88AP_iBoot:4FF1687C 0C4 off_4FF1687C    DCD aPram               ; DATA XREF: LoadImage_kernelcache_img3+554�r&lt;br /&gt;
N88AP_iBoot:4FF1687C                                             ; &amp;quot;pram&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16880 0C4 off_4FF16880    DCD aReg                ; DATA XREF: LoadImage_kernelcache_img3+560�r&lt;br /&gt;
N88AP_iBoot:4FF16880                                             ; LoadImage_kernelcache_img3+592�r&lt;br /&gt;
N88AP_iBoot:4FF16880                                             ; &amp;quot;reg&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16884 0C4 off_4FF16884    DCD 0x4FFFC000          ; DATA XREF: LoadImage_kernelcache_img3+576�r&lt;br /&gt;
N88AP_iBoot:4FF16888 0C4 off_4FF16888    DCD aVram               ; DATA XREF: LoadImage_kernelcache_img3+586�r&lt;br /&gt;
N88AP_iBoot:4FF16888                                             ; &amp;quot;vram&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1688C 0C4 off_4FF1688C    DCD aNetworkType        ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF163BC�r&lt;br /&gt;
N88AP_iBoot:4FF1688C                                             ; &amp;quot;network-type&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16890 0C4 off_4FF16890    DCD aEthernet           ; DATA XREF: LoadImage_kernelcache_img3+5C2�r&lt;br /&gt;
N88AP_iBoot:4FF16890                                             ; LoadImage_kernelcache_img3+88C�r&lt;br /&gt;
N88AP_iBoot:4FF16890                                             ; &amp;quot;ethernet&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16894 0C4 off_4FF16894    DCD aChosen             ; DATA XREF: LoadImage_kernelcache_img3+5D4�r&lt;br /&gt;
N88AP_iBoot:4FF16894                                             ; &amp;quot;chosen&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16898     ; int off_4FF16898&lt;br /&gt;
N88AP_iBoot:4FF16898 0C4 off_4FF16898    DCD aUpdatedevicetreeFailedToFindTheChosenNode&lt;br /&gt;
N88AP_iBoot:4FF16898                                             ; DATA XREF: LoadImage_kernelcache_img3+5E0�r&lt;br /&gt;
N88AP_iBoot:4FF16898                                             ; &amp;quot;UpdateDeviceTree: failed to find the /c&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF1689C 0C4 off_4FF1689C    DCD aDebugEnabled       ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF163EE�r&lt;br /&gt;
N88AP_iBoot:4FF1689C                                             ; &amp;quot;debug-enabled&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168A0 0C4 off_4FF168A0    DCD aDevelopmentCert    ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16410�r&lt;br /&gt;
N88AP_iBoot:4FF168A0                                             ; &amp;quot;development-cert&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168A4 0C4 off_4FF168A4    DCD aProductionCert     ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16434�r&lt;br /&gt;
N88AP_iBoot:4FF168A4                                             ; &amp;quot;production-cert&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168A8 0C4 off_4FF168A8    DCD aGidAesKey          ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16458�r&lt;br /&gt;
N88AP_iBoot:4FF168A8                                             ; &amp;quot;gid-aes-key&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168AC 0C4 off_4FF168AC    DCD aUidAesKey          ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF1647C�r&lt;br /&gt;
N88AP_iBoot:4FF168AC                                             ; &amp;quot;uid-aes-key&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168B0 0C4 off_4FF168B0    DCD aSecureBoot         ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF164A0�r&lt;br /&gt;
N88AP_iBoot:4FF168B0                                             ; &amp;quot;secure-boot&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168B4 0C4 off_4FF168B4    DCD aSoftwareBehavior   ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF164C4�r&lt;br /&gt;
N88AP_iBoot:4FF168B4                                             ; &amp;quot;software-behavior&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168B8 0C4 dword_4FF168B8  DCD 'SwBh'              ; DATA XREF: LoadImage_kernelcache_img3+6D2�r&lt;br /&gt;
N88AP_iBoot:4FF168BC 0C4 off_4FF168BC    DCD aSystemTrusted      ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF164E0�r&lt;br /&gt;
N88AP_iBoot:4FF168BC                                             ; &amp;quot;system-trusted&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168C0 0C4 off_4FF168C0    DCD aBoardId            ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16502�r&lt;br /&gt;
N88AP_iBoot:4FF168C0                                             ; &amp;quot;board-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168C4 0C4 off_4FF168C4    DCD aChipId             ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF1651C�r&lt;br /&gt;
N88AP_iBoot:4FF168C4                                             ; &amp;quot;chip-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168C8 0C4 off_4FF168C8    DCD aUniqueChipId       ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16536�r&lt;br /&gt;
N88AP_iBoot:4FF168C8                                             ; &amp;quot;unique-chip-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168CC 0C4 off_4FF168CC    DCD aFirmwareVersion    ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16552�r&lt;br /&gt;
N88AP_iBoot:4FF168CC                                             ; &amp;quot;firmware-version&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168D0 0C4 off_4FF168D0    DCD aIboot636_66        ; DATA XREF: LoadImage_kernelcache_img3+762�r&lt;br /&gt;
N88AP_iBoot:4FF168D0                                             ; &amp;quot;iBoot-636.66&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168D4 0C4 off_4FF168D4    DCD aBootpResponse      ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF1656E�r&lt;br /&gt;
N88AP_iBoot:4FF168D4                                             ; &amp;quot;bootp-response&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168D8 0C4 off_4FF168D8    DCD dword_4FF2CD18      ; DATA XREF: LoadImage_kernelcache_img3+77C�r&lt;br /&gt;
N88AP_iBoot:4FF168DC 0C4 off_4FF168DC    DCD aIpaddr             ; DATA XREF: LoadImage_kernelcache_img3+784�r&lt;br /&gt;
N88AP_iBoot:4FF168DC                                             ; &amp;quot;ipaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168E0 0C4 off_4FF168E0    DCD aGateway            ; DATA XREF: LoadImage_kernelcache_img3+79E�r&lt;br /&gt;
N88AP_iBoot:4FF168E0                                             ; LoadImage_kernelcache_img3+7A8�r&lt;br /&gt;
N88AP_iBoot:4FF168E0                                             ; &amp;quot;gateway&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168E4 0C4 off_4FF168E4    DCD dword_4FF25954      ; DATA XREF: LoadImage_kernelcache_img3+7AE�r&lt;br /&gt;
N88AP_iBoot:4FF168E8 0C4 off_4FF168E8    DCD dword_4FF2595C      ; DATA XREF: LoadImage_kernelcache_img3+7BA�r&lt;br /&gt;
N88AP_iBoot:4FF168EC 0C4 off_4FF168EC    DCD aRd_1               ; DATA XREF: LoadImage_kernelcache_img3+7E0�r&lt;br /&gt;
N88AP_iBoot:4FF168EC                                             ; &amp;quot;rd=&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168F0 0C4 off_4FF168F0    DCD aRootMatching       ; DATA XREF: LoadImage_kernelcache_img3+7EA�r&lt;br /&gt;
N88AP_iBoot:4FF168F0                                             ; &amp;quot;root-matching&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168F4 0C4 off_4FF168F4    DCD aDictKeyIoproviderclassKeyStringIomediaStringK&lt;br /&gt;
N88AP_iBoot:4FF168F4                                             ; DATA XREF: LoadImage_kernelcache_img3+800�r&lt;br /&gt;
N88AP_iBoot:4FF168F4                                             ; &amp;quot;&amp;lt;dict&amp;gt;&amp;lt;key&amp;gt;IOProviderClass&amp;lt;/key&amp;gt;&amp;lt;string&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF168F8 0C4 off_4FF168F8    DCD aPlatformName       ; DATA XREF: LoadImage_kernelcache_img3+814�r&lt;br /&gt;
N88AP_iBoot:4FF168F8                                             ; &amp;quot;platform-name&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF168FC 0C4 off_4FF168FC    DCD aS5l8920x           ; DATA XREF: LoadImage_kernelcache_img3+828�r&lt;br /&gt;
N88AP_iBoot:4FF168FC                                             ; &amp;quot;s5l8920x&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16900 0C4 off_4FF16900    DCD aEthaddr            ; DATA XREF: LoadImage_kernelcache_img3+83C�r&lt;br /&gt;
N88AP_iBoot:4FF16900                                             ; LoadImage_kernelcache_img3+848�r&lt;br /&gt;
N88AP_iBoot:4FF16900                                             ; &amp;quot;ethaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16904 0C4 off_4FF16904    DCD aLocalMacAddress    ; DATA XREF: LoadImage_kernelcache_img3+86C�r&lt;br /&gt;
N88AP_iBoot:4FF16904                                             ; LoadImage_kernelcache_img3+896�r&lt;br /&gt;
N88AP_iBoot:4FF16904                                             ; LoadImage_kernelcache_img3+8E6�r&lt;br /&gt;
N88AP_iBoot:4FF16904                                             ; LoadImage_kernelcache_img3+974�r&lt;br /&gt;
N88AP_iBoot:4FF16904                                             ; &amp;quot;local-mac-address&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16908 0C4 off_4FF16908    DCD aCompatible         ; DATA XREF: LoadImage_kernelcache_img3+8B6�r&lt;br /&gt;
N88AP_iBoot:4FF16908                                             ; &amp;quot;compatible&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1690C 0C4 off_4FF1690C    DCD aXxx                ; DATA XREF: LoadImage_kernelcache_img3+8CA�r&lt;br /&gt;
N88AP_iBoot:4FF1690C                                             ; &amp;quot;xxx&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16910     ; int off_4FF16910&lt;br /&gt;
N88AP_iBoot:4FF16910 0C4 off_4FF16910    DCD aEthernetDisabled   ; DATA XREF: LoadImage_kernelcache_img3+8D2�r&lt;br /&gt;
N88AP_iBoot:4FF16910                                             ; &amp;quot;Ethernet disabled\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16914 0C4 off_4FF16914    DCD aArmIoSdio          ; DATA XREF: LoadImage_kernelcache_img3+8DA�r&lt;br /&gt;
N88AP_iBoot:4FF16914                                             ; &amp;quot;arm-io/sdio&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16918 0C4 off_4FF16918    DCD aWifiaddr           ; DATA XREF: LoadImage_kernelcache_img3+8F8�r&lt;br /&gt;
N88AP_iBoot:4FF16918                                             ; LoadImage_kernelcache_img3+902�r&lt;br /&gt;
N88AP_iBoot:4FF16918                                             ; &amp;quot;wifiaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1691C 0C4 off_4FF1691C    DCD aTxCalibration      ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF1671C�r&lt;br /&gt;
N88AP_iBoot:4FF1691C                                             ; &amp;quot;tx-calibration&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16920     ; int off_4FF16920&lt;br /&gt;
N88AP_iBoot:4FF16920 0C4 off_4FF16920    DCD aInstallingWifiCalibration&lt;br /&gt;
N88AP_iBoot:4FF16920                                             ; DATA XREF: LoadImage_kernelcache_img3+92A�r&lt;br /&gt;
N88AP_iBoot:4FF16920                                             ; &amp;quot;Installing WIFI Calibration\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16924 0C4 off_4FF16924    DCD aVendorId           ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16746�r&lt;br /&gt;
N88AP_iBoot:4FF16924                                             ; &amp;quot;vendor-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16928 0C4 off_4FF16928    DCD aArmIoUart3Bluetooth&lt;br /&gt;
N88AP_iBoot:4FF16928                                             ; DATA XREF: LoadImage_kernelcache_img3+966�r&lt;br /&gt;
N88AP_iBoot:4FF16928                                             ; &amp;quot;arm-io/uart3/bluetooth&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1692C 0C4 off_4FF1692C    DCD aBtaddr             ; DATA XREF: LoadImage_kernelcache_img3+98A�r&lt;br /&gt;
N88AP_iBoot:4FF1692C                                             ; LoadImage_kernelcache_img3+998�r&lt;br /&gt;
N88AP_iBoot:4FF1692C                                             ; &amp;quot;btaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16930     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16930&lt;br /&gt;
N88AP_iBoot:4FF16930     loc_4FF16930                            ; CODE XREF: LoadImage_kernelcache_img3+992�j&lt;br /&gt;
N88AP_iBoot:4FF16930 0C4                 STR     R0, [SP,#0xC4+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16932 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16934 0C4                 MOVS    R0, #4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16936 0C4                 MOVS    R2, #6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16938 0C4                 ADD     R3, SP, #0xC4+var_78 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1693A 0C4                 BL      sub_4FF1A638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1693E&lt;br /&gt;
N88AP_iBoot:4FF1693E     loc_4FF1693E                            ; CODE XREF: LoadImage_kernelcache_img3+986�j&lt;br /&gt;
N88AP_iBoot:4FF1693E                                             ; LoadImage_kernelcache_img3+99E�j&lt;br /&gt;
N88AP_iBoot:4FF1693E 0C4                 LDR     R3, =aVendorId  ; &amp;quot;vendor-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16940 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16942 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16944 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16946 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16948 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1694A 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1694E 0C4                 CBZ     R0, loc_4FF16960 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16950 0C4                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16952 0C4                 MOVS    R0, #5          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16954 0C4                 STR     R3, [SP,#0xC4+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16956 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16958 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1695A 0C4                 ADD     R3, SP, #0xC4+var_78 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1695C 0C4                 BL      sub_4FF1A638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16960&lt;br /&gt;
N88AP_iBoot:4FF16960     loc_4FF16960                            ; CODE XREF: LoadImage_kernelcache_img3+970�j&lt;br /&gt;
N88AP_iBoot:4FF16960                                             ; LoadImage_kernelcache_img3+B4A�j&lt;br /&gt;
N88AP_iBoot:4FF16960 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16962 0C4                 LDR     R1, =aBaseband  ; &amp;quot;baseband&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16964 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16966 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1696A 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1696C 0C4                 BEQ     loc_4FF169CC    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1696E 0C4                 LDR     R3, =aBatteryId ; &amp;quot;battery-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16970 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16972 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16974 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16976 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16978 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1697A 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1697E 0C4                 CBZ     R0, loc_4FF16988 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16980 0C4                 LDR     R0, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16982 0C4                 LDR     R1, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16984 0C4                 BL      sub_4FF10090    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16988&lt;br /&gt;
N88AP_iBoot:4FF16988     loc_4FF16988                            ; CODE XREF: LoadImage_kernelcache_img3+B7A�j&lt;br /&gt;
N88AP_iBoot:4FF16988 0C4                 LDR     R3, =aDeviceImei ; &amp;quot;device-imei&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1698A 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1698C 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1698E 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16990 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16992 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16994 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16998 0C4                 CBZ     R0, loc_4FF169AA ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1699A 0C4                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1699C 0C4                 MOVS    R0, #7          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1699E 0C4                 STR     R3, [SP,#0xC4+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF169A0 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF169A2 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF169A4 0C4                 ADD     R3, SP, #0xC4+var_78 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169A6 0C4                 BL      sub_4FF1A638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF169AA&lt;br /&gt;
N88AP_iBoot:4FF169AA     loc_4FF169AA                            ; CODE XREF: LoadImage_kernelcache_img3+B94�j&lt;br /&gt;
N88AP_iBoot:4FF169AA 0C4                 LDR     R3, =aSnum      ; &amp;quot;snum&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF169AC 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF169AE 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169B0 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF169B2 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169B4 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169B6 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF169BA 0C4                 CBZ     R0, loc_4FF169CC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF169BC 0C4                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF169BE 0C4                 MOVS    R0, #8          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF169C0 0C4                 STR     R3, [SP,#0xC4+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF169C2 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF169C4 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF169C6 0C4                 ADD     R3, SP, #0xC4+var_78 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169C8 0C4                 BL      sub_4FF1A638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF169CC&lt;br /&gt;
N88AP_iBoot:4FF169CC     loc_4FF169CC                            ; CODE XREF: LoadImage_kernelcache_img3+B68�j&lt;br /&gt;
N88AP_iBoot:4FF169CC                                             ; LoadImage_kernelcache_img3+BB6�j&lt;br /&gt;
N88AP_iBoot:4FF169CC 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF169CE 0C4                 LDR     R1, =aCharger   ; &amp;quot;charger&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF169D0 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169D2 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF169D6 0C4                 CBZ     R0, loc_4FF16A0C ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF169D8 0C4                 LDR     R3, =aBatteryId ; &amp;quot;battery-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF169DA 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF169DC 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169DE 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF169E0 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169E2 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169E4 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF169E8 0C4                 CBZ     R0, loc_4FF169F2 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF169EA 0C4                 LDR     R0, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF169EC 0C4                 LDR     R1, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF169EE 0C4                 BL      sub_4FF10090    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF169F2&lt;br /&gt;
N88AP_iBoot:4FF169F2     loc_4FF169F2                            ; CODE XREF: LoadImage_kernelcache_img3+BE4�j&lt;br /&gt;
N88AP_iBoot:4FF169F2 0C4                 LDR     R3, =aBootVoltage ; &amp;quot;boot-voltage&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF169F4 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF169F6 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169F8 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF169FA 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169FC 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF169FE 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A02 0C4                 CBZ     R0, loc_4FF16A0C ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16A04 0C4                 LDR     R4, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A06 0C4                 BL      sub_4FF04B90    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A0A 0C4                 STR     R0, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16A0C&lt;br /&gt;
N88AP_iBoot:4FF16A0C     loc_4FF16A0C                            ; CODE XREF: LoadImage_kernelcache_img3+BD2�j&lt;br /&gt;
N88AP_iBoot:4FF16A0C                                             ; LoadImage_kernelcache_img3+BFE�j&lt;br /&gt;
N88AP_iBoot:4FF16A0C 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16A0E 0C4                 LDR     R1, =aArmIoSpi1MultiTouch ; &amp;quot;arm-io/spi1/multi-touch&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16A10 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A12 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A16 0C4                 CBZ     R0, loc_4FF16A50 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16A18 0C4                 LDR     R3, =aMultiTouchCalibration ; &amp;quot;multi-touch-calibration&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16A1A 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A1C 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A1E 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16A20 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A22 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A24 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A28 0C4                 CBZ     R0, loc_4FF16A34 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16A2A 0C4                 LDR     R0, ='MtCl'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A2C 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A2E 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A30 0C4                 BL      sub_4FF17C24    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A34&lt;br /&gt;
N88AP_iBoot:4FF16A34     loc_4FF16A34                            ; CODE XREF: LoadImage_kernelcache_img3+C24�j&lt;br /&gt;
N88AP_iBoot:4FF16A34 0C4                 LDR     R3, =aProxCalibration ; &amp;quot;prox-calibration&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16A36 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A38 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A3A 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16A3C 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A3E 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A40 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A44 0C4                 CBZ     R0, loc_4FF16A50 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16A46 0C4                 LDR     R0, ='PxCl'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A48 0C4                 LDR     R1, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A4A 0C4                 LDR     R2, [SP,#0xC4+param_R3] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A4C 0C4                 BL      sub_4FF17C24    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A50&lt;br /&gt;
N88AP_iBoot:4FF16A50     loc_4FF16A50                            ; CODE XREF: LoadImage_kernelcache_img3+C12�j&lt;br /&gt;
N88AP_iBoot:4FF16A50                                             ; LoadImage_kernelcache_img3+C40�j&lt;br /&gt;
N88AP_iBoot:4FF16A50 0C4                 BL      sub_4FF189A4    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A54 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16A56 0C4                 BLT     loc_4FF16AD4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16A58 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16A5A 0C4                 LDR     R1, =aChosenIboot ; &amp;quot;chosen/iBoot&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16A5C 0C4                 ADD     R2, SP, #0xC4+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A5E 0C4                 BL      sub_4FF13964    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A62 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16A64 0C4                 BEQ     loc_4FF16AD4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16A66 0C4                 BL      sub_4FF19F20    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A6A 0C4                 LDR     R3, =aStartTime ; &amp;quot;start-time&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16A6C 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A6E 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16A70 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A72 0C4                 MOV     R10, R0         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16A74 0C4                 MOV     R11, R1         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16A76 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A78 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A7A 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A7E 0C4                 CBZ     R0, loc_4FF16A88 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16A80 0C4                 LDR     R3, =dword_4FF2DC60 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A82 0C4                 LDR     R2, [R3]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A84 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A86 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16A88&lt;br /&gt;
N88AP_iBoot:4FF16A88     loc_4FF16A88                            ; CODE XREF: LoadImage_kernelcache_img3+C7A�j&lt;br /&gt;
N88AP_iBoot:4FF16A88 0C4                 LDR     R3, =aDebugWaitStart ; &amp;quot;debug-wait-start&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16A8A 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A8C 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A8E 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16A90 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A92 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16A94 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16A98 0C4                 CBZ     R0, loc_4FF16AA2 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16A9A 0C4                 LDR     R3, =dword_4FF2DC48 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A9C 0C4                 LDR     R2, [R3]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16A9E 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AA0 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16AA2&lt;br /&gt;
N88AP_iBoot:4FF16AA2     loc_4FF16AA2                            ; CODE XREF: LoadImage_kernelcache_img3+C94�j&lt;br /&gt;
N88AP_iBoot:4FF16AA2 0C4                 LDR     R3, =aLoadKernelStart ; &amp;quot;load-kernel-start&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16AA4 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AA6 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16AA8 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16AAA 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16AAC 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16AAE 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16AB2 0C4                 CBZ     R0, loc_4FF16ABC ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16AB4 0C4                 LDR     R3, =dword_4FF2DC50 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AB6 0C4                 LDR     R2, [R3]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AB8 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16ABA 0C4                 STR     R2, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16ABC&lt;br /&gt;
N88AP_iBoot:4FF16ABC     loc_4FF16ABC                            ; CODE XREF: LoadImage_kernelcache_img3+CAE�j&lt;br /&gt;
N88AP_iBoot:4FF16ABC 0C4                 LDR     R3, =aPopulateRegistryTime ; &amp;quot;populate-registry-time&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16ABE 0C4                 LDR     R0, [SP,#0xC4+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AC0 0C4                 ADD     R1, SP, #0xC4+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16AC2 0C4                 STR     R3, [SP,#0xC4+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16AC4 0C4                 ADD     R2, SP, #0xC4+param_R2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16AC6 0C4                 ADD     R3, SP, #0xC4+param_R3 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16AC8 0C4                 BL      sub_4FF1390C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16ACC 0C4                 CBZ     R0, loc_4FF16AD4 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16ACE 0C4                 LDR     R3, [SP,#0xC4+param_R2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AD0 0C4                 STR.W   R10, [R3]       ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16AD4&lt;br /&gt;
N88AP_iBoot:4FF16AD4     loc_4FF16AD4                            ; CODE XREF: LoadImage_kernelcache_img3+5E8�j&lt;br /&gt;
N88AP_iBoot:4FF16AD4                                             ; LoadImage_kernelcache_img3+C52�j&lt;br /&gt;
N88AP_iBoot:4FF16AD4                                             ; LoadImage_kernelcache_img3+C60�j&lt;br /&gt;
N88AP_iBoot:4FF16AD4                                             ; LoadImage_kernelcache_img3+CC8�j&lt;br /&gt;
N88AP_iBoot:4FF16AD4 0C4                 MOV.W   R0, #0x1000     ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16AD8 0C4                 BL      sub_4FF15CC8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16ADC 0C4                 LDR     R3, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16ADE 0C4                 LDR     R4, =dword_4FF2DC40 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AE0 0C4                 MOV.W   R2, #0x1000     ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16AE4 0C4                 LDR     R1, [R3,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AE6 0C4                 LDR     R3, [R3,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AE8 0C4                 SUBS    R1, R1, R3      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16AEA 0C4                 ADDS    R1, R1, R0      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16AEC 0C4                 LDR     R0, =aBootargs  ; &amp;quot;BootArgs&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16AEE 0C4                 STR     R1, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16AF0 0C4                 BL      N88AP__iBoot__AllocateMemoryRange ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16AF4 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16AF6 0C4                 BL      sub_4FF15CC8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16AFA 0C4                 LDR     R1, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AFC 0C4                 LDR     R3, [R1,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16AFE 0C4                 LDR     R2, [R1,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B00 0C4                 SUBS    R2, R2, R3      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16B02 0C4                 LDR     R3, =0xFFFFC000 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B04 0C4                 ADD.W   R0, R0, #0x3000 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16B08 0C4                 ANDS    R0, R3          ; Rd = Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF16B0A 0C4                 ADD.W   R3, R2, R0      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16B0E 0C4                 MOV.W   R2, #0x1000     ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B12 0C4                 STR     R3, [R1,#0x10]  ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16B14 0C4                 LDR     R0, [R4]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B16 0C4                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B18 0C4                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF16B1C 0C4                 LDR     R1, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B1E 0C4                 MOV.W   R2, #0x138      ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B22 0C4                 LDR     R0, [R4]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B24 0C4                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF16B28 0C4                 LDR     R0, =0x40000090 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B2A 0C4                 BL      N88AP__iBOOT__iBootSleepValid ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16B2E 0C4                 LDR     R3, =dword_4FF2CBC8 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B30 0C4                 LDR     R3, [R3]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B32 0C4                 CBNZ    R3, loc_4FF16B40 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF16B34&lt;br /&gt;
N88AP_iBoot:4FF16B34     loc_4FF16B34                            ; CODE XREF: LoadImage_kernelcache_img3+166�j&lt;br /&gt;
N88AP_iBoot:4FF16B34                                             ; LoadImage_kernelcache_img3+29A�j&lt;br /&gt;
N88AP_iBoot:4FF16B34 0C4                 MOVS    R0, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B36 0C4                 BL      sub_4FF1A10C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16B3A 0C4                 MOV     R0, 0xFFFFFFF9&lt;br /&gt;
N88AP_iBoot:4FF16B3E 0C4                 B       loc_4FF16BA8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16B40     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16B40&lt;br /&gt;
N88AP_iBoot:4FF16B40     loc_4FF16B40                            ; CODE XREF: LoadImage_kernelcache_img3+D2E�j&lt;br /&gt;
N88AP_iBoot:4FF16B40 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B42 0C4                 STR.W   R3, [R8]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16B46 0C4                 B       loc_4FF16BA8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16B48     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16B48&lt;br /&gt;
N88AP_iBoot:4FF16B48     loc_4FF16B48                            ; CODE XREF: LoadImage_kernelcache_img3+8A�j&lt;br /&gt;
N88AP_iBoot:4FF16B48 0C4                 LDR     R6, [SP,#0xC4+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B4A 0C4                 LDR     R0, [R6]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B4C 0C4                 BL      sub_4FF1F408    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16B50 0C4                 CMP     R0, R4          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16B52 0C4                 IT NE                   ; If Then&lt;br /&gt;
N88AP_iBoot:4FF16B54 0C4                 LDRNE   R0, =aUnknownKernelcacheSignature ; &amp;quot;unknown kernelcache signature\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16B56 0C4                 BNE.W   loc_4FF15F30    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16B5A 0C4                 B.W     loc_4FF15E92    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16B5E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16B5E&lt;br /&gt;
N88AP_iBoot:4FF16B5E     loc_4FF16B5E                            ; CODE XREF: LoadImage_kernelcache_img3+15A�j&lt;br /&gt;
N88AP_iBoot:4FF16B5E 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B60 0C4                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B62 0C4                 MOV     R1, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B64 0C4                 BL      sub_4FF19FF0    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16B68 0C4                 LDR     R2, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B6A 0C4                 MOV.W   R3, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B6E 0C4                 LDR     R6, [SP,#0xC4+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B70 0C4                 STRH    R3, [R2]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16B72 0C4                 BL      sub_4FF1E3F8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16B76 0C4                 LDR     R1, =dword_4FF2CBCC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B78 0C4                 MOV.W   R3, #0xC0000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B7C 0C4                 STR     R3, [R1,#4]     ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16B7E 0C4                 ADD.W   R3, R3, #0x80000000 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16B82 0C4                 STR     R3, [R1,#8]     ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16B84 0C4                 ADD.W   R3, R3, #0xD0000000 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16B88 0C4                 STR     R3, [R1,#0xC]   ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16B8A 0C4                 ADDS    R0, #1          ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16B8C 0C4                 STRH    R0, [R1,#2]     ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16B8E 0C4                 LDR     R0, =dword_4FF2CD04 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B90 0C4                 LDR     R1, =dword_4FF2CD08 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16B92 0C4                 BL      sub_4FF13AEC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16B96 0C4                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16B98 0C4                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16B9A 0C4                 BGE.W   loc_4FF15F6E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16B9E 0C4                 B.W     loc_4FF15F62    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16BA2     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16BA2&lt;br /&gt;
N88AP_iBoot:4FF16BA2     loc_4FF16BA2                            ; CODE XREF: LoadImage_kernelcache_img3+198�j&lt;br /&gt;
N88AP_iBoot:4FF16BA2                                             ; LoadImage_kernelcache_img3+1E0�j&lt;br /&gt;
N88AP_iBoot:4FF16BA2                                             ; LoadImage_kernelcache_img3+262�j&lt;br /&gt;
N88AP_iBoot:4FF16BA2                                             ; LoadImage_kernelcache_img3+274�j&lt;br /&gt;
N88AP_iBoot:4FF16BA2                                             ; LoadImage_kernelcache_img3+294�j&lt;br /&gt;
N88AP_iBoot:4FF16BA2 0C4                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16BA4 0C4                 B.W     loc_4FF160A2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16BA8     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16BA8&lt;br /&gt;
N88AP_iBoot:4FF16BA8     loc_4FF16BA8                            ; CODE XREF: LoadImage_kernelcache_img3+28�j&lt;br /&gt;
N88AP_iBoot:4FF16BA8                                             ; LoadImage_kernelcache_img3+40�j&lt;br /&gt;
N88AP_iBoot:4FF16BA8                                             ; LoadImage_kernelcache_img3+6C�j&lt;br /&gt;
N88AP_iBoot:4FF16BA8                                             ; LoadImage_kernelcache_img3+86�j&lt;br /&gt;
N88AP_iBoot:4FF16BA8                                             ; LoadImage_kernelcache_img3+142�j ...&lt;br /&gt;
N88AP_iBoot:4FF16BA8 0C4                 LDR     R2, [SP,#0xC4+var_24] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16BAA 0C4                 LDR     R3, [R5]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16BAC 0C4                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16BAE 0C4                 BEQ     loc_4FF16BB4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16BB0 0C4                 BL      N88AP__iBOOT____stack_chk_fail ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16BB4     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16BB4&lt;br /&gt;
N88AP_iBoot:4FF16BB4     loc_4FF16BB4                            ; CODE XREF: LoadImage_kernelcache_img3+DAA�j&lt;br /&gt;
N88AP_iBoot:4FF16BB4 0C4                 SUB.W   SP, R7, #0x18   ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16BB8 0C4                 POP.W   {R8,R10,R11}    ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF16BBC 0B8                 POP     {R4-R7,PC}      ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF16BBC     ; End of function LoadImage_kernelcache_img3&lt;br /&gt;
N88AP_iBoot:4FF16BBC&lt;br /&gt;
N88AP_iBoot:4FF16BBC     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16BBE                     DCW 0xBF00&lt;br /&gt;
N88AP_iBoot:4FF16BC0     off_4FF16BC0    DCD aVendorId           ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF1693E�r&lt;br /&gt;
N88AP_iBoot:4FF16BC0                                             ; &amp;quot;vendor-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BC4     off_4FF16BC4    DCD aBaseband           ; DATA XREF: LoadImage_kernelcache_img3+B5E�r&lt;br /&gt;
N88AP_iBoot:4FF16BC4                                             ; &amp;quot;baseband&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BC8     off_4FF16BC8    DCD aBatteryId          ; DATA XREF: LoadImage_kernelcache_img3+B6A�r&lt;br /&gt;
N88AP_iBoot:4FF16BC8                                             ; LoadImage_kernelcache_img3+BD4�r&lt;br /&gt;
N88AP_iBoot:4FF16BC8                                             ; &amp;quot;battery-id&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BCC     off_4FF16BCC    DCD aDeviceImei         ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16988�r&lt;br /&gt;
N88AP_iBoot:4FF16BCC                                             ; &amp;quot;device-imei&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BD0     off_4FF16BD0    DCD aSnum               ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF169AA�r&lt;br /&gt;
N88AP_iBoot:4FF16BD0                                             ; &amp;quot;snum&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BD4     off_4FF16BD4    DCD aCharger            ; DATA XREF: LoadImage_kernelcache_img3+BCA�r&lt;br /&gt;
N88AP_iBoot:4FF16BD4                                             ; &amp;quot;charger&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BD8     off_4FF16BD8    DCD aBootVoltage        ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF169F2�r&lt;br /&gt;
N88AP_iBoot:4FF16BD8                                             ; &amp;quot;boot-voltage&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BDC     off_4FF16BDC    DCD aArmIoSpi1MultiTouch&lt;br /&gt;
N88AP_iBoot:4FF16BDC                                             ; DATA XREF: LoadImage_kernelcache_img3+C0A�r&lt;br /&gt;
N88AP_iBoot:4FF16BDC                                             ; &amp;quot;arm-io/spi1/multi-touch&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BE0     off_4FF16BE0    DCD aMultiTouchCalibration&lt;br /&gt;
N88AP_iBoot:4FF16BE0                                             ; DATA XREF: LoadImage_kernelcache_img3+C14�r&lt;br /&gt;
N88AP_iBoot:4FF16BE0                                             ; &amp;quot;multi-touch-calibration&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BE4     dword_4FF16BE4  DCD 'MtCl'              ; DATA XREF: LoadImage_kernelcache_img3+C26�r&lt;br /&gt;
N88AP_iBoot:4FF16BE8     off_4FF16BE8    DCD aProxCalibration    ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16A34�r&lt;br /&gt;
N88AP_iBoot:4FF16BE8                                             ; &amp;quot;prox-calibration&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BEC     dword_4FF16BEC  DCD 'PxCl'              ; DATA XREF: LoadImage_kernelcache_img3+C42�r&lt;br /&gt;
N88AP_iBoot:4FF16BF0     off_4FF16BF0    DCD aChosenIboot        ; DATA XREF: LoadImage_kernelcache_img3+C56�r&lt;br /&gt;
N88AP_iBoot:4FF16BF0                                             ; &amp;quot;chosen/iBoot&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BF4     off_4FF16BF4    DCD aStartTime          ; DATA XREF: LoadImage_kernelcache_img3+C66�r&lt;br /&gt;
N88AP_iBoot:4FF16BF4                                             ; &amp;quot;start-time&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16BF8     off_4FF16BF8    DCD dword_4FF2DC60      ; DATA XREF: LoadImage_kernelcache_img3+C7C�r&lt;br /&gt;
N88AP_iBoot:4FF16BFC     off_4FF16BFC    DCD aDebugWaitStart     ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16A88�r&lt;br /&gt;
N88AP_iBoot:4FF16BFC                                             ; &amp;quot;debug-wait-start&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16C00     off_4FF16C00    DCD dword_4FF2DC48      ; DATA XREF: LoadImage_kernelcache_img3+C96�r&lt;br /&gt;
N88AP_iBoot:4FF16C04     off_4FF16C04    DCD aLoadKernelStart    ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16AA2�r&lt;br /&gt;
N88AP_iBoot:4FF16C04                                             ; &amp;quot;load-kernel-start&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16C08     off_4FF16C08    DCD dword_4FF2DC50      ; DATA XREF: LoadImage_kernelcache_img3+CB0�r&lt;br /&gt;
N88AP_iBoot:4FF16C0C     off_4FF16C0C    DCD aPopulateRegistryTime&lt;br /&gt;
N88AP_iBoot:4FF16C0C                                             ; DATA XREF: LoadImage_kernelcache_img3:loc_4FF16ABC�r&lt;br /&gt;
N88AP_iBoot:4FF16C0C                                             ; &amp;quot;populate-registry-time&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16C10     off_4FF16C10    DCD dword_4FF2CBCC      ; DATA XREF: LoadImage_kernelcache_img3+CD8�r&lt;br /&gt;
N88AP_iBoot:4FF16C10                                             ; LoadImage_kernelcache_img3+CF6�r&lt;br /&gt;
N88AP_iBoot:4FF16C10                                             ; LoadImage_kernelcache_img3+D18�r&lt;br /&gt;
N88AP_iBoot:4FF16C10                                             ; LoadImage_kernelcache_img3+D64�r&lt;br /&gt;
N88AP_iBoot:4FF16C10                                             ; LoadImage_kernelcache_img3+D72�r&lt;br /&gt;
N88AP_iBoot:4FF16C14     off_4FF16C14    DCD dword_4FF2DC40      ; DATA XREF: LoadImage_kernelcache_img3+CDA�r&lt;br /&gt;
N88AP_iBoot:4FF16C18     off_4FF16C18    DCD aBootargs           ; DATA XREF: LoadImage_kernelcache_img3+CE8�r&lt;br /&gt;
N88AP_iBoot:4FF16C18                                             ; &amp;quot;BootArgs&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16C1C     dword_4FF16C1C  DCD 0xFFFFC000          ; DATA XREF: LoadImage_kernelcache_img3+CFE�r&lt;br /&gt;
N88AP_iBoot:4FF16C20     dword_4FF16C20  DCD 0x40000090          ; DATA XREF: LoadImage_kernelcache_img3+D24�r&lt;br /&gt;
N88AP_iBoot:4FF16C24     off_4FF16C24    DCD dword_4FF2CBC8      ; DATA XREF: LoadImage_kernelcache_img3+D2A�r&lt;br /&gt;
N88AP_iBoot:4FF16C28     off_4FF16C28    DCD aUnknownKernelcacheSignature&lt;br /&gt;
N88AP_iBoot:4FF16C28                                             ; DATA XREF: LoadImage_kernelcache_img3+D50�r&lt;br /&gt;
N88AP_iBoot:4FF16C28                                             ; &amp;quot;unknown kernelcache signature\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF16C2C     off_4FF16C2C    DCD dword_4FF2CD04      ; DATA XREF: LoadImage_kernelcache_img3+D8A�r&lt;br /&gt;
N88AP_iBoot:4FF16C30     off_4FF16C30    DCD dword_4FF2CD08      ; DATA XREF: LoadImage_kernelcache_img3+D8C�r&lt;br /&gt;
N88AP_iBoot:4FF16C34&lt;br /&gt;
N88AP_iBoot:4FF16C34     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF16C34&lt;br /&gt;
N88AP_iBoot:4FF16C34&lt;br /&gt;
N88AP_iBoot:4FF16C34     sub_4FF16C34                            ; CODE XREF: N88AP__iBoot__load_bank_partitions+6E�p&lt;br /&gt;
N88AP_iBoot:4FF16C34                                             ; N88AP__iBoot__load_bank_partitions+D0�p&lt;br /&gt;
N88AP_iBoot:4FF16C34                                             ; N88AP__iBoot__nvram_save+D2�p&lt;br /&gt;
N88AP_iBoot:4FF16C34                                             ; N88AP__iBoot__nvram_save+120�p&lt;br /&gt;
N88AP_iBoot:4FF16C34                                             ; N88AP__iBoot__nvram_save+178�p&lt;br /&gt;
N88AP_iBoot:4FF16C34 000                 LDRB    R3, [R0]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C36 000                 ADDS    R2, R0, #2      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16C38 000                 ADD.W   R12, R0, #0x10  ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16C3C 000                 B       loc_4FF16C46    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16C3E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16C3E&lt;br /&gt;
N88AP_iBoot:4FF16C3E     loc_4FF16C3E                            ; CODE XREF: sub_4FF16C34+18�j&lt;br /&gt;
N88AP_iBoot:4FF16C3E 000                 LDRB.W  R0, [R2,#-1]    ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C42 000                 ADD     R0, R3          ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16C44 000                 UXTH    R3, R0          ; Unsigned extend halfword to word&lt;br /&gt;
N88AP_iBoot:4FF16C46&lt;br /&gt;
N88AP_iBoot:4FF16C46     loc_4FF16C46                            ; CODE XREF: sub_4FF16C34+8�j&lt;br /&gt;
N88AP_iBoot:4FF16C46 000                 MOV     R1, R2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16C48 000                 ADDS    R2, #1          ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16C4A 000                 CMP     R12, R1         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16C4C 000                 BHI     loc_4FF16C3E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16C4E 000                 B       loc_4FF16C58    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16C50     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16C50&lt;br /&gt;
N88AP_iBoot:4FF16C50     loc_4FF16C50                            ; CODE XREF: sub_4FF16C34+26�j&lt;br /&gt;
N88AP_iBoot:4FF16C50 000                 AND.W   R2, R3, #0xFF   ; Rd = Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF16C54 000                 ADD.W   R3, R2, R3,LSR#8 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16C58&lt;br /&gt;
N88AP_iBoot:4FF16C58     loc_4FF16C58                            ; CODE XREF: sub_4FF16C34+1A�j&lt;br /&gt;
N88AP_iBoot:4FF16C58 000                 CMP     R3, #0xFF       ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16C5A 000                 BHI     loc_4FF16C50    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16C5C 000                 UXTB    R0, R3          ; Unsigned extend byte to word&lt;br /&gt;
N88AP_iBoot:4FF16C5E 000                 BX      LR              ; Branch to/from Thumb mode&lt;br /&gt;
N88AP_iBoot:4FF16C5E     ; End of function sub_4FF16C34&lt;br /&gt;
N88AP_iBoot:4FF16C5E&lt;br /&gt;
N88AP_iBoot:4FF16C60&lt;br /&gt;
N88AP_iBoot:4FF16C60     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF16C60&lt;br /&gt;
N88AP_iBoot:4FF16C60&lt;br /&gt;
N88AP_iBoot:4FF16C60     sub_4FF16C60                            ; CODE XREF: N88AP__iBoot__load_bank_partitions+1F2�p&lt;br /&gt;
N88AP_iBoot:4FF16C60                                             ; N88AP__iBoot__nvram_save+1B2�p&lt;br /&gt;
N88AP_iBoot:4FF16C60 000                 PUSH    {R4,LR}         ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF16C62 008                 LDR.W   R12, =off_4FF2A2FC ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C66 008                 LDR.W   R9, =dword_4FF2CE64 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C6A 008                 LDR.W   LR, =dword_4FF2CE60 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C6E 008                 LDR.W   R3, [R12,#4]    ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C72 008                 LDR.W   R4, [R9]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C76 008                 LDR.W   R1, [LR]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C7A 008                 B       loc_4FF16C96    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16C7C     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16C7C&lt;br /&gt;
N88AP_iBoot:4FF16C7C     loc_4FF16C7C                            ; CODE XREF: sub_4FF16C60+38�j&lt;br /&gt;
N88AP_iBoot:4FF16C7C 008                 CBZ     R4, loc_4FF16C86 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16C7E 008                 LDR     R0, [R3,#0x20]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C80 008                 LDR     R2, [R4,#0x20]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C82 008                 CMP     R0, R2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16C84 008                 BCS     loc_4FF16C88    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16C86&lt;br /&gt;
N88AP_iBoot:4FF16C86     loc_4FF16C86                            ; CODE XREF: sub_4FF16C60:loc_4FF16C7C�j&lt;br /&gt;
N88AP_iBoot:4FF16C86 008                 MOV     R4, R3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16C88&lt;br /&gt;
N88AP_iBoot:4FF16C88     loc_4FF16C88                            ; CODE XREF: sub_4FF16C60+24�j&lt;br /&gt;
N88AP_iBoot:4FF16C88 008                 CBZ     R1, loc_4FF16C92 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16C8A 008                 LDR     R0, [R3,#0x20]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C8C 008                 LDR     R2, [R1,#0x20]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C8E 008                 CMP     R0, R2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16C90 008                 BLS     loc_4FF16C94    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16C92&lt;br /&gt;
N88AP_iBoot:4FF16C92     loc_4FF16C92                            ; CODE XREF: sub_4FF16C60:loc_4FF16C88�j&lt;br /&gt;
N88AP_iBoot:4FF16C92 008                 MOV     R1, R3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16C94&lt;br /&gt;
N88AP_iBoot:4FF16C94     loc_4FF16C94                            ; CODE XREF: sub_4FF16C60+30�j&lt;br /&gt;
N88AP_iBoot:4FF16C94 008                 LDR     R3, [R3,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16C96&lt;br /&gt;
N88AP_iBoot:4FF16C96     loc_4FF16C96                            ; CODE XREF: sub_4FF16C60+1A�j&lt;br /&gt;
N88AP_iBoot:4FF16C96 008                 CMP     R3, R12         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16C98 008                 BNE     loc_4FF16C7C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16C9A 008                 STR.W   R4, [R9]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16C9E 008                 STR.W   R1, [LR]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF16CA2 008                 POP     {R4,PC}         ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF16CA2     ; End of function sub_4FF16C60&lt;br /&gt;
N88AP_iBoot:4FF16CA2&lt;br /&gt;
N88AP_iBoot:4FF16CA2     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16CA4     off_4FF16CA4    DCD off_4FF2A2FC        ; DATA XREF: sub_4FF16C60+2�r&lt;br /&gt;
N88AP_iBoot:4FF16CA8     off_4FF16CA8    DCD dword_4FF2CE64      ; DATA XREF: sub_4FF16C60+6�r&lt;br /&gt;
N88AP_iBoot:4FF16CAC     off_4FF16CAC    DCD dword_4FF2CE60      ; DATA XREF: sub_4FF16C60+A�r&lt;br /&gt;
N88AP_iBoot:4FF16CB0&lt;br /&gt;
N88AP_iBoot:4FF16CB0     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF16CB0&lt;br /&gt;
N88AP_iBoot:4FF16CB0     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF16CB0&lt;br /&gt;
N88AP_iBoot:4FF16CB0     sub_4FF16CB0                            ; CODE XREF: N88AP__iBoot__load_bank_partitions+1FC�p&lt;br /&gt;
N88AP_iBoot:4FF16CB0                                             ; N88AP__iBoot__nvram_save+2C�p&lt;br /&gt;
N88AP_iBoot:4FF16CB0&lt;br /&gt;
N88AP_iBoot:4FF16CB0     oldR4           = -0x14&lt;br /&gt;
N88AP_iBoot:4FF16CB0     oldR5           = -0x10&lt;br /&gt;
N88AP_iBoot:4FF16CB0     oldR6           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF16CB0     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF16CB0     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF16CB0&lt;br /&gt;
N88AP_iBoot:4FF16CB0 000                 PUSH    {R4-R7,LR}      ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF16CB2 014                 ADD     R7, SP, #0xC    ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16CB4 014                 LDR     R4, [R0,#0xC]   ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16CB6 014                 ADD.W   R5, R0, #8      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16CBA 014                 MOV     R6, R1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16CBC 014                 B       loc_4FF16CCC    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16CBE     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF16CBE&lt;br /&gt;
N88AP_iBoot:4FF16CBE     loc_4FF16CBE                            ; CODE XREF: sub_4FF16CB0+1E�j&lt;br /&gt;
N88AP_iBoot:4FF16CBE 014                 ADD.W   R1, R4, #0x14   ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF16CC2 014                 MOV     R0, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16CC4 014                 BL      sub_4FF1ECA0    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF16CC8 014                 CBZ     R0, loc_4FF16CD2 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF16CCA 014                 LDR     R4, [R4,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF16CCC&lt;br /&gt;
N88AP_iBoot:4FF16CCC     loc_4FF16CCC                            ; CODE XREF: sub_4FF16CB0+C�j&lt;br /&gt;
N88AP_iBoot:4FF16CCC 014                 CMP     R4, R5          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF16CCE 014                 BNE     loc_4FF16CBE    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF16CD0 014                 MOVS    R4, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16CD2&lt;br /&gt;
N88AP_iBoot:4FF16CD2     loc_4FF16CD2                            ; CODE XREF: sub_4FF16CB0+18�j&lt;br /&gt;
N88AP_iBoot:4FF16CD2 014                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF16CD4 014                 POP     {R4-R7,PC}      ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF16CD4     ; End of function sub_4FF16CB0&lt;br /&gt;
N88AP_iBoot:4FF16CD4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot-636.66.33&amp;diff=5902</id>
		<title>IBoot-636.66.33</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot-636.66.33&amp;diff=5902"/>
		<updated>2010-03-11T10:43:09Z</updated>

		<summary type="html">&lt;p&gt;Dimo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changes ==&lt;br /&gt;
* [[usb_control_msg(0x21, 2) Exploit]] fixed&lt;br /&gt;
* There are no longer assert()'s for the usb otg hardware handler functions, normally checked for in usb_core_init();&lt;br /&gt;
* Two new tasks: usb-high-current and usb-no-current&lt;br /&gt;
&lt;br /&gt;
== Allowed ==&lt;br /&gt;
=== Commands ===&lt;br /&gt;
* [[bootx (iBoot command)|bootx]]&lt;br /&gt;
* [[reboot (iBoot command)|reboot]]&lt;br /&gt;
* [[reboot (iBoot command)|reset]]&lt;br /&gt;
* [[bgcolor (iBoot command)|bgcolor]]&lt;br /&gt;
* [[setpicture (iBoot command)|setpicture]]&lt;br /&gt;
* [[go (iBoot command)|go]]&lt;br /&gt;
* [[ramdisk (iBoot command)|ramdisk]]&lt;br /&gt;
* [[devicetree (iBoot command)|devicetree]]&lt;br /&gt;
* [[getenv (iBoot command)|getenv]]&lt;br /&gt;
* [[setenv (iBoot command)|setenv]]&lt;br /&gt;
* [[saveenv (iBoot command)|saveenv]]&lt;br /&gt;
&lt;br /&gt;
=== Environmental Vars ===&lt;br /&gt;
* [[auto-boot (iBoot variable)|auto-boot]]&lt;br /&gt;
* [[boot-args (iBoot variable)|boot-args]]&lt;br /&gt;
* [[debug-uarts (iBoot variable)|debug-uarts]]&lt;br /&gt;
* [[filesize (iBoot variable)|filesize]]&lt;br /&gt;
&lt;br /&gt;
=== Very Usefull Function ===&lt;br /&gt;
* [[kernalcache_loader(iBootx command)|kernelcache_loader]]&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Image_load&amp;diff=5901</id>
		<title>Image load</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Image_load&amp;diff=5901"/>
		<updated>2010-03-11T10:40:11Z</updated>

		<summary type="html">&lt;p&gt;Dimo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
==Disassembly for image_load==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; int __fastcall n88ap__iBoot__image_load(struct MEMZ_STRUCT *mem_info, char *TAG_TYPE, int unknown1, int unknown2)&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     n88ap__iBoot__image_load                ; CODE XREF: n88ap__iBoot__diag_function+8A�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; sub_4FF009CC+22�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__go_command+66�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__ramdisk_command_function+7E�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__devicetree_function+7C�p ...&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     var_18          = -0x18&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     var_14          = -0x14&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR4           = -0x10&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR5           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0 000                 PUSH    {R4,R5,R7,LR}   ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF1D4E2 010                 ADD     R7, SP, #8      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E4 010                 SUB     SP, SP, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E6 018                 MOV     R5, R3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E8 018                 LDR     R3, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4EA 018                 MOV     R4, R2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4EC 018                 STR     R3, [SP,#0x18+var_14] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4EE 018                 LDR     R3, [R5]        ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF1D4F0 018                 STR     R3, [SP,#0x18+var_18] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4F2 018                 CBZ     R0, end_of_error ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1D4F4 018                 LDR     R2, [R0,#MEMZ_STRUCT.tag.full_size] ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF1D4F6 018                 CMP     R3, R2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4F8 018                 BCS     loc_4FF1D502    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D4FA 018                 LDR     R0, =aImage_loadImageTooLarge_0 ; &amp;quot;image_load: image too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1D4FC 018                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D500 018                 B       end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D502     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D502&lt;br /&gt;
N88AP_iBoot:4FF1D502     loc_4FF1D502                            ; CODE XREF: n88ap__iBoot__image_load+18�j&lt;br /&gt;
N88AP_iBoot:4FF1D502 018                 LDR     R2, [R0,#MEMZ_STRUCT.id_memz] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D504 018                 LDR     R3, ='Memz'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D506 018                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D508 018                 BEQ     MemZ_Operation  ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D50A 018                 LDR     R3, ='img3'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D50C 018                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D50E 018                 BNE     end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D510 018                 B       img3_Operation  ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D512     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D512&lt;br /&gt;
N88AP_iBoot:4FF1D512     MemZ_Operation                          ; CODE XREF: n88ap__iBoot__image_load+28�j&lt;br /&gt;
N88AP_iBoot:4FF1D512 018                 ADD     R2, SP, #0x18+var_14 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D514 018                 MOV     R3, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D516 018                 BL      n88ap__iBoot__blockdev ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D51A 018                 CBZ     R0, loc_4FF1D534 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1D51C 018                 CMP     R0, #0x16       ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D51E 018                 BNE     end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D520 018                 LDR     R3, [R4]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D522 018                 STR     R3, [SP,#0x18+var_14] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D524 018                 LDR     R3, [R5]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D526 018                 STR     R3, [SP,#0x18+var_18] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D528 018                 B       end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D52A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D52A&lt;br /&gt;
N88AP_iBoot:4FF1D52A     img3_Operation                          ; CODE XREF: n88ap__iBoot__image_load+30�j&lt;br /&gt;
N88AP_iBoot:4FF1D52A 018                 ADD     R2, SP, #0x18+var_14 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D52C 018                 MOV     R3, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D52E 018                 BL      n88ap__iBoot__blockdev ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D532 018                 CBNZ    R0, end_of_error ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF1D534&lt;br /&gt;
N88AP_iBoot:4FF1D534     loc_4FF1D534                            ; CODE XREF: n88ap__iBoot__image_load+3A�j&lt;br /&gt;
N88AP_iBoot:4FF1D534 018                 LDR     R3, [SP,#0x18+var_14] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D536 018                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D538 018                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53A 018                 LDR     R3, [SP,#0x18+var_18] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53C 018                 STR     R3, [R5]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53E 018                 B       loc_4FF1D54A    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D540     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D540&lt;br /&gt;
N88AP_iBoot:4FF1D540     end_of_error                            ; CODE XREF: n88ap__iBoot__image_load+12�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+20�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+2E�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+3E�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+48�j ...&lt;br /&gt;
N88AP_iBoot:4FF1D540 018                 MOV.W   R0, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D544 018                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D546 018                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D548 018                 STR     R3, [R5]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D54A&lt;br /&gt;
N88AP_iBoot:4FF1D54A     loc_4FF1D54A                            ; CODE XREF: n88ap__iBoot__image_load+5E�j&lt;br /&gt;
N88AP_iBoot:4FF1D54A 018                 SUB.W   SP, R7, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D54E 018                 POP     {R4,R5,R7,PC}   ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF1D54E     ; End of function n88ap__iBoot__image_load&lt;br /&gt;
N88AP_iBoot:4FF1D54E&lt;br /&gt;
N88AP_iBoot:4FF1D54E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D550     ; int off_4FF1D550&lt;br /&gt;
N88AP_iBoot:4FF1D550     off_4FF1D550    DCD aImage_loadImageTooLarge_0&lt;br /&gt;
N88AP_iBoot:4FF1D550                                             ; DATA XREF: n88ap__iBoot__image_load+1A�r&lt;br /&gt;
N88AP_iBoot:4FF1D550                                             ; &amp;quot;image_load: image too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1D554     dword_4FF1D554  DCD 'Memz'              ; DATA XREF: n88ap__iBoot__image_load+24�r&lt;br /&gt;
N88AP_iBoot:4FF1D558     dword_4FF1D558  DCD 'img3'              ; DATA XREF: n88ap__iBoot__image_load+2A�r&lt;br /&gt;
N88AP_iBoot:4FF1D55C&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Disassembly for blockdev==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF15868     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF15868&lt;br /&gt;
N88AP_iBoot:4FF15868     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF15868&lt;br /&gt;
N88AP_iBoot:4FF15868     n88ap__iBoot__blockdev                  ; CODE XREF: n88ap__iBoot__image_load+36�p&lt;br /&gt;
N88AP_iBoot:4FF15868                                             ; n88ap__iBoot__image_load+4E�p&lt;br /&gt;
N88AP_iBoot:4FF15868&lt;br /&gt;
N88AP_iBoot:4FF15868     var_94          = -0x94&lt;br /&gt;
N88AP_iBoot:4FF15868     var_90          = -0x90&lt;br /&gt;
N88AP_iBoot:4FF15868     var_8C          = -0x8C&lt;br /&gt;
N88AP_iBoot:4FF15868     var_88          = -0x88&lt;br /&gt;
N88AP_iBoot:4FF15868     var_84          = -0x84&lt;br /&gt;
N88AP_iBoot:4FF15868     var_80          = -0x80&lt;br /&gt;
N88AP_iBoot:4FF15868     var_7C          = -0x7C&lt;br /&gt;
N88AP_iBoot:4FF15868     var_78          = -0x78&lt;br /&gt;
N88AP_iBoot:4FF15868     var_74          = -0x74&lt;br /&gt;
N88AP_iBoot:4FF15868     var_70          = -0x70&lt;br /&gt;
N88AP_iBoot:4FF15868     var_6C          = -0x6C&lt;br /&gt;
N88AP_iBoot:4FF15868     var_68          = -0x68&lt;br /&gt;
N88AP_iBoot:4FF15868     var_64          = -0x64&lt;br /&gt;
N88AP_iBoot:4FF15868     var_60          = -0x60&lt;br /&gt;
N88AP_iBoot:4FF15868     argv2           = -0x5C&lt;br /&gt;
N88AP_iBoot:4FF15868     var_58          = -0x58&lt;br /&gt;
N88AP_iBoot:4FF15868     var_54          = -0x54&lt;br /&gt;
N88AP_iBoot:4FF15868     var_44          = -0x44&lt;br /&gt;
N88AP_iBoot:4FF15868     var_24          = -0x24&lt;br /&gt;
N88AP_iBoot:4FF15868     oldR4           = -0x14&lt;br /&gt;
N88AP_iBoot:4FF15868     oldR5           = -0x10&lt;br /&gt;
N88AP_iBoot:4FF15868     oldR6           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF15868     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF15868     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF15868&lt;br /&gt;
N88AP_iBoot:4FF15868 000                 PUSH    {R4-R7,LR}      ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF1586A 014                 ADD     R7, SP, #0xC    ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1586C 014                 PUSH.W  {R8,R10,R11}    ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF15870 020                 SUB     SP, SP, #0x74   ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15872 094                 MOV     R10, R1         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15874 094                 LDR     R1, =dword_4FF2A308 ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF15876 094                 STR     R3, [SP,#0x94+var_84] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15878 094                 MOV     R11, R2         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1587A 094                 LDR     R3, [R1]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1587C 094                 MOV     R5, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1587E 094                 STR     R3, [SP,#0x94+var_24] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15880 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15882 094                 STR     R3, [SP,#0x94+var_58] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15884 094                 LDR     R3, ='Memz'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15886 094                 LDR     R6, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15888 094                 LDR     R2, [R0,#MEMZ_STRUCT.id_memz] ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF1588A 094                 LDR.W   R8, [R0,#MEMZ_STRUCT.tag.full_size] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1588E 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15890 094                 BEQ     loc_4FF158CC    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15892 094                 LDR     R3, ='img3'     ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF15894 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15896 094                 BNE     loc_4FF158A0    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15898 094                 CBNZ    R6, loc_4FF158A6 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF1589A 094                 LDR     R0, =aLoadAddressNotSpecified_0 ; &amp;quot;load address not specified\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1589C 094                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF158A0&lt;br /&gt;
N88AP_iBoot:4FF158A0     loc_4FF158A0                            ; CODE XREF: n88ap__iBoot__blockdev+2E�j&lt;br /&gt;
N88AP_iBoot:4FF158A0 094                 MOV.W   R4, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158A4 094                 B       loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158A6     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF158A6&lt;br /&gt;
N88AP_iBoot:4FF158A6     loc_4FF158A6                            ; CODE XREF: n88ap__iBoot__blockdev+30�j&lt;br /&gt;
N88AP_iBoot:4FF158A6 094                 LDR     R3, [R0,#MEMZ_STRUCT.start_address] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158A8 094                 MOV     R1, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158AA 094                 LDR     R0, [R3,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158AC 094                 LDR     R2, [R3,#0xC]   ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158AE 094                 STR.W   R8, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF158B2 094                 MOV     R2, R2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158B4 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158B8 094                 LDR     R4, [R0,#0x1C]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158BA 094                 BLX     R4              ; Branch with Link and Exchange (register indirect)&lt;br /&gt;
N88AP_iBoot:4FF158BC 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF158BE 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158C0 094                 BGT     loc_4FF158E8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158C2 094                 MOV     R1, R4          ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF158C4 094                 LDR     R0, =aBlockdevReadFailedWithD_0 ; &amp;quot;blockdev read failed with %d\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF158C6 094                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF158CA 094                 B       loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158CC     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF158CC&lt;br /&gt;
N88AP_iBoot:4FF158CC     loc_4FF158CC                            ; CODE XREF: n88ap__iBoot__blockdev+28�j&lt;br /&gt;
N88AP_iBoot:4FF158CC 094                 LDR     R1, [R0,#MEMZ_STRUCT.start_address] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158CE 094                 LDR     R3, ='Img3'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158D0 094                 LDR     R2, [R1]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158D2 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF158D4 094                 BEQ     loc_4FF158DA    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158D6 094                 MOVS    R4, #0x16       ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158D8 094                 B       loc_4FF15B6C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158DA     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF158DA&lt;br /&gt;
N88AP_iBoot:4FF158DA     loc_4FF158DA                            ; CODE XREF: n88ap__iBoot__blockdev+6C�j&lt;br /&gt;
N88AP_iBoot:4FF158DA 094                 CBZ     R6, loc_4FF158E8 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF158DC 094                 CMP     R6, R1          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF158DE 094                 BEQ     loc_4FF158E8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158E0 094                 MOV     R0, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158E2 094                 MOV     R2, R8          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158E4 094                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF158E8&lt;br /&gt;
N88AP_iBoot:4FF158E8     loc_4FF158E8                            ; CODE XREF: n88ap__iBoot__blockdev+58�j&lt;br /&gt;
N88AP_iBoot:4FF158E8                                             ; n88ap__iBoot__blockdev:loc_4FF158DA�j&lt;br /&gt;
N88AP_iBoot:4FF158E8                                             ; n88ap__iBoot__blockdev+76�j&lt;br /&gt;
N88AP_iBoot:4FF158E8 094                 ADD     R0, SP, #0x94+var_58 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF158EA 094                 MOV     R1, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158EC 094                 MOV     R2, R8          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158EE 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158F0 094                 BL      sub_4FF153EC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF158F4 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158F6 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF158F8 094                 BNE.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158FC 094                 LDR     R2, [R5,#0xC]   ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158FE 094                 LDR     R3, ='img3'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15900 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15902 094                 BNE     loc_4FF15908    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15904 094                 MOVS    R1, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15906 094                 B       loc_4FF15910    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15908     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15908&lt;br /&gt;
N88AP_iBoot:4FF15908     loc_4FF15908                            ; CODE XREF: n88ap__iBoot__blockdev+9A�j&lt;br /&gt;
N88AP_iBoot:4FF15908 094                 LDR     R3, [R5,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1590A 094                 LSRS    R1, R3, #2      ; Logical Shift Right&lt;br /&gt;
N88AP_iBoot:4FF1590C 094                 AND.W   R1, R1, #1      ; Rd = Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF15910&lt;br /&gt;
N88AP_iBoot:4FF15910     loc_4FF15910                            ; CODE XREF: n88ap__iBoot__blockdev+9E�j&lt;br /&gt;
N88AP_iBoot:4FF15910 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15912 094                 BL      sub_4FF1548C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15916 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15918 094                 CBZ     R0, loc_4FF15938 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1591A 094                 CMP     R0, #1          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1591C 094                 BNE.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15920 094                 LDR     R0, [R5,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15922 094                 TST.W   R0, #2          ; Set cond. codes on Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF15926 094                 BNE.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1592A 094                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1592C 094                 BL      sub_4FF1A074    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15930 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15932 094                 BEQ.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15936 094                 B       loc_4FF15A40    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15938     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15938&lt;br /&gt;
N88AP_iBoot:4FF15938     loc_4FF15938                            ; CODE XREF: n88ap__iBoot__blockdev+B0�j&lt;br /&gt;
N88AP_iBoot:4FF15938 094                 LDR     R2, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1593A 094                 STR     R2, [SP,#0x94+var_70] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1593C 094                 BL      sub_4FF1F920    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15940 094                 MOVS    R1, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15942 094                 STR     R1, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15944 094                 STR     R1, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15946 094                 SUBS    R1, #1          ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15948 094                 STR     R1, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1594A 094                 LDR     R1, ='SDOM'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1594C 094                 STR     R4, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1594E 094                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15950 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15954 094                 LDR     R0, [SP,#0x94+var_70] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15956 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1595A 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1595C 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1595E 094                 BNE     loc_4FF15A44    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15960 094                 BL      sub_4FF1F914    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15964 094                 CBZ     R0, loc_4FF15982 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF15966 094                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15968 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1596A 094                 STR     R2, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1596C 094                 STR     R2, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1596E 094                 LDR     R1, ='PROD'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15970 094                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15972 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15974 094                 STR     R4, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15976 094                 STR     R4, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15978 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1597C 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1597E 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15980 094                 BNE     loc_4FF15A44    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15982&lt;br /&gt;
N88AP_iBoot:4FF15982     loc_4FF15982                            ; CODE XREF: n88ap__iBoot__blockdev+FC�j&lt;br /&gt;
N88AP_iBoot:4FF15982 094                 LDR     R4, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15984 094                 BL      sub_4FF1F8F8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15988 094                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1598A 094                 STR     R1, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1598C 094                 ADDS    R1, #1          ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1598E 094                 STR     R1, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15990 094                 STR     R1, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15992 094                 SUBS    R1, #1          ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15994 094                 STR     R1, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15996 094                 LDR     R1, ='CHIP'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15998 094                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1599A 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1599E 094                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159A0 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159A4 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159A6 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF159A8 094                 BNE     loc_4FF15A44    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF159AA 094                 CMP.W   R10, #0         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF159AE 094                 BEQ     loc_4FF159CE    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF159B0 094                 STR     R0, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159B2 094                 MOVS    R1, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159B4 094                 STR     R0, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159B6 094                 STR     R1, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159B8 094                 STR     R0, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159BA 094                 MOV     R2, R10         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159BC 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159C0 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159C2 094                 LDR     R1, ='TYPE'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159C4 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159C8 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159CA 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF159CC 094                 BNE     loc_4FF15A44    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF159CE&lt;br /&gt;
N88AP_iBoot:4FF159CE     loc_4FF159CE                            ; CODE XREF: n88ap__iBoot__blockdev+146�j&lt;br /&gt;
N88AP_iBoot:4FF159CE 094                 LDR     R4, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159D0 094                 BL      sub_4FF1E3F8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159D4 094                 LDR     R1, [R5,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159D6 094                 AND.W   R1, R1, #1      ; Rd = Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF159DA 094                 STR     R1, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159DC 094                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159DE 094                 STR     R1, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159E0 094                 STR     R1, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159E2 094                 STR     R1, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159E4 094                 LDR     R1, ='SEPO'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159E6 094                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159E8 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159EC 094                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159EE 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159F2 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159F4 094                 CBNZ    R0, loc_4FF15A44 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF159F6 094                 LDR.W   R10, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159FA 094                 BL      sub_4FF184E4    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159FE 094                 LDR     R1, ='BORD'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A00 094                 STR     R4, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A02 094                 STR     R4, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A04 094                 STR     R4, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A06 094                 STR     R4, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A08 094                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A0A 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A0E 094                 MOV     R0, R10         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A10 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A14 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A16 094                 CBNZ    R0, loc_4FF15A44 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF15A18 094                 LDR.W   R10, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A1C 094                 BL      sub_4FF1F904    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A20 094                 STR     R0, [SP,#0x94+var_80] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A22 094                 STR     R1, [SP,#0x94+var_7C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A24 094                 BL      sub_4FF1F910    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A28 094                 LDR     R1, ='ECID'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A2A 094                 ADD     R2, SP, #0x94+var_80 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A2C 094                 LDMIA   R2, {R2,R3}     ; Load Block from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A2E 094                 STR     R4, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A30 094                 STR     R4, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A32 094                 STR     R4, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A34 094                 STR     R0, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A36 094                 MOV     R0, R10         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A38 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A3C 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A3E 094                 CBNZ    R0, loc_4FF15A44 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF15A40&lt;br /&gt;
N88AP_iBoot:4FF15A40     loc_4FF15A40                            ; CODE XREF: n88ap__iBoot__blockdev+CE�j&lt;br /&gt;
N88AP_iBoot:4FF15A40 094                 STR     R4, [SP,#0x94+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A42 094                 B       loc_4FF15A64    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A44     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15A44&lt;br /&gt;
N88AP_iBoot:4FF15A44     loc_4FF15A44                            ; CODE XREF: n88ap__iBoot__blockdev+F6�j&lt;br /&gt;
N88AP_iBoot:4FF15A44                                             ; n88ap__iBoot__blockdev+118�j&lt;br /&gt;
N88AP_iBoot:4FF15A44                                             ; n88ap__iBoot__blockdev+140�j&lt;br /&gt;
N88AP_iBoot:4FF15A44                                             ; n88ap__iBoot__blockdev+164�j&lt;br /&gt;
N88AP_iBoot:4FF15A44                                             ; n88ap__iBoot__blockdev+18C�j ...&lt;br /&gt;
N88AP_iBoot:4FF15A44 094                 LDR     R0, [R5,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A46 094                 TST.W   R0, #2          ; Set cond. codes on Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF15A4A 094                 BNE.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A4E 094                 MOVS    R0, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A50 094                 BL      sub_4FF1A074    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A54 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15A56 094                 BEQ.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A5A 094                 LDR     R0, =aImageValidationFailedButUntrustedImagesAreP_0 ; &amp;quot;image validation failed but untrusted i&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF15A5C 094                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A60 094                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A62 094                 STR     R2, [SP,#0x94+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A64&lt;br /&gt;
N88AP_iBoot:4FF15A64     loc_4FF15A64                            ; CODE XREF: n88ap__iBoot__blockdev+1DA�j&lt;br /&gt;
N88AP_iBoot:4FF15A64 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A66 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A68 094                 STR     R3, [SP,#0x94+var_60] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A6A 094                 STR     R3, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A6C 094                 LDR     R1, ='DATA'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A6E 094                 ADD     R2, SP, #0x94+argv2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A70 094                 ADD     R3, SP, #0x94+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A72 094                 BL      sub_4FF1531C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A76 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A78 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15A7A 094                 BNE     loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A7C 094                 MOV     R10, R0         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A7E&lt;br /&gt;
N88AP_iBoot:4FF15A7E     loc_4FF15A7E                            ; CODE XREF: n88ap__iBoot__blockdev+2E2�j&lt;br /&gt;
N88AP_iBoot:4FF15A7E 094                 MOVS    R3, #0x38 ; '8' ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A80 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A82 094                 STR     R3, [SP,#0x94+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A84 094                 LDR     R1, ='KBAG'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A86 094                 ADD     R2, SP, #0x94+var_64 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A88 094                 ADD     R3, SP, #0x94+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A8A 094                 STR.W   R10, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A8E 094                 BL      sub_4FF1531C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A92 094                 CMP     R0, #2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15A94 094                 BNE     loc_4FF15AA0    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A96 094                 CMP.W   R10, #0         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15A9A 094                 BEQ     loc_4FF15B4C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A9C 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A9E 094                 B       loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AA0     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15AA0&lt;br /&gt;
N88AP_iBoot:4FF15AA0     loc_4FF15AA0                            ; CODE XREF: n88ap__iBoot__blockdev+22C�j&lt;br /&gt;
N88AP_iBoot:4FF15AA0 094                 LDR     R3, [SP,#0x94+var_78] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AA2 094                 CMP     R3, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15AA4 094                 BNE     loc_4FF15B5E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AA6 094                 MOVS    R2, #0x30 ; '0' ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AA8 094                 MOV     R1, R3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AAA 094                 ADD     R0, SP, #0x94+var_54 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AAC 094                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15AB0 094                 LDR     R1, [SP,#0x94+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AB2 094                 LDR     R2, [R1,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AB4 094                 CMP     R2, #0xC0 ; '? ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15AB6 094                 BEQ     loc_4FF15AC4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AB8 094                 CMP.W   R2, #0x100      ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15ABC 094                 BEQ     loc_4FF15ACA    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15ABE 094                 CMP     R2, #0x80 ; '' ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15AC0 094                 BNE     loc_4FF15B5E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AC2 094                 B       loc_4FF15AD0    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AC4     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15AC4&lt;br /&gt;
N88AP_iBoot:4FF15AC4     loc_4FF15AC4                            ; CODE XREF: n88ap__iBoot__blockdev+24E�j&lt;br /&gt;
N88AP_iBoot:4FF15AC4 094                 MOV.W   R3, #0x10000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AC8 094                 B       loc_4FF15AD2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15ACA     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15ACA&lt;br /&gt;
N88AP_iBoot:4FF15ACA     loc_4FF15ACA                            ; CODE XREF: n88ap__iBoot__blockdev+254�j&lt;br /&gt;
N88AP_iBoot:4FF15ACA 094                 MOV.W   R3, #0x20000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15ACE 094                 B       loc_4FF15AD2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AD0     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15AD0&lt;br /&gt;
N88AP_iBoot:4FF15AD0     loc_4FF15AD0                            ; CODE XREF: n88ap__iBoot__blockdev+25A�j&lt;br /&gt;
N88AP_iBoot:4FF15AD0 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AD2&lt;br /&gt;
N88AP_iBoot:4FF15AD2     loc_4FF15AD2                            ; CODE XREF: n88ap__iBoot__blockdev+260�j&lt;br /&gt;
N88AP_iBoot:4FF15AD2                                             ; n88ap__iBoot__blockdev+266�j&lt;br /&gt;
N88AP_iBoot:4FF15AD2 094                 LSRS    R5, R2, #3      ; Logical Shift Right&lt;br /&gt;
N88AP_iBoot:4FF15AD4 094                 ADDS    R1, #8          ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AD6 094                 MOVS    R2, #0x10       ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AD8 094                 ADD     R0, SP, #0x94+var_54 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15ADA 094                 STR     R3, [SP,#0x94+var_74] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15ADC 094                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15AE0 094                 LDR     R1, [SP,#0x94+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AE2 094                 ADD     R0, SP, #0x94+var_44 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AE4 094                 ADDS    R1, #0x18       ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AE6 094                 MOV     R2, R5          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AE8 094                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15AEC 094                 LDR     R0, [SP,#0x94+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AEE 094                 LDR     R3, [R0]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AF0 094                 CBZ     R3, loc_4FF15B16 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF15AF2 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AF4 094                 ADD     R1, SP, #0x94+var_68 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AF6 094                 STR     R3, [SP,#0x94+var_68] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15AF8 094                 LDR     R0, [R0]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AFA 094                 BL      sub_4FF18500    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15AFE 094                 CBNZ    R0, loc_4FF15B46 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF15B00 094                 LDR     R2, [SP,#0x94+var_68] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B02 094                 STR     R0, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B04 094                 STR     R0, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B06 094                 STR     R2, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B08 094                 ADD.W   R3, R5, #0x10   ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B0C 094                 ADDS    R0, #Decrypt    ; argv1&lt;br /&gt;
N88AP_iBoot:4FF15B0E 094                 ADD     R1, SP, #0x94+var_54 ; argv2&lt;br /&gt;
N88AP_iBoot:4FF15B10 094                 ADD     R2, SP, #0x94+var_54 ; argv3&lt;br /&gt;
N88AP_iBoot:4FF15B12 094                 BL      N88AP__iBOOT__aes_crypto_cmd ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15B16&lt;br /&gt;
N88AP_iBoot:4FF15B16     loc_4FF15B16                            ; CODE XREF: n88ap__iBoot__blockdev+288�j&lt;br /&gt;
N88AP_iBoot:4FF15B16 094                 LDR     R1, [SP,#0x94+var_74] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B18 094                 LDR     R3, [SP,#0x94+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B1A 094                 ADD     R2, SP, #0x94+var_44 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B1C 094                 STR     R1, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B1E 094                 LDR     R1, [SP,#0x94+argv2] ; argv2&lt;br /&gt;
N88AP_iBoot:4FF15B20 094                 TST.W   R3, #0xF        ; Set cond. codes on Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF15B24 094                 ITT NE                  ; If Then&lt;br /&gt;
N88AP_iBoot:4FF15B26 094                 BICNE.W R3, R3, #0xF    ; Rd = Op1 &amp;amp; ~Op2&lt;br /&gt;
N88AP_iBoot:4FF15B2A 094                 ADDNE   R3, #0x10       ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B2C 094                 STR     R2, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B2E 094                 MOVS    R0, #0x11       ; argv1&lt;br /&gt;
N88AP_iBoot:4FF15B30 094                 ADD     R2, SP, #0x94+var_54 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B32 094                 STR     R2, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B34 094                 MOV     R2, R1          ; argv3&lt;br /&gt;
N88AP_iBoot:4FF15B36 094                 BL      N88AP__iBOOT__aes_crypto_cmd ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15B3A 094                 ADD     R0, SP, #0x94+var_54 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B3C 094                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B3E 094                 MOVS    R2, #0x30 ; '0' ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B40 094                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15B44 094                 B       loc_4FF15B4C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15B46     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B46&lt;br /&gt;
N88AP_iBoot:4FF15B46     loc_4FF15B46                            ; CODE XREF: n88ap__iBoot__blockdev+296�j&lt;br /&gt;
N88AP_iBoot:4FF15B46 094                 ADD.W   R10, R10, #1    ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B4A 094                 B       loc_4FF15A7E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15B4C     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B4C&lt;br /&gt;
N88AP_iBoot:4FF15B4C     loc_4FF15B4C                            ; CODE XREF: n88ap__iBoot__blockdev+232�j&lt;br /&gt;
N88AP_iBoot:4FF15B4C                                             ; n88ap__iBoot__blockdev+2DC�j&lt;br /&gt;
N88AP_iBoot:4FF15B4C 094                 LDR     R2, [SP,#0x94+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B4E 094                 MOV     R0, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B50 094                 LDR     R1, [SP,#0x94+argv2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B52 094                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15B56 094                 LDR     R3, [SP,#0x94+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B58 094                 LDR     R2, [SP,#0x94+var_84] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B5A 094                 STR     R3, [R2]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B5C 094                 B       loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15B5E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B5E&lt;br /&gt;
N88AP_iBoot:4FF15B5E     loc_4FF15B5E                            ; CODE XREF: n88ap__iBoot__blockdev+23C�j&lt;br /&gt;
N88AP_iBoot:4FF15B5E                                             ; n88ap__iBoot__blockdev+258�j&lt;br /&gt;
N88AP_iBoot:4FF15B5E 094                 MOVS    R4, #0x16       ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B60&lt;br /&gt;
N88AP_iBoot:4FF15B60     loc_4FF15B60                            ; CODE XREF: n88ap__iBoot__blockdev+3C�j&lt;br /&gt;
N88AP_iBoot:4FF15B60                                             ; n88ap__iBoot__blockdev+62�j&lt;br /&gt;
N88AP_iBoot:4FF15B60                                             ; n88ap__iBoot__blockdev+90�j&lt;br /&gt;
N88AP_iBoot:4FF15B60                                             ; n88ap__iBoot__blockdev+B4�j&lt;br /&gt;
N88AP_iBoot:4FF15B60                                             ; n88ap__iBoot__blockdev+BE�j ...&lt;br /&gt;
N88AP_iBoot:4FF15B60 094                 LDR     R3, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B62 094                 CBZ     R3, loc_4FF15B6A ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF15B64 094                 ADD     R0, SP, #0x94+var_58 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B66 094                 BL      sub_4FF15620    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15B6A&lt;br /&gt;
N88AP_iBoot:4FF15B6A     loc_4FF15B6A                            ; CODE XREF: n88ap__iBoot__blockdev+2FA�j&lt;br /&gt;
N88AP_iBoot:4FF15B6A 094                 CBZ     R4, loc_4FF15B7E ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF15B6C&lt;br /&gt;
N88AP_iBoot:4FF15B6C     loc_4FF15B6C                            ; CODE XREF: n88ap__iBoot__blockdev+70�j&lt;br /&gt;
N88AP_iBoot:4FF15B6C 094                 LDR     R3, [SP,#0x94+var_84] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B6E 094                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B70 094                 MOV     R0, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B72 094                 STR.W   R1, [R11]       ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B76 094                 MOV     R2, R8          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B78 094                 STR     R1, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B7A 094                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15B7E&lt;br /&gt;
N88AP_iBoot:4FF15B7E     loc_4FF15B7E                            ; CODE XREF: n88ap__iBoot__blockdev:loc_4FF15B6A�j&lt;br /&gt;
N88AP_iBoot:4FF15B7E 094                 LDR     R1, =dword_4FF2A308 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B80 094                 LDR     R2, [SP,#0x94+var_24] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B82 094                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B84 094                 LDR     R3, [R1]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B86 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15B88 094                 BEQ     loc_4FF15B8E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15B8A 094                 BL      N88AP__iBOOT____stack_chk_fail ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15B8E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B8E&lt;br /&gt;
N88AP_iBoot:4FF15B8E     loc_4FF15B8E                            ; CODE XREF: n88ap__iBoot__blockdev+320�j&lt;br /&gt;
N88AP_iBoot:4FF15B8E 094                 SUB.W   SP, R7, #0x18   ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15B92 094                 POP.W   {R8,R10,R11}    ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF15B96 088                 POP     {R4-R7,PC}      ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF15B96     ; End of function n88ap__iBoot__blockdev&lt;br /&gt;
N88AP_iBoot:4FF15B96&lt;br /&gt;
N88AP_iBoot:4FF15B96     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B98     ; int off_4FF15B98&lt;br /&gt;
N88AP_iBoot:4FF15B98     off_4FF15B98    DCD dword_4FF2A308      ; DATA XREF: n88ap__iBoot__blockdev+C�r&lt;br /&gt;
N88AP_iBoot:4FF15B98                                             ; n88ap__iBoot__blockdev:loc_4FF15B7E�r&lt;br /&gt;
N88AP_iBoot:4FF15B9C     dword_4FF15B9C  DCD 'Memz'              ; DATA XREF: n88ap__iBoot__blockdev+1C�r&lt;br /&gt;
N88AP_iBoot:4FF15BA0     ; int dword_4FF15BA0&lt;br /&gt;
N88AP_iBoot:4FF15BA0     dword_4FF15BA0  DCD 'img3'              ; DATA XREF: n88ap__iBoot__blockdev+2A�r&lt;br /&gt;
N88AP_iBoot:4FF15BA0                                             ; n88ap__iBoot__blockdev+96�r&lt;br /&gt;
N88AP_iBoot:4FF15BA4     ; int off_4FF15BA4&lt;br /&gt;
N88AP_iBoot:4FF15BA4     off_4FF15BA4    DCD aLoadAddressNotSpecified_0&lt;br /&gt;
N88AP_iBoot:4FF15BA4                                             ; DATA XREF: n88ap__iBoot__blockdev+32�r&lt;br /&gt;
N88AP_iBoot:4FF15BA4                                             ; &amp;quot;load address not specified\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15BA8     ; int off_4FF15BA8&lt;br /&gt;
N88AP_iBoot:4FF15BA8     off_4FF15BA8    DCD aBlockdevReadFailedWithD_0&lt;br /&gt;
N88AP_iBoot:4FF15BA8                                             ; DATA XREF: n88ap__iBoot__blockdev+5C�r&lt;br /&gt;
N88AP_iBoot:4FF15BA8                                             ; &amp;quot;blockdev read failed with %d\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15BAC     dword_4FF15BAC  DCD 'Img3'              ; DATA XREF: n88ap__iBoot__blockdev+66�r&lt;br /&gt;
N88AP_iBoot:4FF15BB0     dword_4FF15BB0  DCD 'SDOM'              ; DATA XREF: n88ap__iBoot__blockdev+E2�r&lt;br /&gt;
N88AP_iBoot:4FF15BB4     dword_4FF15BB4  DCD 'PROD'              ; DATA XREF: n88ap__iBoot__blockdev+106�r&lt;br /&gt;
N88AP_iBoot:4FF15BB8     dword_4FF15BB8  DCD 'CHIP'              ; DATA XREF: n88ap__iBoot__blockdev+12E�r&lt;br /&gt;
N88AP_iBoot:4FF15BBC     dword_4FF15BBC  DCD 'TYPE'              ; DATA XREF: n88ap__iBoot__blockdev+15A�r&lt;br /&gt;
N88AP_iBoot:4FF15BC0     dword_4FF15BC0  DCD 'SEPO'              ; DATA XREF: n88ap__iBoot__blockdev+17C�r&lt;br /&gt;
N88AP_iBoot:4FF15BC4     dword_4FF15BC4  DCD 'BORD'              ; DATA XREF: n88ap__iBoot__blockdev+196�r&lt;br /&gt;
N88AP_iBoot:4FF15BC8     dword_4FF15BC8  DCD 'ECID'              ; DATA XREF: n88ap__iBoot__blockdev+1C0�r&lt;br /&gt;
N88AP_iBoot:4FF15BCC     ; int off_4FF15BCC&lt;br /&gt;
N88AP_iBoot:4FF15BCC     off_4FF15BCC    DCD aImageValidationFailedButUntrustedImagesAreP_0&lt;br /&gt;
N88AP_iBoot:4FF15BCC                                             ; DATA XREF: n88ap__iBoot__blockdev+1F2�r&lt;br /&gt;
N88AP_iBoot:4FF15BCC                                             ; &amp;quot;image validation failed but untrusted i&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF15BD0     dword_4FF15BD0  DCD 'DATA'              ; DATA XREF: n88ap__iBoot__blockdev+204�r&lt;br /&gt;
N88AP_iBoot:4FF15BD4     dword_4FF15BD4  DCD 'KBAG'              ; DATA XREF: n88ap__iBoot__blockdev+21C�r&lt;br /&gt;
N88AP_iBoot:4FF15BD8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Image_load&amp;diff=5900</id>
		<title>Image load</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Image_load&amp;diff=5900"/>
		<updated>2010-03-11T10:38:18Z</updated>

		<summary type="html">&lt;p&gt;Dimo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
==Disassembly for image_load==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; int __fastcall n88ap__iBoot__image_load(struct MEMZ_STRUCT *mem_info, char *TAG_TYPE, int unknown1, int unknown2)&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     n88ap__iBoot__image_load                ; CODE XREF: n88ap__iBoot__diag_function+8A�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; sub_4FF009CC+22�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__go_command+66�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__ramdisk_command_function+7E�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__devicetree_function+7C�p ...&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     var_18          = -0x18&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     var_14          = -0x14&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR4           = -0x10&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR5           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0 000                 PUSH    {R4,R5,R7,LR}   ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF1D4E2 010                 ADD     R7, SP, #8      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E4 010                 SUB     SP, SP, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E6 018                 MOV     R5, R3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E8 018                 LDR     R3, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4EA 018                 MOV     R4, R2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4EC 018                 STR     R3, [SP,#0x18+var_14] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4EE 018                 LDR     R3, [R5]        ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF1D4F0 018                 STR     R3, [SP,#0x18+var_18] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4F2 018                 CBZ     R0, end_of_error ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1D4F4 018                 LDR     R2, [R0,#MEMZ_STRUCT.tag.full_size] ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF1D4F6 018                 CMP     R3, R2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4F8 018                 BCS     loc_4FF1D502    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D4FA 018                 LDR     R0, =aImage_loadImageTooLarge_0 ; &amp;quot;image_load: image too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1D4FC 018                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D500 018                 B       end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D502     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D502&lt;br /&gt;
N88AP_iBoot:4FF1D502     loc_4FF1D502                            ; CODE XREF: n88ap__iBoot__image_load+18�j&lt;br /&gt;
N88AP_iBoot:4FF1D502 018                 LDR     R2, [R0,#MEMZ_STRUCT.id_memz] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D504 018                 LDR     R3, ='Memz'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D506 018                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D508 018                 BEQ     MemZ_Operation  ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D50A 018                 LDR     R3, ='img3'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D50C 018                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D50E 018                 BNE     end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D510 018                 B       img3_Operation  ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D512     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D512&lt;br /&gt;
N88AP_iBoot:4FF1D512     MemZ_Operation                          ; CODE XREF: n88ap__iBoot__image_load+28�j&lt;br /&gt;
N88AP_iBoot:4FF1D512 018                 ADD     R2, SP, #0x18+var_14 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D514 018                 MOV     R3, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D516 018                 BL      n88ap__iBoot__blockdev ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D51A 018                 CBZ     R0, loc_4FF1D534 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1D51C 018                 CMP     R0, #0x16       ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D51E 018                 BNE     end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D520 018                 LDR     R3, [R4]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D522 018                 STR     R3, [SP,#0x18+var_14] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D524 018                 LDR     R3, [R5]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D526 018                 STR     R3, [SP,#0x18+var_18] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D528 018                 B       end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D52A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D52A&lt;br /&gt;
N88AP_iBoot:4FF1D52A     img3_Operation                          ; CODE XREF: n88ap__iBoot__image_load+30�j&lt;br /&gt;
N88AP_iBoot:4FF1D52A 018                 ADD     R2, SP, #0x18+var_14 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D52C 018                 MOV     R3, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D52E 018                 BL      n88ap__iBoot__blockdev ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D532 018                 CBNZ    R0, end_of_error ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF1D534&lt;br /&gt;
N88AP_iBoot:4FF1D534     loc_4FF1D534                            ; CODE XREF: n88ap__iBoot__image_load+3A�j&lt;br /&gt;
N88AP_iBoot:4FF1D534 018                 LDR     R3, [SP,#0x18+var_14] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D536 018                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D538 018                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53A 018                 LDR     R3, [SP,#0x18+var_18] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53C 018                 STR     R3, [R5]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53E 018                 B       loc_4FF1D54A    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D540     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D540&lt;br /&gt;
N88AP_iBoot:4FF1D540     end_of_error                            ; CODE XREF: n88ap__iBoot__image_load+12�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+20�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+2E�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+3E�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+48�j ...&lt;br /&gt;
N88AP_iBoot:4FF1D540 018                 MOV.W   R0, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D544 018                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D546 018                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D548 018                 STR     R3, [R5]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D54A&lt;br /&gt;
N88AP_iBoot:4FF1D54A     loc_4FF1D54A                            ; CODE XREF: n88ap__iBoot__image_load+5E�j&lt;br /&gt;
N88AP_iBoot:4FF1D54A 018                 SUB.W   SP, R7, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D54E 018                 POP     {R4,R5,R7,PC}   ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF1D54E     ; End of function n88ap__iBoot__image_load&lt;br /&gt;
N88AP_iBoot:4FF1D54E&lt;br /&gt;
N88AP_iBoot:4FF1D54E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D550     ; int off_4FF1D550&lt;br /&gt;
N88AP_iBoot:4FF1D550     off_4FF1D550    DCD aImage_loadImageTooLarge_0&lt;br /&gt;
N88AP_iBoot:4FF1D550                                             ; DATA XREF: n88ap__iBoot__image_load+1A�r&lt;br /&gt;
N88AP_iBoot:4FF1D550                                             ; &amp;quot;image_load: image too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1D554     dword_4FF1D554  DCD 'Memz'              ; DATA XREF: n88ap__iBoot__image_load+24�r&lt;br /&gt;
N88AP_iBoot:4FF1D558     dword_4FF1D558  DCD 'img3'              ; DATA XREF: n88ap__iBoot__image_load+2A�r&lt;br /&gt;
N88AP_iBoot:4FF1D55C&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Image_load&amp;diff=5899</id>
		<title>Image load</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Image_load&amp;diff=5899"/>
		<updated>2010-03-11T10:37:46Z</updated>

		<summary type="html">&lt;p&gt;Dimo: New page: == iPhone 3GS 8920x from iBoot-636.66 ==  ==Disassembly== &amp;lt;pre&amp;gt; N88AP_iBoot:4FF1D4E0     ; =============== S U B R O U T I N E ======================================= N88AP_iBoot:4FF1D4E0 ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
==Disassembly==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; int __fastcall n88ap__iBoot__image_load(struct MEMZ_STRUCT *mem_info, char *TAG_TYPE, int unknown1, int unknown2)&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     n88ap__iBoot__image_load                ; CODE XREF: n88ap__iBoot__diag_function+8A�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; sub_4FF009CC+22�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__go_command+66�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__ramdisk_command_function+7E�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__devicetree_function+7C�p ...&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     var_18          = -0x18&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     var_14          = -0x14&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR4           = -0x10&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR5           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0 000                 PUSH    {R4,R5,R7,LR}   ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF1D4E2 010                 ADD     R7, SP, #8      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E4 010                 SUB     SP, SP, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E6 018                 MOV     R5, R3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E8 018                 LDR     R3, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4EA 018                 MOV     R4, R2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4EC 018                 STR     R3, [SP,#0x18+var_14] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4EE 018                 LDR     R3, [R5]        ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF1D4F0 018                 STR     R3, [SP,#0x18+var_18] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4F2 018                 CBZ     R0, end_of_error ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1D4F4 018                 LDR     R2, [R0,#MEMZ_STRUCT.tag.full_size] ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF1D4F6 018                 CMP     R3, R2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4F8 018                 BCS     loc_4FF1D502    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D4FA 018                 LDR     R0, =aImage_loadImageTooLarge_0 ; &amp;quot;image_load: image too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1D4FC 018                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D500 018                 B       end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D502     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D502&lt;br /&gt;
N88AP_iBoot:4FF1D502     loc_4FF1D502                            ; CODE XREF: n88ap__iBoot__image_load+18�j&lt;br /&gt;
N88AP_iBoot:4FF1D502 018                 LDR     R2, [R0,#MEMZ_STRUCT.id_memz] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D504 018                 LDR     R3, ='Memz'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D506 018                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D508 018                 BEQ     MemZ_Operation  ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D50A 018                 LDR     R3, ='img3'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D50C 018                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D50E 018                 BNE     end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D510 018                 B       img3_Operation  ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D512     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D512&lt;br /&gt;
N88AP_iBoot:4FF1D512     MemZ_Operation                          ; CODE XREF: n88ap__iBoot__image_load+28�j&lt;br /&gt;
N88AP_iBoot:4FF1D512 018                 ADD     R2, SP, #0x18+var_14 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D514 018                 MOV     R3, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D516 018                 BL      n88ap__iBoot__blockdev ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D51A 018                 CBZ     R0, loc_4FF1D534 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1D51C 018                 CMP     R0, #0x16       ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D51E 018                 BNE     end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D520 018                 LDR     R3, [R4]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D522 018                 STR     R3, [SP,#0x18+var_14] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D524 018                 LDR     R3, [R5]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D526 018                 STR     R3, [SP,#0x18+var_18] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D528 018                 B       end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D52A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D52A&lt;br /&gt;
N88AP_iBoot:4FF1D52A     img3_Operation                          ; CODE XREF: n88ap__iBoot__image_load+30�j&lt;br /&gt;
N88AP_iBoot:4FF1D52A 018                 ADD     R2, SP, #0x18+var_14 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D52C 018                 MOV     R3, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D52E 018                 BL      n88ap__iBoot__blockdev ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D532 018                 CBNZ    R0, end_of_error ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF1D534&lt;br /&gt;
N88AP_iBoot:4FF1D534     loc_4FF1D534                            ; CODE XREF: n88ap__iBoot__image_load+3A�j&lt;br /&gt;
N88AP_iBoot:4FF1D534 018                 LDR     R3, [SP,#0x18+var_14] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D536 018                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D538 018                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53A 018                 LDR     R3, [SP,#0x18+var_18] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53C 018                 STR     R3, [R5]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53E 018                 B       loc_4FF1D54A    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D540     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D540&lt;br /&gt;
N88AP_iBoot:4FF1D540     end_of_error                            ; CODE XREF: n88ap__iBoot__image_load+12�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+20�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+2E�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+3E�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+48�j ...&lt;br /&gt;
N88AP_iBoot:4FF1D540 018                 MOV.W   R0, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D544 018                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D546 018                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D548 018                 STR     R3, [R5]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D54A&lt;br /&gt;
N88AP_iBoot:4FF1D54A     loc_4FF1D54A                            ; CODE XREF: n88ap__iBoot__image_load+5E�j&lt;br /&gt;
N88AP_iBoot:4FF1D54A 018                 SUB.W   SP, R7, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D54E 018                 POP     {R4,R5,R7,PC}   ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF1D54E     ; End of function n88ap__iBoot__image_load&lt;br /&gt;
N88AP_iBoot:4FF1D54E&lt;br /&gt;
N88AP_iBoot:4FF1D54E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D550     ; int off_4FF1D550&lt;br /&gt;
N88AP_iBoot:4FF1D550     off_4FF1D550    DCD aImage_loadImageTooLarge_0&lt;br /&gt;
N88AP_iBoot:4FF1D550                                             ; DATA XREF: n88ap__iBoot__image_load+1A�r&lt;br /&gt;
N88AP_iBoot:4FF1D550                                             ; &amp;quot;image_load: image too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1D554     dword_4FF1D554  DCD 'Memz'              ; DATA XREF: n88ap__iBoot__image_load+24�r&lt;br /&gt;
N88AP_iBoot:4FF1D558     dword_4FF1D558  DCD 'img3'              ; DATA XREF: n88ap__iBoot__image_load+2A�r&lt;br /&gt;
N88AP_iBoot:4FF1D55C&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Reboot_(iBoot_command)&amp;diff=5898</id>
		<title>Reboot (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Reboot_(iBoot_command)&amp;diff=5898"/>
		<updated>2010-03-11T10:37:37Z</updated>

		<summary type="html">&lt;p&gt;Dimo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
==Disassembly==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF00F60     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF00F60&lt;br /&gt;
N88AP_iBoot:4FF00F60     ; Attributes: noreturn bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF00F60&lt;br /&gt;
N88AP_iBoot:4FF00F60     n88ap__iBoot__reset_function            ; DATA XREF: N88AP_iBoot:n88ap__iBoot__reset�o&lt;br /&gt;
N88AP_iBoot:4FF00F60                                             ; N88AP_iBoot:n88ap__iBoot__reboot�o&lt;br /&gt;
N88AP_iBoot:4FF00F60&lt;br /&gt;
N88AP_iBoot:4FF00F60     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF00F60     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF00F60&lt;br /&gt;
N88AP_iBoot:4FF00F60 000                 PUSH    {R7,LR}         ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF00F62 008                 ADD     R7, SP, #0      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF00F64 008                 BL      sub_4FF18638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00F68 008                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00F6A 008                 BL      sub_4FF19184    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00F6A     ; End of function n88ap__iBoot__reset_function&lt;br /&gt;
N88AP_iBoot:4FF00F6A&lt;br /&gt;
N88AP_iBoot:4FF00F6E     ; ---------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=TYPE&amp;diff=5897</id>
		<title>TYPE</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=TYPE&amp;diff=5897"/>
		<updated>2010-03-11T10:34:20Z</updated>

		<summary type="html">&lt;p&gt;Dimo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Contains a fourcc denoting the &amp;quot;type&amp;quot; of firmware image it is. Compared with R1 of [[image_load]](); when verifying the image. If it does not match, image_load(); will fail and the image will not be loaded. If R1 to image_load(); is zero, then all types are allowed.&lt;br /&gt;
&lt;br /&gt;
== Known Types ==&lt;br /&gt;
* '''LLB''' - illb&lt;br /&gt;
* '''iBoot''' - ibot&lt;br /&gt;
* '''iBEC''' - ibec&lt;br /&gt;
* '''iBSS''' - ibss&lt;br /&gt;
* '''Kernel''' - krnl&lt;br /&gt;
* '''Ramdisk''' - rdsk&lt;br /&gt;
* '''Apple Logo''' - logo&lt;br /&gt;
* '''Recovery Mode''' - recm&lt;br /&gt;
&lt;br /&gt;
[[Category:Firmware Tags]]&lt;br /&gt;
[[Category:Firmware Parsing]]&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=TYPE&amp;diff=5896</id>
		<title>TYPE</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=TYPE&amp;diff=5896"/>
		<updated>2010-03-11T10:33:55Z</updated>

		<summary type="html">&lt;p&gt;Dimo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Contains a fourcc denoting the &amp;quot;type&amp;quot; of firmware image it is. Compared with R1 of [image_load](); when verifying the image. If it does not match, image_load(); will fail and the image will not be loaded. If R1 to image_load(); is zero, then all types are allowed.&lt;br /&gt;
&lt;br /&gt;
== Known Types ==&lt;br /&gt;
* '''LLB''' - illb&lt;br /&gt;
* '''iBoot''' - ibot&lt;br /&gt;
* '''iBEC''' - ibec&lt;br /&gt;
* '''iBSS''' - ibss&lt;br /&gt;
* '''Kernel''' - krnl&lt;br /&gt;
* '''Ramdisk''' - rdsk&lt;br /&gt;
* '''Apple Logo''' - logo&lt;br /&gt;
* '''Recovery Mode''' - recm&lt;br /&gt;
&lt;br /&gt;
[[Category:Firmware Tags]]&lt;br /&gt;
[[Category:Firmware Parsing]]&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Ramdisk_(iBoot_command)&amp;diff=5879</id>
		<title>Ramdisk (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Ramdisk_(iBoot_command)&amp;diff=5879"/>
		<updated>2010-03-09T16:14:27Z</updated>

		<summary type="html">&lt;p&gt;Dimo: New page: == iPhone 3GS 8920x from iBoot-636.66 ==  ==Disassembly== &amp;lt;pre&amp;gt; N88AP_iBoot:4FF011BC     ; =============== S U B R O U T I N E ======================================= N88AP_iBoot:4FF011BC ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
==Disassembly==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF011BC     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF011BC&lt;br /&gt;
N88AP_iBoot:4FF011BC     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF011BC&lt;br /&gt;
N88AP_iBoot:4FF011BC     n88ap__iBoot__ramdisk_command_function  ; CODE XREF: sub_4FF0067C+76�p&lt;br /&gt;
N88AP_iBoot:4FF011BC                                             ; DATA XREF: N88AP_iBoot:n88ap__iBoot__ramdisk�o&lt;br /&gt;
N88AP_iBoot:4FF011BC&lt;br /&gt;
N88AP_iBoot:4FF011BC     oldR4           = -0x14&lt;br /&gt;
N88AP_iBoot:4FF011BC     oldR5           = -0x10&lt;br /&gt;
N88AP_iBoot:4FF011BC     oldR6           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF011BC     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF011BC     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF011BC&lt;br /&gt;
N88AP_iBoot:4FF011BC 000                 PUSH    {R4-R7,LR}      ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF011BE 014                 ADD     R7, SP, #0xC    ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF011C0 014                 CMP     R0, #3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF011C2 014                 MOV     R4, R1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF011C4 014                 BGT     loc_4FF011D0    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF011C6 014                 LDR     R1, [R1,#0x24]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF011C8 014                 LDR     R0, =aHelp      ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF011CA 014                 BL      sub_4FF1ECA0    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF011CE 014                 CBNZ    R0, loc_4FF011DA ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF011D0&lt;br /&gt;
N88AP_iBoot:4FF011D0     loc_4FF011D0                            ; CODE XREF: n88ap__iBoot__ramdisk_command_function+8�j&lt;br /&gt;
N88AP_iBoot:4FF011D0 014                 LDR     R1, [R4,#0x10]  ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF011D2 014                 LDR     R0, =aUsageSLenAddress ; &amp;quot;usage:\n\t%s [&amp;lt;len&amp;gt;] [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF011D4 014                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF011D8 014                 B       loc_4FF011F8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF011DA     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF011DA&lt;br /&gt;
N88AP_iBoot:4FF011DA     loc_4FF011DA                            ; CODE XREF: n88ap__iBoot__ramdisk_command_function+12�j&lt;br /&gt;
N88AP_iBoot:4FF011DA 014                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF011DC 014                 LDR     R0, =aFilesize  ; &amp;quot;filesize&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF011DE 014                 BL      sub_4FF1CD88    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF011E2 014                 MOV.W   R1, #n88ap_ramdisk ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF011E6 014                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF011E8 014                 LDR     R0, =aLoadaddr  ; &amp;quot;loadaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF011EA 014                 BL      sub_4FF1CD88    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF011EE 014                 MOV     R5, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF011F0 014                 CBNZ    R4, loc_4FF011FE ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF011F2 014                 LDR     R0, =aFilesizeVariableInvalidOrNotSetAborting ; &amp;quot;filesize variable invalid or not set, a&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF011F4&lt;br /&gt;
N88AP_iBoot:4FF011F4     loc_4FF011F4                            ; CODE XREF: n88ap__iBoot__ramdisk_command_function+4C�j&lt;br /&gt;
N88AP_iBoot:4FF011F4                                             ; n88ap__iBoot__ramdisk_command_function+5C�j&lt;br /&gt;
N88AP_iBoot:4FF011F4                                             ; n88ap__iBoot__ramdisk_command_function+68�j&lt;br /&gt;
N88AP_iBoot:4FF011F4 014                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF011F8&lt;br /&gt;
N88AP_iBoot:4FF011F8     loc_4FF011F8                            ; CODE XREF: n88ap__iBoot__ramdisk_command_function+1C�j&lt;br /&gt;
N88AP_iBoot:4FF011F8                                             ; n88ap__iBoot__ramdisk_command_function+8C�j&lt;br /&gt;
N88AP_iBoot:4FF011F8 014                 MOV.W   R0, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF011FC 014                 B       locret_4FF01258 ; Branch&lt;br /&gt;
N88AP_iBoot:4FF011FE     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF011FE&lt;br /&gt;
N88AP_iBoot:4FF011FE     loc_4FF011FE                            ; CODE XREF: n88ap__iBoot__ramdisk_command_function+34�j&lt;br /&gt;
N88AP_iBoot:4FF011FE 014                 MOV     R1, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF01200 014                 BL      sub_4FF1A038    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF01204 014                 CBNZ    R0, loc_4FF0120A ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF01206 014                 LDR     R0, =aPermissionDenied ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01208 014                 B       loc_4FF011F4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF0120A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF0120A&lt;br /&gt;
N88AP_iBoot:4FF0120A     loc_4FF0120A                            ; CODE XREF: n88ap__iBoot__ramdisk_command_function+48�j&lt;br /&gt;
N88AP_iBoot:4FF0120A 014                 MOV     R0, R5          ; StartAddress&lt;br /&gt;
N88AP_iBoot:4FF0120C 014                 MOV     R1, R4          ; dataSize&lt;br /&gt;
N88AP_iBoot:4FF0120E 014                 MOVS    R2, #0          ; Type&lt;br /&gt;
N88AP_iBoot:4FF01210 014                 BL      n88ap__iBoot__MEMZ_STRUCT_INIT ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF01214 014                 CBNZ    R0, loc_4FF0121A ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF01216 014                 LDR     R0, =aRamdiskImageNotValid ; &amp;quot;Ramdisk image not valid\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01218 014                 B       loc_4FF011F4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF0121A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF0121A&lt;br /&gt;
N88AP_iBoot:4FF0121A     loc_4FF0121A                            ; CODE XREF: n88ap__iBoot__ramdisk_command_function+58�j&lt;br /&gt;
N88AP_iBoot:4FF0121A 014                 LDR     R3, [R0,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF0121C 014                 CMP.W   R3, #0x2000000  ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF01220 014                 IT HI                   ; If Then&lt;br /&gt;
N88AP_iBoot:4FF01222 014                 LDRHI   R0, =aRamdiskTooLarge ; &amp;quot;Ramdisk too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01224 014                 BHI     loc_4FF011F4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF01226 014                 LDR     R6, =dword_4FF2A03C ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF01228 014                 MOV.W   R3, #0x44000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0122C 014                 LDR     R4, =dword_4FF2A040 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF0122E 014                 STR     R3, [R6]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF01230 014                 LDR     R3, [R0,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF01232 014                 LDR     R1, ='rdsk'     ; TAG_TYPE&lt;br /&gt;
N88AP_iBoot:4FF01234 014                 MOV     R2, R6          ; unknown1&lt;br /&gt;
N88AP_iBoot:4FF01236 014                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF01238 014                 MOV     R3, R4          ; unknown2&lt;br /&gt;
N88AP_iBoot:4FF0123A 014                 BL      n88ap__iBoot__image_load ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0123E 014                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF01240 014                 BGE     loc_4FF0124A    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF01242 014                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF01244 014                 STR     R3, [R6]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF01246 014                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF01248 014                 B       loc_4FF011F8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF0124A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF0124A&lt;br /&gt;
N88AP_iBoot:4FF0124A     loc_4FF0124A                            ; CODE XREF: n88ap__iBoot__ramdisk_command_function+84�j&lt;br /&gt;
N88AP_iBoot:4FF0124A 014                 LDR     R1, [R6]        ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF0124C 014                 LDR     R2, [R4]        ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF0124E 014                 LDR     R0, =aCreatingRamdiskAt0xXOfSize0xXFromImageAt0xX ; &amp;quot;creating ramdisk at 0x%x of size 0x%x, &amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF01250 014                 MOV     R3, R5          ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF01252 014                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF01256 014                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF01258&lt;br /&gt;
N88AP_iBoot:4FF01258     locret_4FF01258                         ; CODE XREF: n88ap__iBoot__ramdisk_command_function+40�j&lt;br /&gt;
N88AP_iBoot:4FF01258 014                 POP     {R4-R7,PC}      ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF01258     ; End of function n88ap__iBoot__ramdisk_command_function&lt;br /&gt;
N88AP_iBoot:4FF01258&lt;br /&gt;
N88AP_iBoot:4FF0125A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF0125A                     NOP                     ; No Operation&lt;br /&gt;
N88AP_iBoot:4FF0125A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF0125C     off_4FF0125C    DCD aHelp               ; DATA XREF: n88ap__iBoot__ramdisk_command_function+C�r&lt;br /&gt;
N88AP_iBoot:4FF0125C                                             ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01260     ; int off_4FF01260&lt;br /&gt;
N88AP_iBoot:4FF01260     off_4FF01260    DCD aUsageSLenAddress   ; DATA XREF: n88ap__iBoot__ramdisk_command_function+16�r&lt;br /&gt;
N88AP_iBoot:4FF01260                                             ; &amp;quot;usage:\n\t%s [&amp;lt;len&amp;gt;] [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01264     off_4FF01264    DCD aFilesize           ; DATA XREF: n88ap__iBoot__ramdisk_command_function+20�r&lt;br /&gt;
N88AP_iBoot:4FF01264                                             ; &amp;quot;filesize&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01268     off_4FF01268    DCD aLoadaddr           ; DATA XREF: n88ap__iBoot__ramdisk_command_function+2C�r&lt;br /&gt;
N88AP_iBoot:4FF01268                                             ; &amp;quot;loadaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0126C     ; int off_4FF0126C&lt;br /&gt;
N88AP_iBoot:4FF0126C     off_4FF0126C    DCD aFilesizeVariableInvalidOrNotSetAborting&lt;br /&gt;
N88AP_iBoot:4FF0126C                                             ; DATA XREF: n88ap__iBoot__ramdisk_command_function+36�r&lt;br /&gt;
N88AP_iBoot:4FF0126C                                             ; &amp;quot;filesize variable invalid or not set, a&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF01270     off_4FF01270    DCD aPermissionDenied   ; DATA XREF: n88ap__iBoot__ramdisk_command_function+4A�r&lt;br /&gt;
N88AP_iBoot:4FF01270                                             ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01274     off_4FF01274    DCD aRamdiskImageNotValid&lt;br /&gt;
N88AP_iBoot:4FF01274                                             ; DATA XREF: n88ap__iBoot__ramdisk_command_function+5A�r&lt;br /&gt;
N88AP_iBoot:4FF01274                                             ; &amp;quot;Ramdisk image not valid\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01278     ; struct MEMZ_STRUCT *off_4FF01278&lt;br /&gt;
N88AP_iBoot:4FF01278     off_4FF01278    DCD aRamdiskTooLarge    ; DATA XREF: n88ap__iBoot__ramdisk_command_function+66�r&lt;br /&gt;
N88AP_iBoot:4FF01278                                             ; &amp;quot;Ramdisk too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0127C     ; int unknown1&lt;br /&gt;
N88AP_iBoot:4FF0127C     unknown1        DCD dword_4FF2A03C      ; DATA XREF: n88ap__iBoot__ramdisk_command_function+6A�r&lt;br /&gt;
N88AP_iBoot:4FF01280     ; int unknown2&lt;br /&gt;
N88AP_iBoot:4FF01280     unknown2        DCD dword_4FF2A040      ; DATA XREF: n88ap__iBoot__ramdisk_command_function+70�r&lt;br /&gt;
N88AP_iBoot:4FF01284     ; char *dword_4FF01284&lt;br /&gt;
N88AP_iBoot:4FF01284     dword_4FF01284  DCD 'rdsk'              ; DATA XREF: n88ap__iBoot__ramdisk_command_function+76�r&lt;br /&gt;
N88AP_iBoot:4FF01288     ; int off_4FF01288&lt;br /&gt;
N88AP_iBoot:4FF01288     off_4FF01288    DCD aCreatingRamdiskAt0xXOfSize0xXFromImageAt0xX&lt;br /&gt;
N88AP_iBoot:4FF01288                                             ; DATA XREF: n88ap__iBoot__ramdisk_command_function+92�r&lt;br /&gt;
N88AP_iBoot:4FF01288                                             ; &amp;quot;creating ramdisk at 0x%x of size 0x%x, &amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF0128C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     ; int __fastcall n88ap__iBoot__image_load(struct MEMZ_STRUCT *mem_info, char *TAG_TYPE, int unknown1, int unknown2)&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     n88ap__iBoot__image_load                ; CODE XREF: n88ap__iBoot__diag_function+8A�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; sub_4FF009CC+22�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__go_command+66�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__ramdisk_command_function+7E�p&lt;br /&gt;
N88AP_iBoot:4FF1D4E0                                             ; n88ap__iBoot__devicetree_function+7C�p ...&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     var_18          = -0x18&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     var_14          = -0x14&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR4           = -0x10&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR5           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF1D4E0     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF1D4E0&lt;br /&gt;
N88AP_iBoot:4FF1D4E0 000                 PUSH    {R4,R5,R7,LR}   ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF1D4E2 010                 ADD     R7, SP, #8      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E4 010                 SUB     SP, SP, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E6 018                 MOV     R5, R3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4E8 018                 LDR     R3, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4EA 018                 MOV     R4, R2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4EC 018                 STR     R3, [SP,#0x18+var_14] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4EE 018                 LDR     R3, [R5]        ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF1D4F0 018                 STR     R3, [SP,#0x18+var_18] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D4F2 018                 CBZ     R0, end_of_error ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1D4F4 018                 LDR     R2, [R0,#MEMZ_STRUCT.tag.full_size] ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF1D4F6 018                 CMP     R3, R2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D4F8 018                 BCS     loc_4FF1D502    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D4FA 018                 LDR     R0, =aImage_loadImageTooLarge_0 ; &amp;quot;image_load: image too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1D4FC 018                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D500 018                 B       end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D502     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D502&lt;br /&gt;
N88AP_iBoot:4FF1D502     loc_4FF1D502                            ; CODE XREF: n88ap__iBoot__image_load+18�j&lt;br /&gt;
N88AP_iBoot:4FF1D502 018                 LDR     R2, [R0,#MEMZ_STRUCT.id_memz] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D504 018                 LDR     R3, ='Memz'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D506 018                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D508 018                 BEQ     MemZ_Operation  ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D50A 018                 LDR     R3, ='img3'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D50C 018                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D50E 018                 BNE     end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D510 018                 B       img3_Operation  ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D512     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D512&lt;br /&gt;
N88AP_iBoot:4FF1D512     MemZ_Operation                          ; CODE XREF: n88ap__iBoot__image_load+28�j&lt;br /&gt;
N88AP_iBoot:4FF1D512 018                 ADD     R2, SP, #0x18+var_14 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D514 018                 MOV     R3, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D516 018                 BL      n88ap__iBoot__blockdev ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D51A 018                 CBZ     R0, loc_4FF1D534 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1D51C 018                 CMP     R0, #0x16       ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D51E 018                 BNE     end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D520 018                 LDR     R3, [R4]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D522 018                 STR     R3, [SP,#0x18+var_14] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D524 018                 LDR     R3, [R5]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D526 018                 STR     R3, [SP,#0x18+var_18] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D528 018                 B       end_of_error    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D52A     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D52A&lt;br /&gt;
N88AP_iBoot:4FF1D52A     img3_Operation                          ; CODE XREF: n88ap__iBoot__image_load+30�j&lt;br /&gt;
N88AP_iBoot:4FF1D52A 018                 ADD     R2, SP, #0x18+var_14 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1D52C 018                 MOV     R3, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D52E 018                 BL      n88ap__iBoot__blockdev ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1D532 018                 CBNZ    R0, end_of_error ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF1D534&lt;br /&gt;
N88AP_iBoot:4FF1D534     loc_4FF1D534                            ; CODE XREF: n88ap__iBoot__image_load+3A�j&lt;br /&gt;
N88AP_iBoot:4FF1D534 018                 LDR     R3, [SP,#0x18+var_14] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D536 018                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D538 018                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53A 018                 LDR     R3, [SP,#0x18+var_18] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53C 018                 STR     R3, [R5]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D53E 018                 B       loc_4FF1D54A    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1D540     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D540&lt;br /&gt;
N88AP_iBoot:4FF1D540     end_of_error                            ; CODE XREF: n88ap__iBoot__image_load+12�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+20�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+2E�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+3E�j&lt;br /&gt;
N88AP_iBoot:4FF1D540                                             ; n88ap__iBoot__image_load+48�j ...&lt;br /&gt;
N88AP_iBoot:4FF1D540 018                 MOV.W   R0, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D544 018                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1D546 018                 STR     R3, [R4]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D548 018                 STR     R3, [R5]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1D54A&lt;br /&gt;
N88AP_iBoot:4FF1D54A     loc_4FF1D54A                            ; CODE XREF: n88ap__iBoot__image_load+5E�j&lt;br /&gt;
N88AP_iBoot:4FF1D54A 018                 SUB.W   SP, R7, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1D54E 018                 POP     {R4,R5,R7,PC}   ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF1D54E     ; End of function n88ap__iBoot__image_load&lt;br /&gt;
N88AP_iBoot:4FF1D54E&lt;br /&gt;
N88AP_iBoot:4FF1D54E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF1D550     ; int off_4FF1D550&lt;br /&gt;
N88AP_iBoot:4FF1D550     off_4FF1D550    DCD aImage_loadImageTooLarge_0&lt;br /&gt;
N88AP_iBoot:4FF1D550                                             ; DATA XREF: n88ap__iBoot__image_load+1A�r&lt;br /&gt;
N88AP_iBoot:4FF1D550                                             ; &amp;quot;image_load: image too large\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1D554     dword_4FF1D554  DCD 'Memz'              ; DATA XREF: n88ap__iBoot__image_load+24�r&lt;br /&gt;
N88AP_iBoot:4FF1D558     dword_4FF1D558  DCD 'img3'              ; DATA XREF: n88ap__iBoot__image_load+2A�r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF15868&lt;br /&gt;
N88AP_iBoot:4FF15868     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF15868&lt;br /&gt;
N88AP_iBoot:4FF15868     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF15868&lt;br /&gt;
N88AP_iBoot:4FF15868     n88ap__iBoot__blockdev                  ; CODE XREF: n88ap__iBoot__image_load+36�p&lt;br /&gt;
N88AP_iBoot:4FF15868                                             ; n88ap__iBoot__image_load+4E�p&lt;br /&gt;
N88AP_iBoot:4FF15868&lt;br /&gt;
N88AP_iBoot:4FF15868     var_94          = -0x94&lt;br /&gt;
N88AP_iBoot:4FF15868     var_90          = -0x90&lt;br /&gt;
N88AP_iBoot:4FF15868     var_8C          = -0x8C&lt;br /&gt;
N88AP_iBoot:4FF15868     var_88          = -0x88&lt;br /&gt;
N88AP_iBoot:4FF15868     var_84          = -0x84&lt;br /&gt;
N88AP_iBoot:4FF15868     var_80          = -0x80&lt;br /&gt;
N88AP_iBoot:4FF15868     var_7C          = -0x7C&lt;br /&gt;
N88AP_iBoot:4FF15868     var_78          = -0x78&lt;br /&gt;
N88AP_iBoot:4FF15868     var_74          = -0x74&lt;br /&gt;
N88AP_iBoot:4FF15868     var_70          = -0x70&lt;br /&gt;
N88AP_iBoot:4FF15868     var_6C          = -0x6C&lt;br /&gt;
N88AP_iBoot:4FF15868     var_68          = -0x68&lt;br /&gt;
N88AP_iBoot:4FF15868     var_64          = -0x64&lt;br /&gt;
N88AP_iBoot:4FF15868     var_60          = -0x60&lt;br /&gt;
N88AP_iBoot:4FF15868     argv2           = -0x5C&lt;br /&gt;
N88AP_iBoot:4FF15868     var_58          = -0x58&lt;br /&gt;
N88AP_iBoot:4FF15868     var_54          = -0x54&lt;br /&gt;
N88AP_iBoot:4FF15868     var_44          = -0x44&lt;br /&gt;
N88AP_iBoot:4FF15868     var_24          = -0x24&lt;br /&gt;
N88AP_iBoot:4FF15868     oldR4           = -0x14&lt;br /&gt;
N88AP_iBoot:4FF15868     oldR5           = -0x10&lt;br /&gt;
N88AP_iBoot:4FF15868     oldR6           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF15868     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF15868     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF15868&lt;br /&gt;
N88AP_iBoot:4FF15868 000                 PUSH    {R4-R7,LR}      ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF1586A 014                 ADD     R7, SP, #0xC    ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1586C 014                 PUSH.W  {R8,R10,R11}    ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF15870 020                 SUB     SP, SP, #0x74   ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15872 094                 MOV     R10, R1         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15874 094                 LDR     R1, =dword_4FF2A308 ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF15876 094                 STR     R3, [SP,#0x94+var_84] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15878 094                 MOV     R11, R2         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1587A 094                 LDR     R3, [R1]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1587C 094                 MOV     R5, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1587E 094                 STR     R3, [SP,#0x94+var_24] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15880 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15882 094                 STR     R3, [SP,#0x94+var_58] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15884 094                 LDR     R3, ='Memz'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15886 094                 LDR     R6, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15888 094                 LDR     R2, [R0,#MEMZ_STRUCT.id_memz] ; param_R2&lt;br /&gt;
N88AP_iBoot:4FF1588A 094                 LDR.W   R8, [R0,#MEMZ_STRUCT.tag.full_size] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1588E 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15890 094                 BEQ     loc_4FF158CC    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15892 094                 LDR     R3, ='img3'     ; param_R3&lt;br /&gt;
N88AP_iBoot:4FF15894 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15896 094                 BNE     loc_4FF158A0    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15898 094                 CBNZ    R6, loc_4FF158A6 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF1589A 094                 LDR     R0, =aLoadAddressNotSpecified_0 ; &amp;quot;load address not specified\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF1589C 094                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF158A0&lt;br /&gt;
N88AP_iBoot:4FF158A0     loc_4FF158A0                            ; CODE XREF: n88ap__iBoot__blockdev+2E�j&lt;br /&gt;
N88AP_iBoot:4FF158A0 094                 MOV.W   R4, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158A4 094                 B       loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158A6     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF158A6&lt;br /&gt;
N88AP_iBoot:4FF158A6     loc_4FF158A6                            ; CODE XREF: n88ap__iBoot__blockdev+30�j&lt;br /&gt;
N88AP_iBoot:4FF158A6 094                 LDR     R3, [R0,#MEMZ_STRUCT.start_address] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158A8 094                 MOV     R1, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158AA 094                 LDR     R0, [R3,#8]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158AC 094                 LDR     R2, [R3,#0xC]   ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158AE 094                 STR.W   R8, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF158B2 094                 MOV     R2, R2          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158B4 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158B8 094                 LDR     R4, [R0,#0x1C]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158BA 094                 BLX     R4              ; Branch with Link and Exchange (register indirect)&lt;br /&gt;
N88AP_iBoot:4FF158BC 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF158BE 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158C0 094                 BGT     loc_4FF158E8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158C2 094                 MOV     R1, R4          ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF158C4 094                 LDR     R0, =aBlockdevReadFailedWithD_0 ; &amp;quot;blockdev read failed with %d\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF158C6 094                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF158CA 094                 B       loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158CC     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF158CC&lt;br /&gt;
N88AP_iBoot:4FF158CC     loc_4FF158CC                            ; CODE XREF: n88ap__iBoot__blockdev+28�j&lt;br /&gt;
N88AP_iBoot:4FF158CC 094                 LDR     R1, [R0,#MEMZ_STRUCT.start_address] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158CE 094                 LDR     R3, ='Img3'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158D0 094                 LDR     R2, [R1]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158D2 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF158D4 094                 BEQ     loc_4FF158DA    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158D6 094                 MOVS    R4, #0x16       ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158D8 094                 B       loc_4FF15B6C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158DA     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF158DA&lt;br /&gt;
N88AP_iBoot:4FF158DA     loc_4FF158DA                            ; CODE XREF: n88ap__iBoot__blockdev+6C�j&lt;br /&gt;
N88AP_iBoot:4FF158DA 094                 CBZ     R6, loc_4FF158E8 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF158DC 094                 CMP     R6, R1          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF158DE 094                 BEQ     loc_4FF158E8    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158E0 094                 MOV     R0, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158E2 094                 MOV     R2, R8          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158E4 094                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF158E8&lt;br /&gt;
N88AP_iBoot:4FF158E8     loc_4FF158E8                            ; CODE XREF: n88ap__iBoot__blockdev+58�j&lt;br /&gt;
N88AP_iBoot:4FF158E8                                             ; n88ap__iBoot__blockdev:loc_4FF158DA�j&lt;br /&gt;
N88AP_iBoot:4FF158E8                                             ; n88ap__iBoot__blockdev+76�j&lt;br /&gt;
N88AP_iBoot:4FF158E8 094                 ADD     R0, SP, #0x94+var_58 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF158EA 094                 MOV     R1, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158EC 094                 MOV     R2, R8          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158EE 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158F0 094                 BL      sub_4FF153EC    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF158F4 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF158F6 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF158F8 094                 BNE.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF158FC 094                 LDR     R2, [R5,#0xC]   ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF158FE 094                 LDR     R3, ='img3'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15900 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15902 094                 BNE     loc_4FF15908    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15904 094                 MOVS    R1, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15906 094                 B       loc_4FF15910    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15908     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15908&lt;br /&gt;
N88AP_iBoot:4FF15908     loc_4FF15908                            ; CODE XREF: n88ap__iBoot__blockdev+9A�j&lt;br /&gt;
N88AP_iBoot:4FF15908 094                 LDR     R3, [R5,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1590A 094                 LSRS    R1, R3, #2      ; Logical Shift Right&lt;br /&gt;
N88AP_iBoot:4FF1590C 094                 AND.W   R1, R1, #1      ; Rd = Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF15910&lt;br /&gt;
N88AP_iBoot:4FF15910     loc_4FF15910                            ; CODE XREF: n88ap__iBoot__blockdev+9E�j&lt;br /&gt;
N88AP_iBoot:4FF15910 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15912 094                 BL      sub_4FF1548C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15916 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15918 094                 CBZ     R0, loc_4FF15938 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF1591A 094                 CMP     R0, #1          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1591C 094                 BNE.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15920 094                 LDR     R0, [R5,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15922 094                 TST.W   R0, #2          ; Set cond. codes on Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF15926 094                 BNE.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF1592A 094                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1592C 094                 BL      sub_4FF1A074    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15930 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15932 094                 BEQ.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15936 094                 B       loc_4FF15A40    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15938     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15938&lt;br /&gt;
N88AP_iBoot:4FF15938     loc_4FF15938                            ; CODE XREF: n88ap__iBoot__blockdev+B0�j&lt;br /&gt;
N88AP_iBoot:4FF15938 094                 LDR     R2, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1593A 094                 STR     R2, [SP,#0x94+var_70] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1593C 094                 BL      sub_4FF1F920    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15940 094                 MOVS    R1, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15942 094                 STR     R1, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15944 094                 STR     R1, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15946 094                 SUBS    R1, #1          ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15948 094                 STR     R1, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1594A 094                 LDR     R1, ='SDOM'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1594C 094                 STR     R4, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1594E 094                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15950 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15954 094                 LDR     R0, [SP,#0x94+var_70] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15956 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1595A 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1595C 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF1595E 094                 BNE     loc_4FF15A44    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15960 094                 BL      sub_4FF1F914    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15964 094                 CBZ     R0, loc_4FF15982 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF15966 094                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15968 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF1596A 094                 STR     R2, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1596C 094                 STR     R2, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1596E 094                 LDR     R1, ='PROD'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15970 094                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15972 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15974 094                 STR     R4, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15976 094                 STR     R4, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15978 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF1597C 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1597E 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15980 094                 BNE     loc_4FF15A44    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15982&lt;br /&gt;
N88AP_iBoot:4FF15982     loc_4FF15982                            ; CODE XREF: n88ap__iBoot__blockdev+FC�j&lt;br /&gt;
N88AP_iBoot:4FF15982 094                 LDR     R4, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15984 094                 BL      sub_4FF1F8F8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15988 094                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1598A 094                 STR     R1, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF1598C 094                 ADDS    R1, #1          ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF1598E 094                 STR     R1, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15990 094                 STR     R1, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15992 094                 SUBS    R1, #1          ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15994 094                 STR     R1, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15996 094                 LDR     R1, ='CHIP'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15998 094                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1599A 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF1599E 094                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159A0 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159A4 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159A6 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF159A8 094                 BNE     loc_4FF15A44    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF159AA 094                 CMP.W   R10, #0         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF159AE 094                 BEQ     loc_4FF159CE    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF159B0 094                 STR     R0, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159B2 094                 MOVS    R1, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159B4 094                 STR     R0, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159B6 094                 STR     R1, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159B8 094                 STR     R0, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159BA 094                 MOV     R2, R10         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159BC 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159C0 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159C2 094                 LDR     R1, ='TYPE'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159C4 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159C8 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159CA 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF159CC 094                 BNE     loc_4FF15A44    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF159CE&lt;br /&gt;
N88AP_iBoot:4FF159CE     loc_4FF159CE                            ; CODE XREF: n88ap__iBoot__blockdev+146�j&lt;br /&gt;
N88AP_iBoot:4FF159CE 094                 LDR     R4, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159D0 094                 BL      sub_4FF1E3F8    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159D4 094                 LDR     R1, [R5,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159D6 094                 AND.W   R1, R1, #1      ; Rd = Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF159DA 094                 STR     R1, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159DC 094                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159DE 094                 STR     R1, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159E0 094                 STR     R1, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159E2 094                 STR     R1, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF159E4 094                 LDR     R1, ='SEPO'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159E6 094                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159E8 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159EC 094                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159EE 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159F2 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF159F4 094                 CBNZ    R0, loc_4FF15A44 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF159F6 094                 LDR.W   R10, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF159FA 094                 BL      sub_4FF184E4    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF159FE 094                 LDR     R1, ='BORD'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A00 094                 STR     R4, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A02 094                 STR     R4, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A04 094                 STR     R4, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A06 094                 STR     R4, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A08 094                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A0A 094                 MOV.W   R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A0E 094                 MOV     R0, R10         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A10 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A14 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A16 094                 CBNZ    R0, loc_4FF15A44 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF15A18 094                 LDR.W   R10, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A1C 094                 BL      sub_4FF1F904    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A20 094                 STR     R0, [SP,#0x94+var_80] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A22 094                 STR     R1, [SP,#0x94+var_7C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A24 094                 BL      sub_4FF1F910    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A28 094                 LDR     R1, ='ECID'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A2A 094                 ADD     R2, SP, #0x94+var_80 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A2C 094                 LDMIA   R2, {R2,R3}     ; Load Block from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A2E 094                 STR     R4, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A30 094                 STR     R4, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A32 094                 STR     R4, [SP,#0x94+var_88] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A34 094                 STR     R0, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A36 094                 MOV     R0, R10         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A38 094                 BL      sub_4FF15798    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A3C 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A3E 094                 CBNZ    R0, loc_4FF15A44 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF15A40&lt;br /&gt;
N88AP_iBoot:4FF15A40     loc_4FF15A40                            ; CODE XREF: n88ap__iBoot__blockdev+CE�j&lt;br /&gt;
N88AP_iBoot:4FF15A40 094                 STR     R4, [SP,#0x94+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A42 094                 B       loc_4FF15A64    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A44     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15A44&lt;br /&gt;
N88AP_iBoot:4FF15A44     loc_4FF15A44                            ; CODE XREF: n88ap__iBoot__blockdev+F6�j&lt;br /&gt;
N88AP_iBoot:4FF15A44                                             ; n88ap__iBoot__blockdev+118�j&lt;br /&gt;
N88AP_iBoot:4FF15A44                                             ; n88ap__iBoot__blockdev+140�j&lt;br /&gt;
N88AP_iBoot:4FF15A44                                             ; n88ap__iBoot__blockdev+164�j&lt;br /&gt;
N88AP_iBoot:4FF15A44                                             ; n88ap__iBoot__blockdev+18C�j ...&lt;br /&gt;
N88AP_iBoot:4FF15A44 094                 LDR     R0, [R5,#0x10]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A46 094                 TST.W   R0, #2          ; Set cond. codes on Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF15A4A 094                 BNE.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A4E 094                 MOVS    R0, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A50 094                 BL      sub_4FF1A074    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A54 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15A56 094                 BEQ.W   loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A5A 094                 LDR     R0, =aImageValidationFailedButUntrustedImagesAreP_0 ; &amp;quot;image validation failed but untrusted i&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF15A5C 094                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A60 094                 MOVS    R2, #1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A62 094                 STR     R2, [SP,#0x94+var_78] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A64&lt;br /&gt;
N88AP_iBoot:4FF15A64     loc_4FF15A64                            ; CODE XREF: n88ap__iBoot__blockdev+1DA�j&lt;br /&gt;
N88AP_iBoot:4FF15A64 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A66 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A68 094                 STR     R3, [SP,#0x94+var_60] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A6A 094                 STR     R3, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A6C 094                 LDR     R1, ='DATA'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A6E 094                 ADD     R2, SP, #0x94+argv2 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A70 094                 ADD     R3, SP, #0x94+var_60 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A72 094                 BL      sub_4FF1531C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A76 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A78 094                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15A7A 094                 BNE     loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A7C 094                 MOV     R10, R0         ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A7E&lt;br /&gt;
N88AP_iBoot:4FF15A7E     loc_4FF15A7E                            ; CODE XREF: n88ap__iBoot__blockdev+2E2�j&lt;br /&gt;
N88AP_iBoot:4FF15A7E 094                 MOVS    R3, #0x38 ; '8' ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A80 094                 LDR     R0, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A82 094                 STR     R3, [SP,#0x94+var_6C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A84 094                 LDR     R1, ='KBAG'     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15A86 094                 ADD     R2, SP, #0x94+var_64 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A88 094                 ADD     R3, SP, #0x94+var_6C ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15A8A 094                 STR.W   R10, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15A8E 094                 BL      sub_4FF1531C    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15A92 094                 CMP     R0, #2          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15A94 094                 BNE     loc_4FF15AA0    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A96 094                 CMP.W   R10, #0         ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15A9A 094                 BEQ     loc_4FF15B4C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15A9C 094                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15A9E 094                 B       loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AA0     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15AA0&lt;br /&gt;
N88AP_iBoot:4FF15AA0     loc_4FF15AA0                            ; CODE XREF: n88ap__iBoot__blockdev+22C�j&lt;br /&gt;
N88AP_iBoot:4FF15AA0 094                 LDR     R3, [SP,#0x94+var_78] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AA2 094                 CMP     R3, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15AA4 094                 BNE     loc_4FF15B5E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AA6 094                 MOVS    R2, #0x30 ; '0' ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AA8 094                 MOV     R1, R3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AAA 094                 ADD     R0, SP, #0x94+var_54 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AAC 094                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15AB0 094                 LDR     R1, [SP,#0x94+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AB2 094                 LDR     R2, [R1,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AB4 094                 CMP     R2, #0xC0 ; '? ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15AB6 094                 BEQ     loc_4FF15AC4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AB8 094                 CMP.W   R2, #0x100      ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15ABC 094                 BEQ     loc_4FF15ACA    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15ABE 094                 CMP     R2, #0x80 ; '' ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15AC0 094                 BNE     loc_4FF15B5E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AC2 094                 B       loc_4FF15AD0    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AC4     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15AC4&lt;br /&gt;
N88AP_iBoot:4FF15AC4     loc_4FF15AC4                            ; CODE XREF: n88ap__iBoot__blockdev+24E�j&lt;br /&gt;
N88AP_iBoot:4FF15AC4 094                 MOV.W   R3, #0x10000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AC8 094                 B       loc_4FF15AD2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15ACA     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15ACA&lt;br /&gt;
N88AP_iBoot:4FF15ACA     loc_4FF15ACA                            ; CODE XREF: n88ap__iBoot__blockdev+254�j&lt;br /&gt;
N88AP_iBoot:4FF15ACA 094                 MOV.W   R3, #0x20000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15ACE 094                 B       loc_4FF15AD2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15AD0     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15AD0&lt;br /&gt;
N88AP_iBoot:4FF15AD0     loc_4FF15AD0                            ; CODE XREF: n88ap__iBoot__blockdev+25A�j&lt;br /&gt;
N88AP_iBoot:4FF15AD0 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AD2&lt;br /&gt;
N88AP_iBoot:4FF15AD2     loc_4FF15AD2                            ; CODE XREF: n88ap__iBoot__blockdev+260�j&lt;br /&gt;
N88AP_iBoot:4FF15AD2                                             ; n88ap__iBoot__blockdev+266�j&lt;br /&gt;
N88AP_iBoot:4FF15AD2 094                 LSRS    R5, R2, #3      ; Logical Shift Right&lt;br /&gt;
N88AP_iBoot:4FF15AD4 094                 ADDS    R1, #8          ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AD6 094                 MOVS    R2, #0x10       ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AD8 094                 ADD     R0, SP, #0x94+var_54 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15ADA 094                 STR     R3, [SP,#0x94+var_74] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15ADC 094                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15AE0 094                 LDR     R1, [SP,#0x94+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AE2 094                 ADD     R0, SP, #0x94+var_44 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AE4 094                 ADDS    R1, #0x18       ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AE6 094                 MOV     R2, R5          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AE8 094                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15AEC 094                 LDR     R0, [SP,#0x94+var_64] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AEE 094                 LDR     R3, [R0]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AF0 094                 CBZ     R3, loc_4FF15B16 ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF15AF2 094                 MOVS    R3, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15AF4 094                 ADD     R1, SP, #0x94+var_68 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15AF6 094                 STR     R3, [SP,#0x94+var_68] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15AF8 094                 LDR     R0, [R0]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15AFA 094                 BL      sub_4FF18500    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15AFE 094                 CBNZ    R0, loc_4FF15B46 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF15B00 094                 LDR     R2, [SP,#0x94+var_68] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B02 094                 STR     R0, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B04 094                 STR     R0, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B06 094                 STR     R2, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B08 094                 ADD.W   R3, R5, #0x10   ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B0C 094                 ADDS    R0, #Decrypt    ; argv1&lt;br /&gt;
N88AP_iBoot:4FF15B0E 094                 ADD     R1, SP, #0x94+var_54 ; argv2&lt;br /&gt;
N88AP_iBoot:4FF15B10 094                 ADD     R2, SP, #0x94+var_54 ; argv3&lt;br /&gt;
N88AP_iBoot:4FF15B12 094                 BL      N88AP__iBOOT__aes_crypto_cmd ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15B16&lt;br /&gt;
N88AP_iBoot:4FF15B16     loc_4FF15B16                            ; CODE XREF: n88ap__iBoot__blockdev+288�j&lt;br /&gt;
N88AP_iBoot:4FF15B16 094                 LDR     R1, [SP,#0x94+var_74] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B18 094                 LDR     R3, [SP,#0x94+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B1A 094                 ADD     R2, SP, #0x94+var_44 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B1C 094                 STR     R1, [SP,#0x94+var_94] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B1E 094                 LDR     R1, [SP,#0x94+argv2] ; argv2&lt;br /&gt;
N88AP_iBoot:4FF15B20 094                 TST.W   R3, #0xF        ; Set cond. codes on Op1 &amp;amp; Op2&lt;br /&gt;
N88AP_iBoot:4FF15B24 094                 ITT NE                  ; If Then&lt;br /&gt;
N88AP_iBoot:4FF15B26 094                 BICNE.W R3, R3, #0xF    ; Rd = Op1 &amp;amp; ~Op2&lt;br /&gt;
N88AP_iBoot:4FF15B2A 094                 ADDNE   R3, #0x10       ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B2C 094                 STR     R2, [SP,#0x94+var_90] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B2E 094                 MOVS    R0, #0x11       ; argv1&lt;br /&gt;
N88AP_iBoot:4FF15B30 094                 ADD     R2, SP, #0x94+var_54 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B32 094                 STR     R2, [SP,#0x94+var_8C] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B34 094                 MOV     R2, R1          ; argv3&lt;br /&gt;
N88AP_iBoot:4FF15B36 094                 BL      N88AP__iBOOT__aes_crypto_cmd ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15B3A 094                 ADD     R0, SP, #0x94+var_54 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B3C 094                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B3E 094                 MOVS    R2, #0x30 ; '0' ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B40 094                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15B44 094                 B       loc_4FF15B4C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15B46     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B46&lt;br /&gt;
N88AP_iBoot:4FF15B46     loc_4FF15B46                            ; CODE XREF: n88ap__iBoot__blockdev+296�j&lt;br /&gt;
N88AP_iBoot:4FF15B46 094                 ADD.W   R10, R10, #1    ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B4A 094                 B       loc_4FF15A7E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15B4C     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B4C&lt;br /&gt;
N88AP_iBoot:4FF15B4C     loc_4FF15B4C                            ; CODE XREF: n88ap__iBoot__blockdev+232�j&lt;br /&gt;
N88AP_iBoot:4FF15B4C                                             ; n88ap__iBoot__blockdev+2DC�j&lt;br /&gt;
N88AP_iBoot:4FF15B4C 094                 LDR     R2, [SP,#0x94+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B4E 094                 MOV     R0, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B50 094                 LDR     R1, [SP,#0x94+argv2] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B52 094                 BLX     sub_4FF1EE70    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15B56 094                 LDR     R3, [SP,#0x94+var_60] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B58 094                 LDR     R2, [SP,#0x94+var_84] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B5A 094                 STR     R3, [R2]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B5C 094                 B       loc_4FF15B60    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15B5E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B5E&lt;br /&gt;
N88AP_iBoot:4FF15B5E     loc_4FF15B5E                            ; CODE XREF: n88ap__iBoot__blockdev+23C�j&lt;br /&gt;
N88AP_iBoot:4FF15B5E                                             ; n88ap__iBoot__blockdev+258�j&lt;br /&gt;
N88AP_iBoot:4FF15B5E 094                 MOVS    R4, #0x16       ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B60&lt;br /&gt;
N88AP_iBoot:4FF15B60     loc_4FF15B60                            ; CODE XREF: n88ap__iBoot__blockdev+3C�j&lt;br /&gt;
N88AP_iBoot:4FF15B60                                             ; n88ap__iBoot__blockdev+62�j&lt;br /&gt;
N88AP_iBoot:4FF15B60                                             ; n88ap__iBoot__blockdev+90�j&lt;br /&gt;
N88AP_iBoot:4FF15B60                                             ; n88ap__iBoot__blockdev+B4�j&lt;br /&gt;
N88AP_iBoot:4FF15B60                                             ; n88ap__iBoot__blockdev+BE�j ...&lt;br /&gt;
N88AP_iBoot:4FF15B60 094                 LDR     R3, [SP,#0x94+var_58] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B62 094                 CBZ     R3, loc_4FF15B6A ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF15B64 094                 ADD     R0, SP, #0x94+var_58 ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF15B66 094                 BL      sub_4FF15620    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15B6A&lt;br /&gt;
N88AP_iBoot:4FF15B6A     loc_4FF15B6A                            ; CODE XREF: n88ap__iBoot__blockdev+2FA�j&lt;br /&gt;
N88AP_iBoot:4FF15B6A 094                 CBZ     R4, loc_4FF15B7E ; Compare and Branch on Zero&lt;br /&gt;
N88AP_iBoot:4FF15B6C&lt;br /&gt;
N88AP_iBoot:4FF15B6C     loc_4FF15B6C                            ; CODE XREF: n88ap__iBoot__blockdev+70�j&lt;br /&gt;
N88AP_iBoot:4FF15B6C 094                 LDR     R3, [SP,#0x94+var_84] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B6E 094                 MOVS    R1, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B70 094                 MOV     R0, R6          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B72 094                 STR.W   R1, [R11]       ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B76 094                 MOV     R2, R8          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B78 094                 STR     R1, [R3]        ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF15B7A 094                 BLX     sub_4FF1ED54    ; Branch with Link and Exchange (immediate address)&lt;br /&gt;
N88AP_iBoot:4FF15B7E&lt;br /&gt;
N88AP_iBoot:4FF15B7E     loc_4FF15B7E                            ; CODE XREF: n88ap__iBoot__blockdev:loc_4FF15B6A�j&lt;br /&gt;
N88AP_iBoot:4FF15B7E 094                 LDR     R1, =dword_4FF2A308 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B80 094                 LDR     R2, [SP,#0x94+var_24] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B82 094                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF15B84 094                 LDR     R3, [R1]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF15B86 094                 CMP     R2, R3          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15B88 094                 BEQ     loc_4FF15B8E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF15B8A 094                 BL      N88AP__iBOOT____stack_chk_fail ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF15B8E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B8E&lt;br /&gt;
N88AP_iBoot:4FF15B8E     loc_4FF15B8E                            ; CODE XREF: n88ap__iBoot__blockdev+320�j&lt;br /&gt;
N88AP_iBoot:4FF15B8E 094                 SUB.W   SP, R7, #0x18   ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF15B92 094                 POP.W   {R8,R10,R11}    ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF15B96 088                 POP     {R4-R7,PC}      ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF15B96     ; End of function n88ap__iBoot__blockdev&lt;br /&gt;
N88AP_iBoot:4FF15B96&lt;br /&gt;
N88AP_iBoot:4FF15B96     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF15B98     ; int off_4FF15B98&lt;br /&gt;
N88AP_iBoot:4FF15B98     off_4FF15B98    DCD dword_4FF2A308      ; DATA XREF: n88ap__iBoot__blockdev+C�r&lt;br /&gt;
N88AP_iBoot:4FF15B98                                             ; n88ap__iBoot__blockdev:loc_4FF15B7E�r&lt;br /&gt;
N88AP_iBoot:4FF15B9C     dword_4FF15B9C  DCD 'Memz'              ; DATA XREF: n88ap__iBoot__blockdev+1C�r&lt;br /&gt;
N88AP_iBoot:4FF15BA0     ; int dword_4FF15BA0&lt;br /&gt;
N88AP_iBoot:4FF15BA0     dword_4FF15BA0  DCD 'img3'              ; DATA XREF: n88ap__iBoot__blockdev+2A�r&lt;br /&gt;
N88AP_iBoot:4FF15BA0                                             ; n88ap__iBoot__blockdev+96�r&lt;br /&gt;
N88AP_iBoot:4FF15BA4     ; int off_4FF15BA4&lt;br /&gt;
N88AP_iBoot:4FF15BA4     off_4FF15BA4    DCD aLoadAddressNotSpecified_0&lt;br /&gt;
N88AP_iBoot:4FF15BA4                                             ; DATA XREF: n88ap__iBoot__blockdev+32�r&lt;br /&gt;
N88AP_iBoot:4FF15BA4                                             ; &amp;quot;load address not specified\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15BA8     ; int off_4FF15BA8&lt;br /&gt;
N88AP_iBoot:4FF15BA8     off_4FF15BA8    DCD aBlockdevReadFailedWithD_0&lt;br /&gt;
N88AP_iBoot:4FF15BA8                                             ; DATA XREF: n88ap__iBoot__blockdev+5C�r&lt;br /&gt;
N88AP_iBoot:4FF15BA8                                             ; &amp;quot;blockdev read failed with %d\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF15BAC     dword_4FF15BAC  DCD 'Img3'              ; DATA XREF: n88ap__iBoot__blockdev+66�r&lt;br /&gt;
N88AP_iBoot:4FF15BB0     dword_4FF15BB0  DCD 'SDOM'              ; DATA XREF: n88ap__iBoot__blockdev+E2�r&lt;br /&gt;
N88AP_iBoot:4FF15BB4     dword_4FF15BB4  DCD 'PROD'              ; DATA XREF: n88ap__iBoot__blockdev+106�r&lt;br /&gt;
N88AP_iBoot:4FF15BB8     dword_4FF15BB8  DCD 'CHIP'              ; DATA XREF: n88ap__iBoot__blockdev+12E�r&lt;br /&gt;
N88AP_iBoot:4FF15BBC     dword_4FF15BBC  DCD 'TYPE'              ; DATA XREF: n88ap__iBoot__blockdev+15A�r&lt;br /&gt;
N88AP_iBoot:4FF15BC0     dword_4FF15BC0  DCD 'SEPO'              ; DATA XREF: n88ap__iBoot__blockdev+17C�r&lt;br /&gt;
N88AP_iBoot:4FF15BC4     dword_4FF15BC4  DCD 'BORD'              ; DATA XREF: n88ap__iBoot__blockdev+196�r&lt;br /&gt;
N88AP_iBoot:4FF15BC8     dword_4FF15BC8  DCD 'ECID'              ; DATA XREF: n88ap__iBoot__blockdev+1C0�r&lt;br /&gt;
N88AP_iBoot:4FF15BCC     ; int off_4FF15BCC&lt;br /&gt;
N88AP_iBoot:4FF15BCC     off_4FF15BCC    DCD aImageValidationFailedButUntrustedImagesAreP_0&lt;br /&gt;
N88AP_iBoot:4FF15BCC                                             ; DATA XREF: n88ap__iBoot__blockdev+1F2�r&lt;br /&gt;
N88AP_iBoot:4FF15BCC                                             ; &amp;quot;image validation failed but untrusted i&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF15BD0     dword_4FF15BD0  DCD 'DATA'              ; DATA XREF: n88ap__iBoot__blockdev+204�r&lt;br /&gt;
N88AP_iBoot:4FF15BD4     dword_4FF15BD4  DCD 'KBAG'              ; DATA XREF: n88ap__iBoot__blockdev+21C�r&lt;br /&gt;
N88AP_iBoot:4FF15BD8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Reboot_(iBoot_command)&amp;diff=5878</id>
		<title>Reboot (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Reboot_(iBoot_command)&amp;diff=5878"/>
		<updated>2010-03-09T16:11:22Z</updated>

		<summary type="html">&lt;p&gt;Dimo: New page: == iPhone 3GS 8920x from iBoot-636.66 ==  ==Disassembly== &amp;lt;pre&amp;gt; N88AP_iBoot:4FF00F60     ; =============== S U B R O U T I N E ======================================= N88AP_iBoot:4FF00F60 ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
==Disassembly==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF00F60     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF00F60&lt;br /&gt;
N88AP_iBoot:4FF00F60     ; Attributes: noreturn bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF00F60&lt;br /&gt;
N88AP_iBoot:4FF00F60     n88ap__iBoot__reset_function            ; DATA XREF: N88AP_iBoot:n88ap__iBoot__reset�o&lt;br /&gt;
N88AP_iBoot:4FF00F60                                             ; N88AP_iBoot:n88ap__iBoot__reboot�o&lt;br /&gt;
N88AP_iBoot:4FF00F60&lt;br /&gt;
N88AP_iBoot:4FF00F60     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF00F60     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF00F60&lt;br /&gt;
N88AP_iBoot:4FF00F60 000                 PUSH    {R7,LR}         ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF00F62 008                 ADD     R7, SP, #0      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF00F64 008                 BL      sub_4FF18638    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00F68 008                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00F6A 008                 BL      sub_4FF19184    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00F6A     ; End of function n88ap__iBoot__reset_function&lt;br /&gt;
N88AP_iBoot:4FF00F6A&lt;br /&gt;
N88AP_iBoot:4FF00F6E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00F6E                     NOP                     ; No Operation&lt;br /&gt;
N88AP_iBoot:4FF00F70&lt;br /&gt;
N88AP_iBoot:4FF00F70     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Go_(iBoot_command)&amp;diff=5877</id>
		<title>Go (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Go_(iBoot_command)&amp;diff=5877"/>
		<updated>2010-03-09T16:10:15Z</updated>

		<summary type="html">&lt;p&gt;Dimo: New page: == iPhone 3GS 8920x from iBoot-636.66 ==  ==Disassembly== &amp;lt;pre&amp;gt; N88AP_iBoot:4FF0103C     ; =============== S U B R O U T I N E ======================================= N88AP_iBoot:4FF0103C ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
==Disassembly==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF0103C     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF0103C&lt;br /&gt;
N88AP_iBoot:4FF0103C     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF0103C&lt;br /&gt;
N88AP_iBoot:4FF0103C     n88ap__iBoot__go_command                ; DATA XREF: N88AP_iBoot:n88ap__iBoot__go�o&lt;br /&gt;
N88AP_iBoot:4FF0103C&lt;br /&gt;
N88AP_iBoot:4FF0103C     var_18          = -0x18&lt;br /&gt;
N88AP_iBoot:4FF0103C     MemoryPoint     = -0x14&lt;br /&gt;
N88AP_iBoot:4FF0103C&lt;br /&gt;
N88AP_iBoot:4FF0103C 000                 PUSH    {R4,R5,R7,LR}   ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF0103E 010                 ADD     R7, SP, #8      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF01040 010                 SUB     SP, SP, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF01042 018                 CMP     R0, #1          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF01044 018                 MOV     R4, R1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF01046 018                 BLE     loc_4FF01062    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF01048 018                 ADD.W   R5, R1, #0x14   ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF0104C 018                 LDR     R0, =aHelp      ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0104E 018                 LDR     R1, [R1,#0x24]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF01050 018                 BL      sub_4FF1ECA0    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF01054 018                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF01056 018                 BNE     loc_4FF010C4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF01058 018                 LDR     R1, [R4,#0x10]  ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF0105A 018                 LDR     R0, =aSAddress  ; &amp;quot;%s [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0105C 018                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF01060 018                 B       loc_4FF010D4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF01062     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF01062&lt;br /&gt;
N88AP_iBoot:4FF01062     loc_4FF01062                            ; CODE XREF: n88ap__iBoot__go_command+A�j&lt;br /&gt;
N88AP_iBoot:4FF01062 018                 LDR     R0, =aLoadaddr  ; &amp;quot;loadaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01064 018                 MOV.W   R1, #0x41000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF01068 018                 BL      sub_4FF1CD88    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0106C 018                 STR     R0, [SP,#0x18+MemoryPoint] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF0106E&lt;br /&gt;
N88AP_iBoot:4FF0106E     loc_4FF0106E                            ; CODE XREF: n88ap__iBoot__go_command+96�j&lt;br /&gt;
N88AP_iBoot:4FF0106E 018                 LDR     R0, [SP,#0x18+MemoryPoint] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF01070 018                 MOV.W   R1, #0xF00000   ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF01074 018                 BL      sub_4FF1A038    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF01078 018                 CBNZ    R0, loc_4FF0107E ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF0107A 018                 LDR     R0, =aPermissionDenied ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0107C 018                 B       loc_4FF010AC    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF0107E     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF0107E&lt;br /&gt;
N88AP_iBoot:4FF0107E     loc_4FF0107E                            ; CODE XREF: n88ap__iBoot__go_command+3C�j&lt;br /&gt;
N88AP_iBoot:4FF0107E 018                 LDR     R0, [SP,#0x18+MemoryPoint] ; StartAddress&lt;br /&gt;
N88AP_iBoot:4FF01080 018                 MOV.W   R1, #0xF00000   ; dataSize&lt;br /&gt;
N88AP_iBoot:4FF01084 018                 MOVS    R2, #1          ; Type&lt;br /&gt;
N88AP_iBoot:4FF01086 018                 BL      n88ap__iBoot__MEMZ_STRUCT_INIT ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0108A 018                 CBNZ    R0, loc_4FF01090 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF0108C 018                 LDR     R0, =aMemoryImageCorrupt ; &amp;quot;Memory image corrupt\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0108E 018                 B       loc_4FF010AC    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF01090     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF01090&lt;br /&gt;
N88AP_iBoot:4FF01090     loc_4FF01090                            ; CODE XREF: n88ap__iBoot__go_command+4E�j&lt;br /&gt;
N88AP_iBoot:4FF01090 018                 MOV.W   R3, #0x43000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF01094 018                 LDR     R1, ='ibec'     ; TAG_TYPE&lt;br /&gt;
N88AP_iBoot:4FF01096 018                 STR     R3, [SP,#0x18+MemoryPoint] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF01098 018                 ADD     R2, SP, #0x18+MemoryPoint ; unknown1&lt;br /&gt;
N88AP_iBoot:4FF0109A 018                 MOV.W   R3, #0xF00000   ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0109E 018                 STR     R3, [SP,#0x18+var_18] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF010A0 018                 MOV     R3, SP          ; unknown2&lt;br /&gt;
N88AP_iBoot:4FF010A2 018                 BL      n88ap__iBoot__image_load ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF010A6 018                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF010A8 018                 BGE     loc_4FF010B2    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF010AA 018                 LDR     R0, =aMemoryImageNotValid ; &amp;quot;Memory image not valid\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF010AC&lt;br /&gt;
N88AP_iBoot:4FF010AC     loc_4FF010AC                            ; CODE XREF: n88ap__iBoot__go_command+40�j&lt;br /&gt;
N88AP_iBoot:4FF010AC                                             ; n88ap__iBoot__go_command+52�j&lt;br /&gt;
N88AP_iBoot:4FF010AC 018                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF010B0 018                 B       loc_4FF010D4    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF010B2     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF010B2&lt;br /&gt;
N88AP_iBoot:4FF010B2     loc_4FF010B2                            ; CODE XREF: n88ap__iBoot__go_command+6C�j&lt;br /&gt;
N88AP_iBoot:4FF010B2 018                 LDR     R1, [SP,#0x18+MemoryPoint] ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF010B4 018                 LDR     R0, =aJumpingIntoImageAt0x08x ; &amp;quot;jumping into image at 0x%08x\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF010B6 018                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF010BA 018                 MOVS    R0, #0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF010BC 018                 LDR     R1, [SP,#0x18+MemoryPoint] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF010BE 018                 MOV     R2, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF010C0 018                 BL      sub_4FF19264    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF010C4&lt;br /&gt;
N88AP_iBoot:4FF010C4     loc_4FF010C4                            ; CODE XREF: n88ap__iBoot__go_command+1A�j&lt;br /&gt;
N88AP_iBoot:4FF010C4 018                 LDR     R0, =aLoadaddr  ; &amp;quot;loadaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF010C6 018                 MOV.W   R1, #0x41000000 ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF010CA 018                 BL      sub_4FF1CD88    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF010CE 018                 LDR     R3, [R5,#4]     ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF010D0 018                 STR     R3, [SP,#0x18+MemoryPoint] ; Store to Memory&lt;br /&gt;
N88AP_iBoot:4FF010D2 018                 B       loc_4FF0106E    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF010D4     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF010D4&lt;br /&gt;
N88AP_iBoot:4FF010D4     loc_4FF010D4                            ; CODE XREF: n88ap__iBoot__go_command+24�j&lt;br /&gt;
N88AP_iBoot:4FF010D4                                             ; n88ap__iBoot__go_command+74�j&lt;br /&gt;
N88AP_iBoot:4FF010D4 018                 MOV.W   R0, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF010D8 018                 SUB.W   SP, R7, #8      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF010DC 018                 POP     {R4,R5,R7,PC}   ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF010DC     ; End of function n88ap__iBoot__go_command&lt;br /&gt;
N88AP_iBoot:4FF010DC&lt;br /&gt;
N88AP_iBoot:4FF010DE     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF010DE                     NOP                     ; No Operation&lt;br /&gt;
N88AP_iBoot:4FF010DE     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF010E0     off_4FF010E0    DCD aHelp               ; DATA XREF: n88ap__iBoot__go_command+10�r&lt;br /&gt;
N88AP_iBoot:4FF010E0                                             ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF010E4     ; int off_4FF010E4&lt;br /&gt;
N88AP_iBoot:4FF010E4     off_4FF010E4    DCD aSAddress           ; DATA XREF: n88ap__iBoot__go_command+1E�r&lt;br /&gt;
N88AP_iBoot:4FF010E4                                             ; &amp;quot;%s [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF010E8     off_4FF010E8    DCD aLoadaddr           ; DATA XREF: n88ap__iBoot__go_command:loc_4FF01062�r&lt;br /&gt;
N88AP_iBoot:4FF010E8                                             ; n88ap__iBoot__go_command:loc_4FF010C4�r&lt;br /&gt;
N88AP_iBoot:4FF010E8                                             ; &amp;quot;loadaddr&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF010EC     off_4FF010EC    DCD aPermissionDenied   ; DATA XREF: n88ap__iBoot__go_command+3E�r&lt;br /&gt;
N88AP_iBoot:4FF010EC                                             ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF010F0     ; struct MEMZ_STRUCT *off_4FF010F0&lt;br /&gt;
N88AP_iBoot:4FF010F0     off_4FF010F0    DCD aMemoryImageCorrupt ; DATA XREF: n88ap__iBoot__go_command+50�r&lt;br /&gt;
N88AP_iBoot:4FF010F0                                             ; &amp;quot;Memory image corrupt\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF010F4     ; char *dword_4FF010F4&lt;br /&gt;
N88AP_iBoot:4FF010F4     dword_4FF010F4  DCD 'ibec'              ; DATA XREF: n88ap__iBoot__go_command+58�r&lt;br /&gt;
N88AP_iBoot:4FF010F8     ; int off_4FF010F8&lt;br /&gt;
N88AP_iBoot:4FF010F8     off_4FF010F8    DCD aMemoryImageNotValid&lt;br /&gt;
N88AP_iBoot:4FF010F8                                             ; DATA XREF: n88ap__iBoot__go_command+6E�r&lt;br /&gt;
N88AP_iBoot:4FF010F8                                             ; &amp;quot;Memory image not valid\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF010FC     ; int off_4FF010FC&lt;br /&gt;
N88AP_iBoot:4FF010FC     off_4FF010FC    DCD aJumpingIntoImageAt0x08x&lt;br /&gt;
N88AP_iBoot:4FF010FC                                             ; DATA XREF: n88ap__iBoot__go_command+78�r&lt;br /&gt;
N88AP_iBoot:4FF010FC                                             ; &amp;quot;jumping into image at 0x%08x\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF01100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Bootx_(iBoot_command)&amp;diff=5842</id>
		<title>Bootx (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Bootx_(iBoot_command)&amp;diff=5842"/>
		<updated>2010-02-26T15:23:30Z</updated>

		<summary type="html">&lt;p&gt;Dimo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF007E8     n88ap__iBoot__bootx_function            ; DATA XREF: N88AP_iBoot:n88ap__iBoot__bootx�o&lt;br /&gt;
N88AP_iBoot:4FF007E8&lt;br /&gt;
N88AP_iBoot:4FF007E8     kernelcache_prepped_memory_pos= -0x10&lt;br /&gt;
N88AP_iBoot:4FF007E8     oldR4           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF007E8     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF007E8     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF007E8&lt;br /&gt;
N88AP_iBoot:4FF007E8 000                 PUSH    {R4,R7,LR}      ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF007EA 00C                 ADD     R7, SP, #4      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF007EC 00C                 SUB     SP, SP, #4      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF007EE 010                 CMP     R0, #1          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF007F0 010                 MOV     R4, R1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF007F2 010                 BLE     loc_4FF00808    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF007F4 010                 LDR     R1, [R1,#0x24]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF007F6 010                 LDR     R0, =aHelp      ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF007F8 010                 BL      sub_4FF1ECA0    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF007FC 010                 CBNZ    R0, loc_4FF00808 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF007FE 010                 LDR     R1, [R4,#0x10]  ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF00800 010                 LDR     R0, =aUsageSAddress ; &amp;quot;usage:\n\t%s [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00802 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00806 010                 B       loc_4FF0081C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00808     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00808&lt;br /&gt;
N88AP_iBoot:4FF00808     loc_4FF00808                            ; CODE XREF: n88ap__iBoot__bootx_function+A�j&lt;br /&gt;
N88AP_iBoot:4FF00808                                             ; n88ap__iBoot__bootx_function+14�j&lt;br /&gt;
N88AP_iBoot:4FF00808 010                 MOV.W   R0, #n88ap_ramdisk ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0080C 010                 MOV.W   R1, #0xF00000   ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00810 010                 BL      sub_4FF1A038    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00814 010                 CBNZ    R0, loc_4FF00822 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF00816 010                 LDR     R0, =aPermissionDenied ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00818 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0081C&lt;br /&gt;
N88AP_iBoot:4FF0081C     loc_4FF0081C                            ; CODE XREF: n88ap__iBoot__bootx_function+1E�j&lt;br /&gt;
N88AP_iBoot:4FF0081C 010                 MOV.W   R4, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00820 010                 B       loc_4FF0085C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00822     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00822&lt;br /&gt;
N88AP_iBoot:4FF00822     loc_4FF00822                            ; CODE XREF: n88ap__iBoot__bootx_function+2C�j&lt;br /&gt;
N88AP_iBoot:4FF00822 010                 MOV.W   R1, #n88ap_ramdisk ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF00826 010                 LDR     R0, =aAttemptingToValidateKernelcache0x08x ; &amp;quot;Attempting to validate kernelcache @ 0x&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF00828 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0082C 010                 MOV.W   R0, #n88ap_ramdisk ; memoery_pos&lt;br /&gt;
N88AP_iBoot:4FF00830 010                 MOV.W   R1, #0xF00000   ; memory_size&lt;br /&gt;
N88AP_iBoot:4FF00834 010                 MOV     R2, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00836 010                 BL      LoadImage_kernelcache_img3 ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0083A 010                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF0083C 010                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0083E 010                 BGE     loc_4FF00848    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00840 010                 LDR     R0, =aErrorLoadingKernelcache ; &amp;quot;error loading kernelcache\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00842 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00846 010                 B       loc_4FF0085C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00848     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00848&lt;br /&gt;
N88AP_iBoot:4FF00848     loc_4FF00848                            ; CODE XREF: n88ap__iBoot__bootx_function+56�j&lt;br /&gt;
N88AP_iBoot:4FF00848 010                 LDR     R1, [SP,#0x10+kernelcache_prepped_memory_pos] ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF0084A 010                 LDR     R0, =aKernelcachePreppedAtAddress0x08x ; &amp;quot;kernelcache prepped at address 0x%08x\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0084C 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00850 010                 LDR     R2, =dword_4FF2DC40 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF00852 010                 MOVS    R0, #3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00854 010                 LDR     R1, [SP,#0x10+kernelcache_prepped_memory_pos] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF00856 010                 LDR     R2, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF00858 010                 BL      sub_4FF19264    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0085C&lt;br /&gt;
N88AP_iBoot:4FF0085C     loc_4FF0085C                            ; CODE XREF: n88ap__iBoot__bootx_function+38�j&lt;br /&gt;
N88AP_iBoot:4FF0085C                                             ; n88ap__iBoot__bootx_function+5E�j&lt;br /&gt;
N88AP_iBoot:4FF0085C 010                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0085E 010                 SUB.W   SP, R7, #4      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF00862 010                 POP     {R4,R7,PC}      ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF00862     ; End of function n88ap__iBoot__bootx_function&lt;br /&gt;
N88AP_iBoot:4FF00862&lt;br /&gt;
N88AP_iBoot:4FF00862     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00864     off_4FF00864    DCD aHelp               ; DATA XREF: n88ap__iBoot__bootx_function+E�r&lt;br /&gt;
N88AP_iBoot:4FF00864                                             ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00868     ; int off_4FF00868&lt;br /&gt;
N88AP_iBoot:4FF00868     off_4FF00868    DCD aUsageSAddress      ; DATA XREF: n88ap__iBoot__bootx_function+18�r&lt;br /&gt;
N88AP_iBoot:4FF00868                                             ; &amp;quot;usage:\n\t%s [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0086C     ; int off_4FF0086C&lt;br /&gt;
N88AP_iBoot:4FF0086C     off_4FF0086C    DCD aPermissionDenied   ; DATA XREF: n88ap__iBoot__bootx_function+2E�r&lt;br /&gt;
N88AP_iBoot:4FF0086C                                             ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00870     ; int off_4FF00870&lt;br /&gt;
N88AP_iBoot:4FF00870     off_4FF00870    DCD aAttemptingToValidateKernelcache0x08x&lt;br /&gt;
N88AP_iBoot:4FF00870                                             ; DATA XREF: n88ap__iBoot__bootx_function+3E�r&lt;br /&gt;
N88AP_iBoot:4FF00870                                             ; &amp;quot;Attempting to validate kernelcache @ 0x&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF00874     ; int off_4FF00874&lt;br /&gt;
N88AP_iBoot:4FF00874     off_4FF00874    DCD aErrorLoadingKernelcache&lt;br /&gt;
N88AP_iBoot:4FF00874                                             ; DATA XREF: n88ap__iBoot__bootx_function+58�r&lt;br /&gt;
N88AP_iBoot:4FF00874                                             ; &amp;quot;error loading kernelcache\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00878     ; int off_4FF00878&lt;br /&gt;
N88AP_iBoot:4FF00878     off_4FF00878    DCD aKernelcachePreppedAtAddress0x08x&lt;br /&gt;
N88AP_iBoot:4FF00878                                             ; DATA XREF: n88ap__iBoot__bootx_function+62�r&lt;br /&gt;
N88AP_iBoot:4FF00878                                             ; &amp;quot;kernelcache prepped at address 0x%08x\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0087C     off_4FF0087C    DCD dword_4FF2DC40      ; DATA XREF: n88ap__iBoot__bootx_function+68�r&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Bootx_(iBoot_command)&amp;diff=5841</id>
		<title>Bootx (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Bootx_(iBoot_command)&amp;diff=5841"/>
		<updated>2010-02-26T15:18:22Z</updated>

		<summary type="html">&lt;p&gt;Dimo: Removing all content from page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Bootx_(iBoot_command)&amp;diff=5840</id>
		<title>Bootx (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Bootx_(iBoot_command)&amp;diff=5840"/>
		<updated>2010-02-26T15:15:11Z</updated>

		<summary type="html">&lt;p&gt;Dimo: bootx function from iPhone 3GS at 3.1.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;N88AP_iBoot:4FF007E8     ; =============== S U B R O U T I N E =======================================&lt;br /&gt;
N88AP_iBoot:4FF007E8&lt;br /&gt;
N88AP_iBoot:4FF007E8     ; Attributes: bp-based frame&lt;br /&gt;
N88AP_iBoot:4FF007E8&lt;br /&gt;
N88AP_iBoot:4FF007E8     n88ap__iBoot__bootx_function            ; DATA XREF: N88AP_iBoot:n88ap__iBoot__bootx�o&lt;br /&gt;
N88AP_iBoot:4FF007E8&lt;br /&gt;
N88AP_iBoot:4FF007E8     kernelcache_prepped_memory_pos= -0x10&lt;br /&gt;
N88AP_iBoot:4FF007E8     oldR4           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF007E8     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF007E8     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF007E8&lt;br /&gt;
N88AP_iBoot:4FF007E8 000                 PUSH    {R4,R7,LR}      ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF007EA 00C                 ADD     R7, SP, #4      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF007EC 00C                 SUB     SP, SP, #4      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF007EE 010                 CMP     R0, #1          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF007F0 010                 MOV     R4, R1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF007F2 010                 BLE     loc_4FF00808    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF007F4 010                 LDR     R1, [R1,#0x24]  ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF007F6 010                 LDR     R0, =aHelp      ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF007F8 010                 BL      sub_4FF1ECA0    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF007FC 010                 CBNZ    R0, loc_4FF00808 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF007FE 010                 LDR     R1, [R4,#0x10]  ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF00800 010                 LDR     R0, =aUsageSAddress ; &amp;quot;usage:\n\t%s [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00802 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00806 010                 B       loc_4FF0081C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00808     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00808&lt;br /&gt;
N88AP_iBoot:4FF00808     loc_4FF00808                            ; CODE XREF: n88ap__iBoot__bootx_function+A�j&lt;br /&gt;
N88AP_iBoot:4FF00808                                             ; n88ap__iBoot__bootx_function+14�j&lt;br /&gt;
N88AP_iBoot:4FF00808 010                 MOV.W   R0, #n88ap_ramdisk ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0080C 010                 MOV.W   R1, #0xF00000   ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00810 010                 BL      sub_4FF1A038    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00814 010                 CBNZ    R0, loc_4FF00822 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF00816 010                 LDR     R0, =aPermissionDenied ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00818 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0081C&lt;br /&gt;
N88AP_iBoot:4FF0081C     loc_4FF0081C                            ; CODE XREF: n88ap__iBoot__bootx_function+1E�j&lt;br /&gt;
N88AP_iBoot:4FF0081C 010                 MOV.W   R4, #0xFFFFFFFF ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00820 010                 B       loc_4FF0085C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00822     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00822&lt;br /&gt;
N88AP_iBoot:4FF00822     loc_4FF00822                            ; CODE XREF: n88ap__iBoot__bootx_function+2C�j&lt;br /&gt;
N88AP_iBoot:4FF00822 010                 MOV.W   R1, #n88ap_ramdisk ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF00826 010                 LDR     R0, =aAttemptingToValidateKernelcache0x08x ; &amp;quot;Attempting to validate kernelcache @ 0x&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF00828 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0082C 010                 MOV.W   R0, #n88ap_ramdisk ; memoery_pos&lt;br /&gt;
N88AP_iBoot:4FF00830 010                 MOV.W   R1, #0xF00000   ; memory_size&lt;br /&gt;
N88AP_iBoot:4FF00834 010                 MOV     R2, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00836 010                 BL      LoadImage_kernelcache_img3 ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0083A 010                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF0083C 010                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0083E 010                 BGE     loc_4FF00848    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00840 010                 LDR     R0, =aErrorLoadingKernelcache ; &amp;quot;error loading kernelcache\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00842 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00846 010                 B       loc_4FF0085C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00848     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00848&lt;br /&gt;
N88AP_iBoot:4FF00848     loc_4FF00848                            ; CODE XREF: n88ap__iBoot__bootx_function+56�j&lt;br /&gt;
N88AP_iBoot:4FF00848 010                 LDR     R1, [SP,#0x10+kernelcache_prepped_memory_pos] ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF0084A 010                 LDR     R0, =aKernelcachePreppedAtAddress0x08x ; &amp;quot;kernelcache prepped at address 0x%08x\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0084C 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00850 010                 LDR     R2, =dword_4FF2DC40 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF00852 010                 MOVS    R0, #3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00854 010                 LDR     R1, [SP,#0x10+kernelcache_prepped_memory_pos] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF00856 010                 LDR     R2, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF00858 010                 BL      sub_4FF19264    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0085C&lt;br /&gt;
N88AP_iBoot:4FF0085C     loc_4FF0085C                            ; CODE XREF: n88ap__iBoot__bootx_function+38�j&lt;br /&gt;
N88AP_iBoot:4FF0085C                                             ; n88ap__iBoot__bootx_function+5E�j&lt;br /&gt;
N88AP_iBoot:4FF0085C 010                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0085E 010                 SUB.W   SP, R7, #4      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF00862 010                 POP     {R4,R7,PC}      ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF00862     ; End of function n88ap__iBoot__bootx_function&lt;br /&gt;
N88AP_iBoot:4FF00862&lt;br /&gt;
N88AP_iBoot:4FF00862     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00864     off_4FF00864    DCD aHelp               ; DATA XREF: n88ap__iBoot__bootx_function+E�r&lt;br /&gt;
N88AP_iBoot:4FF00864                                             ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00868     ; int off_4FF00868&lt;br /&gt;
N88AP_iBoot:4FF00868     off_4FF00868    DCD aUsageSAddress      ; DATA XREF: n88ap__iBoot__bootx_function+18�r&lt;br /&gt;
N88AP_iBoot:4FF00868                                             ; &amp;quot;usage:\n\t%s [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0086C     ; int off_4FF0086C&lt;br /&gt;
N88AP_iBoot:4FF0086C     off_4FF0086C    DCD aPermissionDenied   ; DATA XREF: n88ap__iBoot__bootx_function+2E�r&lt;br /&gt;
N88AP_iBoot:4FF0086C                                             ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00870     ; int off_4FF00870&lt;br /&gt;
N88AP_iBoot:4FF00870     off_4FF00870    DCD aAttemptingToValidateKernelcache0x08x&lt;br /&gt;
N88AP_iBoot:4FF00870                                             ; DATA XREF: n88ap__iBoot__bootx_function+3E�r&lt;br /&gt;
N88AP_iBoot:4FF00870                                             ; &amp;quot;Attempting to validate kernelcache @ 0x&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF00874     ; int off_4FF00874&lt;br /&gt;
N88AP_iBoot:4FF00874     off_4FF00874    DCD aErrorLoadingKernelcache&lt;br /&gt;
N88AP_iBoot:4FF00874                                             ; DATA XREF: n88ap__iBoot__bootx_function+58�r&lt;br /&gt;
N88AP_iBoot:4FF00874                                             ; &amp;quot;error loading kernelcache\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00878     ; int off_4FF00878&lt;br /&gt;
N88AP_iBoot:4FF00878     off_4FF00878    DCD aKernelcachePreppedAtAddress0x08x&lt;br /&gt;
N88AP_iBoot:4FF00878                                             ; DATA XREF: n88ap__iBoot__bootx_function+62�r&lt;br /&gt;
N88AP_iBoot:4FF00878                                             ; &amp;quot;kernelcache prepped at address 0x%08x\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0087C     off_4FF0087C    DCD dword_4FF2DC40      ; DATA XREF: n88ap__iBoot__bootx_function+68�r&lt;br /&gt;
N88AP_iBoot:4FF00880&lt;/div&gt;</summary>
		<author><name>Dimo</name></author>
		
	</entry>
</feed>