CMP R0, #0
IOS_MCP(D_R):0510E58E BEQ Process_Boots
IOS_MCP(D_R):0510E590 B loc_510E6A8
IOS_MCP(D_R):0510E592 ; ---------------------------------------------------------------------------
IOS_MCP(D_R):0510E592
IOS_MCP(D_R):0510E592 Process_Boots ; CODE XREF: sub_510E56C+22j
IOS_MCP(D_R):0510E592 MOVS R1, R7
IOS_MCP(D_R):0510E594 ADDS R1, #0x44
IOS_MCP(D_R):0510E596 MOVS R0, #4
IOS_MCP(D_R):0510E598 BL sub_504197C
IOS_MCP(D_R):0510E59C MOVS R1, R7
IOS_MCP(D_R):0510E59E ADDS R1, #0x40
IOS_MCP(D_R):0510E5A0 MOVS R0, #5
IOS_MCP(D_R):0510E5A2 BL sub_504197C
IOS_MCP(D_R):0510E5A6 MOVS R1, R7
IOS_MCP(D_R):0510E5A8 ADDS R1, #0x38
IOS_MCP(D_R):0510E5AA MOVS R0, #6
IOS_MCP(D_R):0510E5AC BL sub_504197C
IOS_MCP(D_R):0510E5B0 MOVS R1, R7
IOS_MCP(D_R):0510E5B2 ADDS R1, #0x3C
IOS_MCP(D_R):0510E5B4 MOVS R0, #7
IOS_MCP(D_R):0510E5B6 BL sub_504197C
IOS_MCP(D_R):0510E5BA LDR R0, =(aIosShutdownDur+0x1C) ; "\n"
IOS_MCP(D_R):0510E5BC BL sub_5059140
IOS_MCP(D_R):0510E5C0 LDR R0, [R7,#0x48+var_4]
IOS_MCP(D_R):0510E5C2 BL sub_50596E0
IOS_MCP(D_R):0510E5C6 MOVS R1, #0x3E8
IOS_MCP(D_R):0510E5CA BL sub_5056C88
IOS_MCP(D_R):0510E5CE LDR R4, =aBoot0MainDMs ; "boot0 main %d(ms)\n"
IOS_MCP(D_R):0510E5D0 MOVS R1, R0
IOS_MCP(D_R):0510E5D2 MOVS R0, R4
IOS_MCP(D_R):0510E5D4 BL sub_5059140
IOS_MCP(D_R):0510E5D8 LDR R0, [R7,#0x48+var_8]
IOS_MCP(D_R):0510E5DA BL sub_50596E0
IOS_MCP(D_R):0510E5DE MOVS R1, #0x3E8
IOS_MCP(D_R):0510E5E2 BL sub_5056C88
IOS_MCP(D_R):0510E5E6 LDR R4, =aBoot0ReadDMs ; "boot0 read %d(ms)\n"
IOS_MCP(D_R):0510E5E8 MOVS R1, R0
IOS_MCP(D_R):0510E5EA MOVS R0, R4
IOS_MCP(D_R):0510E5EC BL sub_5059140
IOS_MCP(D_R):0510E5F0 LDR R0, [R7,#0x48+var_10]
IOS_MCP(D_R):0510E5F2 BL sub_50596E0
IOS_MCP(D_R):0510E5F6 MOVS R1, #0x3E8
IOS_MCP(D_R):0510E5FA BL sub_5056C88
IOS_MCP(D_R):0510E5FE LDR R4, =aBoot0VerifyDMs ; "boot0 verify %d(ms)\n"
IOS_MCP(D_R):0510E600 MOVS R1, R0
IOS_MCP(D_R):0510E602 MOVS R0, R4
IOS_MCP(D_R):0510E604 BL sub_5059140
IOS_MCP(D_R):0510E608 LDR R0, [R7,#0x48+var_C]
IOS_MCP(D_R):0510E60A BL sub_50596E0
IOS_MCP(D_R):0510E60E MOVS R1, #0x3E8
IOS_MCP(D_R):0510E612 BL sub_5056C88
IOS_MCP(D_R):0510E616 LDR R4, =aBoot0DecryptDM ; "boot0 decrypt %d(ms)\n"
IOS_MCP(D_R):0510E618 MOVS R1, R0
IOS_MCP(D_R):0510E61A MOVS R0, R4
IOS_MCP(D_R):0510E61C BL sub_5059140
IOS_MCP(D_R):0510E620 MOVS R1, R7
IOS_MCP(D_R):0510E622 ADDS R1, #0x44
IOS_MCP(D_R):0510E624 MOVS R0, #0
IOS_MCP(D_R):0510E626 BL sub_504197C
IOS_MCP(D_R):0510E62A MOVS R1, R7
IOS_MCP(D_R):0510E62C ADDS R1, #0x40
IOS_MCP(D_R):0510E62E MOVS R0, #1
IOS_MCP(D_R):0510E630 BL sub_504197C
IOS_MCP(D_R):0510E634 MOVS R1, R7
IOS_MCP(D_R):0510E636 ADDS R1, #0x38
IOS_MCP(D_R):0510E638 MOVS R0, #2
IOS_MCP(D_R):0510E63A BL sub_504197C
IOS_MCP(D_R):0510E63E MOVS R1, R7
IOS_MCP(D_R):0510E640 ADDS R1, #0x3C
IOS_MCP(D_R):0510E642 MOVS R0, #3
IOS_MCP(D_R):0510E644 BL sub_504197C
IOS_MCP(D_R):0510E648 LDR R0, [R7,#0x48+var_4]
IOS_MCP(D_R):0510E64A BL sub_50596E0
IOS_MCP(D_R):0510E64E MOVS R1, #0x3E8
IOS_MCP(D_R):0510E652 BL sub_5056C88
IOS_MCP(D_R):0510E656 LDR R4, =aBoot1MainDMs ; "boot1 main %d(ms)\n"
IOS_MCP(D_R):0510E658 MOVS R1, R0
IOS_MCP(D_R):0510E65A MOVS R0, R4
IOS_MCP(D_R):0510E65C BL sub_5059140
IOS_MCP(D_R):0510E660 LDR R0, [R7,#0x48+var_8]
IOS_MCP(D_R):0510E662 BL sub_50596E0
IOS_MCP(D_R):0510E666 MOVS R1, #0x3E8
IOS_MCP(D_R):0510E66A BL sub_5056C88
IOS_MCP(D_R):0510E66E LDR R4, =aBoot1ReadDMs ; "boot1 read %d(ms)\n"
IOS_MCP(D_R):0510E670 MOVS R1, R0
IOS_MCP(D_R):0510E672 MOVS R0, R4
IOS_MCP(D_R):0510E674 BL sub_5059140
IOS_MCP(D_R):0510E678 LDR R0, [R7,#0x48+var_10]
IOS_MCP(D_R):0510E67A BL sub_50596E0
IOS_MCP(D_R):0510E67E MOVS R1, #0x3E8
IOS_MCP(D_R):0510E682 BL sub_5056C88
IOS_MCP(D_R):0510E686 LDR R4, =aBoot1VerifyDMs ; "boot1 verify %d(ms)\n"
IOS_MCP(D_R):0510E688 MOVS R1, R0
IOS_MCP(D_R):0510E68A MOVS R0, R4
IOS_MCP(D_R):0510E68C BL sub_5059140
IOS_MCP(D_R):0510E690 LDR R0, [R7,#0x48+var_C]
IOS_MCP(D_R):0510E692 BL sub_50596E0
IOS_MCP(D_R):0510E696 MOVS R1, #0x3E8
IOS_MCP(D_R):0510E69A BL sub_5056C88
IOS_MCP(D_R):0510E69E LDR R4, =aBoot1DecryptDM ; "boot1 decrypt %d(ms)\n"
IOS_MCP(D_R):0510E6A0 MOVS R1, R0
IOS_MCP(D_R):0510E6A2 MOVS R0, R4
IOS_MCP(D_R):0510E6A4 BL sub_5059140
IOS_MCP(D_R):0510E6A8
IOS_MCP(D_R):0510E6A8 loc_510E6A8 ; CODE XREF: sub_510E56C+24j
IOS_MCP(D_R):0510E6A8 LDR R5, =dword_50711A8
IOS_MCP(D_R):0510E6AA LDR R2, =aServiceStartup ; "\nService startup began at %u ms\n"
IOS_MCP(D_R):0510E6AC STR R2, [R7,#0x48+var_28]
IOS_MCP(D_R):0510E6AE LDR R0, [R5,#(dword_50711D0 - 0x50711A8)]
IOS_MCP(D_R):0510E6B0 LDR R1, [R5,#(dword_50711D4 - 0x50711A8)]
IOS_MCP(D_R):0510E6B2 LDR R2, =0
IOS_MCP(D_R):0510E6B4 LDR R3, =0x3E8
IOS_MCP(D_R):0510E6B6 BL sub_505711C
IOS_MCP(D_R):0510E6BA LDR R0, [R7,#0x48+var_28]
IOS_MCP(D_R):0510E6BC BL sub_5059140
IOS_MCP(D_R):0510E6C0 LDR R4, =dword_5072F38
IOS_MCP(D_R):0510E6C2 LDR R3, =aIosStartupDura ; "IOS startup duration %u ms\n"
IOS_MCP(D_R):0510E6C4 STR R3, [R7,#0x48+var_2C]
IOS_MCP(D_R):0510E6C6