Kernelcache loader (iBoot command)

iPhone 3GS 8920x from iBoot-636.66
(N.B - In iBoot iBoot-1219.62.8, from iOS 5.1b3 (the latest at the time of this writing) for k48AP (iPad), the kernelcache loader is split over several functions, with the main body (LZSSDEC and Mach-O) provided by the function at ROM:5FF120C8. Complete disassembly to follow later)

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