Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 0D400000 boot1_start
- 0D400000 MOV R0, #0
- 0D400004 MCR p15, 0, R0,c7,c5, 0 // Invalidate ICache
- 0D400008 MCR p15, 0, R0,c7,c6, 0 // Invalidate DCache
- 0D40000C MRC p15, 0, R0,c1,c0, 0 // Read control register
- 0D400010 ORR R0, R0, #0x1000 // Set replacement strategy to Round-Robin
- 0D400014 MCR p15, 0, R0,c1,c0, 0 // Write control register
- 0D400018 LDR R0, =boot1_buffer
- 0D40001C LDR R1, =boot1_buffer
- 0D400020 MOV R2, #0
- 0D400024 MOV R3, #4
- 0D400028 BL memfill
- 0D400028
- 0D40002C MOV R1, #0
- 0D400030 MOV R4, #0
- 0D400034 MOV R11, #0
- 0D400038 MOV R11, #0
- 0D40003C MOV LR, #0
- 0D400040 LDR SP, =boot1_stack
- 0D400044 BL jump_to_main
- 0D400044
- 0D400048 MOV R1, R0
- 0D40004C MRC p15, 0, R0,c1,c0, 0
- 0D400050 BIC R0, R0, #0x1000
- 0D400054 MCR p15, 0, R0,c1,c0, 0
- 0D400058 MOV PC, R1
- 0D400058
- 0D400058
- 0D400058
- 0D40005C
- 0D40005C
- 0D40005C
- 0D40005C
- 0D40005C
- 0D40005C memfill
- 0D40005C memfill+Cj
- 0D40005C CMP R0, R1
- 0D400060 BCS locret_D40006C
- 0D400060
- 0D400064 STR R2, [R0],R3
- 0D400068 B memfill
- 0D400068
- 0D40006C
- 0D40006C locret_D40006C
- 0D40006C BX LR
- 0D40006C
- 0D40006C
- 0D40006C
- 0D400070 off_D400070 DCD boot1_buffer
- 0D400074 off_D400074 DCD boot1_buffer
- 0D400078 off_D400078 DCD boot1_stack
- 0D40007C CODE16
- 0D40007C
- 0D40007C
- 0D40007C
- 0D40007C
- 0D40007C boot1_debug_output
- 0D40007C boot1_main+138p ...
- 0D40007C LDR R1, =LT_GPIO_OUT
- 0D40007E LDR R3, =0xFF00FFFF
- 0D400080 LDR R2, [R1]
- 0D400082 LSLS R0, R0, #0x18
- 0D400084 ANDS R3, R2
- 0D400086 LSRS R0, R0, #8
- 0D400088 ORRS R3, R0
- 0D40008A STR R3, [R1]
- 0D40008C BX LR
- 0D40008C
- 0D40008C
- 0D40008C
- 0D40008E ALIGN 0x10
- 0D400090 off_D400090 DCD LT_GPIO_OUT
- 0D400094 dword_D400094 DCD 0xFF00FFFF
- 0D400098
- 0D400098
- 0D400098
- 0D400098
- 0D400098 sub_D400098
- 0D400098 boot1_main+82Ap
- 0D400098 PUSH {R4,R5,LR}
- 0D40009A LDR R3, =AES_CTRL
- 0D40009C MOVS R4, R1
- 0D40009E MOVS R5, R2
- 0D4000A0 LDR R1, =AES_KEY
- 0D4000A2 MOVS R2, #0
- 0D4000A4 STR R2, [R3]
- 0D4000A6 MOVS R2, #3
- 0D4000A6
- 0D4000A8
- 0D4000A8 loc_D4000A8
- 0D4000A8 LDMIA R0!, {R3}
- 0D4000AA STR R3, [R1]
- 0D4000AC SUBS R2, #1
- 0D4000AE BPL loc_D4000A8
- 0D4000AE
- 0D4000B0 LDR R1, =AES_IV_0
- 0D4000B2 MOVS R0, R4
- 0D4000B4 MOVS R2, #3
- 0D4000B4
- 0D4000B6
- 0D4000B6 loc_D4000B6
- 0D4000B6 LDMIA R0!, {R3}
- 0D4000B8 STR R3, [R1]
- 0D4000BA SUBS R2, #1
- 0D4000BC BPL loc_D4000B6
- 0D4000BC
- 0D4000BE LDR R3, =AES_SRC
- 0D4000C0 STR R5, [R3]
- 0D4000C2 ADDS R3, #4
- 0D4000C4 STR R5, [R3]
- 0D4000C6 POP {R4,R5}
- 0D4000C8 POP {R0}
- 0D4000CA BX R0
- 0D4000CA
- 0D4000CA
- 0D4000CA
- 0D4000CC off_D4000CC DCD AES_CTRL
- 0D4000D0 off_D4000D0 DCD AES_KEY
- 0D4000D4 off_D4000D4 DCD AES_IV_0
- 0D4000D8 off_D4000D8 DCD AES_SRC
- 0D4000DC
- 0D4000DC
- 0D4000DC
- 0D4000DC
- 0D4000DC
- 0D4000DC sha1 CODE XREF: verify_certificate+74p
- 0D4000DC verify_certificate+8Ap ...
- 0D4000DC
- 0D4000DC arg_0 = 0
- 0D4000DC
- 0D4000DC PUSH {R4-R7,LR}
- 0D4000DE MOV R7, R10
- 0D4000E0 MOV R6, R9
- 0D4000E2 MOV R5, R8
- 0D4000E4 PUSH {R5-R7}
- 0D4000E6 MOV R9, R2
- 0D4000E8 MOVS R2, #0xA8
- 0D4000EA MOVS R7, R0
- 0D4000EC MOVS R4, R3
- 0D4000EE MOVS R0, #0
- 0D4000F0 LSLS R3, R2, #0xC
- 0D4000F2 SUB SP, SP, #4
- 0D4000F4 MOVS R5, R1
- 0D4000F6 MOV R10, R0
- 0D4000F8 MOVS R6, #0
- 0D4000FA MOV R8, R3
- 0D4000FC CMP R1, #2
- 0D4000FE BEQ loc_D40017A
- 0D4000FE
- 0D400100 CMP R1, #2
- 0D400102 BLS loc_D40014C
- 0D400102
- 0D400104 CMP R1, #3
- 0D400106 BNE loc_D40010A
- 0D400106
- 0D400108 B loc_D400208
- 0D400108
- 0D40010A
- 0D40010A loc_D40010A
- 0D40010A sha1+72j
- 0D40010A MOVS R2, #7
- 0D40010C NEGS R3, R2
- 0D40010E MOV R10, R3
- 0D40010E
- 0D400110
- 0D400110 loc_D400110
- 0D400110 sha1+A4j ...
- 0D400110 CMP R4, R6
- 0D400112 BEQ loc_D400136
- 0D400112
- 0D400114 MOVS R0, #1
- 0D400116 BL call_ahbMemFlush
- 0D400116
- 0D40011A MOVS R0, #5
- 0D40011C BL call_ahbMemFlush2
- 0D40011C
- 0D400120 LDR R3, =SHA_SRC
- 0D400122 MOV R0, R9
- 0D400124 SUBS R2, R4, R6
- 0D400126 STR R0, [R3]
- 0D400128 SUBS R2, #0x40
- 0D40012A MOVS R3, #0x80000000
- 0D40012E LSRS R2, R2, #6
- 0D400130 ORRS R2, R3
- 0D400132 LDR R3, =SHA_CTRL
- 0D400134 STR R2, [R3]
- 0D400134
- 0D400136
- 0D400136 loc_D400136
- 0D400136 CMP R5, #3
- 0D400138 BEQ loc_D400182
- 0D400138
- 0D40013A
- 0D40013A loc_D40013A
- 0D40013A sha1+12Aj
- 0D40013A MOV R0, R10
- 0D40013C ADD SP, SP, #4
- 0D40013E POP {R3-R5}
- 0D400140 MOV R8, R3
- 0D400142 MOV R9, R4
- 0D400144 MOV R10, R5
- 0D400146 POP {R4-R7}
- 0D400148 POP {R1}
- 0D40014A BX R1
- 0D40014A
- 0D40014C
- 0D40014C loc_D40014C
- 0D40014C CMP R1, #1
- 0D40014E BNE loc_D40010A
- 0D40014E
- 0D400150 LDR R3, =SHA_CTRL
- 0D400152 LDR R2, =0x67452301 sha-1 initialize part #1
- 0D400154 STR R0, [R3]
- 0D400156 ADDS R3, #8
- 0D400158 STR R2, [R3]
- 0D40015A LDR R2, =0xEFCDAB89 sha-1 initialize part #2
- 0D40015C ADDS R3, #4
- 0D40015E STR R2, [R3]
- 0D400160 LDR R2, =0x98BADCFE sha-1 initialize part #3
- 0D400162 ADDS R3, #4
- 0D400164 STR R2, [R3]
- 0D400166 LDR R2, =word_10325476 sha-1 initialize part #4
- 0D400168 ADDS R3, #4
- 0D40016A STR R2, [R3]
- 0D40016C LDR R2, =0xC3D2E1F0 sha-1 initialize part #5
- 0D40016E ADDS R3, #4
- 0D400170 STR R2, [R3]
- 0D400172 STR R4, [R7]
- 0D400174 CMP R4, #0
- 0D400176 BNE loc_D400110
- 0D400176
- 0D400178 B loc_D40013A
- 0D400178
- 0D40017A
- 0D40017A loc_D40017A
- 0D40017A LDR R3, [R7]
- 0D40017C ADDS R3, R3, R4
- 0D40017E STR R3, [R7]
- 0D400180 B loc_D400110
- 0D400180
- 0D400182
- 0D400182 loc_D400182
- 0D400182 MOVS R0, #0xA8000
- 0D400186 MOVS R1, #0
- 0D400188 MOVS R2, #0x80
- 0D40018A BL memcmp_0
- 0D40018A
- 0D40018E CMP R6, #0
- 0D400190 BNE loc_D40021A
- 0D400190
- 0D400192
- 0D400192 loc_D400192
- 0D400192 MOV R1, SP
- 0D400194 MOVS R3, #0x80
- 0D400196 ADDS R1, #3
- 0D400198 NEGS R3, R3
- 0D40019A STRB R3, [R1]
- 0D40019C MOVS R3, #0xA8000
- 0D4001A0
- 0D4001A0 loc_D4001A0
- 0D4001A0 ADDS R0, R6, R3
- 0D4001A2 MOVS R2, #1
- 0D4001A4 BL memcpy
- 0D4001A4
- 0D4001A8 MOVS R3, #0x40
- 0D4001AA SUBS R3, R3, R6
- 0D4001AC CMP R3, #8
- 0D4001AE BHI loc_D4001B4
- 0D4001AE
- 0D4001B0 CMP R6, #0
- 0D4001B2 BNE loc_D400214
- 0D4001B2
- 0D4001B4
- 0D4001B4 loc_D4001B4
- 0D4001B4 LDR R2, =0xA803C
- 0D4001B6 MOVS R5, #0x40
- 0D4001B6
- 0D4001B8
- 0D4001B8 loc_D4001B8
- 0D4001B8 LDR R3, [R7]
- 0D4001BA LSLS R3, R3, #3
- 0D4001BC STR R3, [R2]
- 0D4001BE LDR R4, =SHA_CTRL
- 0D4001BE
- 0D4001C0
- 0D4001C0 loc_D4001C0
- 0D4001C0 LDR R3, [R4]
- 0D4001C2 CMP R3, #0
- 0D4001C4 BLT loc_D4001C0
- 0D4001C4
- 0D4001C6 MOVS R0, #1
- 0D4001C8 BL call_ahbMemFlush
- 0D4001C8
- 0D4001CC MOVS R0, #5
- 0D4001CE BL call_ahbMemFlush2
- 0D4001CE
- 0D4001D2 LDR R3, =SHA_SRC
- 0D4001D4 MOV R0, R8
- 0D4001D6 MOVS R2, R5
- 0D4001D8 STR R0, [R3]
- 0D4001DA SUBS R2, #0x40
- 0D4001DC MOVS R3, #0x80
- 0D4001DE LSRS R2, R2, #6
- 0D4001E0 LSLS R3, R3, #0x18
- 0D4001E2 ORRS R2, R3
- 0D4001E4 STR R2, [R4]
- 0D4001E6 LDR R2, =SHA_CTRL
- 0D4001E6
- 0D4001E8
- 0D4001E8 loc_D4001E8
- 0D4001E8 LDR R3, [R2]
- 0D4001EA CMP R3, #0
- 0D4001EC BLT loc_D4001E8
- 0D4001EC
- 0D4001EE MOVS R2, #0
- 0D4001F0 MOVS R1, #4
- 0D4001F0
- 0D4001F2
- 0D4001F2 loc_D4001F2
- 0D4001F2 LDR R0, =SHA_H0
- 0D4001F4 ADDS R3, R2, R0
- 0D4001F6 LDR R3, [R3]
- 0D4001F8 LDR R0, [SP,#0x24+arg_0]
- 0D4001FA STR R3, [R2,R0]
- 0D4001FC ADDS R2, #4
- 0D4001FE SUBS R1, #1
- 0D400200 BPL loc_D4001F2
- 0D400200
- 0D400202 MOVS R3, #0
- 0D400204 STR R3, [R7]
- 0D400206 B loc_D40013A
- 0D400206
- 0D400208
- 0D400208 loc_D400208
- 0D400208 LDR R3, [R7]
- 0D40020A MOVS R6, #0x3F
- 0D40020C ADDS R3, R3, R4
- 0D40020E ANDS R6, R4
- 0D400210 STR R3, [R7]
- 0D400212 B loc_D400110
- 0D400212
- 0D400214
- 0D400214 loc_D400214
- 0D400214 LDR R2, =0xA807C
- 0D400216 MOVS R5, #0x80
- 0D400218 B loc_D4001B8
- 0D400218
- 0D40021A
- 0D40021A loc_D40021A
- 0D40021A MOV R2, R9
- 0D40021C ADDS R1, R2, R4
- 0D40021E MOVS R0, #0xA8
- 0D400220 SUBS R1, R1, R6
- 0D400222 MOVS R2, R6
- 0D400224 LSLS R0, R0, #0xC
- 0D400226 BL memcpy
- 0D400226
- 0D40022A B loc_D400192
- 0D40022A
- 0D40022A
- 0D40022A
- 0D40022C off_D40022C DCD SHA_SRC
- 0D40022C sha1+F6r
- 0D400230 off_D400230 DCD SHA_CTRL
- 0D400230 sha1+74r ...
- 0D400234 dword_D400234 DCD 0x67452301
- 0D400234 sha-1 initialize part #1
- 0D400238 dword_D400238 DCD 0xEFCDAB89
- 0D400238 sha-1 initialize part #2
- 0D40023C dword_D40023C DCD 0x98BADCFE
- 0D40023C sha-1 initialize part #3
- 0D400240 off_D400240 DCD word_10325476
- 0D400240 sha-1 initialize part #4
- 0D400244 dword_D400244 DCD 0xC3D2E1F0
- 0D400244 sha-1 initialize part #5
- 0D400248 dword_D400248 DCD 0xA803C
- 0D40024C off_D40024C DCD SHA_H0
- 0D400250 dword_D400250 DCD 0xA807C
- 0D400254
- 0D400254
- 0D400254
- 0D400254
- 0D400254
- 0D400254 calc_ecc
- 0D400254 boot1_main+476p ...
- 0D400254
- 0D400254 var_34 = -0x34
- 0D400254 var_30 = -0x30
- 0D400254 var_2C = -0x2C
- 0D400254 var_25 = -0x25
- 0D400254
- 0D400254 PUSH {R4-R7,LR}
- 0D400256 MOV R7, R11
- 0D400258 MOV R6, R10
- 0D40025A MOV R5, R9
- 0D40025C MOV R4, R8
- 0D40025E PUSH {R4-R7}
- 0D400260 SUB SP, SP, #0x10
- 0D400262 LSRS R3, R2, #5
- 0D400264 MOV R8, R1
- 0D400266 LSRS R2, R2, #9
- 0D400268 MOVS R1, #0
- 0D40026A STR R0, [SP,#0x34+var_2C]
- 0D40026C STR R1, [SP,#0x34+var_30]
- 0D40026E MOV R11, R3
- 0D400270 MOVS R5, #0
- 0D400272 MOV R9, R2
- 0D400274 CMP R2, #0
- 0D400276 BLS loc_D400300
- 0D400276
- 0D400278 ASRS R3, R3, #2
- 0D40027A MOVS R4, #0xFF
- 0D40027C LSLS R1, R4, #0x18
- 0D40027E MOVS R7, #0xFF
- 0D400280 MOVS R6, #0xFF
- 0D400282 STR R3, [SP,#0x34+var_34]
- 0D400284 MOV R10, R1
- 0D400286 LSLS R7, R7, #0x10
- 0D400288 LSLS R6, R6, #8
- 0D400288
- 0D40028A
- 0D40028A loc_D40028A
- 0D40028A LSLS R2, R5, #2
- 0D40028C MOV R4, R8
- 0D40028E ADDS R3, R4, R2
- 0D400290 LDR R4, [SP,#0x34+var_34]
- 0D400292 MOV R1, R11
- 0D400294 LDR R0, [R3,#0x40]
- 0D400296 SUBS R3, R1, R4
- 0D400298 ADD R3, R8
- 0D40029A LDR R2, [R3,R2]
- 0D40029C CMP R2, R0
- 0D40029E BEQ loc_D4002E4
- 0D40029E
- 0D4002A0 MOV R3, R10
- 0D4002A2 ANDS R3, R2
- 0D4002A4 LSRS R1, R3, #0x18
- 0D4002A6 MOVS R3, R2
- 0D4002A8 ANDS R3, R7
- 0D4002AA LSRS R3, R3, #8
- 0D4002AC ORRS R1, R3
- 0D4002AE MOVS R3, R2
- 0D4002B0 ANDS R3, R6
- 0D4002B2 LSLS R3, R3, #8
- 0D4002B4 ORRS R1, R3
- 0D4002B6 MOVS R3, #0xFF
- 0D4002B8 ANDS R2, R3
- 0D4002BA LSLS R3, R2, #0x18
- 0D4002BC ORRS R1, R3
- 0D4002BE MOV R2, R10
- 0D4002C0 MOVS R3, R0
- 0D4002C2 ANDS R2, R0
- 0D4002C4 ANDS R3, R7
- 0D4002C6 LSRS R3, R3, #8
- 0D4002C8 LSRS R2, R2, #0x18
- 0D4002CA ORRS R2, R3
- 0D4002CC MOVS R3, R0
- 0D4002CE ANDS R3, R6
- 0D4002D0 MOVS R4, #0xFF
- 0D4002D2 LSLS R3, R3, #8
- 0D4002D4 ANDS R0, R4
- 0D4002D6 ORRS R2, R3
- 0D4002D8 LSLS R3, R0, #0x18
- 0D4002DA ORRS R2, R3
- 0D4002DC EORS R1, R2
- 0D4002DE SUBS R3, R1, #1
- 0D4002E0 TST R3, R1
- 0D4002E2 BNE loc_D4002EC
- 0D4002E2
- 0D4002E4
- 0D4002E4 loc_D4002E4
- 0D4002E4 calc_ecc+E6j
- 0D4002E4 ADDS R5, #1
- 0D4002E6 CMP R5, R9
- 0D4002E8 BCC loc_D40028A
- 0D4002E8
- 0D4002EA B loc_D400300
- 0D4002EA
- 0D4002EC
- 0D4002EC loc_D4002EC
- 0D4002EC LDR R2, =0xFFF
- 0D4002EE MOVS R3, R1
- 0D4002F0 LSRS R4, R1, #0x10
- 0D4002F2 ANDS R3, R2
- 0D4002F4 EORS R3, R4
- 0D4002F6 CMP R3, R2
- 0D4002F8 BEQ loc_D400314
- 0D4002F8
- 0D4002FA MOVS R1, #1 ecc_fail
- 0D4002FC NEGS R1, R1
- 0D4002FE STR R1, [SP,#0x34+var_30]
- 0D4002FE
- 0D400300
- 0D400300 loc_D400300
- 0D400300 calc_ecc+96j
- 0D400300 LDR R0, [SP,#0x34+var_30]
- 0D400302 ADD SP, SP, #0x10
- 0D400304 POP {R3-R6}
- 0D400306 MOV R8, R3
- 0D400308 MOV R9, R4
- 0D40030A MOV R10, R5
- 0D40030C MOV R11, R6
- 0D40030E POP {R4-R7}
- 0D400310 POP {R1}
- 0D400312 BX R1
- 0D400312
- 0D400314
- 0D400314 loc_D400314
- 0D400314 LDR R1, [SP,#0x34+var_2C]
- 0D400316 LSLS R2, R5, #9
- 0D400318 LSLS R0, R4, #0x14
- 0D40031A ADDS R2, R2, R1
- 0D40031C LSRS R0, R0, #0x17
- 0D40031E MOVS R3, #7
- 0D400320 LDRB R1, [R0,R2]
- 0D400322 ANDS R4, R3
- 0D400324 MOVS R3, #1
- 0D400326 LSLS R3, R4
- 0D400328 EORS R3, R1
- 0D40032A MOV R4, SP
- 0D40032C MOVS R1, #0xF
- 0D40032E STRB R3, [R4,#0x34+var_25]
- 0D400330 ADDS R0, R0, R2
- 0D400332 ADD R1, SP
- 0D400334 MOVS R2, #1
- 0D400336 BL memcpy
- 0D400336
- 0D40033A B loc_D4002E4
- 0D40033A
- 0D40033A
- 0D40033A
- 0D40033C dword_D40033C DCD 0xFFF
- 0D400340
- 0D400340
- 0D400340
- 0D400340
- 0D400340
- 0D400340 read_nand_page
- 0D400340 boot1_main+1F2p ...
- 0D400340 PUSH {R4,R5,LR}
- 0D400342 LDR R3, =NAND_ADDR1 Address bytes 1-2 (column)
- 0D400344 MOVS R4, R1
- 0D400346 LDR R1, =NAND_CTR NAND Control and Status
- 0D400348 MOVS R5, R2
- 0D40034A MOVS R2, #0
- 0D40034C STR R2, [R1]
- 0D40034E STR R2, [R3]
- 0D400350 ADDS R3, #4
- 0D400352 STR R0, [R3]
- 0D400354 MOVS R3, #0x9F000000
- 0D400358 STR R3, [R1]
- 0D400358
- 0D40035A
- 0D40035A loc_D40035A
- 0D40035A LDR R3, [R1]
- 0D40035C CMP R3, #0
- 0D40035E BLT loc_D40035A
- 0D40035E
- 0D400360 LDR R3, =NAND_DATABUF Memory address of the Data buffer
- 0D400362 STR R4, [R3]
- 0D400364 ADDS R3, #4
- 0D400366 STR R5, [R3]
- 0D400368 LDR R3, =0x8030B840
- 0D40036A STR R3, [R1]
- 0D40036C POP {R4,R5}
- 0D40036E POP {R0}
- 0D400370 BX R0
- 0D400370
- 0D400370
- 0D400370
- 0D400372 ALIGN 4
- 0D400374 off_D400374 DCD NAND_ADDR1
- 0D400374 Address bytes 1-2 (column)
- 0D400378 off_D400378 DCD NAND_CTR
- 0D400378 NAND Control and Status
- 0D40037C off_D40037C DCD NAND_DATABUF
- 0D40037C Memory address of the Data buffer
- 0D400380 dword_D400380 DCD 0x8030B840
- 0D400384
- 0D400384
- 0D400384
- 0D400384
- 0D400384 strlen_maybe
- 0D400384 verify_certificate+C2p
- 0D400384 PUSH {R4,LR}
- 0D400386 MOVS R4, R0
- 0D400388 MOVS R0, R1
- 0D40038A MOVS R1, #0
- 0D40038C SUBS R2, R0, #1
- 0D40038E BMI loc_D40039C
- 0D40038E
- 0D400390
- 0D400390 loc_D400390
- 0D400390 LDRB R3, [R4,R2]
- 0D400392 CMP R3, #0
- 0D400394 BNE loc_D40039C
- 0D400394
- 0D400396 ADDS R1, #1
- 0D400398 SUBS R2, #1
- 0D40039A BPL loc_D400390
- 0D40039A
- 0D40039C
- 0D40039C loc_D40039C
- 0D40039C strlen_maybe+10j
- 0D40039C SUBS R0, R0, R1
- 0D40039E POP {R4}
- 0D4003A0 POP {R1}
- 0D4003A2 BX R1
- 0D4003A2
- 0D4003A2
- 0D4003A2
- 0D4003A4
- 0D4003A4
- 0D4003A4
- 0D4003A4
- 0D4003A4
- 0D4003A4 verify_certificate
- 0D4003A4 boot1_main+392p ...
- 0D4003A4
- 0D4003A4 var_3C = -0x3C
- 0D4003A4 var_38 = -0x38
- 0D4003A4 var_34 = -0x34
- 0D4003A4 R5 = 0
- 0D4003A4 Length = 4
- 0D4003A4
- 0D4003A4 PUSH {R4-R7,LR}
- 0D4003A6 MOV R7, R10
- 0D4003A8 MOV R6, R9
- 0D4003AA MOV R5, R8
- 0D4003AC PUSH {R5-R7}
- 0D4003AE SUB SP, SP, #0x1C
- 0D4003B0 LDR R6, [SP,#0x3C+Length]
- 0D4003B2 MOVS R4, R0
- 0D4003B4 LDR R5, [SP,#0x3C+R5]
- 0D4003B6 MOVS R0, #0xAC
- 0D4003B8 MOVS R7, R1
- 0D4003BA MOV R10, R2
- 0D4003BC LSLS R0, R0, #0xC
- 0D4003BE MOVS R1, R4
- 0D4003C0 MOVS R2, R6
- 0D4003C2 MOV R8, R3
- 0D4003C4 BL memcpy
- 0D4003C4
- 0D4003C8 CMP R5, #2
- 0D4003CA BEQ loc_D4003F8 Branch if R5 = 0x02
- 0D4003CA
- 0D4003CC CMP R5, #2
- 0D4003CE BLS loc_D4003EC Branch if R5 < 0x02
- 0D4003CE ( Will branch to error if R5 is not 0x01 )
- 0D4003CE
- 0D4003D0 CMP R5, #3
- 0D4003D2 BEQ loc_D4003F8 Branch if R5 = 0x03
- 0D4003D2
- 0D4003D4 CMP R5, #4
- 0D4003D6 BEQ loc_D4003F8 Branch if R5 = 0x04
- 0D4003D6
- 0D4003D8
- 0D4003D8 Error CODE XREF: verify_certificate+4Aj
- 0D4003D8 verify_certificate+66j ...
- 0D4003D8 MOVS R0, #8
- 0D4003DA NEGS R0, R0 R0 = 0xFFFFFFF8
- 0D4003DA
- 0D4003DC
- 0D4003DC Return
- 0D4003DC verify_certificate+90j ...
- 0D4003DC ADD SP, SP, #0x1C
- 0D4003DE POP {R3-R5}
- 0D4003E0 MOV R8, R3
- 0D4003E2 MOV R9, R4
- 0D4003E4 MOV R10, R5
- 0D4003E6 POP {R4-R7}
- 0D4003E8 POP {R1}
- 0D4003EA BX R1
- 0D4003EA
- 0D4003EC
- 0D4003EC loc_D4003EC
- 0D4003EC CMP R5, #1
- 0D4003EE BNE Error
- 0D4003EE
- 0D4003F0 LDR R4, =0xAC240
- 0D4003F2 LDR R3, =0xFFFFFDC0
- 0D4003F4 MOVS R0, R4
- 0D4003F6 B loc_D4003FE
- 0D4003F6
- 0D4003F8
- 0D4003F8 loc_D4003F8
- 0D4003F8 verify_certificate+2Ej ...
- 0D4003F8 LDR R4, =0xAC140
- 0D4003FA LDR R3, =0xFFFFFEC0
- 0D4003FC ADDS R0, R4, #0
- 0D4003FC
- 0D4003FE
- 0D4003FE loc_D4003FE
- 0D4003FE MOVS R1, R7
- 0D400400 MOVS R2, #0x40
- 0D400402 ADDS R6, R6, R3
- 0D400404 BL memcmp
- 0D400404
- 0D400408 CMP R0, #0
- 0D40040A BNE Error
- 0D40040A
- 0D40040C ADD R7, SP, #0x3C+var_38
- 0D40040E STR R0, [SP,#0x3C+var_3C]
- 0D400410 MOVS R1, #1
- 0D400412 MOVS R0, R7
- 0D400414 MOVS R2, R4
- 0D400416 MOVS R3, #0
- 0D400418 BL sha1
- 0D400418
- 0D40041C CMP R0, #0
- 0D40041E BLT Return
- 0D40041E
- 0D400420 ADD R3, SP, #0x3C+var_34
- 0D400422 MOV R9, R3
- 0D400424 STR R3, [SP,#0x3C+var_3C]
- 0D400426 MOVS R0, R7
- 0D400428 MOVS R1, #3
- 0D40042A MOVS R2, R4
- 0D40042C MOVS R3, R6
- 0D40042E BL sha1
- 0D40042E
- 0D400432 CMP R0, #0
- 0D400434 BLT Return
- 0D400434
- 0D400436 CMP R5, #2
- 0D400438 BEQ Use_sig_RSA2048
- 0D400438
- 0D40043A CMP R5, #2
- 0D40043C BHI loc_D40045A
- 0D40043C
- 0D40043E CMP R5, #1
- 0D400440 BNE Error
- 0D400440
- 0D400442 MOV R0, R8
- 0D400444 MOVS R1, #4
- 0D400446 BL strlen_maybe
- 0D400446
- 0D40044A MOV R1, R10
- 0D40044C STR R0, [SP,#0x3C+var_3C]
- 0D40044E LDR R2, =0xAC004
- 0D400450 MOV R0, R9
- 0D400452 MOV R3, R8
- 0D400454 BL verify_sig_RSA4096
- 0D400454
- 0D400458 B loc_D400478
- 0D400458
- 0D40045A
- 0D40045A loc_D40045A
- 0D40045A CMP R5, #3
- 0D40045C BEQ Use_sig_RSA2048
- 0D40045C
- 0D40045E CMP R5, #4
- 0D400460 BNE Error
- 0D400460
- 0D400462
- 0D400462 Use_sig_RSA2048
- 0D400462 verify_certificate+B8j
- 0D400462 MOVS R1, #4
- 0D400464 MOV R0, R8
- 0D400466 BL strlen_maybe
- 0D400466
- 0D40046A MOV R1, R10
- 0D40046C STR R0, [SP,#0x3C+var_3C]
- 0D40046E LDR R2, =0xAC004
- 0D400470 MOV R0, R9
- 0D400472 MOV R3, R8
- 0D400474 BL verify_sig_RSA2048
- 0D400474
- 0D400478
- 0D400478 loc_D400478
- 0D400478 CMP R0, #0
- 0D40047A BEQ Return
- 0D40047A
- 0D40047C B Error
- 0D40047C
- 0D40047C
- 0D40047C
- 0D40047E ALIGN 0x10
- 0D400480 dword_D400480 DCD 0xAC240
- 0D400484 dword_D400484 DCD 0xFFFFFDC0
- 0D400488 dword_D400488 DCD 0xAC140
- 0D40048C dword_D40048C DCD 0xFFFFFEC0
- 0D400490 dword_D400490 DCD 0xAC004
- 0D400490 verify_certificate+CAr
- 0D400494
- 0D400494
- 0D400494
- 0D400494
- 0D400494
- 0D400494 boot1_main
- 0D400494 DATA XREF: jump_to_main+4o ...
- 0D400494
- 0D400494 R5 = -0x2C8
- 0D400494 Length = -0x2C4
- 0D400494 var_2C0 = -0x2C0
- 0D400494 var_2BC = -0x2BC
- 0D400494 var_2B8 = -0x2B8
- 0D400494 var_2B4 = -0x2B4
- 0D400494 Key_Exponent = -0x2B0
- 0D400494 Key_Type = -0x2AC
- 0D400494 var_2A8 = -0x2A8
- 0D400494 var_2A4 = -0x2A4
- 0D400494 var_2A0 = -0x2A0
- 0D400494 var_29C = -0x29C
- 0D400494 var_298 = -0x298
- 0D400494 var_294 = -0x294
- 0D400494 var_290 = -0x290
- 0D400494 var_28C = -0x28C
- 0D400494 var_288 = -0x288
- 0D400494 var_284 = -0x284
- 0D400494 var_280 = -0x280
- 0D400494 var_27C = -0x27C
- 0D400494 var_278 = -0x278
- 0D400494 var_274 = -0x274
- 0D400494 var_270 = -0x270
- 0D400494 var_26C = -0x26C
- 0D400494 var_268 = -0x268
- 0D400494 var_264 = -0x264
- 0D400494 var_260 = -0x260
- 0D400494 var_24C = -0x24C
- 0D400494 var_1BC = -0x1BC
- 0D400494 Needle = -0x17C
- 0D400494 var_13C = -0x13C
- 0D400494 var_134 = -0x134
- 0D400494 var_A0 = -0xA0
- 0D400494 var_90 = -0x90
- 0D400494 var_8C = -0x8C
- 0D400494 var_88 = -0x88
- 0D400494 var_84 = -0x84
- 0D400494 var_80 = -0x80
- 0D400494 var_70 = -0x70
- 0D400494 var_68 = -0x68
- 0D400494
- 0D400494 PUSH {R4-R7,LR}
- 0D400496 MOV R7, R11
- 0D400498 MOV R6, R10
- 0D40049A MOV R5, R9
- 0D40049C MOV R4, R8
- 0D40049E PUSH {R4-R7}
- 0D4004A0 LDR R4, =0xFFFFFD5C
- 0D4004A2 MOVS R0, #0
- 0D4004A4 ADD SP, R4
- 0D4004A6 MOV R9, R0
- 0D4004A8 MOVS R0, #0x11
- 0D4004AA BL boot1_debug_output output 11h
- 0D4004AA
- 0D4004AE ADD R0, SP, #0x2C8+var_264
- 0D4004B0 ADD R1, SP, #0x2C8+var_268
- 0D4004B2 BL sub_D401488
- 0D4004B2
- 0D4004B6 LDR R3, [SP,#0x2C8+var_264]
- 0D4004B8 MOVS R4, #7
- 0D4004BA CMP R3, #0
- 0D4004BC BNE loc_D4004C0
- 0D4004BC
- 0D4004BE MOVS R4, #0x47
- 0D4004BE
- 0D4004C0
- 0D4004C0 loc_D4004C0
- 0D4004C0 LDR R3, =LT_MEMIRR
- 0D4004C2 STR R4, [R3]
- 0D4004C4 LDR R3, =dword_D8B0010
- 0D4004C6 MOV R1, R9
- 0D4004C8 STR R1, [R3]
- 0D4004CA MOVS R0, #0
- 0D4004CC MOVS R1, #0
- 0D4004CE BL call_init_dram
- 0D4004CE
- 0D4004D2 BL init_gpios
- 0D4004D2
- 0D4004D6 LDR R3, =byte_1E7
- 0D4004D8 MOV R5, SP
- 0D4004DA MOVS R4, #0x3F
- 0D4004DC ADD R3, SP
- 0D4004DE ADDS R5, #0xCB
- 0D4004E0 BICS R3, R4
- 0D4004E2 BICS R5, R4
- 0D4004E4 MOVS R2, #1
- 0D4004E6 STR R3, [SP,#0x2C8+var_2BC]
- 0D4004E8 STR R5, [SP,#0x2C8+var_2C0]
- 0D4004EA MOV R11, R2
- 0D4004EA
- 0D4004EC
- 0D4004EC loc_D4004EC
- 0D4004EC MOV R0, R11
- 0D4004EE CMP R0, #2
- 0D4004F0 BNE loc_D4004F4
- 0D4004F0
- 0D4004F2 B loc_D400614
- 0D4004F2
- 0D4004F4
- 0D4004F4 loc_D4004F4
- 0D4004F4 boot1_main+1C8j
- 0D4004F4 MOVS R4, #0
- 0D4004F6 ADD R0, SP, #0x2C8+var_13C
- 0D4004F8 LDR R1, =boot2_magic
- 0D4004FA MOVS R2, #8
- 0D4004FC BL memcpy
- 0D4004FC
- 0D400500 STR R4, [SP,#0x2C8+var_68]
- 0D400502 LDR R4, =NAND_CTR NAND Control and Status
- 0D400504 MOVS R3, #1
- 0D400504
- 0D400506
- 0D400506 loc_D400506
- 0D400506 ADDS R5, R3, #1
- 0D400508 LSLS R0, R5, #6
- 0D40050A MOVS R1, #0xA0
- 0D40050C MOVS R2, #0xA2
- 0D40050E SUBS R0, #1
- 0D400510 LSLS R1, R1, #0xA
- 0D400512 LSLS R2, R2, #0xA
- 0D400514 BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
- 0D400514
- 0D400518
- 0D400518 loc_D400518
- 0D400518 LDR R3, [R4]
- 0D40051A CMP R3, #0
- 0D40051C BLT loc_D400518
- 0D40051C
- 0D40051E MOVS R0, #3
- 0D400520 BL call_ahbMemFlush
- 0D400520
- 0D400524 MOVS R0, #0
- 0D400526 BL call_ahbMemFlush2
- 0D400526
- 0D40052A MOVS R0, #0x28000
- 0D40052E ADD R1, SP, #0x2C8+var_13C
- 0D400530 MOVS R2, #8
- 0D400532 BL memcmp
- 0D400532
- 0D400536 CMP R0, #0
- 0D400538 BNE loc_D4005F4
- 0D400538
- 0D40053A MOVS R0, #0x28000
- 0D40053E LDR R1, =0x2804C
- 0D400540 MOVS R2, #0x4C
- 0D400542 BL memcmp
- 0D400542
- 0D400546 CMP R0, #0
- 0D400548 BNE loc_D4005E4
- 0D400548
- 0D40054A
- 0D40054A loc_D40054A
- 0D40054A MOVS R1, #0x28000
- 0D40054A
- 0D40054E
- 0D40054E loc_D40054E
- 0D40054E LDR R2, [R1,#8]
- 0D400550 LDR R3, [SP,#0x2C8+var_68]
- 0D400552 CMP R2, R3
- 0D400554 BLS loc_D400564
- 0D400554
- 0D400556 ADD R0, SP, #0x2C8+var_70
- 0D400558 STR R2, [SP,#0x2C8+var_68]
- 0D40055A ADDS R0, #0xC
- 0D40055C ADDS R1, #0xC
- 0D40055E MOVS R2, #0x40
- 0D400560 BL memcpy
- 0D400560
- 0D400564
- 0D400564 loc_D400564
- 0D400564 boot1_main+16Cj ...
- 0D400564 MOVS R3, R5
- 0D400566 CMP R5, #8
- 0D400568 BCC loc_D400506
- 0D400568
- 0D40056A MOV R1, R11
- 0D40056C CMP R1, #1
- 0D40056E BNE loc_D400572
- 0D40056E
- 0D400570 B loc_D40072E
- 0D400570
- 0D400572
- 0D400572 loc_D400572
- 0D400572 MOVS R2, #7
- 0D400572
- 0D400574
- 0D400574 loc_D400574
- 0D400574 MOVS R7, #0xA2
- 0D400576 MOV R3, R11
- 0D400578 MOVS R4, R2
- 0D40057A LSLS R7, R7, #0xA
- 0D40057C CMP R3, #1
- 0D40057E BNE loc_D400582
- 0D40057E
- 0D400580 B loc_D400728
- 0D400580
- 0D400582
- 0D400582 loc_D400582
- 0D400582 MOVS R0, #1
- 0D400584 NEGS R1, R0
- 0D400586 MOV R10, R1
- 0D400586
- 0D400588
- 0D400588 loc_D400588
- 0D400588 LDR R3, [SP,#0x2C8+var_68]
- 0D40058A CMP R3, #1
- 0D40058C BHI loc_D400590
- 0D40058C
- 0D40058E B loc_D4006DC
- 0D40058E
- 0D400590
- 0D400590 loc_D400590
- 0D400590 SUBS R1, R2, #1
- 0D400592 CMP R1, #6
- 0D400594 BLS loc_D400598
- 0D400594
- 0D400596 B loc_D400732
- 0D400596
- 0D400598
- 0D400598 loc_D400598
- 0D400598 ADD R5, SP, #0x2C8+var_70
- 0D40059A ADDS R3, R2, R5
- 0D40059C LDRB R3, [R3,#0xC]
- 0D40059E CMP R3, #1
- 0D4005A0 BEQ loc_D400668
- 0D4005A0
- 0D4005A2 ADDS R2, R1, #0
- 0D4005A2
- 0D4005A4
- 0D4005A4 loc_D4005A4
- 0D4005A4 boot1_main+2A0j ...
- 0D4005A4 CMP R2, #6
- 0D4005A6 BLS loc_D400672
- 0D4005A6
- 0D4005A8
- 0D4005A8 loc_D4005A8
- 0D4005A8 boot1_main+292j
- 0D4005A8 MOVS R3, #4
- 0D4005AA NEGS R4, R3
- 0D4005AC MOV R8, R4
- 0D4005AC
- 0D4005AE
- 0D4005AE loc_D4005AE
- 0D4005AE MOV R4, R8
- 0D4005AE
- 0D4005B0
- 0D4005B0 loc_D4005B0
- 0D4005B0 boot1_main+6FCj
- 0D4005B0 CMP R4, #0
- 0D4005B2 BLT loc_D4005B6
- 0D4005B2
- 0D4005B4 B loc_D4009D6
- 0D4005B4
- 0D4005B6
- 0D4005B6 loc_D4005B6
- 0D4005B6 boot1_main+2D4j ...
- 0D4005B6 MOV R9, R4
- 0D4005B8 MOVS R4, #1
- 0D4005BA ADD R11, R4
- 0D4005BC MOV R5, R11
- 0D4005BE CMP R5, #2
- 0D4005C0 BLS loc_D4004EC
- 0D4005C0
- 0D4005C2
- 0D4005C2 loc_D4005C2
- 0D4005C2 MOV R1, R9
- 0D4005C4 MVNS R3, R1
- 0D4005C6 LSLS R5, R1, #0x18
- 0D4005C8 LSLS R4, R3, #0x18
- 0D4005C8
- 0D4005CA
- 0D4005CA loc_D4005CA
- 0D4005CA LSRS R0, R5, #0x18
- 0D4005CC BL boot1_debug_output panic1
- 0D4005CC
- 0D4005D0 LDR R0, =0xF4240
- 0D4005D2 BL delay_1
- 0D4005D2
- 0D4005D6 LSRS R0, R4, #0x18
- 0D4005D8 BL boot1_debug_output panic2
- 0D4005D8
- 0D4005DC LDR R0, =0xF4240
- 0D4005DE BL delay_1
- 0D4005DE
- 0D4005E2 B loc_D4005CA
- 0D4005E2
- 0D4005E4
- 0D4005E4 loc_D4005E4
- 0D4005E4 MOVS R0, #0x28000
- 0D4005E8 LDR R1, =0x28098
- 0D4005EA MOVS R2, #0x4C
- 0D4005EC BL memcmp
- 0D4005EC
- 0D4005F0 CMP R0, #0
- 0D4005F2 BEQ loc_D40054A
- 0D4005F2
- 0D4005F4
- 0D4005F4 loc_D4005F4
- 0D4005F4 LDR R0, =0x2804C
- 0D4005F6 ADD R1, SP, #0x2C8+var_13C
- 0D4005F8 MOVS R2, #8
- 0D4005FA BL memcmp
- 0D4005FA
- 0D4005FE CMP R0, #0
- 0D400600 BNE loc_D400564
- 0D400600
- 0D400602 LDR R0, =0x2804C
- 0D400604 LDR R1, =0x28098
- 0D400606 MOVS R2, #0x4C
- 0D400608 BL memcmp
- 0D400608
- 0D40060C CMP R0, #0
- 0D40060E BNE loc_D400564
- 0D40060E
- 0D400610 LDR R1, =0x2804C
- 0D400612 B loc_D40054E
- 0D400612
- 0D400614
- 0D400614 loc_D400614
- 0D400614 LDR R2, =NAND_CTR NAND Control and Status
- 0D400614
- 0D400616
- 0D400616 loc_D400616
- 0D400616 LDR R3, [R2]
- 0D400618 CMP R3, #0
- 0D40061A BLT loc_D400616
- 0D40061A
- 0D40061C LDR R2, =AES_CTRL
- 0D40061C
- 0D40061E
- 0D40061E loc_D40061E
- 0D40061E LDR R3, [R2]
- 0D400620 CMP R3, #0
- 0D400622 BLT loc_D40061E
- 0D400622
- 0D400624 LDR R2, =SHA_CTRL
- 0D400624
- 0D400626
- 0D400626 loc_D400626
- 0D400626 LDR R3, [R2]
- 0D400628 CMP R3, #0
- 0D40062A BLT loc_D400626
- 0D40062A
- 0D40062C MOVS R0, #1
- 0D40062E BL call_ahbMemFlush
- 0D40062E
- 0D400632 MOVS R0, #3
- 0D400634 BL call_ahbMemFlush
- 0D400634
- 0D400638 MOVS R0, #4
- 0D40063A BL call_ahbMemFlush
- 0D40063A
- 0D40063E MOVS R0, #5
- 0D400640 BL call_ahbMemFlush
- 0D400640
- 0D400644 MOVS R0, #0
- 0D400646 BL call_ahbMemFlush2
- 0D400646
- 0D40064A MOVS R0, #3
- 0D40064C BL call_ahbMemFlush2
- 0D40064C
- 0D400650 MOVS R0, #4
- 0D400652 BL call_ahbMemFlush2
- 0D400652
- 0D400656 MOVS R0, #5
- 0D400658 BL call_ahbMemFlush2
- 0D400658
- 0D40065C B loc_D4004F4
- 0D40065C
- 0D40065E
- 0D40065E loc_D40065E
- 0D40065E ADD R0, SP, #0x2C8+var_70
- 0D400660 ADDS R3, R4, R0
- 0D400662 LDRB R3, [R3,#0xC]
- 0D400664 CMP R3, #1
- 0D400666 BNE loc_D4005A4
- 0D400666
- 0D400668
- 0D400668 loc_D400668
- 0D400668 ADD R4, R10
- 0D40066A SUBS R2, R4, #1
- 0D40066C CMP R2, #6
- 0D40066E BLS loc_D40065E
- 0D40066E
- 0D400670 B loc_D4005A8
- 0D400670
- 0D400672
- 0D400672 loc_D400672
- 0D400672 CMP R4, #0
- 0D400674 MOV R8, R4
- 0D400676 BLT loc_D4005AE
- 0D400676
- 0D400678 MOV R5, R8
- 0D40067A LSLS R5, R5, #6
- 0D40067C MOVS R1, #0xA0
- 0D40067E MOVS R2, #0x28800
- 0D400682 MOVS R0, R5
- 0D400684 LSLS R1, R1, #0xA
- 0D400686 BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
- 0D400686
- 0D40068A LDR R2, =NAND_CTR NAND Control and Status
- 0D40068C MOV R10, R5
- 0D40068C
- 0D40068E
- 0D40068E loc_D40068E
- 0D40068E LDR R3, [R2]
- 0D400690 CMP R3, #0
- 0D400692 BLT loc_D40068E
- 0D400692
- 0D400694 MOVS R0, #3
- 0D400696 BL call_ahbMemFlush
- 0D400696
- 0D40069A MOVS R0, #0
- 0D40069C BL call_ahbMemFlush2
- 0D40069C
- 0D4006A0 MOVS R0, #0xA0
- 0D4006A2 MOVS R1, #0xA2
- 0D4006A4 MOVS R2, #0x80
- 0D4006A6 LSLS R0, R0, #0xA
- 0D4006A8 LSLS R1, R1, #0xA
- 0D4006AA LSLS R2, R2, #4
- 0D4006AC BL calc_ecc
- 0D4006AC
- 0D4006B0 CMP R0, #0
- 0D4006B2 BNE loc_D400764
- 0D4006B2
- 0D4006B4 MOVS R1, #0xA0
- 0D4006B6 ADD R0, SP, #0x2C8+var_90
- 0D4006B8 LSLS R1, R1, #0xA
- 0D4006BA MOVS R2, #0x20
- 0D4006BC BL memcpy
- 0D4006BC
- 0D4006C0 LDR R3, [SP,#0x2C8+var_90]
- 0D4006C2 CMP R3, #0x20
- 0D4006C4 BNE loc_D4006D6
- 0D4006C4
- 0D4006C6 MOVS R3, #0x80
- 0D4006C8 LDR R2, [SP,#0x2C8+var_8C]
- 0D4006CA LSLS R3, R3, #0xA
- 0D4006CC CMP R2, R3
- 0D4006CE BHI loc_D4006D6
- 0D4006CE
- 0D4006D0 MOVS R0, #0x3F
- 0D4006D2 TST R2, R0
- 0D4006D4 BEQ loc_D40076A
- 0D4006D4
- 0D4006D6
- 0D4006D6 loc_D4006D6
- 0D4006D6 boot1_main+23Aj
- 0D4006D6 MOVS R4, #5
- 0D4006D6
- 0D4006D8
- 0D4006D8 loc_D4006D8
- 0D4006D8 boot1_main+576j ...
- 0D4006D8 NEGS R4, R4 R4 = 0xFFFFFFFB
- 0D4006DA B loc_D4005B0
- 0D4006DA
- 0D4006DC
- 0D4006DC loc_D4006DC
- 0D4006DC SUBS R3, R2, #1
- 0D4006DE CMP R3, #6
- 0D4006E0 BHI loc_D400732
- 0D4006E0
- 0D4006E2 LDR R1, =NAND_CTR NAND Control and Status
- 0D4006E4 MOV R8, R1
- 0D4006E4
- 0D4006E6
- 0D4006E6 loc_D4006E6
- 0D4006E6 LSLS R6, R4, #6
- 0D4006E8 MOVS R5, #0
- 0D4006E8
- 0D4006EA
- 0D4006EA loc_D4006EA
- 0D4006EA MOVS R1, #0xA0
- 0D4006EC MOVS R2, #0xA2
- 0D4006EE ADDS R0, R6, R5
- 0D4006F0 LSLS R1, R1, #0xA
- 0D4006F2 LSLS R2, R2, #0xA
- 0D4006F4 BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
- 0D4006F4
- 0D4006F8
- 0D4006F8 loc_D4006F8
- 0D4006F8 MOV R2, R8
- 0D4006FA LDR R3, [R2]
- 0D4006FC CMP R3, #0
- 0D4006FE BLT loc_D4006F8
- 0D4006FE
- 0D400700 MOVS R0, #3
- 0D400702 BL call_ahbMemFlush
- 0D400702
- 0D400706 MOVS R0, #0
- 0D400708 BL call_ahbMemFlush2
- 0D400708
- 0D40070C LDRB R3, [R7]
- 0D40070E CMP R3, #0xFF
- 0D400710 BEQ loc_D400714
- 0D400710
- 0D400712 B loc_D400A10
- 0D400712
- 0D400714
- 0D400714 loc_D400714
- 0D400714 ADDS R5, #1
- 0D400716 CMP R5, #1
- 0D400718 BLS loc_D4006EA
- 0D400718
- 0D40071A
- 0D40071A loc_D40071A
- 0D40071A CMP R5, #2
- 0D40071C BNE loc_D400720
- 0D40071C
- 0D40071E B loc_D400A0C
- 0D40071E
- 0D400720
- 0D400720 loc_D400720
- 0D400720 SUBS R2, R4, #1
- 0D400722 CMP R2, #6
- 0D400724 BLS loc_D4006E6
- 0D400724
- 0D400726 B loc_D4005A8
- 0D400726
- 0D400728
- 0D400728 loc_D400728
- 0D400728 MOVS R5, #1
- 0D40072A MOV R10, R5
- 0D40072C B loc_D400588
- 0D40072C
- 0D40072E
- 0D40072E loc_D40072E
- 0D40072E MOVS R2, #1
- 0D400730 B loc_D400574
- 0D400730
- 0D400732
- 0D400732 loc_D400732
- 0D400732 boot1_main+24Cj
- 0D400732 SUBS R2, #1
- 0D400734 B loc_D4005A4
- 0D400734
- 0D400736 ALIGN 4
- 0D400738 dword_D400738 DCD 0xFFFFFD5C
- 0D40073C off_D40073C DCD LT_MEMIRR
- 0D400740 off_D400740 DCD dword_D8B0010
- 0D400744 off_D400744 DCD byte_1E7
- 0D400748 off_D400748 DCD boot2_magic
- 0D40074C off_D40074C DCD NAND_CTR
- 0D40074C boot1_main:loc_D400614r ...
- 0D40074C NAND Control and Status
- 0D400750 dword_D400750 DCD 0x2804C
- 0D400750 boot1_main:loc_D4005F4r ...
- 0D400754 dword_D400754 DCD 0xF4240
- 0D400754 boot1_main+148r
- 0D400758 dword_D400758 DCD 0x28098
- 0D400758 boot1_main+170r
- 0D40075C off_D40075C DCD AES_CTRL
- 0D400760 off_D400760 DCD SHA_CTRL
- 0D400764
- 0D400764 loc_D400764
- 0D400764 SUBS R4, R0, #0
- 0D400766 BGE loc_D40076A
- 0D400766
- 0D400768 B loc_D4005B6
- 0D400768
- 0D40076A
- 0D40076A loc_D40076A
- 0D40076A boot1_main+2D2j
- 0D40076A LDR R3, [SP,#0x2C8+var_8C]
- 0D40076C LDR R6, =NAND_CTR NAND Control and Status
- 0D40076E LSRS R5, R3, #0xB
- 0D400770 MOVS R4, #0
- 0D400772 MOVS R7, #1
- 0D400772
- 0D400774
- 0D400774 loc_D400774
- 0D400774 boot1_main+304j
- 0D400774 LDR R3, [R6]
- 0D400776 CMP R3, #0
- 0D400778 BLT loc_D400774
- 0D400778
- 0D40077A MOVS R0, #3
- 0D40077C BL call_ahbMemFlush
- 0D40077C
- 0D400780 MOVS R0, #0
- 0D400782 BL call_ahbMemFlush2
- 0D400782
- 0D400786 CMP R4, R5
- 0D400788 BHI loc_D40078C
- 0D400788
- 0D40078A B loc_D4008D4
- 0D40078A
- 0D40078C
- 0D40078C loc_D40078C
- 0D40078C boot1_main+45Cj
- 0D40078C CMP R4, #0
- 0D40078E BEQ loc_D400792
- 0D40078E
- 0D400790 B loc_D4008F2
- 0D400790
- 0D400792
- 0D400792 loc_D400792
- 0D400792 boot1_main+47Ej
- 0D400792 ADDS R4, #1
- 0D400794 ADDS R3, R5, #1
- 0D400796 CMP R3, R4
- 0D400798 BCS loc_D400774
- 0D400798
- 0D40079A MOVS R1, #0
- 0D40079C MOVS R2, #0x40
- 0D40079E ADD R0, SP, #0x2C8+Needle
- 0D4007A0 LDR R6, [SP,#0x2C8+var_90]
- 0D4007A2 MOVS R5, #0xA0
- 0D4007A4 BL memcmp_0
- 0D4007A4
- 0D4007A8 LDR R1, =aRoot_4 "Root"
- 0D4007AA MOVS R2, #0x40
- 0D4007AC ADD R0, SP, #0x2C8+Needle
- 0D4007AE BL memmove_maybe void *memmove(void *dest, void *src, size_t count)
- 0D4007AE
- 0D4007B2 LSLS R5, R5, #0xA
- 0D4007B4 MOVS R3, #1
- 0D4007B6 ADDS R4, R6, R5
- 0D4007B8 STR R3, [SP,#0x2C8+R5] R5
- 0D4007BA LDR R5, =BOOT1_root_exponent
- 0D4007BC MOVS R3, #0x400
- 0D4007C0 STR R3, [SP,#0x2C8+Length]
- 0D4007C2 MOVS R0, R4 Source
- 0D4007C4 ADD R1, SP, #0x2C8+Needle Needle
- 0D4007C6 LDR R2, =BOOT1_root_key Key_Type
- 0D4007C8 MOVS R3, R5 Key_Exponent
- 0D4007CA BL verify_certificate verify_certificate(char *a1, _BYTE *a2, int BOOT1_root_key, int &BOOT1_root_exponen, unsigned int a5, unsigned int size)
- 0D4007CA
- 0D4007CE CMP R0, #0
- 0D4007D0 BEQ loc_D4007D4
- 0D4007D0
- 0D4007D2 B loc_D400914
- 0D4007D2
- 0D4007D4
- 0D4007D4 loc_D4007D4
- 0D4007D4 LDR R0, =0x28284
- 0D4007D6 ADDS R5, R6, R0
- 0D4007D8 MOVS R0, R5
- 0D4007DA LDR R1, =aCa_0 "CA"
- 0D4007DC MOVS R2, #2
- 0D4007DE BL memcmp
- 0D4007DE
- 0D4007E2 CMP R0, #0
- 0D4007E4 BNE loc_D4008D0
- 0D4007E4
- 0D4007E6 LDR R2, =asc_D4040A0 "-"
- 0D4007E8 LDR R7, [SP,#0x2C8+var_90]
- 0D4007EA MOVS R1, #0x28400
- 0D4007EE ADDS R4, R7, R1
- 0D4007F0 MOV R10, R2
- 0D4007F2 MOVS R1, R2
- 0D4007F4 ADD R0, SP, #0x2C8+Needle
- 0D4007F6 MOVS R2, #0x40
- 0D4007F8 BL memcpy_maybe
- 0D4007F8
- 0D4007FC MOVS R1, R5
- 0D4007FE MOVS R2, #0x40
- 0D400800 ADD R0, SP, #0x2C8+Needle
- 0D400802 BL memcpy_maybe
- 0D400802
- 0D400806 LDR R5, =0x282C8
- 0D400808 LDR R0, =0x283C8
- 0D40080A MOVS R2, #0xC0
- 0D40080C ADDS R3, R6, R5
- 0D40080E LSLS R2, R2, #2
- 0D400810 ADDS R5, R6, R0
- 0D400812 MOVS R1, #2
- 0D400814 STR R3, [SP,#0x2C8+Key_Type]
- 0D400816 STR R1, [SP,#0x2C8+R5] R5
- 0D400818 STR R2, [SP,#0x2C8+var_274]
- 0D40081A STR R2, [SP,#0x2C8+Length]
- 0D40081C MOVS R0, R4 Source
- 0D40081E MOVS R2, R3 Key_Type
- 0D400820 ADD R1, SP, #0x2C8+Needle Needle
- 0D400822 MOVS R3, R5 Key_Exponent
- 0D400824 STR R5, [SP,#0x2C8+Key_Exponent]
- 0D400826 BL verify_certificate
- 0D400826
- 0D40082A CMP R0, #0
- 0D40082C BNE loc_D400914
- 0D40082C
- 0D40082E LDR R3, =0x28584
- 0D400830 ADDS R4, R7, R3
- 0D400832 MOVS R0, R4
- 0D400834 LDR R1, =aCp_0 "CP"
- 0D400836 MOVS R2, #2
- 0D400838 BL memcmp
- 0D400838
- 0D40083C CMP R0, #0
- 0D40083E BNE loc_D4008D0
- 0D40083E
- 0D400840 ADD R1, SP, #0x2C8+Needle
- 0D400842 MOVS R2, #0x40
- 0D400844 ADD R0, SP, #0x2C8+var_1BC
- 0D400846 BL memcpy
- 0D400846
- 0D40084A MOVS R5, #0xA0
- 0D40084C LDR R3, [SP,#0x2C8+var_90]
- 0D40084E LDR R2, [SP,#0x2C8+var_88]
- 0D400850 LSLS R5, R5, #0xA
- 0D400852 ADDS R3, R3, R5
- 0D400854 ADDS R3, R3, R2
- 0D400856 LDR R2, [SP,#0x2C8+var_84]
- 0D400858 MOV R1, R10
- 0D40085A ADDS R6, R3, R2
- 0D40085C ADD R0, SP, #0x2C8+Needle
- 0D40085E MOVS R2, #0x40
- 0D400860 BL memcpy_maybe
- 0D400860
- 0D400864 MOVS R1, R4
- 0D400866 MOVS R2, #0x40
- 0D400868 ADD R0, SP, #0x2C8+Needle
- 0D40086A BL memcpy_maybe
- 0D40086A
- 0D40086E MOVS R3, #3
- 0D400870 STR R3, [SP,#0x2C8+R5] R5
- 0D400872 LDR R3, [SP,#0x2C8+var_80]
- 0D400874 LDR R4, =0x286C8
- 0D400876 STR R3, [SP,#0x2C8+Length]
- 0D400878 LDR R3, =0x285C8
- 0D40087A MOVS R0, R6 Source
- 0D40087C ADDS R2, R7, R3
- 0D40087E ADD R1, SP, #0x2C8+Needle Needle
- 0D400880 ADDS R3, R7, R4
- 0D400882 BL verify_certificate
- 0D400882
- 0D400886 CMP R0, #0
- 0D400888 BNE loc_D400914
- 0D400888
- 0D40088A LDR R5, [SP,#0x2C8+var_90]
- 0D40088C LDR R0, =0x28700
- 0D40088E MOVS R1, #0
- 0D400890 ADDS R4, R5, R0
- 0D400892 MOVS R2, #0x40
- 0D400894 ADD R0, SP, #0x2C8+Needle
- 0D400896 BL memcmp_0
- 0D400896
- 0D40089A ADD R1, SP, #0x2C8+var_1BC
- 0D40089C MOVS R2, #0x40
- 0D40089E ADD R0, SP, #0x2C8+Needle
- 0D4008A0 BL memmove_maybe void *memmove(void *dest, void *src, size_t count)
- 0D4008A0
- 0D4008A4 LDR R2, [SP,#0x2C8+var_274]
- 0D4008A6 MOVS R1, #2
- 0D4008A8 STR R1, [SP,#0x2C8+R5] R5
- 0D4008AA STR R2, [SP,#0x2C8+Length]
- 0D4008AC MOVS R0, R4 Source
- 0D4008AE ADD R1, SP, #0x2C8+Needle Needle
- 0D4008B0 LDR R2, [SP,#0x2C8+Key_Type]
- 0D4008B2 LDR R3, [SP,#0x2C8+Key_Exponent]
- 0D4008B4 BL verify_certificate
- 0D4008B4
- 0D4008B8 CMP R0, #0
- 0D4008BA BNE loc_D400914
- 0D4008BA
- 0D4008BC LDR R3, =0x28884
- 0D4008BE ADDS R4, R5, R3
- 0D4008C0 MOVS R0, R4
- 0D4008C2 LDR R1, =aXs_0 "XS"
- 0D4008C4 MOVS R2, #2
- 0D4008C6 BL memcmp
- 0D4008C6
- 0D4008CA CMP R0, #0
- 0D4008CC BNE loc_D4008D0
- 0D4008CC
- 0D4008CE B loc_D400C42
- 0D4008CE
- 0D4008D0
- 0D4008D0 loc_D4008D0
- 0D4008D0 boot1_main+3AAj ...
- 0D4008D0 MOVS R4, #9
- 0D4008D2 B loc_D4006D8
- 0D4008D2
- 0D4008D4
- 0D4008D4 loc_D4008D4
- 0D4008D4 MOV R3, R10
- 0D4008D6 ADDS R0, R4, R3
- 0D4008D8 MOVS R3, #0xA0
- 0D4008DA LSLS R1, R4, #0xB
- 0D4008DC MOVS R2, R4
- 0D4008DE LSLS R3, R3, #0xA
- 0D4008E0 ANDS R2, R7
- 0D4008E2 ADDS R1, R1, R3
- 0D4008E4 MOVS R3, #0x48000
- 0D4008E8 LSLS R2, R2, #7
- 0D4008EA ADDS R2, R2, R3
- 0D4008EC BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
- 0D4008EC
- 0D4008F0 B loc_D40078C
- 0D4008F0
- 0D4008F2
- 0D4008F2 loc_D4008F2
- 0D4008F2 SUBS R1, R4, #1
- 0D4008F4 MOVS R2, #0xA0
- 0D4008F6 LSLS R0, R1, #0xB
- 0D4008F8 LSLS R2, R2, #0xA
- 0D4008FA ANDS R1, R7
- 0D4008FC MOVS R3, #0x90
- 0D4008FE LSLS R1, R1, #7
- 0D400900 ADDS R0, R0, R2
- 0D400902 LSLS R3, R3, #0xB
- 0D400904 MOVS R2, #0x80
- 0D400906 ADDS R1, R1, R3
- 0D400908 LSLS R2, R2, #4
- 0D40090A BL calc_ecc
- 0D40090A
- 0D40090E CMP R0, #0
- 0D400910 BNE loc_D400914
- 0D400910
- 0D400912 B loc_D400792
- 0D400912
- 0D400914
- 0D400914 loc_D400914
- 0D400914 boot1_main+398j ...
- 0D400914 SUBS R4, R0, #0
- 0D400916 BGE loc_D40091A
- 0D400916
- 0D400918 B loc_D4005B6
- 0D400918
- 0D40091A
- 0D40091A loc_D40091A
- 0D40091A boot1_main+8CAj
- 0D40091A LDR R3, [SP,#0x2C8+var_8C]
- 0D40091C LDR R4, =byte_7FF
- 0D40091E MOVS R0, #0xA0
- 0D400920 ANDS R3, R4
- 0D400922 LSLS R0, R0, #0xA
- 0D400924 ADDS R0, R3, R0
- 0D400926 STR R0, [SP,#0x2C8+var_2A8]
- 0D400928 LDR R1, [SP,#0x2C8+var_2BC]
- 0D40092A ADD R0, SP, #0x2C8+var_A0
- 0D40092C LDR R2, [SP,#0x2C8+var_2A8]
- 0D40092E BL sub_D400098
- 0D40092E
- 0D400932 LDR R2, [SP,#0x2C8+var_26C]
- 0D400934 MOVS R3, #0
- 0D400936 LDR R1, [SP,#0x2C8+var_8C]
- 0D400938 STR R2, [SP,#0x2C8+var_278]
- 0D40093A STR R3, [SP,#0x2C8+var_27C]
- 0D40093C ADDS R2, #0xF
- 0D40093E MOVS R3, #0xF
- 0D400940 BICS R2, R3
- 0D400942 ADDS R3, R2, R1
- 0D400944 ADDS R3, R3, R4
- 0D400946 LSRS R3, R3, #0xB
- 0D400948 STR R2, [SP,#0x2C8+var_2A4]
- 0D40094A MOVS R2, R3
- 0D40094C ADDS R2, #0x3F
- 0D40094E LSRS R2, R2, #6
- 0D400950 MOVS R0, #0x80
- 0D400952 STR R2, [SP,#0x2C8+var_280]
- 0D400954 LSRS R5, R1, #0xB
- 0D400956 MOVS R2, #0x3F
- 0D400958 MOV R6, R8
- 0D40095A LSLS R0, R0, #4
- 0D40095C STR R5, [SP,#0x2C8+var_290]
- 0D40095E ANDS R2, R3
- 0D400960 STR R2, [SP,#0x2C8+var_298]
- 0D400962 BNE loc_D400968
- 0D400962
- 0D400964 MOVS R3, #0x40
- 0D400966 STR R3, [SP,#0x2C8+var_298]
- 0D400966
- 0D400968
- 0D400968 loc_D400968
- 0D400968 LDR R2, [SP,#0x2C8+var_2A4]
- 0D40096A ANDS R1, R4
- 0D40096C SUBS R5, R0, R1
- 0D40096E ADDS R3, R2, R1
- 0D400970 STR R5, [SP,#0x2C8+var_29C]
- 0D400972 MOVS R5, R3
- 0D400974 STR R1, [SP,#0x2C8+var_288]
- 0D400976 ANDS R5, R4
- 0D400978 STR R5, [SP,#0x2C8+var_2A0]
- 0D40097A BNE loc_D40097E
- 0D40097A
- 0D40097C STR R0, [SP,#0x2C8+var_2A0]
- 0D40097C
- 0D40097E
- 0D40097E loc_D40097E
- 0D40097E LDR R0, [SP,#0x2C8+var_2A4]
- 0D400980 LDR R1, [SP,#0x2C8+var_288]
- 0D400982 LDR R2, =0x2887F
- 0D400984 ADDS R3, R0, R1
- 0D400986 ADDS R2, R3, R2
- 0D400988 MOVS R3, #0x7F
- 0D40098A BICS R2, R3
- 0D40098C ADDS R3, #0x81
- 0D40098E STR R2, [SP,#0x2C8+var_28C]
- 0D400990 ADDS R2, R2, R3
- 0D400992 LDR R3, =0x7FFFF
- 0D400994 CMP R2, R3
- 0D400996 BHI loc_D400A08
- 0D400996
- 0D400998 MOV R4, R11
- 0D40099A CMP R4, #1
- 0D40099C BEQ loc_D400A02
- 0D40099C
- 0D40099E MOVS R0, #1
- 0D4009A0 NEGS R0, R0 R0 = 0xFFFFFFFF
- 0D4009A2 STR R0, [SP,#0x2C8+var_284]
- 0D4009A2
- 0D4009A4
- 0D4009A4 loc_D4009A4
- 0D4009A4 LDR R2, [SP,#0x2C8+var_280]
- 0D4009A6 MOVS R1, #0
- 0D4009A8 MOV R8, R1
- 0D4009AA CMP R2, #0
- 0D4009AC BHI loc_D4009B0
- 0D4009AC
- 0D4009AE B loc_D400B00
- 0D4009AE
- 0D4009B0
- 0D4009B0 loc_D4009B0
- 0D4009B0 boot1_main+66Aj
- 0D4009B0 LDR R3, [SP,#0x2C8+var_68]
- 0D4009B2 CMP R3, #1
- 0D4009B4 BLS loc_D400A60
- 0D4009B4
- 0D4009B6 SUBS R2, R6, #1
- 0D4009B8 CMP R2, #6
- 0D4009BA BHI loc_D400A08
- 0D4009BA
- 0D4009BC ADD R4, SP, #0x2C8+var_70
- 0D4009BE ADDS R3, R6, R4
- 0D4009BE
- 0D4009C0
- 0D4009C0 loc_D4009C0
- 0D4009C0 LDRB R3, [R3,#0xC]
- 0D4009C2 CMP R3, #1
- 0D4009C4 BNE loc_D400A62
- 0D4009C4
- 0D4009C6 LDR R5, [SP,#0x2C8+var_284]
- 0D4009C8 ADDS R6, R6, R5
- 0D4009CA SUBS R2, R6, #1
- 0D4009CC CMP R2, #6
- 0D4009CE BHI loc_D400A08
- 0D4009CE
- 0D4009D0 ADD R0, SP, #0x2C8+var_70
- 0D4009D2 ADDS R3, R6, R0
- 0D4009D4 B loc_D4009C0
- 0D4009D4
- 0D4009D6
- 0D4009D6 loc_D4009D6
- 0D4009D6 MOV R0, R11
- 0D4009D8 CMP R0, #2
- 0D4009DA BLS loc_D4009DE
- 0D4009DA
- 0D4009DC B loc_D4005C2
- 0D4009DC
- 0D4009DE
- 0D4009DE loc_D4009DE
- 0D4009DE MOVS R3, #1
- 0D4009E0 STR R3, [R4,#0xC]
- 0D4009E2 MOVS R0, #0x22
- 0D4009E4 BL boot1_debug_output output 22h
- 0D4009E4
- 0D4009E8 LDR R0, [R4]
- 0D4009EA MOVS R3, #0x2A4
- 0D4009EE ADDS R0, R0, R4
- 0D4009F0 ADD SP, R3
- 0D4009F2 POP {R3-R6}
- 0D4009F4 MOV R8, R3
- 0D4009F6 MOV R9, R4
- 0D4009F8 MOV R10, R5
- 0D4009FA MOV R11, R6
- 0D4009FC POP {R4-R7}
- 0D4009FE POP {R1}
- 0D400A00 BX R1
- 0D400A00
- 0D400A02
- 0D400A02 loc_D400A02
- 0D400A02 MOVS R5, #1
- 0D400A04 STR R5, [SP,#0x2C8+var_284]
- 0D400A06 B loc_D4009A4
- 0D400A06
- 0D400A08
- 0D400A08 loc_D400A08
- 0D400A08 boot1_main+526j ...
- 0D400A08 MOVS R4, #6
- 0D400A0A B loc_D4006D8
- 0D400A0A
- 0D400A0C
- 0D400A0C loc_D400A0C
- 0D400A0C SUBS R2, R4, #1
- 0D400A0E B loc_D4005A4
- 0D400A0E
- 0D400A10
- 0D400A10 loc_D400A10
- 0D400A10 ADD R4, R10
- 0D400A12 B loc_D40071A
- 0D400A12
- 0D400A14 off_D400A14 DCD NAND_CTR
- 0D400A14 NAND Control and Status
- 0D400A18 off_D400A18 DCD aRoot_4
- 0D400A18 "Root"
- 0D400A1C
- 0D400A1C Key_Exponent DCD BOOT1_root_exponent DATA XREF: boot1_main+326r
- 0D400A20
- 0D400A20 Key_Type DCD BOOT1_root_key
- 0D400A24 dword_D400A24 DCD 0x28284
- 0D400A28 off_D400A28 DCD aCa_0
- 0D400A28 "CA"
- 0D400A2C off_D400A2C DCD asc_D4040A0
- 0D400A2C "-"
- 0D400A30 dword_D400A30 DCD 0x282C8
- 0D400A34 dword_D400A34 DCD 0x283C8
- 0D400A38 dword_D400A38 DCD 0x28584
- 0D400A3C off_D400A3C DCD aCp_0
- 0D400A3C "CP"
- 0D400A40 dword_D400A40 DCD 0x286C8
- 0D400A44 dword_D400A44 DCD 0x285C8
- 0D400A48 dword_D400A48 DCD 0x28700
- 0D400A4C dword_D400A4C DCD 0x28884
- 0D400A50 off_D400A50 DCD aXs_0
- 0D400A50 "XS"
- 0D400A54 off_D400A54 DCD byte_7FF
- 0D400A58 dword_D400A58 DCD 0x2887F
- 0D400A5C dword_D400A5C DCD 0x7FFFF
- 0D400A60
- 0D400A60 loc_D400A60
- 0D400A60 SUBS R2, R6, #1
- 0D400A60
- 0D400A62
- 0D400A62 loc_D400A62
- 0D400A62 CMP R2, #6
- 0D400A64 BHI loc_D400A08
- 0D400A64
- 0D400A66 MOV R1, R8
- 0D400A68 CMP R1, #0
- 0D400A6A BEQ loc_D400A6E
- 0D400A6A
- 0D400A6C B loc_D400D8E
- 0D400A6C
- 0D400A6E
- 0D400A6E loc_D400A6E
- 0D400A6E LDR R2, [SP,#0x2C8+var_290]
- 0D400A70 MOV R10, R2
- 0D400A70
- 0D400A72
- 0D400A72 loc_D400A72
- 0D400A72 MOVS R4, #0x40
- 0D400A74 MOV R5, R10
- 0D400A76 STR R4, [SP,#0x2C8+var_294]
- 0D400A78 CMP R5, #0x42
- 0D400A7A BCC loc_D400A7E
- 0D400A7A
- 0D400A7C B loc_D400D8A
- 0D400A7C
- 0D400A7E
- 0D400A7E loc_D400A7E
- 0D400A7E MOV R1, R8
- 0D400A80 LSLS R0, R6, #6
- 0D400A82 LSLS R1, R1, #6
- 0D400A84 STR R0, [SP,#0x2C8+var_2B4]
- 0D400A86 STR R1, [SP,#0x2C8+var_2B8]
- 0D400A86
- 0D400A88
- 0D400A88 loc_D400A88
- 0D400A88 CMP R5, #2
- 0D400A8A BNE loc_D400A8E
- 0D400A8A
- 0D400A8C B loc_D400D7A
- 0D400A8C
- 0D400A8E
- 0D400A8E loc_D400A8E
- 0D400A8E boot1_main+8EEj ...
- 0D400A8E LDR R3, [SP,#0x2C8+var_2B4]
- 0D400A90 LDR R0, [SP,#0x2C8+var_2B8]
- 0D400A92 LDR R1, [SP,#0x2C8+var_290]
- 0D400A94 ADDS R4, R3, R5
- 0D400A96 LDR R2, =NAND_CTR NAND Control and Status
- 0D400A98 ADDS R3, R0, R5
- 0D400A9A SUBS R7, R3, R1
- 0D400A9A
- 0D400A9C
- 0D400A9C loc_D400A9C
- 0D400A9C LDR R3, [R2]
- 0D400A9E CMP R3, #0
- 0D400AA0 BLT loc_D400A9C
- 0D400AA0
- 0D400AA2 MOVS R0, #3
- 0D400AA4 BL call_ahbMemFlush
- 0D400AA4
- 0D400AA8 MOVS R0, #0
- 0D400AAA BL call_ahbMemFlush2
- 0D400AAA
- 0D400AAE LDR R2, [SP,#0x2C8+var_294]
- 0D400AB0 CMP R5, R2
- 0D400AB2 BCS loc_D400AB6
- 0D400AB2
- 0D400AB4 B loc_D400D60
- 0D400AB4
- 0D400AB6
- 0D400AB6 loc_D400AB6
- 0D400AB6 boot1_main+8E4j
- 0D400AB6 CMP R5, #1
- 0D400AB8 BHI loc_D400B20
- 0D400AB8
- 0D400ABA LDR R2, =NAND_CTR NAND Control and Status
- 0D400ABA
- 0D400ABC
- 0D400ABC loc_D400ABC
- 0D400ABC LDR R3, [R2]
- 0D400ABE CMP R3, #0
- 0D400AC0 BLT loc_D400ABC
- 0D400AC0
- 0D400AC2 MOVS R0, #3
- 0D400AC4 BL call_ahbMemFlush
- 0D400AC4
- 0D400AC8 MOVS R0, #0
- 0D400ACA BL call_ahbMemFlush2
- 0D400ACA
- 0D400ACE MOVS R3, #1
- 0D400AD0 ANDS R3, R5
- 0D400AD2 LDR R0, [SP,#0x2C8+var_28C]
- 0D400AD4 LSLS R3, R3, #7
- 0D400AD6 LDRB R3, [R3,R0]
- 0D400AD8 CMP R3, #0xFF
- 0D400ADA BEQ loc_D400ADE
- 0D400ADA
- 0D400ADC B loc_D400D10
- 0D400ADC
- 0D400ADE
- 0D400ADE loc_D400ADE
- 0D400ADE CMP R5, #0
- 0D400AE0 BNE loc_D400B20
- 0D400AE0
- 0D400AE2
- 0D400AE2 loc_D400AE2
- 0D400AE2 boot1_main+6F0j
- 0D400AE2 LDR R3, [SP,#0x2C8+var_294]
- 0D400AE4 ADDS R5, #1
- 0D400AE6 ADDS R3, #2
- 0D400AE8 CMP R3, R5
- 0D400AEA BHI loc_D400A88
- 0D400AEA
- 0D400AEC
- 0D400AEC loc_D400AEC
- 0D400AEC boot1_main+8F8j
- 0D400AEC CMP R3, R5
- 0D400AEE BNE loc_D400AF4
- 0D400AEE
- 0D400AF0 MOVS R2, #1
- 0D400AF2 ADD R8, R2
- 0D400AF2
- 0D400AF4
- 0D400AF4 loc_D400AF4
- 0D400AF4 LDR R3, [SP,#0x2C8+var_284]
- 0D400AF6 LDR R4, [SP,#0x2C8+var_280]
- 0D400AF8 ADDS R6, R6, R3
- 0D400AFA CMP R8, R4
- 0D400AFC BCS loc_D400B00
- 0D400AFC
- 0D400AFE B loc_D4009B0
- 0D400AFE
- 0D400B00
- 0D400B00 loc_D400B00
- 0D400B00 boot1_main+668j
- 0D400B00 ADD R4, SP, #0x2C8+var_260
- 0D400B02 MOVS R0, #0
- 0D400B04 MOVS R1, #0
- 0D400B04
- 0D400B06
- 0D400B06 loc_D400B06
- 0D400B06 MOVS R3, #0x194
- 0D400B0A ADDS R3, R3, R1
- 0D400B0C MOV R5, SP
- 0D400B0E LDR R2, [R3,R5]
- 0D400B10 LDR R3, [R1,R4]
- 0D400B12 CMP R2, R3
- 0D400B14 BNE loc_D400BB0
- 0D400B14
- 0D400B16 ADDS R0, #1
- 0D400B18 ADDS R1, #4
- 0D400B1A CMP R0, #4
- 0D400B1C BLS loc_D400B06
- 0D400B1C
- 0D400B1E B loc_D400B86
- 0D400B1E
- 0D400B20
- 0D400B20 loc_D400B20
- 0D400B20 boot1_main+64Cj
- 0D400B20 LDR R2, =AES_CTRL
- 0D400B20
- 0D400B22
- 0D400B22 loc_D400B22
- 0D400B22 LDR R3, [R2]
- 0D400B24 CMP R3, #0
- 0D400B26 BLT loc_D400B22
- 0D400B26
- 0D400B28 MOVS R0, #4
- 0D400B2A BL call_ahbMemFlush
- 0D400B2A
- 0D400B2E MOVS R0, #0
- 0D400B30 BL call_ahbMemFlush2
- 0D400B30
- 0D400B34 CMP R5, R10
- 0D400B36 BLS loc_D400B40
- 0D400B36
- 0D400B38 LDR R3, [SP,#0x2C8+var_294]
- 0D400B3A ADDS R3, #1
- 0D400B3C CMP R3, R5
- 0D400B3E BHI loc_D400BB4
- 0D400B3E
- 0D400B40
- 0D400B40 loc_D400B40
- 0D400B40 MOV R1, R10
- 0D400B42 ADDS R1, #1
- 0D400B42
- 0D400B44
- 0D400B44 loc_D400B44
- 0D400B44 LDR R2, =SHA_CTRL
- 0D400B44
- 0D400B46
- 0D400B46 loc_D400B46
- 0D400B46 LDR R3, [R2]
- 0D400B48 CMP R3, #0
- 0D400B4A BLT loc_D400B46
- 0D400B4A
- 0D400B4C CMP R1, R5
- 0D400B4E BCS loc_D400AE2
- 0D400B4E
- 0D400B50 MOV R2, R8
- 0D400B52 CMP R2, #0
- 0D400B54 BNE loc_D400B5E
- 0D400B54
- 0D400B56 LDR R3, [SP,#0x2C8+var_290]
- 0D400B58 ADDS R3, #2
- 0D400B5A CMP R3, R5
- 0D400B5C BEQ loc_D400C1A
- 0D400B5C
- 0D400B5E
- 0D400B5E loc_D400B5E
- 0D400B5E LDR R3, [SP,#0x2C8+var_280]
- 0D400B60 SUBS R3, #1
- 0D400B62 CMP R3, R8
- 0D400B64 BEQ loc_D400B92
- 0D400B64
- 0D400B66
- 0D400B66 loc_D400B66
- 0D400B66 MOVS R1, #0x27000
- 0D400B6A LSLS R3, R7, #0xB
- 0D400B6C MOVS R4, #0x80
- 0D400B6E ADDS R2, R3, R1
- 0D400B70 LSLS R4, R4, #4
- 0D400B72 MOVS R1, #2
- 0D400B72
- 0D400B74
- 0D400B74 loc_D400B74
- 0D400B74 boot1_main+792j
- 0D400B74 ADD R3, SP, #0x2C8+var_260
- 0D400B76 STR R3, [SP,#0x2C8+R5]
- 0D400B78 ADD R0, SP, #0x2C8+var_270
- 0D400B7A MOVS R3, R4
- 0D400B7C BL sha1
- 0D400B7C
- 0D400B80 CMP R0, #0
- 0D400B82 STR R0, [SP,#0x2C8+var_27C]
- 0D400B84 BGE loc_D400AE2
- 0D400B84
- 0D400B86
- 0D400B86 loc_D400B86
- 0D400B86 boot1_main+740j
- 0D400B86 LDR R4, [SP,#0x2C8+var_27C]
- 0D400B88 CMP R4, #0
- 0D400B8A BGE loc_D400B8E
- 0D400B8A
- 0D400B8C B loc_D4005B6
- 0D400B8C
- 0D400B8E
- 0D400B8E loc_D400B8E
- 0D400B8E LDR R4, [SP,#0x2C8+var_2A8]
- 0D400B90 B loc_D4005B0
- 0D400B90
- 0D400B92
- 0D400B92 loc_D400B92
- 0D400B92 LDR R3, [SP,#0x2C8+var_294]
- 0D400B94 ADDS R3, #1
- 0D400B96 CMP R3, R5
- 0D400B98 BNE loc_D400B66
- 0D400B98
- 0D400B9A MOVS R0, #0x9C
- 0D400B9C LSLS R3, R7, #0xB
- 0D400B9E LSLS R0, R0, #0xA
- 0D400BA0 LDR R1, [SP,#0x2C8+var_2A0]
- 0D400BA2 LDR R4, [SP,#0x2C8+var_278]
- 0D400BA4 ADDS R2, R3, R0
- 0D400BA6 LDR R0, [SP,#0x2C8+var_2A4]
- 0D400BA8 ADDS R3, R1, R4
- 0D400BAA SUBS R4, R3, R0
- 0D400BAC MOVS R1, #3
- 0D400BAE B loc_D400B74
- 0D400BAE
- 0D400BB0
- 0D400BB0 loc_D400BB0
- 0D400BB0 MOVS R4, #7
- 0D400BB2 B loc_D4006D8
- 0D400BB2
- 0D400BB4
- 0D400BB4 loc_D400BB4
- 0D400BB4 MOVS R3, #1
- 0D400BB6 SUBS R1, R5, #1
- 0D400BB8 MOVS R2, #0x9E
- 0D400BBA ANDS R1, R3
- 0D400BBC LSLS R2, R2, #0xA
- 0D400BBE LSLS R0, R7, #0xB
- 0D400BC0 LDR R3, [SP,#0x2C8+var_28C]
- 0D400BC2 LSLS R1, R1, #7
- 0D400BC4 ADDS R0, R0, R2
- 0D400BC6 MOVS R2, #0x80
- 0D400BC8 ADDS R1, R1, R3
- 0D400BCA LSLS R2, R2, #4
- 0D400BCC BL calc_ecc
- 0D400BCC
- 0D400BD0 CMP R0, #0
- 0D400BD2 STR R0, [SP,#0x2C8+var_27C]
- 0D400BD4 BLT loc_D400B86
- 0D400BD4
- 0D400BD6 MOV R4, R8
- 0D400BD8 CMP R4, #0
- 0D400BDA BNE loc_D400BE4
- 0D400BDA
- 0D400BDC LDR R3, [SP,#0x2C8+var_290]
- 0D400BDE ADDS R3, #1
- 0D400BE0 CMP R3, R5
- 0D400BE2 BEQ loc_D400C28
- 0D400BE2
- 0D400BE4
- 0D400BE4 loc_D400BE4
- 0D400BE4 LDR R3, [SP,#0x2C8+var_280]
- 0D400BE6 SUBS R3, #1
- 0D400BE8 CMP R3, R8
- 0D400BEA BEQ loc_D400C38
- 0D400BEA
- 0D400BEC
- 0D400BEC loc_D400BEC
- 0D400BEC MOVS R4, #0x800
- 0D400BEC
- 0D400BF0
- 0D400BF0 loc_D400BF0
- 0D400BF0 boot1_main+7ACj
- 0D400BF0 MOVS R0, #1
- 0D400BF2 BL call_ahbMemFlush
- 0D400BF2
- 0D400BF6 MOVS R0, #4
- 0D400BF8 BL call_ahbMemFlush2
- 0D400BF8
- 0D400BFC MOVS R3, R4
- 0D400BFE SUBS R3, #0x10
- 0D400C00 MOV R1, R8
- 0D400C02 LSRS R3, R3, #4
- 0D400C04 CMP R1, #0
- 0D400C06 BNE loc_D400C32
- 0D400C06
- 0D400C08 MOV R1, R10
- 0D400C0A ADDS R1, #1
- 0D400C0C CMP R1, R5
- 0D400C0E BEQ loc_D400C2C
- 0D400C0E
- 0D400C10
- 0D400C10 loc_D400C10
- 0D400C10 LDR R2, =0x98001000
- 0D400C10
- 0D400C12
- 0D400C12 loc_D400C12
- 0D400C12 ORRS R2, R3
- 0D400C14 LDR R3, =AES_CTRL
- 0D400C16 STR R2, [R3]
- 0D400C18 B loc_D400B44
- 0D400C18
- 0D400C1A
- 0D400C1A loc_D400C1A
- 0D400C1A LDR R3, [SP,#0x2C8+var_288]
- 0D400C1C MOVS R4, #0x28000
- 0D400C20 ADDS R2, R3, R4
- 0D400C22 LDR R4, [SP,#0x2C8+var_29C]
- 0D400C24 MOVS R1, #1
- 0D400C26 B loc_D400B74
- 0D400C26
- 0D400C28
- 0D400C28 loc_D400C28
- 0D400C28 LDR R4, [SP,#0x2C8+var_29C]
- 0D400C2A B loc_D400BF0
- 0D400C2A
- 0D400C2C
- 0D400C2C loc_D400C2C
- 0D400C2C MOVS R2, #0x98000000
- 0D400C30 B loc_D400C12
- 0D400C30
- 0D400C32
- 0D400C32 loc_D400C32
- 0D400C32 MOV R1, R10
- 0D400C34 ADDS R1, #1
- 0D400C36 B loc_D400C10
- 0D400C36
- 0D400C38
- 0D400C38 loc_D400C38
- 0D400C38 LDR R0, [SP,#0x2C8+var_294]
- 0D400C3A CMP R5, R0
- 0D400C3C BNE loc_D400BEC
- 0D400C3C
- 0D400C3E LDR R4, [SP,#0x2C8+var_2A0]
- 0D400C40 B loc_D400BF0
- 0D400C40
- 0D400C42
- 0D400C42 loc_D400C42
- 0D400C42 LDR R3, [SP,#0x2C8+var_90]
- 0D400C44 MOVS R0, #0xA0
- 0D400C46 LDR R2, [SP,#0x2C8+var_88]
- 0D400C48 LSLS R0, R0, #0xA
- 0D400C4A ADDS R3, R3, R0
- 0D400C4C ADDS R7, R3, R2
- 0D400C4E MOV R1, R10
- 0D400C50 MOVS R2, #0x40
- 0D400C52 ADD R0, SP, #0x2C8+Needle
- 0D400C54 BL memcpy_maybe
- 0D400C54
- 0D400C58 MOVS R1, R4
- 0D400C5A MOVS R2, #0x40
- 0D400C5C ADD R0, SP, #0x2C8+Needle
- 0D400C5E BL memcpy_maybe
- 0D400C5E
- 0D400C62 MOVS R3, #4
- 0D400C64 STR R3, [SP,#0x2C8+R5] R5
- 0D400C66 MOVS R3, #0x2A4
- 0D400C6A STR R3, [SP,#0x2C8+Length]
- 0D400C6C LDR R4, =0x289C8
- 0D400C6E LDR R3, =0x288C8
- 0D400C70 MOVS R0, R7 Source
- 0D400C72 ADDS R2, R5, R3
- 0D400C74 ADD R1, SP, #0x2C8+Needle Needle
- 0D400C76 ADDS R3, R5, R4
- 0D400C78 BL verify_certificate
- 0D400C78
- 0D400C7C CMP R0, #0
- 0D400C7E BEQ loc_D400C82
- 0D400C7E
- 0D400C80 B loc_D400914
- 0D400C80
- 0D400C82
- 0D400C82 loc_D400C82
- 0D400C82 ADD R4, SP, #0x2C8+var_24C
- 0D400C84 LDR R1, =Common_Key
- 0D400C86 MOVS R2, #0x10
- 0D400C88 LDR R5, =byte_1BF
- 0D400C8A MOVS R0, R4
- 0D400C8C BL memcpy
- 0D400C8C
- 0D400C90 MOVS R0, #0xB0
- 0D400C92 ADDS R1, R7, R5
- 0D400C94 MOVS R2, #0x10
- 0D400C96 LSLS R0, R0, #0xC
- 0D400C98 BL memcpy
- 0D400C98
- 0D400C9C MOVS R1, #0
- 0D400C9E MOVS R2, #0x10
- 0D400CA0 LDR R0, [SP,#0x2C8+var_2C0]
- 0D400CA2 BL memcmp_0
- 0D400CA2
- 0D400CA6 MOVS R0, #0x18C
- 0D400CAA ADDS R5, R6, R0
- 0D400CAC MOVS R1, R5
- 0D400CAE MOVS R2, #8
- 0D400CB0 LDR R0, [SP,#0x2C8+var_2C0]
- 0D400CB2 BL memcpy
- 0D400CB2
- 0D400CB6 MOVS R2, #0xB0000
- 0D400CBA LDR R1, [SP,#0x2C8+var_2C0]
- 0D400CBC MOVS R0, R4
- 0D400CBE BL sub_D400098
- 0D400CBE
- 0D400CC2 MOVS R0, #1
- 0D400CC4 BL call_ahbMemFlush
- 0D400CC4
- 0D400CC8 MOVS R0, #4
- 0D400CCA BL call_ahbMemFlush2
- 0D400CCA
- 0D400CCE LDR R2, =AES_CTRL
- 0D400CD0 MOVS R3, #0x98000000
- 0D400CD4 STR R3, [R2]
- 0D400CD4
- 0D400CD6
- 0D400CD6 loc_D400CD6
- 0D400CD6 LDR R3, [R2]
- 0D400CD8 CMP R3, #0
- 0D400CDA BLT loc_D400CD6
- 0D400CDA
- 0D400CDC MOVS R0, #4
- 0D400CDE BL call_ahbMemFlush
- 0D400CDE
- 0D400CE2 MOVS R0, #0
- 0D400CE4 BL call_ahbMemFlush2
- 0D400CE4
- 0D400CE8 MOVS R1, #0xB0000
- 0D400CEC MOVS R2, #0x10
- 0D400CEE ADD R0, SP, #0x2C8+var_A0
- 0D400CF0 BL memcpy
- 0D400CF0
- 0D400CF4 MOVS R0, #0xB0
- 0D400CF6 MOVS R1, #0
- 0D400CF8 MOVS R2, #0x10
- 0D400CFA LSLS R0, R0, #0xC
- 0D400CFC BL memcmp_0
- 0D400CFC
- 0D400D00 LDR R1, [R5]
- 0D400D02 LDR R2, [R5,#4]
- 0D400D04 CMP R1, #1
- 0D400D06 BNE loc_D400D0C
- 0D400D06
- 0D400D08 CMP R2, #1
- 0D400D0A BEQ loc_D400D16
- 0D400D0A
- 0D400D0C
- 0D400D0C loc_D400D0C
- 0D400D0C MOVS R4, #0xB
- 0D400D0E B loc_D4006D8
- 0D400D0E
- 0D400D10
- 0D400D10 loc_D400D10
- 0D400D10 LDR R3, [SP,#0x2C8+var_294]
- 0D400D12 ADDS R3, #2
- 0D400D14 B loc_D400AEC
- 0D400D14
- 0D400D16
- 0D400D16 loc_D400D16
- 0D400D16 BL sub_D40130C
- 0D400D16
- 0D400D1A CMP R0, #0
- 0D400D1C BLT loc_D400D2A
- 0D400D1C
- 0D400D1E MOVS R1, #0x184
- 0D400D22 ADDS R3, R6, R1
- 0D400D24 LDRB R3, [R3,#7]
- 0D400D26 CMP R3, R0
- 0D400D28 BGE loc_D400D2E
- 0D400D28
- 0D400D2A
- 0D400D2A loc_D400D2A
- 0D400D2A MOVS R4, #0xA
- 0D400D2C B loc_D4006D8
- 0D400D2C
- 0D400D2E
- 0D400D2E loc_D400D2E
- 0D400D2E LDR R0, [SP,#0x2C8+var_2BC]
- 0D400D30 MOVS R1, #0
- 0D400D32 MOVS R2, #0x10
- 0D400D34 BL memcmp_0
- 0D400D34
- 0D400D38 MOVS R2, #0x1E8
- 0D400D3C MOVS R4, #0xF6
- 0D400D3E ADDS R1, R6, R2
- 0D400D40 LDR R0, [SP,#0x2C8+var_2BC]
- 0D400D42 MOVS R2, #2
- 0D400D44 LSLS R4, R4, #1
- 0D400D46 BL memcpy
- 0D400D46
- 0D400D4A MOVS R5, #0xFA
- 0D400D4C ADDS R3, R6, R4
- 0D400D4E LDR R3, [R3,#4]
- 0D400D50 LSLS R5, R5, #1
- 0D400D52 ADD R0, SP, #0x2C8+var_134
- 0D400D54 ADDS R1, R6, R5
- 0D400D56 MOVS R2, #0x14
- 0D400D58 STR R3, [SP,#0x2C8+var_26C]
- 0D400D5A BL memcpy
- 0D400D5A
- 0D400D5E B loc_D40091A
- 0D400D5E
- 0D400D60
- 0D400D60 loc_D400D60
- 0D400D60 MOVS R2, #1
- 0D400D62 ANDS R2, R5
- 0D400D64 MOVS R0, R4
- 0D400D66 MOVS R3, #0xA0
- 0D400D68 LDR R4, [SP,#0x2C8+var_28C]
- 0D400D6A LSLS R1, R7, #0xB
- 0D400D6C LSLS R3, R3, #0xA
- 0D400D6E LSLS R2, R2, #7
- 0D400D70 ADDS R1, R1, R3
- 0D400D72 ADDS R2, R2, R4
- 0D400D74 BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
- 0D400D74
- 0D400D78 B loc_D400AB6
- 0D400D78
- 0D400D7A
- 0D400D7A loc_D400D7A
- 0D400D7A LDR R3, [SP,#0x2C8+var_280]
- 0D400D7C SUBS R3, #1
- 0D400D7E CMP R3, R8
- 0D400D80 BEQ loc_D400D84
- 0D400D80
- 0D400D82 B loc_D400A8E
- 0D400D82
- 0D400D84
- 0D400D84 loc_D400D84
- 0D400D84 LDR R2, [SP,#0x2C8+var_298]
- 0D400D86 STR R2, [SP,#0x2C8+var_294]
- 0D400D88 B loc_D400A8E
- 0D400D88
- 0D400D8A
- 0D400D8A loc_D400D8A
- 0D400D8A MOVS R3, #0x42
- 0D400D8C B loc_D400AEC
- 0D400D8C
- 0D400D8E
- 0D400D8E loc_D400D8E
- 0D400D8E MOVS R3, #0
- 0D400D90 MOV R10, R3
- 0D400D92 B loc_D400A72
- 0D400D92
- 0D400D92
- 0D400D92
- 0D400D94 off_D400D94 DCD NAND_CTR
- 0D400D94 boot1_main+626r
- 0D400D94 NAND Control and Status
- 0D400D98 off_D400D98 DCD AES_CTRL
- 0D400D98 boot1_main+780r ...
- 0D400D9C off_D400D9C DCD SHA_CTRL
- 0D400DA0 dword_D400DA0 DCD 0x98001000
- 0D400DA4 dword_D400DA4 DCD 0x289C8
- 0D400DA8 dword_D400DA8 DCD 0x288C8
- 0D400DAC off_D400DAC DCD Common_Key
- 0D400DB0 off_D400DB0 DCD byte_1BF
- 0D400DB4
- 0D400DB4
- 0D400DB4
- 0D400DB4
- 0D400DB4 init_gpios
- 0D400DB4 PUSH {LR}
- 0D400DB6 BL gpio_stuff
- 0D400DB6
- 0D400DBA LDR R2, =LT_GPIO_INTMASK
- 0D400DBC LDR R1, =(dword_FFFFC100+0x2FF)
- 0D400DBE LDR R3, [R2]
- 0D400DC0 ANDS R3, R1
- 0D400DC2 STR R3, [R2]
- 0D400DC4 SUBS R2, #0x14
- 0D400DC6 LDR R3, [R2]
- 0D400DC8 ANDS R3, R1
- 0D400DCA STR R3, [R2]
- 0D400DCC LDR R1, =LT_GPIO_DIR Boot1 sets this to 0xFFDF3E
- 0D400DCE MOVS R3, #0xE0
- 0D400DD0 LDR R2, [R1]
- 0D400DD2 LSLS R3, R3, #5
- 0D400DD4 ORRS R2, R3
- 0D400DD6 STR R2, [R1]
- 0D400DD8 SUBS R1, #8
- 0D400DDA LDR R2, [R1]
- 0D400DDC MOVS R3, #0x3C00
- 0D400DE0 ORRS R2, R3
- 0D400DE2 STR R2, [R1]
- 0D400DE4 POP {R0}
- 0D400DE6 BX R0
- 0D400DE6
- 0D400DE6
- 0D400DE6
- 0D400DE8 off_D400DE8 DCD LT_GPIO_INTMASK
- 0D400DEC off_D400DEC DCD dword_FFFFC100+0x2FF DATA XREF: init_gpios+8r
- 0D400DF0 off_D400DF0 DCD LT_GPIO_DIR
- 0D400DF0 Boot1 sets this to 0xFFDF3E
- 0D400DF4
- 0D400DF4
- 0D400DF4
- 0D400DF4
- 0D400DF4 set_C CODE XREF: clear_S+24p
- 0D400DF4 seeprom1+34p ...
- 0D400DF4 LDR R1, =LT_GPIO_OUT
- 0D400DF6 MOVS R3, #0x80
- 0D400DF8 LDR R2, [R1]
- 0D400DFA LSLS R3, R3, #4
- 0D400DFC ORRS R2, R3
- 0D400DFE STR R2, [R1]
- 0D400E00 BX LR
- 0D400E00
- 0D400E00
- 0D400E00
- 0D400E02 ALIGN 4
- 0D400E04 off_D400E04 DCD LT_GPIO_OUT
- 0D400E08
- 0D400E08
- 0D400E08
- 0D400E08
- 0D400E08 clear_C
- 0D400E08 clear_S:loc_D400E7Ep ...
- 0D400E08 LDR R3, =LT_GPIO_OUT
- 0D400E0A LDR R1, =0xFFFFF7FF
- 0D400E0C LDR R2, [R3]
- 0D400E0E ANDS R2, R1
- 0D400E10 STR R2, [R3]
- 0D400E12 BX LR
- 0D400E12
- 0D400E12
- 0D400E12
- 0D400E14 off_D400E14 DCD LT_GPIO_OUT
- 0D400E18 dword_D400E18 DCD 0xFFFFF7FF
- 0D400E1C
- 0D400E1C
- 0D400E1C
- 0D400E1C
- 0D400E1C set_S CODE XREF: seeprom1+24p
- 0D400E1C read_SEEPROM+18p
- 0D400E1C LDR R1, =LT_GPIO_OUT
- 0D400E1E MOVS R3, #0x80
- 0D400E20 LDR R2, [R1]
- 0D400E22 LSLS R3, R3, #3
- 0D400E24 ORRS R2, R3
- 0D400E26 STR R2, [R1]
- 0D400E28 BX LR
- 0D400E28
- 0D400E28
- 0D400E28
- 0D400E2A ALIGN 4
- 0D400E2C off_D400E2C DCD LT_GPIO_OUT
- 0D400E30
- 0D400E30
- 0D400E30
- 0D400E30
- 0D400E30 clear_D
- 0D400E30 seeprom1+2Ap
- 0D400E30 LDR R1, =LT_GPIO_OUT
- 0D400E32 LDR R2, =0xFFFFEFFF
- 0D400E34 LDR R3, [R1]
- 0D400E36 ANDS R2, R3
- 0D400E38 MOVS R3, #1
- 0D400E3A ANDS R3, R0
- 0D400E3C LSLS R3, R3, #0xC
- 0D400E3E ORRS R2, R3
- 0D400E40 STR R2, [R1]
- 0D400E42 BX LR
- 0D400E42
- 0D400E42
- 0D400E42
- 0D400E44 off_D400E44 DCD LT_GPIO_OUT
- 0D400E48 dword_D400E48 DCD 0xFFFFEFFF
- 0D400E4C
- 0D400E4C
- 0D400E4C
- 0D400E4C
- 0D400E4C clear_S
- 0D400E4C seeprom_read+26p ...
- 0D400E4C PUSH {R4-R6,LR}
- 0D400E4E CMP R0, #0
- 0D400E50 BEQ loc_D400E7E
- 0D400E50
- 0D400E52 LDR R5, =LT_GPIO_OUT
- 0D400E54 LDR R6, =0xFFFFFBFF
- 0D400E56 ADDS R4, R0, #0
- 0D400E56
- 0D400E58
- 0D400E58 loc_D400E58
- 0D400E58 BL clear_C
- 0D400E58
- 0D400E5C LDR R3, [R5]
- 0D400E5E ANDS R3, R6
- 0D400E60 STR R3, [R5]
- 0D400E62 MOVS R0, #0
- 0D400E64 BL clear_D
- 0D400E64
- 0D400E68 MOVS R0, #0x7D
- 0D400E6A BL delay_1
- 0D400E6A
- 0D400E6E SUBS R4, #1
- 0D400E70 BL set_C
- 0D400E70
- 0D400E74 MOVS R0, #0x7D
- 0D400E76 BL delay_1
- 0D400E76
- 0D400E7A CMP R4, #0
- 0D400E7C BNE loc_D400E58
- 0D400E7C
- 0D400E7E
- 0D400E7E loc_D400E7E
- 0D400E7E BL clear_C
- 0D400E7E
- 0D400E82 POP {R4-R6}
- 0D400E84 POP {R0}
- 0D400E86 BX R0
- 0D400E86
- 0D400E86
- 0D400E86
- 0D400E88 off_D400E88 DCD LT_GPIO_OUT
- 0D400E8C dword_D400E8C DCD 0xFFFFFBFF
- 0D400E90
- 0D400E90
- 0D400E90
- 0D400E90
- 0D400E90 seeprom1
- 0D400E90 seeprom4+18p ...
- 0D400E90 PUSH {R4-R7,LR}
- 0D400E92 MOV R7, R8
- 0D400E94 PUSH {R7}
- 0D400E96 MOVS R3, #0
- 0D400E98 SUBS R0, #1
- 0D400E9A MOVS R6, R1
- 0D400E9C MOV R8, R3
- 0D400E9E CMP R0, #0x1F
- 0D400EA0 BHI loc_D400EDE
- 0D400EA0
- 0D400EA2 MOVS R5, R0
- 0D400EA4 ADDS R3, R0, #1
- 0D400EA6 BEQ loc_D400ED2
- 0D400EA6
- 0D400EA8 MOVS R7, #1
- 0D400EA8
- 0D400EAA
- 0D400EAA loc_D400EAA
- 0D400EAA MOVS R4, R6
- 0D400EAC LSRS R4, R5
- 0D400EAE ANDS R4, R7
- 0D400EB0 BL clear_C
- 0D400EB0
- 0D400EB4 BL set_S
- 0D400EB4
- 0D400EB8 MOVS R0, R4
- 0D400EBA BL clear_D
- 0D400EBA
- 0D400EBE MOVS R0, #0x7D
- 0D400EC0 BL delay_1
- 0D400EC0
- 0D400EC4 BL set_C
- 0D400EC4
- 0D400EC8 MOVS R0, #0x7D
- 0D400ECA BL delay_1
- 0D400ECA
- 0D400ECE SUBS R5, #1
- 0D400ED0 BCS loc_D400EAA
- 0D400ED0
- 0D400ED2
- 0D400ED2 loc_D400ED2
- 0D400ED2 seeprom1+54j
- 0D400ED2 MOV R0, R8
- 0D400ED4 POP {R3}
- 0D400ED6 MOV R8, R3
- 0D400ED8 POP {R4-R7}
- 0D400EDA POP {R1}
- 0D400EDC BX R1
- 0D400EDC
- 0D400EDE
- 0D400EDE loc_D400EDE
- 0D400EDE MOVS R3, #4
- 0D400EE0 NEGS R3, R3
- 0D400EE2 MOV R8, R3
- 0D400EE4 B loc_D400ED2
- 0D400EE4
- 0D400EE4
- 0D400EE4
- 0D400EE6 ALIGN 4
- 0D400EE8
- 0D400EE8
- 0D400EE8
- 0D400EE8
- 0D400EE8 read_SEEPROM
- 0D400EE8 seeprom_read+1Cp
- 0D400EE8 PUSH {R4-R7,LR}
- 0D400EEA SUBS R0, #1
- 0D400EEC MOVS R7, R1
- 0D400EEE MOVS R6, #0
- 0D400EF0 CMP R0, #0x1F
- 0D400EF2 BHI loc_D400F2E
- 0D400EF2
- 0D400EF4 MOVS R5, #0
- 0D400EF6 MOVS R4, R0
- 0D400EF8 ADDS R3, R0, #1
- 0D400EFA BEQ loc_D400F24
- 0D400EFA
- 0D400EFC
- 0D400EFC loc_D400EFC
- 0D400EFC BL clear_C
- 0D400EFC
- 0D400F00 BL set_S
- 0D400F00
- 0D400F04 MOVS R0, #0x7D
- 0D400F06 BL delay_1
- 0D400F06
- 0D400F0A BL set_C
- 0D400F0A
- 0D400F0E MOVS R0, #0x7D
- 0D400F10 BL delay_1
- 0D400F10
- 0D400F14 LDR R3, =LT_GPIO_IN
- 0D400F16 LDR R3, [R3]
- 0D400F18 LSLS R3, R3, #0x12
- 0D400F1A LSRS R3, R3, #0x1F
- 0D400F1C LSLS R3, R4
- 0D400F1E ORRS R5, R3
- 0D400F20 SUBS R4, #1
- 0D400F22 BCS loc_D400EFC
- 0D400F22
- 0D400F24
- 0D400F24 loc_D400F24
- 0D400F24 STR R5, [R7]
- 0D400F24
- 0D400F26
- 0D400F26 loc_D400F26
- 0D400F26 MOVS R0, R6
- 0D400F28 POP {R4-R7}
- 0D400F2A POP {R1}
- 0D400F2C BX R1
- 0D400F2C
- 0D400F2E
- 0D400F2E loc_D400F2E
- 0D400F2E MOVS R6, #4
- 0D400F30 NEGS R6, R6
- 0D400F32 B loc_D400F26
- 0D400F32
- 0D400F32
- 0D400F32
- 0D400F34 off_D400F34 DCD LT_GPIO_IN
- 0D400F38
- 0D400F38
- 0D400F38
- 0D400F38
- 0D400F38 seeprom2
- 0D400F38 seeprom5+1Cp ...
- 0D400F38
- 0D400F38 var_18 = -0x18
- 0D400F38
- 0D400F38 PUSH {R4-R7,LR}
- 0D400F3A SUB SP, SP, #4
- 0D400F3C MOVS R5, #0
- 0D400F3E MOVS R4, #0
- 0D400F40 MOV R7, SP
- 0D400F42 MOVS R6, #1
- 0D400F44 STR R5, [SP,#0x18+var_18]
- 0D400F46 B loc_D400F4C
- 0D400F46
- 0D400F48
- 0D400F48 loc_D400F48
- 0D400F48 CMP R4, #0x63
- 0D400F4A BHI loc_D400F60
- 0D400F4A
- 0D400F4C
- 0D400F4C loc_D400F4C
- 0D400F4C MOVS R0, #0xA
- 0D400F4E MOVS R1, R7
- 0D400F50 BL read_SEEPROM
- 0D400F50
- 0D400F54 LDR R3, [SP,#0x18+var_18]
- 0D400F56 MOVS R2, R6
- 0D400F58 MOVS R5, R0
- 0D400F5A ADDS R4, #1
- 0D400F5C BICS R2, R3
- 0D400F5E BNE loc_D400F48
- 0D400F5E
- 0D400F60
- 0D400F60 loc_D400F60
- 0D400F60 MOVS R0, #2
- 0D400F62 BL clear_S
- 0D400F62
- 0D400F66 CMP R4, #0x63
- 0D400F68 BLS loc_D400F6E
- 0D400F68
- 0D400F6A MOVS R5, #9
- 0D400F6C NEGS R5, R5
- 0D400F6C
- 0D400F6E
- 0D400F6E loc_D400F6E
- 0D400F6E MOVS R0, R5
- 0D400F70 ADD SP, SP, #4
- 0D400F72 POP {R4-R7}
- 0D400F74 POP {R1}
- 0D400F76 BX R1
- 0D400F76
- 0D400F76
- 0D400F76
- 0D400F78
- 0D400F78
- 0D400F78
- 0D400F78
- 0D400F78 seeprom_read
- 0D400F78 sub_D40120C+40p
- 0D400F78 PUSH {R4,R5,LR}
- 0D400F7A MOVS R5, R1
- 0D400F7C MOVS R3, #0xC0
- 0D400F7E MOVS R1, #0xFF
- 0D400F80 ANDS R1, R0
- 0D400F82 LSLS R3, R3, #3
- 0D400F84 MOVS R0, #0xB
- 0D400F86 ORRS R1, R3
- 0D400F88 BL seeprom1
- 0D400F88
- 0D400F8C SUBS R4, R0, #0
- 0D400F8E BNE loc_D400FA2
- 0D400F8E
- 0D400F90 MOVS R0, #0x10
- 0D400F92 MOVS R1, R5
- 0D400F94 BL read_SEEPROM
- 0D400F94
- 0D400F98 SUBS R4, R0, #0
- 0D400F9A BNE loc_D400FA2
- 0D400F9A
- 0D400F9C MOVS R0, #2
- 0D400F9E BL clear_S
- 0D400F9E
- 0D400FA2
- 0D400FA2 loc_D400FA2
- 0D400FA2 seeprom_read+22j
- 0D400FA2 MOVS R0, R4
- 0D400FA4 POP {R4,R5}
- 0D400FA6 POP {R1}
- 0D400FA8 BX R1
- 0D400FA8
- 0D400FA8
- 0D400FA8
- 0D400FAA ALIGN 4
- 0D400FAC
- 0D400FAC
- 0D400FAC
- 0D400FAC
- 0D400FAC seeprom4
- 0D400FAC sub_D401420+52p
- 0D400FAC PUSH {LR}
- 0D400FAE MOVS R3, #0xFF
- 0D400FB0 MOVS R2, #0xA0
- 0D400FB2 ANDS R3, R0
- 0D400FB4 LSLS R2, R2, #3
- 0D400FB6 ORRS R3, R2
- 0D400FB8 LDR R2, =0xFFFF
- 0D400FBA LSLS R3, R3, #0x10
- 0D400FBC ANDS R2, R1
- 0D400FBE MOVS R1, R3
- 0D400FC0 MOVS R0, #0x1B
- 0D400FC2 ORRS R1, R2
- 0D400FC4 BL seeprom1
- 0D400FC4
- 0D400FC8 CMP R0, #0
- 0D400FCA BNE loc_D400FD6
- 0D400FCA
- 0D400FCC MOVS R0, #2
- 0D400FCE BL clear_S
- 0D400FCE
- 0D400FD2 BL seeprom2
- 0D400FD2
- 0D400FD6
- 0D400FD6 loc_D400FD6
- 0D400FD6 POP {R1}
- 0D400FD8 BX R1
- 0D400FD8
- 0D400FD8
- 0D400FD8
- 0D400FDA ALIGN 4
- 0D400FDC dword_D400FDC DCD 0xFFFF
- 0D400FE0
- 0D400FE0
- 0D400FE0
- 0D400FE0
- 0D400FE0 seeprom5
- 0D400FE0 PUSH {LR}
- 0D400FE2 MOVS R1, #0xFF
- 0D400FE4 MOVS R3, #0xE0
- 0D400FE6 ANDS R1, R0
- 0D400FE8 LSLS R3, R3, #3
- 0D400FEA MOVS R0, #0xB
- 0D400FEC ORRS R1, R3
- 0D400FEE BL seeprom1
- 0D400FEE
- 0D400FF2 CMP R0, #0
- 0D400FF4 BNE loc_D401000
- 0D400FF4
- 0D400FF6 MOVS R0, #2
- 0D400FF8 BL clear_S
- 0D400FF8
- 0D400FFC BL seeprom2
- 0D400FFC
- 0D401000
- 0D401000 loc_D401000
- 0D401000 POP {R1}
- 0D401002 BX R1
- 0D401002
- 0D401002
- 0D401002
- 0D401004
- 0D401004
- 0D401004
- 0D401004
- 0D401004 seeprom6
- 0D401004 PUSH {LR}
- 0D401006 LDR R1, =0xFFFF
- 0D401008 MOVS R3, #0x88
- 0D40100A ANDS R1, R0
- 0D40100C LSLS R3, R3, #0x13
- 0D40100E MOVS R0, #0x1B
- 0D401010 ORRS R1, R3
- 0D401012 BL seeprom1
- 0D401012
- 0D401016 CMP R0, #0
- 0D401018 BNE loc_D401024
- 0D401018
- 0D40101A MOVS R0, #2
- 0D40101C BL clear_S
- 0D40101C
- 0D401020 BL seeprom2
- 0D401020
- 0D401024
- 0D401024 loc_D401024
- 0D401024 POP {R1}
- 0D401026 BX R1
- 0D401026
- 0D401026
- 0D401026
- 0D401028 dword_D401028 DCD 0xFFFF
- 0D40102C
- 0D40102C
- 0D40102C
- 0D40102C
- 0D40102C seeprom7
- 0D40102C PUSH {LR}
- 0D40102E MOVS R1, #0x90
- 0D401030 MOVS R0, #0xB
- 0D401032 LSLS R1, R1, #3
- 0D401034 BL seeprom1
- 0D401034
- 0D401038 CMP R0, #0
- 0D40103A BNE loc_D401046
- 0D40103A
- 0D40103C MOVS R0, #2
- 0D40103E BL clear_S
- 0D40103E
- 0D401042 BL seeprom2
- 0D401042
- 0D401046
- 0D401046 loc_D401046
- 0D401046 POP {R1}
- 0D401048 BX R1
- 0D401048
- 0D401048
- 0D401048
- 0D40104A ALIGN 4
- 0D40104C
- 0D40104C
- 0D40104C
- 0D40104C
- 0D40104C seeprom8
- 0D40104C sub_D401420+3Ep
- 0D40104C PUSH {R4,LR}
- 0D40104E MOVS R1, #0x98
- 0D401050 MOVS R0, #0xB
- 0D401052 LSLS R1, R1, #3
- 0D401054 BL seeprom1
- 0D401054
- 0D401058 SUBS R4, R0, #0
- 0D40105A BNE loc_D401062
- 0D40105A
- 0D40105C MOVS R0, #2
- 0D40105E BL clear_S
- 0D40105E
- 0D401062
- 0D401062 loc_D401062
- 0D401062 MOVS R0, R4
- 0D401064 POP {R4}
- 0D401066 POP {R1}
- 0D401068 BX R1
- 0D401068
- 0D401068
- 0D401068
- 0D40106A ALIGN 4
- 0D40106C
- 0D40106C
- 0D40106C
- 0D40106C
- 0D40106C seeprom9
- 0D40106C sub_D401420:loc_D401480p
- 0D40106C PUSH {R4,LR}
- 0D40106E MOVS R1, #0x80
- 0D401070 MOVS R0, #0xB
- 0D401072 LSLS R1, R1, #3
- 0D401074 BL seeprom1
- 0D401074
- 0D401078 SUBS R4, R0, #0
- 0D40107A BNE loc_D401082
- 0D40107A
- 0D40107C MOVS R0, #2
- 0D40107E BL clear_S
- 0D40107E
- 0D401082
- 0D401082 loc_D401082
- 0D401082 MOVS R0, R4
- 0D401084 POP {R4}
- 0D401086 POP {R1}
- 0D401088 BX R1
- 0D401088
- 0D401088
- 0D401088
- 0D40108A ALIGN 4
- 0D40108C
- 0D40108C
- 0D40108C
- 0D40108C
- 0D40108C seeprom10
- 0D40108C sub_D4013B0+2Ap ...
- 0D40108C PUSH {R4-R7,LR}
- 0D40108E MOVS R4, R0
- 0D401090 CMP R1, #1
- 0D401092 BLS loc_D4010A0
- 0D401092
- 0D401094 MOVS R6, #4
- 0D401096 NEGS R6, R6
- 0D401096
- 0D401098
- 0D401098 loc_D401098
- 0D401098 seeprom10+44j
- 0D401098 MOVS R0, R6
- 0D40109A POP {R4-R7}
- 0D40109C POP {R1}
- 0D40109E BX R1
- 0D40109E
- 0D4010A0
- 0D4010A0 loc_D4010A0
- 0D4010A0 MOVS R3, #0xA
- 0D4010A2 MULS R3, R1
- 0D4010A4 MOVS R7, R3
- 0D4010A6 ADDS R7, #0x48
- 0D4010A8 LSRS R7, R7, #1
- 0D4010AA BL seeprom8
- 0D4010AA
- 0D4010AE SUBS R6, R0, #0
- 0D4010B0 BNE loc_D401098
- 0D4010B0
- 0D4010B2 MOVS R5, #0
- 0D4010B2
- 0D4010B4
- 0D4010B4 loc_D4010B4
- 0D4010B4 LDRH R1, [R4]
- 0D4010B6 LSLS R1, R1, #0x10
- 0D4010B8 ADDS R0, R7, R5
- 0D4010BA LSRS R1, R1, #0x10
- 0D4010BC ADDS R4, #2
- 0D4010BE BL seeprom4
- 0D4010BE
- 0D4010C2 SUBS R6, R0, #0
- 0D4010C4 BNE loc_D4010CC
- 0D4010C4
- 0D4010C6 ADDS R5, #1
- 0D4010C8 CMP R5, #4
- 0D4010CA BLS loc_D4010B4
- 0D4010CA
- 0D4010CC
- 0D4010CC loc_D4010CC
- 0D4010CC BL seeprom9
- 0D4010CC
- 0D4010D0 B loc_D401098
- 0D4010D0
- 0D4010D0
- 0D4010D0
- 0D4010D2 ALIGN 4
- 0D4010D4
- 0D4010D4
- 0D4010D4
- 0D4010D4
- 0D4010D4 sub_D4010D4
- 0D4010D4 sub_D401378+20p ...
- 0D4010D4 PUSH {LR}
- 0D4010D6 MOVS R1, #0
- 0D4010D8 MOVS R2, #3
- 0D4010D8
- 0D4010DA
- 0D4010DA loc_D4010DA
- 0D4010DA LDRH R3, [R0]
- 0D4010DC ADDS R3, R1, R3
- 0D4010DE LSLS R3, R3, #0x10
- 0D4010E0 ADDS R0, #2
- 0D4010E2 LSRS R1, R3, #0x10
- 0D4010E4 SUBS R2, #1
- 0D4010E6 BPL loc_D4010DA
- 0D4010E6
- 0D4010E8 MOVS R0, R1
- 0D4010EA POP {R1}
- 0D4010EC BX R1
- 0D4010EC
- 0D4010EC
- 0D4010EC
- 0D4010EE ALIGN 0x10
- 0D4010F0
- 0D4010F0
- 0D4010F0
- 0D4010F0
- 0D4010F0 sub_D4010F0
- 0D4010F0 sub_D401420+1Ap
- 0D4010F0 PUSH {LR}
- 0D4010F2 MOVS R1, #0
- 0D4010F4 MOVS R2, #1
- 0D4010F4
- 0D4010F6
- 0D4010F6 loc_D4010F6
- 0D4010F6 LDRH R3, [R0]
- 0D4010F8 ADDS R3, R1, R3
- 0D4010FA LSLS R3, R3, #0x10
- 0D4010FC ADDS R0, #2
- 0D4010FE LSRS R1, R3, #0x10
- 0D401100 SUBS R2, #1
- 0D401102 BPL loc_D4010F6
- 0D401102
- 0D401104 MOVS R0, R1
- 0D401106 POP {R1}
- 0D401108 BX R1
- 0D401108
- 0D401108
- 0D401108
- 0D40110A ALIGN 4
- 0D40110C
- 0D40110C
- 0D40110C
- 0D40110C
- 0D40110C sub_D40110C
- 0D40110C sub_D401328+Ap ...
- 0D40110C
- 0D40110C var_50 = -0x50
- 0D40110C var_4C = -0x4C
- 0D40110C var_48 = -0x48
- 0D40110C var_44 = -0x44
- 0D40110C var_40 = -0x40
- 0D40110C var_3C = -0x3C
- 0D40110C var_38 = -0x38
- 0D40110C
- 0D40110C PUSH {R4-R7,LR}
- 0D40110E MOV R7, R11
- 0D401110 MOV R6, R10
- 0D401112 MOV R5, R9
- 0D401114 MOV R4, R8
- 0D401116 PUSH {R4-R7}
- 0D401118 SUB SP, SP, #0x2C
- 0D40111A MOVS R2, #1
- 0D40111C STR R1, [SP,#0x50+var_44]
- 0D40111E MOVS R1, #0
- 0D401120 NEGS R3, R2
- 0D401122 STR R1, [SP,#0x50+var_48]
- 0D401124 STR R1, [SP,#0x50+var_4C]
- 0D401126 STR R0, [SP,#0x50+var_40]
- 0D401128 ADD R1, SP, #0x50+var_3C
- 0D40112A MOV R10, R3
- 0D40112C MOV R11, R3
- 0D40112E MOVS R7, #0
- 0D401130 MOV R8, R1
- 0D401132 MOVS R2, #0
- 0D401132
- 0D401134
- 0D401134 loc_D401134
- 0D401134 ADD R1, SP, #0x50+var_38
- 0D401136 ADDS R3, R1, R2
- 0D401138 CMP R7, #1
- 0D40113A BHI loc_D401202
- 0D40113A
- 0D40113C MOVS R6, R2
- 0D40113E ADDS R6, #0x48
- 0D401140 LSRS R6, R6, #1
- 0D401142 MOVS R5, #0
- 0D401144 ADDS R4, R3, #0
- 0D401144
- 0D401146
- 0D401146 loc_D401146
- 0D401146 ADDS R0, R6, R5
- 0D401148 MOV R1, R8
- 0D40114A STR R2, [SP,#0x50+var_50]
- 0D40114C BL seeprom_read
- 0D40114C
- 0D401150 LDR R3, [SP,#0x50+var_3C]
- 0D401152 LDR R2, [SP,#0x50+var_50]
- 0D401154 STRH R3, [R4]
- 0D401156 ADDS R4, #2
- 0D401158 CMP R0, #0
- 0D40115A BNE loc_D4011F2
- 0D40115A
- 0D40115C ADDS R5, #1
- 0D40115E CMP R5, #4
- 0D401160 BLS loc_D401146
- 0D401160
- 0D401162 MOVS R1, #0
- 0D401164 MOV R9, R1
- 0D401164
- 0D401166
- 0D401166 loc_D401166
- 0D401166 ADDS R7, #1
- 0D401168 ADDS R2, #0xA
- 0D40116A CMP R7, #1
- 0D40116C BLS loc_D401134
- 0D40116C
- 0D40116E MOVS R7, #0
- 0D401170 ADD R4, SP, #0x50+var_38
- 0D401172 MOVS R6, #0
- 0D401172
- 0D401174
- 0D401174 loc_D401174
- 0D401174 ADD R2, SP, #0x50+var_38
- 0D401176 ADDS R5, R2, R6
- 0D401178 MOVS R0, R5
- 0D40117A BL sub_D4010D4
- 0D40117A
- 0D40117E LDRB R2, [R4,#8]
- 0D401180 LDRB R3, [R4,#9]
- 0D401182 LSLS R2, R2, #8
- 0D401184 ORRS R3, R2
- 0D401186 CMP R3, R0
- 0D401188 BEQ loc_D4011CA
- 0D401188
- 0D40118A MOVS R3, #0
- 0D40118C MOV R11, R3
- 0D40118E MOV R10, R7
- 0D40118E
- 0D401190
- 0D401190 loc_D401190
- 0D401190 sub_D40110C+E4j
- 0D401190 ADDS R7, #1
- 0D401192 ADDS R6, #0xA
- 0D401194 ADDS R4, #0xA
- 0D401196 CMP R7, #1
- 0D401198 BLS loc_D401174
- 0D401198
- 0D40119A LDR R2, [SP,#0x50+var_4C]
- 0D40119C CMP R2, #0
- 0D40119E BEQ loc_D4011FA
- 0D40119E
- 0D4011A0 MOV R3, R10
- 0D4011A2 CMP R3, #0
- 0D4011A4 BLT loc_D4011FA
- 0D4011A4
- 0D4011A6 LDR R1, [SP,#0x50+var_4C]
- 0D4011A8 LDR R0, [SP,#0x50+var_40]
- 0D4011AA MOVS R2, #0xA
- 0D4011AC BL memcpy
- 0D4011AC
- 0D4011B0 LDR R1, [SP,#0x50+var_44]
- 0D4011B2 MOV R3, R10
- 0D4011B4 STR R3, [R1]
- 0D4011B4
- 0D4011B6
- 0D4011B6 loc_D4011B6
- 0D4011B6 sub_D40110C+F4j ...
- 0D4011B6 MOV R0, R9
- 0D4011B8 ADD SP, SP, #0x2C
- 0D4011BA POP {R3-R6}
- 0D4011BC MOV R8, R3
- 0D4011BE MOV R9, R4
- 0D4011C0 MOV R10, R5
- 0D4011C2 MOV R11, R6
- 0D4011C4 POP {R4-R7}
- 0D4011C6 POP {R1}
- 0D4011C8 BX R1
- 0D4011C8
- 0D4011CA
- 0D4011CA loc_D4011CA
- 0D4011CA LDRB R3, [R4,#4]
- 0D4011CC LDRB R2, [R4,#5]
- 0D4011CE LSLS R3, R3, #0x18
- 0D4011D0 LSLS R2, R2, #0x10
- 0D4011D2 ORRS R2, R3
- 0D4011D4 LDRB R3, [R4,#6]
- 0D4011D6 LSLS R3, R3, #8
- 0D4011D8 ORRS R3, R2
- 0D4011DA LDRB R2, [R4,#7]
- 0D4011DC LDR R1, [SP,#0x50+var_48]
- 0D4011DE ORRS R2, R3
- 0D4011E0 CMP R2, R1
- 0D4011E2 BCC loc_D4011E8
- 0D4011E2
- 0D4011E4 STR R5, [SP,#0x50+var_4C]
- 0D4011E6 STR R2, [SP,#0x50+var_48]
- 0D4011E6
- 0D4011E8
- 0D4011E8 loc_D4011E8
- 0D4011E8 CMP R2, R11
- 0D4011EA BCS loc_D401190
- 0D4011EA
- 0D4011EC MOV R10, R7
- 0D4011EE MOV R11, R2
- 0D4011F0 B loc_D401190
- 0D4011F0
- 0D4011F2
- 0D4011F2 loc_D4011F2
- 0D4011F2 CMP R0, #0
- 0D4011F4 MOV R9, R0
- 0D4011F6 BEQ loc_D401166
- 0D4011F6
- 0D4011F8 B loc_D4011B6
- 0D4011F8
- 0D4011FA
- 0D4011FA loc_D4011FA
- 0D4011FA sub_D40110C+98j
- 0D4011FA MOVS R1, #5
- 0D4011FC NEGS R2, R1
- 0D4011FE MOV R9, R2
- 0D401200 B loc_D4011B6
- 0D401200
- 0D401202
- 0D401202 loc_D401202
- 0D401202 MOVS R2, #4
- 0D401204 NEGS R3, R2
- 0D401206 MOV R9, R3
- 0D401208 B loc_D4011B6
- 0D401208
- 0D401208
- 0D401208
- 0D40120A ALIGN 4
- 0D40120C
- 0D40120C
- 0D40120C
- 0D40120C
- 0D40120C sub_D40120C
- 0D40120C sub_D401420+Ap
- 0D40120C
- 0D40120C var_50 = -0x50
- 0D40120C var_4C = -0x4C
- 0D40120C var_48 = -0x48
- 0D40120C var_44 = -0x44
- 0D40120C var_40 = -0x40
- 0D40120C var_3C = -0x3C
- 0D40120C var_38 = -0x38
- 0D40120C
- 0D40120C PUSH {R4-R7,LR}
- 0D40120E MOV R7, R11
- 0D401210 MOV R6, R10
- 0D401212 MOV R5, R9
- 0D401214 MOV R4, R8
- 0D401216 PUSH {R4-R7}
- 0D401218 SUB SP, SP, #0x2C
- 0D40121A MOVS R2, #1
- 0D40121C STR R1, [SP,#0x50+var_44]
- 0D40121E MOVS R1, #0
- 0D401220 NEGS R3, R2
- 0D401222 STR R1, [SP,#0x50+var_48]
- 0D401224 STR R1, [SP,#0x50+var_4C]
- 0D401226 STR R0, [SP,#0x50+var_40]
- 0D401228 ADD R1, SP, #0x50+var_3C
- 0D40122A MOV R10, R3
- 0D40122C MOV R11, R3
- 0D40122E MOVS R7, #0
- 0D401230 MOV R8, R1
- 0D401232 MOVS R2, #0
- 0D401232
- 0D401234
- 0D401234 loc_D401234
- 0D401234 ADD R1, SP, #0x50+var_38
- 0D401236 ADDS R3, R1, R2
- 0D401238 CMP R7, #2
- 0D40123A BHI loc_D401302
- 0D40123A
- 0D40123C MOVS R6, R2
- 0D40123E ADDS R6, #0x5C
- 0D401240 LSRS R6, R6, #1
- 0D401242 MOVS R5, #0
- 0D401244 ADDS R4, R3, #0
- 0D401244
- 0D401246
- 0D401246 loc_D401246
- 0D401246 ADDS R0, R6, R5
- 0D401248 MOV R1, R8
- 0D40124A STR R2, [SP,#0x50+var_50]
- 0D40124C BL seeprom_read
- 0D40124C
- 0D401250 LDR R3, [SP,#0x50+var_3C]
- 0D401252 LDR R2, [SP,#0x50+var_50]
- 0D401254 STRH R3, [R4]
- 0D401256 ADDS R4, #2
- 0D401258 CMP R0, #0
- 0D40125A BNE loc_D4012F2
- 0D40125A
- 0D40125C ADDS R5, #1
- 0D40125E CMP R5, #2
- 0D401260 BLS loc_D401246
- 0D401260
- 0D401262 MOVS R1, #0
- 0D401264 MOV R9, R1
- 0D401264
- 0D401266
- 0D401266 loc_D401266
- 0D401266 ADDS R7, #1
- 0D401268 ADDS R2, #6
- 0D40126A CMP R7, #2
- 0D40126C BLS loc_D401234
- 0D40126C
- 0D40126E MOVS R7, #0
- 0D401270 ADD R4, SP, #0x50+var_38
- 0D401272 MOVS R6, #0
- 0D401272
- 0D401274
- 0D401274 loc_D401274
- 0D401274 ADD R2, SP, #0x50+var_38
- 0D401276 ADDS R5, R2, R6
- 0D401278 MOVS R0, R5
- 0D40127A BL sub_D4010F0
- 0D40127A
- 0D40127E LDRB R2, [R4,#4]
- 0D401280 LDRB R3, [R4,#5]
- 0D401282 LSLS R2, R2, #8
- 0D401284 ORRS R3, R2
- 0D401286 CMP R3, R0
- 0D401288 BEQ loc_D4012CA
- 0D401288
- 0D40128A MOVS R3, #0
- 0D40128C MOV R11, R3
- 0D40128E MOV R10, R7
- 0D40128E
- 0D401290
- 0D401290 loc_D401290
- 0D401290 sub_D40120C+E4j
- 0D401290 ADDS R7, #1
- 0D401292 ADDS R6, #6
- 0D401294 ADDS R4, #6
- 0D401296 CMP R7, #2
- 0D401298 BLS loc_D401274
- 0D401298
- 0D40129A LDR R2, [SP,#0x50+var_4C]
- 0D40129C CMP R2, #0
- 0D40129E BEQ loc_D4012FA
- 0D40129E
- 0D4012A0 MOV R3, R10
- 0D4012A2 CMP R3, #0
- 0D4012A4 BLT loc_D4012FA
- 0D4012A4
- 0D4012A6 LDR R1, [SP,#0x50+var_4C]
- 0D4012A8 LDR R0, [SP,#0x50+var_40]
- 0D4012AA MOVS R2, #6
- 0D4012AC BL memcpy
- 0D4012AC
- 0D4012B0 LDR R1, [SP,#0x50+var_44]
- 0D4012B2 MOV R3, R10
- 0D4012B4 STR R3, [R1]
- 0D4012B4
- 0D4012B6
- 0D4012B6 loc_D4012B6
- 0D4012B6 sub_D40120C+F4j ...
- 0D4012B6 MOV R0, R9
- 0D4012B8 ADD SP, SP, #0x2C
- 0D4012BA POP {R3-R6}
- 0D4012BC MOV R8, R3
- 0D4012BE MOV R9, R4
- 0D4012C0 MOV R10, R5
- 0D4012C2 MOV R11, R6
- 0D4012C4 POP {R4-R7}
- 0D4012C6 POP {R1}
- 0D4012C8 BX R1
- 0D4012C8
- 0D4012CA
- 0D4012CA loc_D4012CA
- 0D4012CA LDRB R3, [R4]
- 0D4012CC LDRB R2, [R4,#1]
- 0D4012CE LSLS R3, R3, #0x18
- 0D4012D0 LSLS R2, R2, #0x10
- 0D4012D2 ORRS R2, R3
- 0D4012D4 LDRB R3, [R4,#2]
- 0D4012D6 LSLS R3, R3, #8
- 0D4012D8 ORRS R3, R2
- 0D4012DA LDRB R2, [R4,#3]
- 0D4012DC LDR R1, [SP,#0x50+var_48]
- 0D4012DE ORRS R2, R3
- 0D4012E0 CMP R2, R1
- 0D4012E2 BCC loc_D4012E8
- 0D4012E2
- 0D4012E4 STR R5, [SP,#0x50+var_4C]
- 0D4012E6 STR R2, [SP,#0x50+var_48]
- 0D4012E6
- 0D4012E8
- 0D4012E8 loc_D4012E8
- 0D4012E8 CMP R2, R11
- 0D4012EA BCS loc_D401290
- 0D4012EA
- 0D4012EC MOV R10, R7
- 0D4012EE MOV R11, R2
- 0D4012F0 B loc_D401290
- 0D4012F0
- 0D4012F2
- 0D4012F2 loc_D4012F2
- 0D4012F2 CMP R0, #0
- 0D4012F4 MOV R9, R0
- 0D4012F6 BEQ loc_D401266
- 0D4012F6
- 0D4012F8 B loc_D4012B6
- 0D4012F8
- 0D4012FA
- 0D4012FA loc_D4012FA
- 0D4012FA sub_D40120C+98j
- 0D4012FA MOVS R1, #5
- 0D4012FC NEGS R2, R1
- 0D4012FE MOV R9, R2
- 0D401300 B loc_D4012B6
- 0D401300
- 0D401302
- 0D401302 loc_D401302
- 0D401302 MOVS R2, #4
- 0D401304 NEGS R3, R2
- 0D401306 MOV R9, R3
- 0D401308 B loc_D4012B6
- 0D401308
- 0D401308
- 0D401308
- 0D40130A ALIGN 4
- 0D40130C
- 0D40130C
- 0D40130C
- 0D40130C
- 0D40130C sub_D40130C
- 0D40130C
- 0D40130C var_14 = -0x14
- 0D40130C
- 0D40130C PUSH {R4,LR}
- 0D40130E SUB SP, SP, #0x10
- 0D401310 ADD R4, SP, #0x18+var_14
- 0D401312 MOVS R0, R4
- 0D401314 MOV R1, SP
- 0D401316 BL sub_D40110C
- 0D401316
- 0D40131A CMP R0, #0
- 0D40131C BNE loc_D401320
- 0D40131C
- 0D40131E LDRB R0, [R4]
- 0D40131E
- 0D401320
- 0D401320 loc_D401320
- 0D401320 ADD SP, SP, #0x10
- 0D401322 POP {R4}
- 0D401324 POP {R1}
- 0D401326 BX R1
- 0D401326
- 0D401326
- 0D401326
- 0D401328
- 0D401328
- 0D401328
- 0D401328
- 0D401328 sub_D401328
- 0D401328
- 0D401328 var_14 = -0x14
- 0D401328
- 0D401328 PUSH {R4,LR}
- 0D40132A SUB SP, SP, #0x10
- 0D40132C ADD R4, SP, #0x18+var_14
- 0D40132E MOVS R0, R4
- 0D401330 MOV R1, SP
- 0D401332 BL sub_D40110C
- 0D401332
- 0D401336 CMP R0, #0
- 0D401338 BNE loc_D40133C
- 0D401338
- 0D40133A LDRB R0, [R4,#1]
- 0D40133A
- 0D40133C
- 0D40133C loc_D40133C
- 0D40133C ADD SP, SP, #0x10
- 0D40133E POP {R4}
- 0D401340 POP {R1}
- 0D401342 BX R1
- 0D401342
- 0D401342
- 0D401342
- 0D401344
- 0D401344
- 0D401344
- 0D401344
- 0D401344 sub_D401344
- 0D401344
- 0D401344 var_14 = -0x14
- 0D401344
- 0D401344 PUSH {R4,LR}
- 0D401346 SUB SP, SP, #0x10
- 0D401348 ADD R4, SP, #0x18+var_14
- 0D40134A MOVS R0, R4
- 0D40134C MOV R1, SP
- 0D40134E BL sub_D40110C
- 0D40134E
- 0D401352 CMP R0, #0
- 0D401354 BNE loc_D401358
- 0D401354
- 0D401356 LDRB R0, [R4,#2]
- 0D401356
- 0D401358
- 0D401358 loc_D401358
- 0D401358 ADD SP, SP, #0x10
- 0D40135A POP {R4}
- 0D40135C POP {R1}
- 0D40135E BX R1
- 0D40135E
- 0D40135E
- 0D40135E
- 0D401360
- 0D401360
- 0D401360
- 0D401360
- 0D401360 sub_D401360
- 0D401360
- 0D401360 var_C = -0xC
- 0D401360
- 0D401360 PUSH {LR}
- 0D401362 SUB SP, SP, #0xC
- 0D401364 ADD R0, SP, #0x10+var_C
- 0D401366 MOV R1, SP
- 0D401368 BL sub_D40120C
- 0D401368
- 0D40136C CMP R0, #0
- 0D40136E BNE loc_D401372
- 0D40136E
- 0D401370 LDR R0, [SP,#0x10+var_C]
- 0D401370
- 0D401372
- 0D401372 loc_D401372
- 0D401372 ADD SP, SP, #0xC
- 0D401374 POP {R1}
- 0D401376 BX R1
- 0D401376
- 0D401376
- 0D401376
- 0D401378
- 0D401378
- 0D401378
- 0D401378
- 0D401378 sub_D401378
- 0D401378
- 0D401378 var_18 = -0x18
- 0D401378 var_14 = -0x14
- 0D401378 var_10 = -0x10
- 0D401378
- 0D401378 PUSH {R4,LR}
- 0D40137A SUB SP, SP, #0x10
- 0D40137C ADD R4, SP, #0x18+var_14
- 0D40137E MOVS R0, R4
- 0D401380 MOV R1, SP
- 0D401382 BL sub_D40110C
- 0D401382
- 0D401386 CMP R0, #0
- 0D401388 BNE loc_D4013A6
- 0D401388
- 0D40138A LDRB R3, [R4]
- 0D40138C ADDS R3, #1
- 0D40138E STRB R3, [R4]
- 0D401390 LDR R3, [SP,#0x18+var_10]
- 0D401392 MOVS R0, R4
- 0D401394 ADDS R3, #1
- 0D401396 STR R3, [SP,#0x18+var_10]
- 0D401398 BL sub_D4010D4
- 0D401398
- 0D40139C LDR R1, [SP,#0x18+var_18]
- 0D40139E STRH R0, [R4,#8]
- 0D4013A0 MOVS R0, R4
- 0D4013A2 BL seeprom10
- 0D4013A2
- 0D4013A6
- 0D4013A6 loc_D4013A6
- 0D4013A6 ADD SP, SP, #0x10
- 0D4013A8 POP {R4}
- 0D4013AA POP {R1}
- 0D4013AC BX R1
- 0D4013AC
- 0D4013AC
- 0D4013AC
- 0D4013AE ALIGN 0x10
- 0D4013B0
- 0D4013B0
- 0D4013B0
- 0D4013B0
- 0D4013B0 sub_D4013B0
- 0D4013B0
- 0D4013B0 var_18 = -0x18
- 0D4013B0 var_14 = -0x14
- 0D4013B0 var_10 = -0x10
- 0D4013B0
- 0D4013B0 PUSH {R4,LR}
- 0D4013B2 SUB SP, SP, #0x10
- 0D4013B4 ADD R4, SP, #0x18+var_14
- 0D4013B6 MOVS R0, R4
- 0D4013B8 MOV R1, SP
- 0D4013BA BL sub_D40110C
- 0D4013BA
- 0D4013BE CMP R0, #0
- 0D4013C0 BNE loc_D4013DE
- 0D4013C0
- 0D4013C2 LDRB R3, [R4,#1]
- 0D4013C4 ADDS R3, #1
- 0D4013C6 STRB R3, [R4,#1]
- 0D4013C8 LDR R3, [SP,#0x18+var_10]
- 0D4013CA MOVS R0, R4
- 0D4013CC ADDS R3, #1
- 0D4013CE STR R3, [SP,#0x18+var_10]
- 0D4013D0 BL sub_D4010D4
- 0D4013D0
- 0D4013D4 LDR R1, [SP,#0x18+var_18]
- 0D4013D6 STRH R0, [R4,#8]
- 0D4013D8 MOVS R0, R4
- 0D4013DA BL seeprom10
- 0D4013DA
- 0D4013DE
- 0D4013DE loc_D4013DE
- 0D4013DE ADD SP, SP, #0x10
- 0D4013E0 POP {R4}
- 0D4013E2 POP {R1}
- 0D4013E4 BX R1
- 0D4013E4
- 0D4013E4
- 0D4013E4
- 0D4013E6 ALIGN 4
- 0D4013E8
- 0D4013E8
- 0D4013E8
- 0D4013E8
- 0D4013E8 sub_D4013E8
- 0D4013E8
- 0D4013E8 var_18 = -0x18
- 0D4013E8 var_14 = -0x14
- 0D4013E8 var_10 = -0x10
- 0D4013E8
- 0D4013E8 PUSH {R4,LR}
- 0D4013EA SUB SP, SP, #0x10
- 0D4013EC ADD R4, SP, #0x18+var_14
- 0D4013EE MOVS R0, R4
- 0D4013F0 MOV R1, SP
- 0D4013F2 BL sub_D40110C
- 0D4013F2
- 0D4013F6 CMP R0, #0
- 0D4013F8 BNE loc_D401416
- 0D4013F8
- 0D4013FA LDRB R3, [R4,#2]
- 0D4013FC ADDS R3, #1
- 0D4013FE STRB R3, [R4,#2]
- 0D401400 LDR R3, [SP,#0x18+var_10]
- 0D401402 MOVS R0, R4
- 0D401404 ADDS R3, #1
- 0D401406 STR R3, [SP,#0x18+var_10]
- 0D401408 BL sub_D4010D4
- 0D401408
- 0D40140C LDR R1, [SP,#0x18+var_18]
- 0D40140E STRH R0, [R4,#8]
- 0D401410 MOVS R0, R4
- 0D401412 BL seeprom10
- 0D401412
- 0D401416
- 0D401416 loc_D401416
- 0D401416 ADD SP, SP, #0x10
- 0D401418 POP {R4}
- 0D40141A POP {R1}
- 0D40141C BX R1
- 0D40141C
- 0D40141C
- 0D40141C
- 0D40141E ALIGN 0x10
- 0D401420
- 0D401420
- 0D401420
- 0D401420
- 0D401420 sub_D401420
- 0D401420
- 0D401420 var_20 = -0x20
- 0D401420 var_1C = -0x1C
- 0D401420
- 0D401420 PUSH {R4-R7,LR}
- 0D401422 SUB SP, SP, #0xC
- 0D401424 ADD R4, SP, #0x20+var_1C
- 0D401426 MOVS R0, R4
- 0D401428 MOV R1, SP
- 0D40142A BL sub_D40120C
- 0D40142A
- 0D40142E CMP R0, #0
- 0D401430 BNE loc_D40144C
- 0D401430
- 0D401432 LDR R3, [SP,#0x20+var_1C]
- 0D401434 MOVS R0, R4
- 0D401436 ADDS R3, #1
- 0D401438 STR R3, [SP,#0x20+var_1C]
- 0D40143A BL sub_D4010F0
- 0D40143A
- 0D40143E LDR R2, [SP,#0x20+var_20]
- 0D401440 STRH R0, [R4,#4]
- 0D401442 CMP R2, #2
- 0D401444 BLS loc_D401454
- 0D401444
- 0D401446 MOVS R5, #4
- 0D401448 NEGS R5, R5
- 0D401448
- 0D40144A
- 0D40144A loc_D40144A
- 0D40144A ADDS R0, R5, #0
- 0D40144A
- 0D40144C
- 0D40144C loc_D40144C
- 0D40144C sub_D401420+66j
- 0D40144C ADD SP, SP, #0xC
- 0D40144E POP {R4-R7}
- 0D401450 POP {R1}
- 0D401452 BX R1
- 0D401452
- 0D401454
- 0D401454 loc_D401454
- 0D401454 MOVS R3, #6
- 0D401456 MULS R3, R2
- 0D401458 MOVS R7, R3
- 0D40145A ADDS R7, #0x5C
- 0D40145C LSRS R7, R7, #1
- 0D40145E BL seeprom8
- 0D40145E
- 0D401462 SUBS R5, R0, #0
- 0D401464 BNE loc_D40144A
- 0D401464
- 0D401466 MOVS R6, #0
- 0D401466
- 0D401468
- 0D401468 loc_D401468
- 0D401468 LDRH R1, [R4]
- 0D40146A LSLS R1, R1, #0x10
- 0D40146C ADDS R0, R7, R6
- 0D40146E LSRS R1, R1, #0x10
- 0D401470 ADDS R4, #2
- 0D401472 BL seeprom4
- 0D401472
- 0D401476 SUBS R5, R0, #0
- 0D401478 BNE loc_D401480
- 0D401478
- 0D40147A ADDS R6, #1
- 0D40147C CMP R6, #2
- 0D40147E BLS loc_D401468
- 0D40147E
- 0D401480
- 0D401480 loc_D401480
- 0D401480 BL seeprom9
- 0D401480
- 0D401484 MOVS R0, R5
- 0D401486 B loc_D40144C
- 0D401486
- 0D401486
- 0D401486
- 0D401488
- 0D401488
- 0D401488
- 0D401488
- 0D401488 sub_D401488
- 0D401488 call_init_dram+10p
- 0D401488 LDR R3, =LT_ASICREV_ACR
- 0D40148A LDR R2, [R3]
- 0D40148C LSLS R3, R2, #0x18
- 0D40148E LSRS R3, R3, #0x1C
- 0D401490 STR R3, [R0]
- 0D401492 MOVS R3, #0xF
- 0D401494 ANDS R2, R3
- 0D401496 STR R2, [R1]
- 0D401498 BX LR
- 0D401498
- 0D401498
- 0D401498
- 0D40149A ALIGN 4
- 0D40149C off_D40149C DCD LT_ASICREV_ACR
- 0D4014A0
- 0D4014A0
- 0D4014A0
- 0D4014A0
- 0D4014A0 sub_D4014A0
- 0D4014A0 sub_D4014EC+E0p ...
- 0D4014A0 PUSH {R4,R5,LR}
- 0D4014A2 LDR R1, =LT_ASICREV_ACR
- 0D4014A4 LDR R3, [R1]
- 0D4014A6 MOVS R5, #0xF0
- 0D4014A8 MOVS R4, #0
- 0D4014AA TST R3, R5
- 0D4014AC BNE loc_D4014C4
- 0D4014AC
- 0D4014AE LDR R2, =LT_AHB_UNK11
- 0D4014B0 MOVS R3, #0x80
- 0D4014B2 LDR R4, [R2]
- 0D4014B4 LSLS R3, R3, #3
- 0D4014B6 ORRS R3, R4
- 0D4014B8 STR R3, [R2]
- 0D4014BA LDR R3, =LT_AHB_UNK13
- 0D4014BC LDR R2, [R3]
- 0D4014BE LDR R2, [R3]
- 0D4014C0 LDR R2, [R3]
- 0D4014C2 LDR R3, [R3]
- 0D4014C2
- 0D4014C4
- 0D4014C4 loc_D4014C4
- 0D4014C4 LDR R3, =dword_D8B0000
- 0D4014C6 ORRS R3, R0
- 0D4014C8 LDR R0, [R3]
- 0D4014CA LDR R3, [R1]
- 0D4014CC LDR R3, [R1]
- 0D4014CE TST R3, R5
- 0D4014D0 BNE loc_D4014D6
- 0D4014D0
- 0D4014D2 LDR R3, =LT_AHB_UNK11
- 0D4014D4 STR R4, [R3]
- 0D4014D4
- 0D4014D6
- 0D4014D6 loc_D4014D6
- 0D4014D6 POP {R4,R5}
- 0D4014D8 POP {R1}
- 0D4014DA BX R1
- 0D4014DA
- 0D4014DA
- 0D4014DA
- 0D4014DC off_D4014DC DCD LT_ASICREV_ACR
- 0D4014E0 off_D4014E0 DCD LT_AHB_UNK11
- 0D4014E0 sub_D4014A0+32r
- 0D4014E4 off_D4014E4 DCD LT_AHB_UNK13
- 0D4014E8 off_D4014E8 DCD dword_D8B0000
- 0D4014EC
- 0D4014EC
- 0D4014EC
- 0D4014EC
- 0D4014EC sub_D4014EC
- 0D4014EC sub_D4017E8+Ap ...
- 0D4014EC PUSH {R4-R7,LR}
- 0D4014EE MOV R7, R11
- 0D4014F0 MOV R6, R10
- 0D4014F2 MOV R5, R9
- 0D4014F4 MOV R4, R8
- 0D4014F6 PUSH {R4-R7}
- 0D4014F8 MOVS R4, R0
- 0D4014FA CMP R0, #0xC
- 0D4014FC BNE loc_D401500
- 0D4014FC
- 0D4014FE B loc_D401680
- 0D4014FE
- 0D401500
- 0D401500 loc_D401500
- 0D401500 CMP R0, #0xB
- 0D401502 BNE loc_D401506
- 0D401502
- 0D401504 B loc_D4016A4
- 0D401504
- 0D401506
- 0D401506 loc_D401506
- 0D401506 CMP R0, #0
- 0D401508 BEQ loc_D40150C
- 0D401508
- 0D40150A B loc_D401656
- 0D40150A
- 0D40150C
- 0D40150C loc_D40150C
- 0D40150C MOVS R7, #0x8000
- 0D40150C
- 0D401510
- 0D401510 loc_D401510
- 0D401510 sub_D4014EC+196j ...
- 0D401510 MOVS R0, #8
- 0D401512 BL sub_D4014A0
- 0D401512
- 0D401516 TST R0, R7
- 0D401518 BEQ loc_D40151C
- 0D401518
- 0D40151A B loc_D401646
- 0D40151A
- 0D40151C
- 0D40151C loc_D40151C
- 0D40151C SUBS R3, R4, #2
- 0D40151E CMP R3, #8
- 0D401520 BLS loc_D401524
- 0D401520
- 0D401522 B loc_D401684
- 0D401522
- 0D401524
- 0D401524 loc_D401524
- 0D401524 LDR R4, =LT_BOOT0
- 0D401526 LDR R3, [R4]
- 0D401528 MOVS R2, #0xF
- 0D40152A ANDS R3, R2
- 0D40152C CMP R3, #9
- 0D40152E BNE loc_D401532
- 0D40152E
- 0D401530 B loc_D4016AA
- 0D401530
- 0D401532
- 0D401532 loc_D401532
- 0D401532 sub_D4014EC+1D4j
- 0D401532 LDR R1, =LT_COMPAT_UNK1
- 0D401534 LDR R2, =0xFFFEFFFF
- 0D401536 LDR R3, [R1]
- 0D401538 ANDS R3, R2
- 0D40153A STR R3, [R1]
- 0D40153C MOVS R3, #0x80
- 0D40153E LDR R2, [R1]
- 0D401540 LSLS R3, R3, #0x12
- 0D401542 ORRS R2, R3
- 0D401544 STR R2, [R1]
- 0D401546 SUBS R1, #0x64
- 0D401548 LDR R2, [R1]
- 0D40154A LDR R3, =0xFFFFF83F
- 0D40154C ANDS R2, R3
- 0D40154E MOVS R3, #0x280
- 0D401552 ORRS R2, R3
- 0D401554 STR R2, [R1]
- 0D401556 ADDS R1, #0x10
- 0D401558 LDR R2, [R1]
- 0D40155A MOVS R3, #0x400
- 0D40155E ORRS R2, R3
- 0D401560 STR R2, [R1]
- 0D401562 ADDS R1, #0x58
- 0D401564 MOVS R2, #0xF
- 0D401564
- 0D401566
- 0D401566 loc_D401566
- 0D401566 LDR R3, [R1]
- 0D401568 ANDS R3, R2
- 0D40156A CMP R3, #9
- 0D40156C BNE loc_D401566
- 0D40156C
- 0D40156E LDR R1, =LT_AHB_UNK1
- 0D401570 MOVS R2, #0x80
- 0D401572 LDR R3, [R1]
- 0D401574 LSLS R2, R2, #3
- 0D401576 ORRS R3, R2
- 0D401578 STR R3, [R1]
- 0D40157A ADDS R1, #4
- 0D40157C LDR R3, [R1]
- 0D40157E ORRS R3, R2
- 0D401580 STR R3, [R1]
- 0D401582 ADDS R1, #4
- 0D401584 LDR R3, [R1]
- 0D401586 ORRS R3, R2
- 0D401588 STR R3, [R1]
- 0D40158A LDR R3, =LT_AHB_UNK4
- 0D40158C MOV R11, R3
- 0D40158E LDR R3, [R3]
- 0D401590 MOV R1, R11
- 0D401592 ORRS R3, R2
- 0D401594 STR R3, [R1]
- 0D401596 LDR R3, =LT_AHB_UNK5
- 0D401598 MOV R9, R3
- 0D40159A LDR R3, [R3]
- 0D40159C MOV R1, R9
- 0D40159E ORRS R3, R2
- 0D4015A0 STR R3, [R1]
- 0D4015A2 LDR R3, =LT_AHB_UNK6
- 0D4015A4 MOV R10, R3
- 0D4015A6 LDR R3, [R3]
- 0D4015A8 MOV R1, R10
- 0D4015AA ORRS R3, R2
- 0D4015AC STR R3, [R1]
- 0D4015AE LDR R3, =LT_AHB_UNK7
- 0D4015B0 MOV R8, R3
- 0D4015B2 LDR R3, [R3]
- 0D4015B4 MOV R1, R8
- 0D4015B6 ORRS R3, R2
- 0D4015B8 STR R3, [R1]
- 0D4015BA LDR R6, =LT_AHB_UNK8
- 0D4015BC LDR R3, [R6]
- 0D4015BE ORRS R3, R2
- 0D4015C0 LDR R5, =LT_AHB_UNK9
- 0D4015C2 STR R3, [R6]
- 0D4015C4 LDR R3, [R5]
- 0D4015C6 ORRS R3, R2
- 0D4015C8 STR R3, [R5]
- 0D4015CA MOVS R0, #8
- 0D4015CC BL sub_D4014A0
- 0D4015CC
- 0D4015D0 LDR R4, =dword_D8B0008
- 0D4015D2 BICS R0, R7
- 0D4015D4 STR R0, [R4]
- 0D4015D6 MOVS R0, #8
- 0D4015D8 BL sub_D4014A0
- 0D4015D8
- 0D4015DC ORRS R7, R0
- 0D4015DE STR R7, [R4]
- 0D4015E0 LDR R1, =LT_AHB_UNK12
- 0D4015E2 LDR R2, =0xFFFFFBFF
- 0D4015E4 LDR R3, [R1]
- 0D4015E6 ANDS R3, R2
- 0D4015E8 STR R3, [R1]
- 0D4015EA SUBS R1, #0x34
- 0D4015EC LDR R3, [R1]
- 0D4015EE ANDS R3, R2
- 0D4015F0 STR R3, [R1]
- 0D4015F2 ADDS R1, #4
- 0D4015F4 LDR R3, [R1]
- 0D4015F6 ANDS R3, R2
- 0D4015F8 STR R3, [R1]
- 0D4015FA ADDS R1, #4
- 0D4015FC LDR R3, [R1]
- 0D4015FE ANDS R3, R2
- 0D401600 STR R3, [R1]
- 0D401602 MOV R1, R11
- 0D401604 LDR R3, [R1]
- 0D401606 ANDS R3, R2
- 0D401608 STR R3, [R1]
- 0D40160A MOV R1, R9
- 0D40160C LDR R3, [R1]
- 0D40160E ANDS R3, R2
- 0D401610 STR R3, [R1]
- 0D401612 MOV R1, R10
- 0D401614 LDR R3, [R1]
- 0D401616 ANDS R3, R2
- 0D401618 STR R3, [R1]
- 0D40161A MOV R1, R8
- 0D40161C LDR R3, [R1]
- 0D40161E ANDS R3, R2
- 0D401620 STR R3, [R1]
- 0D401622 LDR R3, [R6]
- 0D401624 ANDS R3, R2
- 0D401626 STR R3, [R6]
- 0D401628 LDR R3, [R5]
- 0D40162A ANDS R3, R2
- 0D40162C STR R3, [R5]
- 0D40162E ADDS R1, #0x70
- 0D401630 LDR R3, [R1]
- 0D401632 LDR R2, =0xFDFFFFFF
- 0D401634 ANDS R3, R2
- 0D401636 STR R3, [R1]
- 0D401638 SUBS R1, #0x64
- 0D40163A LDR R3, [R1]
- 0D40163C LDR R2, =0xFFFFF83F
- 0D40163E ANDS R3, R2
- 0D401640 MOVS R2, #0xC0
- 0D401642 ORRS R3, R2
- 0D401644 STR R3, [R1]
- 0D401644
- 0D401646
- 0D401646 loc_D401646
- 0D401646 sub_D4014EC+1A2j ...
- 0D401646 POP {R3-R6}
- 0D401648 MOV R8, R3
- 0D40164A MOV R9, R4
- 0D40164C MOV R10, R5
- 0D40164E MOV R11, R6
- 0D401650 POP {R4-R7}
- 0D401652 POP {R0}
- 0D401654 BX R0
- 0D401654
- 0D401656
- 0D401656 loc_D401656
- 0D401656 CMP R0, #1
- 0D401658 BEQ loc_D4016C2
- 0D401658
- 0D40165A CMP R0, #2
- 0D40165C BEQ loc_D4016C8
- 0D40165C
- 0D40165E CMP R0, #3
- 0D401660 BEQ loc_D4016D0
- 0D401660
- 0D401662 CMP R0, #4
- 0D401664 BEQ loc_D4016D4
- 0D401664
- 0D401666 CMP R0, #5
- 0D401668 BEQ loc_D4016CC
- 0D401668
- 0D40166A CMP R0, #6
- 0D40166C BEQ loc_D4016D8
- 0D40166C
- 0D40166E CMP R0, #7
- 0D401670 BEQ loc_D4016DC
- 0D401670
- 0D401672 CMP R0, #8
- 0D401674 BEQ loc_D4016E0
- 0D401674
- 0D401676 CMP R0, #9
- 0D401678 BEQ loc_D4016E4
- 0D401678
- 0D40167A MOVS R7, #0x100
- 0D40167E B loc_D401510
- 0D40167E
- 0D401680
- 0D401680 loc_D401680
- 0D401680 MOVS R7, #0
- 0D401682 B loc_D401510
- 0D401682
- 0D401684
- 0D401684 loc_D401684
- 0D401684 CMP R4, #0xB
- 0D401686 BEQ loc_D401690
- 0D401686
- 0D401688 CMP R4, #0
- 0D40168A BEQ loc_D401690
- 0D40168A
- 0D40168C CMP R4, #1
- 0D40168E BNE loc_D401646
- 0D40168E
- 0D401690
- 0D401690 loc_D401690
- 0D401690 sub_D4014EC+19Ej
- 0D401690 LDR R2, =dword_D8B0008
- 0D401692 MOVS R3, R0
- 0D401694 BICS R3, R7
- 0D401696 STR R3, [R2]
- 0D401698 MOVS R3, R0
- 0D40169A ORRS R3, R7
- 0D40169C STR R3, [R2]
- 0D40169E STR R3, [R2]
- 0D4016A0 STR R3, [R2]
- 0D4016A2 B loc_D401646
- 0D4016A2
- 0D4016A4
- 0D4016A4 loc_D4016A4
- 0D4016A4 MOVS R7, #0x1000
- 0D4016A8 B loc_D401510
- 0D4016A8
- 0D4016AA
- 0D4016AA loc_D4016AA
- 0D4016AA MOVS R2, #0x80
- 0D4016AC LDR R1, =LT_COMPAT_UNK1
- 0D4016AE LSLS R2, R2, #9
- 0D4016B0 MOVS R0, #0xF
- 0D4016B0
- 0D4016B2
- 0D4016B2 loc_D4016B2
- 0D4016B2 LDR R3, [R1]
- 0D4016B4 ORRS R3, R2
- 0D4016B6 STR R3, [R1]
- 0D4016B8 LDR R3, [R4]
- 0D4016BA ANDS R3, R0
- 0D4016BC CMP R3, #9
- 0D4016BE BEQ loc_D4016B2
- 0D4016BE
- 0D4016C0 B loc_D401532
- 0D4016C0
- 0D4016C2
- 0D4016C2 loc_D4016C2
- 0D4016C2 MOVS R7, #0x4000
- 0D4016C6 B loc_D401510
- 0D4016C6
- 0D4016C8
- 0D4016C8 loc_D4016C8
- 0D4016C8 MOVS R7, #1
- 0D4016CA B loc_D401510
- 0D4016CA
- 0D4016CC
- 0D4016CC loc_D4016CC
- 0D4016CC MOVS R7, #8
- 0D4016CE B loc_D401510
- 0D4016CE
- 0D4016D0
- 0D4016D0 loc_D4016D0
- 0D4016D0 MOVS R7, #2
- 0D4016D2 B loc_D401510
- 0D4016D2
- 0D4016D4
- 0D4016D4 loc_D4016D4
- 0D4016D4 MOVS R7, #4
- 0D4016D6 B loc_D401510
- 0D4016D6
- 0D4016D8
- 0D4016D8 loc_D4016D8
- 0D4016D8 MOVS R7, #0x10
- 0D4016DA B loc_D401510
- 0D4016DA
- 0D4016DC
- 0D4016DC loc_D4016DC
- 0D4016DC MOVS R7, #0x20
- 0D4016DE B loc_D401510
- 0D4016DE
- 0D4016E0
- 0D4016E0 loc_D4016E0
- 0D4016E0 MOVS R7, #0x40
- 0D4016E2 B loc_D401510
- 0D4016E2
- 0D4016E4
- 0D4016E4 loc_D4016E4
- 0D4016E4 MOVS R7, #0x80
- 0D4016E6 B loc_D401510
- 0D4016E6
- 0D4016E6
- 0D4016E6
- 0D4016E8 off_D4016E8 DCD LT_BOOT0
- 0D4016EC off_D4016EC DCD LT_COMPAT_UNK1
- 0D4016EC sub_D4014EC+1C0r
- 0D4016F0 dword_D4016F0 DCD 0xFFFEFFFF
- 0D4016F4 dword_D4016F4 DCD 0xFFFFF83F
- 0D4016F4 sub_D4014EC+150r
- 0D4016F8 off_D4016F8 DCD LT_AHB_UNK1
- 0D4016FC off_D4016FC DCD LT_AHB_UNK4
- 0D401700 off_D401700 DCD LT_AHB_UNK5
- 0D401704 off_D401704 DCD LT_AHB_UNK6
- 0D401708 off_D401708 DCD LT_AHB_UNK7
- 0D40170C off_D40170C DCD LT_AHB_UNK8
- 0D401710 off_D401710 DCD LT_AHB_UNK9
- 0D401714 off_D401714 DCD dword_D8B0008
- 0D401714 sub_D4014EC:loc_D401690r
- 0D401718 off_D401718 DCD LT_AHB_UNK12
- 0D40171C dword_D40171C DCD 0xFFFFFBFF
- 0D401720 dword_D401720 DCD 0xFDFFFFFF
- 0D401724
- 0D401724
- 0D401724
- 0D401724
- 0D401724 sub_D401724
- 0D401724 PUSH {R4,LR}
- 0D401726 LDR R3, =word_D8B4000
- 0D401728 ORRS R3, R0
- 0D40172A MOVS R0, #0
- 0D40172C LDRH R4, [R3]
- 0D40172E BL sub_D4014EC
- 0D40172E
- 0D401732 LSLS R4, R4, #0x10
- 0D401734 LSRS R4, R4, #0x10
- 0D401736 MOVS R0, R4
- 0D401738 POP {R4}
- 0D40173A POP {R1}
- 0D40173C BX R1
- 0D40173C
- 0D40173C
- 0D40173C
- 0D40173E ALIGN 0x10
- 0D401740 off_D401740 DCD word_D8B4000
- 0D401744
- 0D401744
- 0D401744
- 0D401744
- 0D401744 call_ahbMemFlush
- 0D401744 sha1+ECp ...
- 0D401744 PUSH {R4-R6,LR}
- 0D401746 MOVS R5, #0
- 0D401748 CMP R0, #0xC
- 0D40174A BHI def_D401752 jumptable 0D401752 default case
- 0D40174A
- 0D40174C LDR R2, =jpt_D401752
- 0D40174E LSLS R3, R0, #2
- 0D401750 LDR R3, [R3,R2]
- 0D401752 MOV PC, R3
- 0D401752
- 0D401754
- 0D401754 def_D401752
- 0D401754 SUBS R0, #0xD jumptable 0D401752 default case
- 0D401756 CMP R0, #4
- 0D401758 BLS loc_D401792
- 0D401758
- 0D40175A
- 0D40175A def_D401798
- 0D40175A call_ahbMemFlush+5Cj ...
- 0D40175A LDR R3, =MEM_FLUSH_MASK jumptable 0D401798 default case
- 0D40175C STRH R5, [R3] Mask of the AHB connected client to flush memory to/from
- 0D40175E MOVS R6, #0
- 0D401760 MOVS R4, #0
- 0D401760
- 0D401762
- 0D401762 loc_D401762
- 0D401762 LDR R0, =byte_22A
- 0D401764 BL sub_D401724
- 0D401764
- 0D401768 MOVS R3, R5
- 0D40176A EORS R3, R0
- 0D40176C LSLS R3, R3, #0x10
- 0D40176E CMP R3, #0
- 0D401770 BEQ loc_D4017BA
- 0D401770
- 0D401772 MOVS R0, #1
- 0D401774 BL delay_0
- 0D401774
- 0D401778 LDR R3, =0xF423F
- 0D40177A ADDS R4, #1
- 0D40177C CMP R4, R3
- 0D40177E BLS loc_D401762
- 0D40177E
- 0D401780 LDR R3, =MEM_FLUSH_MASK Mask of the AHB connected client to flush memory to/from
- 0D401782 MOVS R2, #0
- 0D401784 STRH R2, [R3] Mask of the AHB connected client to flush memory to/from
- 0D401786 CMP R6, #0
- 0D401788 BEQ loc_D4017C6
- 0D401788
- 0D40178A
- 0D40178A loc_D40178A
- 0D40178A call_ahbMemFlush+8Aj
- 0D40178A POP {R4-R6}
- 0D40178C POP {R0}
- 0D40178E BX R0
- 0D40178E
- 0D401790
- 0D401790 loc_D401790
- 0D401790 DATA XREF: jpt_D401752o ...
- 0D401790 MOVS R0, #0 jumptable 0D401752 cases 0,1,11
- 0D401790
- 0D401792
- 0D401792 loc_D401792
- 0D401792 call_ahbMemFlush+6Cj ...
- 0D401792 LDR R2, =jpt_D401798
- 0D401794 LSLS R3, R0, #2
- 0D401796 LDR R3, [R3,R2]
- 0D401798 MOV PC, R3
- 0D401798
- 0D40179A
- 0D40179A loc_D40179A
- 0D40179A DATA XREF: 0D40400Co
- 0D40179A MOVS R5, #0xF jumptable 0D401798 case 17
- 0D40179C B def_D401798 jumptable 0D401798 default case
- 0D40179C
- 0D40179E
- 0D40179E loc_D40179E
- 0D40179E DATA XREF: 0D404008o
- 0D40179E MOVS R5, #8 jumptable 0D401798 case 16
- 0D4017A0 B def_D401798 jumptable 0D401798 default case
- 0D4017A0
- 0D4017A2
- 0D4017A2 loc_D4017A2
- 0D4017A2 DATA XREF: 0D404004o
- 0D4017A2 MOVS R5, #4 jumptable 0D401798 case 15
- 0D4017A4 B def_D401798 jumptable 0D401798 default case
- 0D4017A4
- 0D4017A6
- 0D4017A6 loc_D4017A6
- 0D4017A6 DATA XREF: 0D404000o
- 0D4017A6 MOVS R5, #2 jumptable 0D401798 case 14
- 0D4017A8 B def_D401798 jumptable 0D401798 default case
- 0D4017A8
- 0D4017AA
- 0D4017AA loc_D4017AA
- 0D4017AA DATA XREF: jpt_D401798o
- 0D4017AA MOVS R5, #1 jumptable 0D401798 case 13
- 0D4017AC B def_D401798 jumptable 0D401798 default case
- 0D4017AC
- 0D4017AE
- 0D4017AE loc_D4017AE
- 0D4017AE DATA XREF: 0D403FD0o ...
- 0D4017AE MOVS R0, #2 jumptable 0D401752 cases 2,6
- 0D4017B0 B loc_D401792
- 0D4017B0
- 0D4017B2
- 0D4017B2 loc_D4017B2
- 0D4017B2 DATA XREF: 0D403FD4o ...
- 0D4017B2 MOVS R0, #3 jumptable 0D401752 cases 3,7-10
- 0D4017B4 B loc_D401792
- 0D4017B4
- 0D4017B6
- 0D4017B6 loc_D4017B6
- 0D4017B6 DATA XREF: 0D403FD8o ...
- 0D4017B6 MOVS R0, #1 jumptable 0D401752 cases 4,5,12
- 0D4017B8 B loc_D401792
- 0D4017B8
- 0D4017BA
- 0D4017BA loc_D4017BA
- 0D4017BA LDR R3, =MEM_FLUSH_MASK Mask of the AHB connected client to flush memory to/from
- 0D4017BC MOVS R2, #0
- 0D4017BE MOVS R6, #1
- 0D4017C0 STRH R2, [R3] Mask of the AHB connected client to flush memory to/from
- 0D4017C2 CMP R6, #0
- 0D4017C4 BNE loc_D40178A
- 0D4017C4
- 0D4017C6
- 0D4017C6 loc_D4017C6
- 0D4017C6 MOVS R1, R5
- 0D4017C8 LDR R0, =aErrorAhbmemflu "ERROR: ahbMemFlush(0x%x) did not ack!\n"
- 0D4017CA BL do_debug_log
- 0D4017CA
- 0D4017CE B loc_D40178A
- 0D4017CE
- 0D4017CE
- 0D4017CE
- 0D4017D0 off_D4017D0 DCD jpt_D401752
- 0D4017D4 off_D4017D4 DCD MEM_FLUSH_MASK
- 0D4017D4 call_ahbMemFlush+3Cr ...
- 0D4017D4 Mask of the AHB connected client to flush memory to/from
- 0D4017D8 off_D4017D8 DCD byte_22A
- 0D4017DC dword_D4017DC DCD 0xF423F
- 0D4017E0 off_D4017E0 DCD jpt_D401798
- 0D4017E4 off_D4017E4 DCD aErrorAhbmemflu
- 0D4017E4 "ERROR: ahbMemFlush(0x%x) did not ack!\n"
- 0D4017E8
- 0D4017E8
- 0D4017E8
- 0D4017E8
- 0D4017E8 sub_D4017E8
- 0D4017E8 PUSH {R4,LR}
- 0D4017EA BL sub_D4014A0
- 0D4017EA
- 0D4017EE MOVS R4, R0
- 0D4017F0 MOVS R0, #0
- 0D4017F2 BL sub_D4014EC
- 0D4017F2
- 0D4017F6 MOVS R0, R4
- 0D4017F8 POP {R4}
- 0D4017FA POP {R1}
- 0D4017FC BX R1
- 0D4017FC
- 0D4017FC
- 0D4017FC
- 0D4017FE ALIGN 0x10
- 0D401800
- 0D401800
- 0D401800
- 0D401800
- 0D401800 call_ahbMemFlush2
- 0D401800 sha1+F2p ...
- 0D401800 PUSH {R4,LR}
- 0D401802 MOVS R4, R0
- 0D401804 BL sub_D4014EC
- 0D401804
- 0D401808 CMP R4, #0
- 0D40180A BNE loc_D401812
- 0D40180A
- 0D40180C
- 0D40180C loc_D40180C
- 0D40180C POP {R4}
- 0D40180E POP {R0}
- 0D401810 BX R0
- 0D401810
- 0D401812
- 0D401812 loc_D401812
- 0D401812 MOVS R0, #0
- 0D401814 BL sub_D4014EC
- 0D401814
- 0D401818 B loc_D40180C
- 0D401818
- 0D401818
- 0D401818
- 0D40181A ALIGN 4
- 0D40181C
- 0D40181C
- 0D40181C
- 0D40181C
- 0D40181C poke_f4
- 0D40181C LDR R2, =LT_GPIO_INTMASK
- 0D40181E LDR R3, [R2]
- 0D401820 ORRS R3, R0
- 0D401822 STR R3, [R2]
- 0D401824 BX LR
- 0D401824
- 0D401824
- 0D401824
- 0D401826 ALIGN 4
- 0D401828 off_D401828 DCD LT_GPIO_INTMASK
- 0D40182C
- 0D40182C
- 0D40182C
- 0D40182C
- 0D40182C poke_ec
- 0D40182C LDR R2, =LT_GPIO_INTLVL
- 0D40182E LDR R3, [R2]
- 0D401830 ORRS R3, R0
- 0D401832 STR R3, [R2]
- 0D401834 BX LR
- 0D401834
- 0D401834
- 0D401834
- 0D401836 ALIGN 4
- 0D401838 off_D401838 DCD LT_GPIO_INTLVL
- 0D40183C
- 0D40183C
- 0D40183C
- 0D40183C
- 0D40183C poke_fc
- 0D40183C sub_D4018FC+Ep
- 0D40183C LDR R3, =LT_GPIO_OWNER
- 0D40183E STR R0, [R3]
- 0D401840 BX LR
- 0D401840
- 0D401840
- 0D401840
- 0D401842 ALIGN 4
- 0D401844 off_D401844 DCD LT_GPIO_OWNER
- 0D401848
- 0D401848
- 0D401848
- 0D401848
- 0D401848 set_gpio2_bits
- 0D401848 sub_D4018E8+Ap ...
- 0D401848 LDR R2, =LT_GPIO_OUT
- 0D40184A LDR R3, [R2]
- 0D40184C BICS R3, R0
- 0D40184E ORRS R3, R1
- 0D401850 STR R3, [R2]
- 0D401852 BX LR
- 0D401852
- 0D401852
- 0D401852
- 0D401854 off_D401854 DCD LT_GPIO_OUT
- 0D401858
- 0D401858
- 0D401858
- 0D401858
- 0D401858 set_gpio2_dir
- 0D401858 sub_D4018FC+14p
- 0D401858 LDR R3, =LT_GPIO_DIR Boot1 sets this to 0xFFDF3E
- 0D40185A STR R0, [R3]
- 0D40185C BX LR
- 0D40185C
- 0D40185C
- 0D40185C
- 0D40185E ALIGN 0x10
- 0D401860 off_D401860 DCD LT_GPIO_DIR
- 0D401860 Boot1 sets this to 0xFFDF3E
- 0D401864
- 0D401864
- 0D401864
- 0D401864
- 0D401864 set_gpio1_bits
- 0D401864 LDR R2, =LT_GPIOE_OUT
- 0D401866 LDR R3, [R2]
- 0D401868 BICS R3, R0
- 0D40186A ORRS R3, R1
- 0D40186C STR R3, [R2]
- 0D40186E BX LR
- 0D40186E
- 0D40186E
- 0D40186E
- 0D401870 off_D401870 DCD LT_GPIOE_OUT
- 0D401874
- 0D401874
- 0D401874
- 0D401874
- 0D401874 set_gpio1_dir
- 0D401874 LDR R3, =LT_GPIOE_DIR
- 0D401876 STR R0, [R3]
- 0D401878 BX LR
- 0D401878
- 0D401878
- 0D401878
- 0D40187A ALIGN 4
- 0D40187C off_D40187C DCD LT_GPIOE_DIR
- 0D401880
- 0D401880
- 0D401880
- 0D401880
- 0D401880 poke_dc
- 0D401880 LDR R3, =LT_GPIO_ENABLE
- 0D401882 STR R0, [R3]
- 0D401884 BX LR
- 0D401884
- 0D401884
- 0D401884
- 0D401886 ALIGN 4
- 0D401888 off_D401888 DCD LT_GPIO_ENABLE
- 0D40188C
- 0D40188C
- 0D40188C
- 0D40188C
- 0D40188C gpio_stuff
- 0D40188C PUSH {R4,LR}
- 0D40188E LDR R4, =0xFF1C1E
- 0D401890 LDR R0, =0xC3A0
- 0D401892 BL poke_fc
- 0D401892
- 0D401896 MOVS R0, R4
- 0D401898 MOVS R1, #0xC
- 0D40189A BL set_gpio2_bits
- 0D40189A
- 0D40189E MOVS R0, R4
- 0D4018A0 LDR R4, =0xC320
- 0D4018A2 BL set_gpio2_dir
- 0D4018A2
- 0D4018A6 MOVS R1, #0
- 0D4018A8 MOVS R0, R4
- 0D4018AA BL set_gpio1_bits
- 0D4018AA
- 0D4018AE MOVS R0, R4
- 0D4018B0 BL set_gpio1_dir
- 0D4018B0
- 0D4018B4 LDR R0, =0xFFFFFF
- 0D4018B6 BL poke_dc
- 0D4018B6
- 0D4018BA MOVS R0, #0x7D0
- 0D4018BE BL delay_0
- 0D4018BE
- 0D4018C2 MOVS R0, #1
- 0D4018C4 BL poke_f4
- 0D4018C4
- 0D4018C8 MOVS R0, #1
- 0D4018CA BL poke_ec
- 0D4018CA
- 0D4018CE POP {R4}
- 0D4018D0 POP {R0}
- 0D4018D2 BX R0
- 0D4018D2
- 0D4018D2
- 0D4018D2
- 0D4018D4 dword_D4018D4 DCD 0xFF1C1E
- 0D4018D8 dword_D4018D8 DCD 0xC3A0
- 0D4018DC dword_D4018DC DCD 0xC320
- 0D4018E0 dword_D4018E0 DCD 0xFFFFFF
- 0D4018E4
- 0D4018E4
- 0D4018E4
- 0D4018E4
- 0D4018E4 sub_D4018E4
- 0D4018E4 MOVS R0, #0
- 0D4018E6 BX LR
- 0D4018E6
- 0D4018E6
- 0D4018E6
- 0D4018E8
- 0D4018E8
- 0D4018E8
- 0D4018E8
- 0D4018E8 sub_D4018E8
- 0D4018E8 PUSH {LR}
- 0D4018EA LSLS R1, R0, #0x18
- 0D4018EC MOVS R0, #0xFF0000
- 0D4018F0 LSRS R1, R1, #8
- 0D4018F2 BL set_gpio2_bits
- 0D4018F2
- 0D4018F6 POP {R0}
- 0D4018F8 BX R0
- 0D4018F8
- 0D4018F8
- 0D4018F8
- 0D4018FA ALIGN 4
- 0D4018FC
- 0D4018FC
- 0D4018FC
- 0D4018FC
- 0D4018FC sub_D4018FC
- 0D4018FC PUSH {LR}
- 0D4018FE LDR R3, =LT_GPIOE_OUT
- 0D401900 LDR R0, =0xC120
- 0D401902 LDR R1, [R3]
- 0D401904 BL set_gpio2_bits
- 0D401904
- 0D401908 MOVS R0, #0
- 0D40190A BL poke_fc
- 0D40190A
- 0D40190E LDR R0, =0xFFDF3E
- 0D401910 BL set_gpio2_dir
- 0D401910
- 0D401914 POP {R0}
- 0D401916 BX R0
- 0D401916
- 0D401916
- 0D401916
- 0D401918 off_D401918 DCD LT_GPIOE_OUT
- 0D40191C dword_D40191C DCD 0xC120
- 0D401920 dword_D401920 DCD 0xFFDF3E
- 0D401924
- 0D401924
- 0D401924
- 0D401924
- 0D401924 init_dram
- 0D401924
- 0D401924 var_30 = -0x30
- 0D401924 var_2C = -0x2C
- 0D401924 var_28 = -0x28
- 0D401924 arg_0 = 0
- 0D401924
- 0D401924 PUSH {R4-R7,LR}
- 0D401926 MOV R7, R11
- 0D401928 MOV R6, R10
- 0D40192A MOV R5, R9
- 0D40192C MOV R4, R8
- 0D40192E PUSH {R4-R7}
- 0D401930 LSLS R3, R3, #0x18
- 0D401932 SUB SP, SP, #0xC
- 0D401934 LSRS R3, R3, #0x18
- 0D401936 STR R3, [SP,#0x30+var_2C]
- 0D401938 LDR R7, =LT_RESETS_COMPAT
- 0D40193A LDR R3, [SP,#0x30+arg_0]
- 0D40193C STR R0, [SP,#0x30+var_28]
- 0D40193E LSLS R1, R1, #0x10
- 0D401940 LSLS R3, R3, #0x18
- 0D401942 MOVS R0, #0x80
- 0D401944 LDR R6, [R7]
- 0D401946 LSRS R1, R1, #0x10
- 0D401948 LSRS R3, R3, #0x18
- 0D40194A LSLS R2, R0, #4
- 0D40194C MOV R10, R1
- 0D40194E STR R3, [SP,#0x30+var_30]
- 0D401950 MOV R8, R2
- 0D401952 TST R6, R2
- 0D401954 BEQ sub_D40195A
- 0D401954
- 0D401956 BL sub_D402208
- 0D401956
- 0D401956
- 0D401956
- 0D40195A
- 0D40195A
- 0D40195A
- 0D40195A
- 0D40195A sub_D40195A
- 0D40195A sub_D402208+1Ep
- 0D40195A
- 0D40195A var_38 = -0x38
- 0D40195A var_34 = -0x34
- 0D40195A var_30 = -0x30
- 0D40195A arg_0 = 0
- 0D40195A arg_4 = 4
- 0D40195A arg_8 = 8
- 0D40195A
- 0D40195A
- 0D40195A
- 0D40195A LDR R6, [R7]
- 0D40195C LDR R5, =0xFFFFF7FF
- 0D40195E ANDS R6, R5
- 0D401960 STR R6, [R7]
- 0D401962 MOVS R0, #0x64
- 0D401964 BL delay_0
- 0D401964
- 0D401968 LDR R2, =LT_DIFLAGS
- 0D40196A LDR R6, [R2]
- 0D40196C MOVS R3, #0x20
- 0D40196E BICS R6, R3
- 0D401970 STR R6, [R2]
- 0D401972 LDR R4, =0xFFFFFEFF
- 0D401974 LDR R6, [R7]
- 0D401976 ANDS R6, R4
- 0D401978 STR R6, [R7]
- 0D40197A MOVS R0, #0xA
- 0D40197C BL delay_0
- 0D40197C
- 0D401980 LDR R6, [R7]
- 0D401982 MOV R3, R8
- 0D401984 ANDS R5, R6
- 0D401986 ORRS R5, R3
- 0D401988 STR R5, [R7]
- 0D40198A MOVS R0, #5
- 0D40198C BL delay_0
- 0D40198C
- 0D401990 LDR R3, [R7]
- 0D401992 MOVS R5, #0x80
- 0D401994 ANDS R3, R4
- 0D401996 LSLS R5, R5, #1
- 0D401998 ORRS R3, R5
- 0D40199A STR R3, [R7]
- 0D40199C MOVS R0, #0xA
- 0D40199E BL delay_0
- 0D40199E
- 0D4019A2 LDR R6, [R7]
- 0D4019A4 ANDS R6, R4
- 0D4019A6 ANDS R4, R6
- 0D4019A8 MOVS R0, #0x64
- 0D4019AA STR R6, [R7]
- 0D4019AC ORRS R4, R5
- 0D4019AE BL delay_0
- 0D4019AE
- 0D4019B2 MOVS R0, #5
- 0D4019B4 STR R4, [R7]
- 0D4019B6 BL delay_0
- 0D4019B6
- 0D4019BA MOV R0, R10
- 0D4019BC MOVS R1, #0x1B
- 0D4019BE BL sub_D403DC8
- 0D4019BE
- 0D4019C2 LSLS R0, R0, #0x10
- 0D4019C4 LSRS R0, R0, #0x10
- 0D4019C6 MOVS R3, #0x1B
- 0D4019C8 MULS R3, R0
- 0D4019CA CMP R3, R10
- 0D4019CC BNE loc_D4019D2
- 0D4019CC
- 0D4019CE BL sub_D402280
- 0D4019CE
- 0D4019D2
- 0D4019D2 loc_D4019D2
- 0D4019D2 MOVS R3, #0x3E8
- 0D4019D6 CMP R10, R3
- 0D4019D8 BLS loc_D4019FC
- 0D4019D8
- 0D4019DA MOVS R0, #1
- 0D4019DC MOVS R2, #0
- 0D4019DE MOVS R3, #0x1A
- 0D4019E0 MOV R7, R10
- 0D4019E2 MOV R9, R0
- 0D4019E4 MOV R8, R2
- 0D4019E6 MOV R11, R3
- 0D4019E8 SUBS R7, #1
- 0D4019EA B loc_D401A0E
- 0D4019EA
- 0D4019EC off_D4019EC DCD LT_RESETS_COMPAT DATA XREF: init_dram+14r
- 0D4019F0 dword_D4019F0 DCD 0xFFFFF7FF
- 0D4019F4 off_D4019F4 DCD LT_DIFLAGS
- 0D4019F8 dword_D4019F8 DCD 0xFFFFFEFF
- 0D4019FC
- 0D4019FC loc_D4019FC
- 0D4019FC MOVS R0, #0
- 0D4019FE MOVS R2, #4
- 0D401A00 MOVS R3, #0x1A
- 0D401A02 MOV R9, R0
- 0D401A04 MOV R8, R2
- 0D401A06 MOV R11, R3
- 0D401A08 MOV R0, R10
- 0D401A08
- 0D401A0A
- 0D401A0A loc_D401A0A
- 0D401A0A LSLS R3, R0, #1
- 0D401A0C SUBS R7, R3, #1
- 0D401A0C
- 0D401A0E
- 0D401A0E loc_D401A0E
- 0D401A0E sub_D402280+14p
- 0D401A0E LDR R6, =dword_D8001C0
- 0D401A10 LDR R5, =0x7FFFFFFF
- 0D401A12 LDR R3, [R6]
- 0D401A14 LDR R4, =0xBFFFFFFF
- 0D401A16 ANDS R3, R5
- 0D401A18 ANDS R3, R4
- 0D401A1A STR R3, [R6]
- 0D401A1C MOVS R0, #0x64
- 0D401A1E BL delay_0
- 0D401A1E
- 0D401A22 LDR R1, =dword_D8001BC
- 0D401A24 LDR R3, [R1]
- 0D401A26 MOVS R2, #0x3F
- 0D401A28 BICS R3, R2
- 0D401A2A MOV R2, R11
- 0D401A2C ORRS R3, R2
- 0D401A2E LDR R2, =0xFFFC003F
- 0D401A30 ANDS R3, R2
- 0D401A32 LSLS R2, R7, #6
- 0D401A34 ORRS R3, R2
- 0D401A36 LDR R2, =0xF803FFFF
- 0D401A38 MOV R0, R8
- 0D401A3A ANDS R3, R2
- 0D401A3C LSLS R2, R0, #0x12
- 0D401A3E ORRS R3, R2
- 0D401A40 LDR R2, =0xEFFFFFFF
- 0D401A42 MOV R0, R9
- 0D401A44 MOV R8, R2
- 0D401A46 ANDS R3, R2
- 0D401A48 LSLS R2, R0, #0x1C
- 0D401A4A ORRS R3, R2
- 0D401A4C STR R3, [R1]
- 0D401A4E MOVS R0, #0x64
- 0D401A50 BL delay_0
- 0D401A50
- 0D401A54 LDR R3, [R6]
- 0D401A56 ANDS R3, R5
- 0D401A58 ANDS R4, R3
- 0D401A5A MOVS R3, #0x40000000
- 0D401A5E MOV R2, R8
- 0D401A60 ORRS R4, R3
- 0D401A62 MOVS R3, #0x80
- 0D401A64 ANDS R4, R2
- 0D401A66 LSLS R3, R3, #0x15
- 0D401A68 ORRS R4, R3
- 0D401A6A LDR R3, =0xF7FFFFFF
- 0D401A6C ANDS R4, R3
- 0D401A6E MOVS R3, #0x8000000
- 0D401A72 ORRS R4, R3
- 0D401A74 MOVS R0, #0x3E8
- 0D401A78 STR R4, [R6]
- 0D401A7A BL delay_0
- 0D401A7A
- 0D401A7E LDR R3, [R6]
- 0D401A80 ANDS R5, R3
- 0D401A82 MOVS R3, #0x80000000
- 0D401A86 ORRS R5, R3
- 0D401A88 MOVS R0, #0x3E8
- 0D401A8C STR R5, [R6]
- 0D401A8E BL delay_0
- 0D401A8E
- 0D401A92 MOVS R0, #0x80
- 0D401A94 MOVS R1, #0x24
- 0D401A96 LSLS R0, R0, #1
- 0D401A98 BL d8b4xxx_stuff_1
- 0D401A98
- 0D401A9C MOVS R0, #5
- 0D401A9E BL delay_0
- 0D401A9E
- 0D401AA2 MOVS R0, #0x100
- 0D401AA6 MOVS R1, #0x20
- 0D401AA8 BL d8b4xxx_stuff_1
- 0D401AA8
- 0D401AAC MOVS R0, #0x4B
- 0D401AAE MOVS R1, #0
- 0D401AB0 BL d8b4xxx_stuff_3
- 0D401AB0
- 0D401AB4 LDR R3, [SP,#0x38+var_38]
- 0D401AB6 CMP R3, #1
- 0D401AB8 BNE loc_D401ABC
- 0D401AB8
- 0D401ABA B loc_D40222A
- 0D401ABA
- 0D401ABC
- 0D401ABC loc_D401ABC
- 0D401ABC MOVS R0, #0x48
- 0D401ABE LDR R1, =0xD0B
- 0D401AC0 BL d8b4xxx_stuff_3
- 0D401AC0
- 0D401AC4 MOVS R0, #0x32
- 0D401AC6 BL delay_0
- 0D401AC6
- 0D401ACA LDR R0, [SP,#0x38+var_38]
- 0D401ACC CMP R0, #1
- 0D401ACE BNE loc_D401AD2
- 0D401ACE
- 0D401AD0 B loc_D402240
- 0D401AD0
- 0D401AD2
- 0D401AD2 loc_D401AD2
- 0D401AD2 sub_D402208+36j
- 0D401AD2 LDR R1, =byte_50B
- 0D401AD4 MOVS R0, #0x48
- 0D401AD4
- 0D401AD6
- 0D401AD6 loc_D401AD6
- 0D401AD6 BL d8b4xxx_stuff_3
- 0D401AD6
- 0D401ADA MOVS R0, #0x32
- 0D401ADC BL delay_0
- 0D401ADC
- 0D401AE0 MOVS R0, #0x3E
- 0D401AE2 LDR R1, =0xF0F0
- 0D401AE4 BL d8b4xxx_stuff_3
- 0D401AE4
- 0D401AE8 MOVS R0, #0x3F
- 0D401AEA LDR R1, =0xF0F0
- 0D401AEC BL d8b4xxx_stuff_3
- 0D401AEC
- 0D401AF0 MOVS R0, #0x40
- 0D401AF2 LDR R1, =0x1616
- 0D401AF4 BL d8b4xxx_stuff_3
- 0D401AF4
- 0D401AF8 MOVS R0, #0x41
- 0D401AFA LDR R1, =0x1616
- 0D401AFC BL d8b4xxx_stuff_3
- 0D401AFC
- 0D401B00 MOVS R0, #0x42
- 0D401B02 LDR R1, =0x1616
- 0D401B04 BL d8b4xxx_stuff_3
- 0D401B04
- 0D401B08 MOVS R0, #0x43
- 0D401B0A LDR R1, =0x1616
- 0D401B0C BL d8b4xxx_stuff_3
- 0D401B0C
- 0D401B10 MOVS R0, #0x32
- 0D401B12 BL delay_0
- 0D401B12
- 0D401B16 LDR R2, [SP,#0x38+var_38]
- 0D401B18 CMP R2, #1
- 0D401B1A BNE loc_D401B1E
- 0D401B1A
- 0D401B1C B loc_D4022D6
- 0D401B1C
- 0D401B1E
- 0D401B1E loc_D401B1E
- 0D401B1E LDR R1, =byte_10B
- 0D401B20 MOVS R0, #0x48
- 0D401B20
- 0D401B22
- 0D401B22 loc_D401B22
- 0D401B22 BL d8b4xxx_stuff_3
- 0D401B22
- 0D401B26 MOVS R0, #0xA
- 0D401B28 BL delay_0
- 0D401B28
- 0D401B2C MOVS R1, #0x80
- 0D401B2E MOVS R0, #0x47
- 0D401B30 LSLS R1, R1, #8
- 0D401B32 BL d8b4xxx_stuff_3
- 0D401B32
- 0D401B36 MOVS R0, #0x27
- 0D401B38 MOVS R1, #0
- 0D401B3A BL d8b4xxx_stuff_3
- 0D401B3A
- 0D401B3E MOVS R0, #0x10C
- 0D401B42 LDR R1, =byte_1FF
- 0D401B44 BL d8b4xxx_stuff_1
- 0D401B44
- 0D401B48 LDR R0, =byte_10D
- 0D401B4A LDR R1, =0xFFF
- 0D401B4C BL d8b4xxx_stuff_1
- 0D401B4C
- 0D401B50 MOVS R0, #0x10E
- 0D401B54 MOVS R1, #7
- 0D401B56 BL d8b4xxx_stuff_1
- 0D401B56
- 0D401B5A LDR R0, =byte_10B
- 0D401B5C MOVS R1, #1
- 0D401B5E BL d8b4xxx_stuff_1
- 0D401B5E
- 0D401B62 LDR R0, =byte_109
- 0D401B64 MOVS R1, #4
- 0D401B66 BL d8b4xxx_stuff_1
- 0D401B66
- 0D401B6A MOVS R0, #0x108
- 0D401B6E MOVS R1, #6
- 0D401B70 BL d8b4xxx_stuff_1
- 0D401B70
- 0D401B74 MOVS R0, #0x10A
- 0D401B78 MOVS R1, #2
- 0D401B7A BL d8b4xxx_stuff_1
- 0D401B7A
- 0D401B7E LDR R0, =byte_15B
- 0D401B80 LDR R1, =0xEFF
- 0D401B82 BL d8b4xxx_stuff_1
- 0D401B82
- 0D401B86 MOVS R0, #0x134
- 0D401B8A MOVS R1, #8
- 0D401B8C BL d8b4xxx_stuff_1
- 0D401B8C
- 0D401B90 LDR R0, =byte_135
- 0D401B92 MOVS R1, #0xC
- 0D401B94 BL d8b4xxx_stuff_1
- 0D401B94
- 0D401B98 MOVS R0, #0x136
- 0D401B9C MOVS R1, #0x18
- 0D401B9E BL d8b4xxx_stuff_1
- 0D401B9E
- 0D401BA2 MOVS R0, #0x140
- 0D401BA6 MOVS R1, #6
- 0D401BA8 BL d8b4xxx_stuff_1
- 0D401BA8
- 0D401BAC MOVS R0, #0x15A
- 0D401BB0 MOVS R1, #5
- 0D401BB2 BL d8b4xxx_stuff_1
- 0D401BB2
- 0D401BB6 LDR R0, =byte_137
- 0D401BB8 MOVS R1, #5
- 0D401BBA BL d8b4xxx_stuff_1
- 0D401BBA
- 0D401BBE MOVS R0, #0x138
- 0D401BC2 MOVS R1, #5
- 0D401BC4 BL d8b4xxx_stuff_1
- 0D401BC4
- 0D401BC8 LDR R0, =byte_139
- 0D401BCA MOVS R1, #5
- 0D401BCC BL d8b4xxx_stuff_1
- 0D401BCC
- 0D401BD0 MOVS R0, #0x13A
- 0D401BD4 MOVS R1, #5
- 0D401BD6 BL d8b4xxx_stuff_1
- 0D401BD6
- 0D401BDA LDR R0, =byte_13B
- 0D401BDC MOVS R1, #5
- 0D401BDE BL d8b4xxx_stuff_1
- 0D401BDE
- 0D401BE2 MOVS R0, #0x13C
- 0D401BE6 MOVS R1, #5
- 0D401BE8 BL d8b4xxx_stuff_1
- 0D401BE8
- 0D401BEC LDR R0, =byte_13D
- 0D401BEE MOVS R1, #5
- 0D401BF0 BL d8b4xxx_stuff_1
- 0D401BF0
- 0D401BF4 MOVS R0, #0x13E
- 0D401BF8 MOVS R1, #5
- 0D401BFA BL d8b4xxx_stuff_1
- 0D401BFA
- 0D401BFE LDR R0, =byte_13F
- 0D401C00 MOVS R1, #5
- 0D401C02 BL d8b4xxx_stuff_1
- 0D401C02
- 0D401C06 MOVS R0, #0x1C
- 0D401C08 MOVS R1, #0
- 0D401C0A BL d8b4xxx_stuff_3
- 0D401C0A
- 0D401C0E MOVS R0, #0x1B
- 0D401C10 MOVS R1, #0
- 0D401C12 BL d8b4xxx_stuff_3
- 0D401C12
- 0D401C16 MOVS R0, #0
- 0D401C18 MOVS R1, #0
- 0D401C1A BL d8b4xxx_stuff_3
- 0D401C1A
- 0D401C1E MOVS R0, #0x15
- 0D401C20 MOVS R1, #1
- 0D401C22 BL d8b4xxx_stuff_3
- 0D401C22
- 0D401C26 MOVS R0, #0x16
- 0D401C28 MOVS R1, #0
- 0D401C2A BL d8b4xxx_stuff_3
- 0D401C2A
- 0D401C2E MOVS R0, #0x25
- 0D401C30 MOVS R1, #1
- 0D401C32 BL d8b4xxx_stuff_3
- 0D401C32
- 0D401C36 MOVS R0, #0x10
- 0D401C38 MOVS R1, #0
- 0D401C3A BL d8b4xxx_stuff_3
- 0D401C3A
- 0D401C3E MOVS R0, #0x23
- 0D401C40 MOVS R1, #8
- 0D401C42 BL d8b4xxx_stuff_3
- 0D401C42
- 0D401C46 MOVS R0, #1
- 0D401C48 MOVS R1, #7
- 0D401C4A BL d8b4xxx_stuff_3
- 0D401C4A
- 0D401C4E MOVS R0, #2
- 0D401C50 MOVS R1, #4
- 0D401C52 BL d8b4xxx_stuff_3
- 0D401C52
- 0D401C56 MOVS R0, #5
- 0D401C58 MOVS R1, #7
- 0D401C5A BL d8b4xxx_stuff_3
- 0D401C5A
- 0D401C5E MOVS R0, #8
- 0D401C60 MOVS R1, #4
- 0D401C62 BL d8b4xxx_stuff_3
- 0D401C62
- 0D401C66 MOVS R0, #9
- 0D401C68 MOVS R1, #0x18
- 0D401C6A BL d8b4xxx_stuff_3
- 0D401C6A
- 0D401C6E MOVS R0, #0xA
- 0D401C70 MOVS R1, #0x1B
- 0D401C72 BL d8b4xxx_stuff_3
- 0D401C72
- 0D401C76 MOVS R0, #4
- 0D401C78 MOVS R1, #0x17
- 0D401C7A BL d8b4xxx_stuff_3
- 0D401C7A
- 0D401C7E MOVS R0, #0x21
- 0D401C80 MOVS R1, #0xB
- 0D401C82 BL d8b4xxx_stuff_3
- 0D401C82
- 0D401C86 MOVS R0, #0xB
- 0D401C88 MOVS R1, #9
- 0D401C8A BL d8b4xxx_stuff_3
- 0D401C8A
- 0D401C8E MOVS R0, #0xC
- 0D401C90 MOVS R1, #0xB
- 0D401C92 BL d8b4xxx_stuff_3
- 0D401C92
- 0D401C96 MOVS R0, #0xD
- 0D401C98 MOVS R1, #6
- 0D401C9A BL d8b4xxx_stuff_3
- 0D401C9A
- 0D401C9E MOVS R0, #0xE
- 0D401CA0 MOVS R1, #0xC
- 0D401CA2 BL d8b4xxx_stuff_3
- 0D401CA2
- 0D401CA6 MOVS R0, #0xF
- 0D401CA8 MOVS R1, #0x17
- 0D401CAA BL d8b4xxx_stuff_3
- 0D401CAA
- 0D401CAE MOVS R1, #0xFC
- 0D401CB0 MOVS R0, #0x11
- 0D401CB2 LSLS R1, R1, #8
- 0D401CB4 BL d8b4xxx_stuff_3
- 0D401CB4
- 0D401CB8 MOVS R0, #0x12
- 0D401CBA MOVS R1, #0x1F
- 0D401CBC BL d8b4xxx_stuff_3
- 0D401CBC
- 0D401CC0 MOVS R0, #0x13
- 0D401CC2 MOVS R1, #0
- 0D401CC4 BL d8b4xxx_stuff_3
- 0D401CC4
- 0D401CC8 MOVS R0, #0x14
- 0D401CCA MOVS R1, #0
- 0D401CCC BL d8b4xxx_stuff_3
- 0D401CCC
- 0D401CD0 MOVS R0, #6
- 0D401CD2 MOVS R1, #2
- 0D401CD4 BL d8b4xxx_stuff_3
- 0D401CD4
- 0D401CD8 MOVS R0, #7
- 0D401CDA MOVS R1, #0xA
- 0D401CDC BL d8b4xxx_stuff_3
- 0D401CDC
- 0D401CE0 MOVS R0, #0x22
- 0D401CE2 MOVS R1, #8
- 0D401CE4 BL d8b4xxx_stuff_3
- 0D401CE4
- 0D401CE8 MOVS R1, #0xFF
- 0D401CEA MOVS R0, #0x1F
- 0D401CEC LSLS R1, R1, #5
- 0D401CEE BL d8b4xxx_stuff_3
- 0D401CEE
- 0D401CF2 MOVS R0, #0x20
- 0D401CF4 MOVS R1, #0
- 0D401CF6 BL d8b4xxx_stuff_3
- 0D401CF6
- 0D401CFA MOVS R0, #0x2C
- 0D401CFC LDR R1, =0x7252
- 0D401CFE BL d8b4xxx_stuff_3
- 0D401CFE
- 0D401D02 MOVS R0, #0x2D
- 0D401D04 LDR R1, =0x4A5E
- 0D401D06 BL d8b4xxx_stuff_3
- 0D401D06
- 0D401D0A MOVS R0, #0x2E
- 0D401D0C LDR R1, =0x7BDE
- 0D401D0E BL d8b4xxx_stuff_3
- 0D401D0E
- 0D401D12 MOVS R0, #0x2F
- 0D401D14 MOVS R1, #0xDE
- 0D401D16 BL d8b4xxx_stuff_3
- 0D401D16
- 0D401D1A MOVS R0, #0x30
- 0D401D1C MOVS R1, #0xCC
- 0D401D1E BL d8b4xxx_stuff_3
- 0D401D1E
- 0D401D22 MOVS R0, #0x31
- 0D401D24 MOVS R1, #0
- 0D401D26 BL d8b4xxx_stuff_3
- 0D401D26
- 0D401D2A MOVS R0, #0x32
- 0D401D2C MOVS R1, #0xCC
- 0D401D2E BL d8b4xxx_stuff_3
- 0D401D2E
- 0D401D32 MOVS R0, #0x33
- 0D401D34 MOVS R1, #0
- 0D401D36 BL d8b4xxx_stuff_3
- 0D401D36
- 0D401D3A MOVS R0, #0x34
- 0D401D3C MOVS R1, #0xCC
- 0D401D3E BL d8b4xxx_stuff_3
- 0D401D3E
- 0D401D42 MOVS R0, #0x35
- 0D401D44 MOVS R1, #0
- 0D401D46 BL d8b4xxx_stuff_3
- 0D401D46
- 0D401D4A MOVS R0, #0x36
- 0D401D4C LDR R1, =byte_8EC
- 0D401D4E BL d8b4xxx_stuff_3
- 0D401D4E
- 0D401D52 MOVS R0, #0x37
- 0D401D54 MOVS R1, #0
- 0D401D56 BL d8b4xxx_stuff_3
- 0D401D56
- 0D401D5A MOVS R0, #0x38
- 0D401D5C LDR R1, =byte_476
- 0D401D5E BL d8b4xxx_stuff_3
- 0D401D5E
- 0D401D62 MOVS R0, #0x39
- 0D401D64 MOVS R1, #0
- 0D401D66 BL d8b4xxx_stuff_3
- 0D401D66
- 0D401D6A LDR R3, [SP,#0x38+var_38]
- 0D401D6C CMP R3, #1
- 0D401D6E BNE loc_D401D72
- 0D401D6E
- 0D401D70 B loc_D4022B8
- 0D401D70
- 0D401D72
- 0D401D72 loc_D401D72
- 0D401D72 MOVS R0, #0x3A
- 0D401D74 MOVS R1, #0
- 0D401D76 BL d8b4xxx_stuff_3
- 0D401D76
- 0D401D7A MOVS R0, #0x3B
- 0D401D7C MOVS R1, #0
- 0D401D7E BL d8b4xxx_stuff_3
- 0D401D7E
- 0D401D82 MOVS R0, #0x3C
- 0D401D84 MOVS R1, #0
- 0D401D86 BL d8b4xxx_stuff_3
- 0D401D86
- 0D401D8A MOVS R0, #0x3D
- 0D401D8C MOVS R1, #0
- 0D401D8C
- 0D401D8E
- 0D401D8E loc_D401D8E
- 0D401D8E BL d8b4xxx_stuff_3
- 0D401D8E
- 0D401D92 BL get_stack_ptr_maybe
- 0D401D92
- 0D401D96 MOVS R4, R0
- 0D401D98 MOVS R0, #0x3A
- 0D401D9A BL sub_D4024A0
- 0D401D9A
- 0D401D9E STR R0, [R4,#4]
- 0D401DA0 MOVS R0, #0x3B
- 0D401DA2 BL sub_D4024A0
- 0D401DA2
- 0D401DA6 STR R0, [R4,#8]
- 0D401DA8 MOVS R0, #0x3C
- 0D401DAA BL sub_D4024A0
- 0D401DAA
- 0D401DAE STR R0, [R4,#0xC]
- 0D401DB0 MOVS R0, #0x3D
- 0D401DB2 BL sub_D4024A0
- 0D401DB2
- 0D401DB6 LDR R3, =0xCAFEBABE
- 0D401DB8 STR R0, [R4,#0x10]
- 0D401DBA MOVS R1, #0
- 0D401DBC STR R3, [R4,#0x14]
- 0D401DBE MOVS R0, #0x45
- 0D401DC0 BL d8b4xxx_stuff_3
- 0D401DC0
- 0D401DC4 MOVS R0, #0x80
- 0D401DC6 MOVS R1, #0
- 0D401DC8 LSLS R0, R0, #1
- 0D401DCA BL d8b4xxx_stuff_1
- 0D401DCA
- 0D401DCE MOVS R0, #5
- 0D401DD0 BL delay_0
- 0D401DD0
- 0D401DD4 MOVS R1, #1
- 0D401DD6 MOVS R0, #0x18
- 0D401DD8 BL d8b4xxx_stuff_3
- 0D401DD8
- 0D401DDC MOVS R0, #5
- 0D401DDE BL delay_0
- 0D401DDE
- 0D401DE2 MOVS R1, #1
- 0D401DE4 MOVS R0, #0x17
- 0D401DE6 BL d8b4xxx_stuff_3
- 0D401DE6
- 0D401DEA MOVS R0, #0xC8
- 0D401DEC BL delay_0
- 0D401DEC
- 0D401DF0 MOVS R0, #0x4B
- 0D401DF2 MOVS R1, #0
- 0D401DF4 BL d8b4xxx_stuff_3
- 0D401DF4
- 0D401DF8 MOVS R0, #0x4C
- 0D401DFA MOVS R1, #1
- 0D401DFC B loc_D401E7C
- 0D401DFC
- 0D401DFE ALIGN 0x10
- 0D401E00 off_D401E00 DCD dword_D8001C0
- 0D401E04 dword_D401E04 DCD 0x7FFFFFFF
- 0D401E08 dword_D401E08 DCD 0xBFFFFFFF
- 0D401E0C off_D401E0C DCD dword_D8001BC
- 0D401E10 dword_D401E10 DCD 0xFFFC003F
- 0D401E14 dword_D401E14 DCD 0xF803FFFF
- 0D401E18 dword_D401E18 DCD 0xEFFFFFFF
- 0D401E1C dword_D401E1C DCD 0xF7FFFFFF
- 0D401E20 dword_D401E20 DCD 0xD0B
- 0D401E24 off_D401E24 DCD byte_50B
- 0D401E28 dword_D401E28 DCD 0xF0F0
- 0D401E28 sub_D40195A+190r
- 0D401E2C dword_D401E2C DCD 0x1616
- 0D401E2C sub_D40195A+1A0r ...
- 0D401E30 off_D401E30 DCD byte_10B
- 0D401E30 sub_D40195A+200r
- 0D401E34 off_D401E34 DCD byte_1FF
- 0D401E38 off_D401E38 DCD byte_10D
- 0D401E3C dword_D401E3C DCD 0xFFF
- 0D401E40 off_D401E40 DCD byte_109
- 0D401E44 off_D401E44 DCD byte_15B
- 0D401E48 dword_D401E48 DCD 0xEFF
- 0D401E4C off_D401E4C DCD byte_135
- 0D401E50 off_D401E50 DCD byte_137
- 0D401E54 off_D401E54 DCD byte_139
- 0D401E58 off_D401E58 DCD byte_13B
- 0D401E5C off_D401E5C DCD byte_13D
- 0D401E60 off_D401E60 DCD byte_13F
- 0D401E64 dword_D401E64 DCD 0x7252
- 0D401E68 dword_D401E68 DCD 0x4A5E
- 0D401E6C dword_D401E6C DCD 0x7BDE
- 0D401E70 off_D401E70 DCD byte_8EC
- 0D401E74 off_D401E74 DCD byte_476
- 0D401E78 dword_D401E78 DCD 0xCAFEBABE
- 0D401E7C
- 0D401E7C loc_D401E7C
- 0D401E7C BL d8b4xxx_stuff_3
- 0D401E7C
- 0D401E80 MOVS R0, #0x160
- 0D401E84 LDR R1, =0xFFFF
- 0D401E86 BL d8b4xxx_stuff_1
- 0D401E86
- 0D401E8A LDR R0, =byte_161
- 0D401E8C MOVS R1, #0x20
- 0D401E8E BL d8b4xxx_stuff_1
- 0D401E8E
- 0D401E92 LDR R0, =byte_161
- 0D401E94 MOVS R1, #0x21
- 0D401E96 BL d8b4xxx_stuff_1
- 0D401E96
- 0D401E9A MOVS R1, #0x20
- 0D401E9C LDR R0, =byte_161
- 0D401E9E BL d8b4xxx_stuff_1
- 0D401E9E
- 0D401EA2 MOVS R0, #1
- 0D401EA4 BL delay_0
- 0D401EA4
- 0D401EA8 MOVS R0, #0x160
- 0D401EAC LDR R1, =0x2882
- 0D401EAE BL d8b4xxx_stuff_1
- 0D401EAE
- 0D401EB2 LDR R0, =byte_161
- 0D401EB4 MOVS R1, #0x22
- 0D401EB6 BL d8b4xxx_stuff_1
- 0D401EB6
- 0D401EBA LDR R0, =byte_161
- 0D401EBC MOVS R1, #0x23
- 0D401EBE BL d8b4xxx_stuff_1
- 0D401EBE
- 0D401EC2 MOVS R1, #0x22
- 0D401EC4 LDR R0, =byte_161
- 0D401EC6 BL d8b4xxx_stuff_1
- 0D401EC6
- 0D401ECA MOVS R0, #5
- 0D401ECC BL delay_0
- 0D401ECC
- 0D401ED0 MOVS R0, #0x160
- 0D401ED4 LDR R1, =0x2882
- 0D401ED6 BL d8b4xxx_stuff_1
- 0D401ED6
- 0D401EDA LDR R0, =byte_161
- 0D401EDC MOVS R1, #0x24
- 0D401EDE BL d8b4xxx_stuff_1
- 0D401EDE
- 0D401EE2 LDR R0, =byte_161
- 0D401EE4 MOVS R1, #0x25
- 0D401EE6 BL d8b4xxx_stuff_1
- 0D401EE6
- 0D401EEA MOVS R1, #0x24
- 0D401EEC LDR R0, =byte_161
- 0D401EEE BL d8b4xxx_stuff_1
- 0D401EEE
- 0D401EF2 MOVS R0, #5
- 0D401EF4 BL delay_0
- 0D401EF4
- 0D401EF8 MOVS R0, #0x160
- 0D401EFC LDR R1, =0x2C82
- 0D401EFE BL d8b4xxx_stuff_1
- 0D401EFE
- 0D401F02 LDR R0, =byte_161
- 0D401F04 MOVS R1, #0x22
- 0D401F06 BL d8b4xxx_stuff_1
- 0D401F06
- 0D401F0A LDR R0, =byte_161
- 0D401F0C MOVS R1, #0x23
- 0D401F0E BL d8b4xxx_stuff_1
- 0D401F0E
- 0D401F12 MOVS R1, #0x22
- 0D401F14 LDR R0, =byte_161
- 0D401F16 BL d8b4xxx_stuff_1
- 0D401F16
- 0D401F1A MOVS R0, #5
- 0D401F1C BL delay_0
- 0D401F1C
- 0D401F20 MOVS R0, #0x29
- 0D401F22 BL sub_D4024A0
- 0D401F22
- 0D401F26 LSLS R0, R0, #0x18
- 0D401F28 LSRS R5, R0, #0x18
- 0D401F2A MOVS R0, #0x160
- 0D401F2E LDR R1, =0x2882
- 0D401F30 BL d8b4xxx_stuff_1
- 0D401F30
- 0D401F34 LDR R0, =byte_161
- 0D401F36 MOVS R1, #0x22
- 0D401F38 BL d8b4xxx_stuff_1
- 0D401F38
- 0D401F3C LDR R0, =byte_161
- 0D401F3E MOVS R1, #0x23
- 0D401F40 BL d8b4xxx_stuff_1
- 0D401F40
- 0D401F44 MOVS R1, #0x22
- 0D401F46 LDR R0, =byte_161
- 0D401F48 BL d8b4xxx_stuff_1
- 0D401F48
- 0D401F4C MOVS R0, #5
- 0D401F4E BL delay_0
- 0D401F4E
- 0D401F52 MOVS R0, #0x160
- 0D401F56 LDR R1, =0x2C82
- 0D401F58 BL d8b4xxx_stuff_1
- 0D401F58
- 0D401F5C LDR R0, =byte_161
- 0D401F5E MOVS R1, #0x24
- 0D401F60 BL d8b4xxx_stuff_1
- 0D401F60
- 0D401F64 LDR R0, =byte_161
- 0D401F66 MOVS R1, #0x25
- 0D401F68 BL d8b4xxx_stuff_1
- 0D401F68
- 0D401F6C MOVS R1, #0x24
- 0D401F6E LDR R0, =byte_161
- 0D401F70 BL d8b4xxx_stuff_1
- 0D401F70
- 0D401F74 MOVS R0, #5
- 0D401F76 BL delay_0
- 0D401F76
- 0D401F7A MOVS R0, #0x29
- 0D401F7C BL sub_D4024A0
- 0D401F7C
- 0D401F80 LSLS R0, R0, #0x10
- 0D401F82 LSRS R4, R0, #0x18
- 0D401F84 MOVS R0, #0x160
- 0D401F88 LDR R1, =0x2882
- 0D401F8A BL d8b4xxx_stuff_1
- 0D401F8A
- 0D401F8E LDR R0, =byte_161
- 0D401F90 MOVS R1, #0x24
- 0D401F92 BL d8b4xxx_stuff_1
- 0D401F92
- 0D401F96 LDR R0, =byte_161
- 0D401F98 MOVS R1, #0x25
- 0D401F9A BL d8b4xxx_stuff_1
- 0D401F9A
- 0D401F9E MOVS R1, #0x24
- 0D401FA0 LDR R0, =byte_161
- 0D401FA2 BL d8b4xxx_stuff_1
- 0D401FA2
- 0D401FA6 MOVS R0, #5
- 0D401FA8 BL delay_0
- 0D401FA8
- 0D401FAC MOVS R0, #0x160
- 0D401FB0 LDR R1, =byte_903
- 0D401FB2 BL d8b4xxx_stuff_1
- 0D401FB2
- 0D401FB6 LDR R0, =byte_161
- 0D401FB8 MOVS R1, #0x22
- 0D401FBA BL d8b4xxx_stuff_1
- 0D401FBA
- 0D401FBE LDR R0, =byte_161
- 0D401FC0 MOVS R1, #0x23
- 0D401FC2 BL d8b4xxx_stuff_1
- 0D401FC2
- 0D401FC6 MOVS R1, #0x22
- 0D401FC8 LDR R0, =byte_161
- 0D401FCA BL d8b4xxx_stuff_1
- 0D401FCA
- 0D401FCE MOVS R0, #1
- 0D401FD0 BL delay_0
- 0D401FD0
- 0D401FD4 MOVS R0, #0x160
- 0D401FD8 LDR R1, =byte_903
- 0D401FDA BL d8b4xxx_stuff_1
- 0D401FDA
- 0D401FDE LDR R0, =byte_161
- 0D401FE0 MOVS R1, #0x24
- 0D401FE2 BL d8b4xxx_stuff_1
- 0D401FE2
- 0D401FE6 LDR R0, =byte_161
- 0D401FE8 MOVS R1, #0x25
- 0D401FEA BL d8b4xxx_stuff_1
- 0D401FEA
- 0D401FEE MOVS R1, #0x24
- 0D401FF0 LDR R0, =byte_161
- 0D401FF2 BL d8b4xxx_stuff_1
- 0D401FF2
- 0D401FF6 MOVS R0, #1
- 0D401FF8 BL delay_0
- 0D401FF8
- 0D401FFC MOVS R0, #0x4C
- 0D401FFE MOVS R1, #0
- 0D402000 BL d8b4xxx_stuff_3
- 0D402000
- 0D402004 MOVS R0, #0x18
- 0D402006 MOVS R1, #0
- 0D402008 BL d8b4xxx_stuff_3
- 0D402008
- 0D40200C MOVS R0, #0x17
- 0D40200E MOVS R1, #0
- 0D402010 BL d8b4xxx_stuff_3
- 0D402010
- 0D402014 MOVS R0, #0xC8
- 0D402016 BL delay_0
- 0D402016
- 0D40201A CMP R5, R4
- 0D40201C BNE loc_D402020
- 0D40201C
- 0D40201E B loc_D4022A6
- 0D40201E
- 0D402020
- 0D402020 loc_D402020
- 0D402020 MOVS R0, #0x17
- 0D402022 MOVS R1, #1
- 0D402024 BL d8b4xxx_stuff_3
- 0D402024
- 0D402028 MOVS R0, #5
- 0D40202A BL delay_0
- 0D40202A
- 0D40202E MOVS R0, #0x18
- 0D40202E
- 0D402030
- 0D402030 loc_D402030
- 0D402030 MOVS R1, #1
- 0D402032 BL d8b4xxx_stuff_3
- 0D402032
- 0D402036 MOVS R0, #0xC8
- 0D402038 BL delay_0
- 0D402038
- 0D40203C MOVS R0, #0x4B
- 0D40203E MOVS R1, #0
- 0D402040 BL d8b4xxx_stuff_3
- 0D402040
- 0D402044 CMP R5, R4
- 0D402046 BEQ loc_D402058
- 0D402046
- 0D402048 LDR R0, =byte_10B
- 0D40204A MOVS R1, #7
- 0D40204C BL d8b4xxx_stuff_1
- 0D40204C
- 0D402050 MOVS R0, #0x15
- 0D402052 MOVS R1, #0
- 0D402054 BL d8b4xxx_stuff_3
- 0D402054
- 0D402058
- 0D402058 loc_D402058
- 0D402058 MOVS R0, #0x160
- 0D40205C LDR R1, =0xFFFF
- 0D40205E BL d8b4xxx_stuff_1
- 0D40205E
- 0D402062 LDR R0, =byte_161
- 0D402064 MOVS R1, #0x20
- 0D402066 BL d8b4xxx_stuff_1
- 0D402066
- 0D40206A LDR R0, =byte_161
- 0D40206C MOVS R1, #0x21
- 0D40206E BL d8b4xxx_stuff_1
- 0D40206E
- 0D402072 LDR R0, =byte_161
- 0D402074 MOVS R1, #0x20
- 0D402076 BL d8b4xxx_stuff_1
- 0D402076
- 0D40207A MOVS R0, #2
- 0D40207C BL delay_0
- 0D40207C
- 0D402080 CMP R5, R4
- 0D402082 BNE loc_D402086
- 0D402082
- 0D402084 B loc_D40229E
- 0D402084
- 0D402086
- 0D402086 loc_D402086
- 0D402086 MOVS R0, #0xB0
- 0D402088 LDR R1, =0x288A
- 0D40208A LSLS R0, R0, #1
- 0D40208A
- 0D40208C
- 0D40208C loc_D40208C
- 0D40208C BL d8b4xxx_stuff_1
- 0D40208C
- 0D402090 LDR R0, =byte_161
- 0D402092 MOVS R1, #0x22
- 0D402094 BL d8b4xxx_stuff_1
- 0D402094
- 0D402098 LDR R0, =byte_161
- 0D40209A MOVS R1, #0x23
- 0D40209C BL d8b4xxx_stuff_1
- 0D40209C
- 0D4020A0 LDR R0, =byte_161
- 0D4020A2 MOVS R1, #0x22
- 0D4020A4 BL d8b4xxx_stuff_1
- 0D4020A4
- 0D4020A8 MOVS R0, #1
- 0D4020AA BL delay_0
- 0D4020AA
- 0D4020AE CMP R5, R4
- 0D4020B0 BNE loc_D4020B4
- 0D4020B0
- 0D4020B2 B loc_D402314
- 0D4020B2
- 0D4020B4
- 0D4020B4 loc_D4020B4
- 0D4020B4 sub_D40195A+9E2j
- 0D4020B4 MOVS R0, #0x160
- 0D4020B8 LDR R1, =byte_903
- 0D4020BA BL d8b4xxx_stuff_1
- 0D4020BA
- 0D4020BE LDR R0, =byte_161
- 0D4020C0 MOVS R1, #0x22
- 0D4020C2 BL d8b4xxx_stuff_1
- 0D4020C2
- 0D4020C6 LDR R0, =byte_161
- 0D4020C8 MOVS R1, #0x23
- 0D4020CA BL d8b4xxx_stuff_1
- 0D4020CA
- 0D4020CE LDR R0, =byte_161
- 0D4020D0 MOVS R1, #0x22
- 0D4020D2 BL d8b4xxx_stuff_1
- 0D4020D2
- 0D4020D6 MOVS R0, #1
- 0D4020D8 BL delay_0
- 0D4020D8
- 0D4020DC CMP R5, R4
- 0D4020DE BNE loc_D4020E2
- 0D4020DE
- 0D4020E0 B loc_D4022EA
- 0D4020E0
- 0D4020E2
- 0D4020E2 loc_D4020E2
- 0D4020E2 sub_D402280+92j
- 0D4020E2 MOVS R0, #0x46
- 0D4020E4 BL delay_0
- 0D4020E4
- 0D4020E8 MOVS R0, #0x160
- 0D4020EC LDR R1, =0xFFFF
- 0D4020EE BL d8b4xxx_stuff_1
- 0D4020EE
- 0D4020F2 LDR R0, =byte_161
- 0D4020F4 MOVS R1, #0x20
- 0D4020F6 BL d8b4xxx_stuff_1
- 0D4020F6
- 0D4020FA LDR R0, =byte_161
- 0D4020FC MOVS R1, #0x21
- 0D4020FE BL d8b4xxx_stuff_1
- 0D4020FE
- 0D402102 MOVS R1, #0x20
- 0D402104 LDR R0, =byte_161
- 0D402106 BL d8b4xxx_stuff_1
- 0D402106
- 0D40210A MOVS R0, #2
- 0D40210C BL delay_0
- 0D40210C
- 0D402110 MOVS R0, #0x160
- 0D402114 LDR R1, =0xFFFF
- 0D402116 BL d8b4xxx_stuff_1
- 0D402116
- 0D40211A LDR R0, =byte_161
- 0D40211C MOVS R1, #2
- 0D40211E BL d8b4xxx_stuff_1
- 0D40211E
- 0D402122 LDR R0, =byte_161
- 0D402124 MOVS R1, #3
- 0D402126 BL d8b4xxx_stuff_1
- 0D402126
- 0D40212A MOVS R1, #2
- 0D40212C LDR R0, =byte_161
- 0D40212E BL d8b4xxx_stuff_1
- 0D40212E
- 0D402132 MOVS R0, #5
- 0D402134 BL delay_0
- 0D402134
- 0D402138 MOVS R0, #0x160
- 0D40213C LDR R1, =0xFFFF
- 0D40213E BL d8b4xxx_stuff_1
- 0D40213E
- 0D402142 LDR R0, =byte_161
- 0D402144 MOVS R1, #2
- 0D402146 BL d8b4xxx_stuff_1
- 0D402146
- 0D40214A LDR R0, =byte_161
- 0D40214C MOVS R1, #3
- 0D40214E BL d8b4xxx_stuff_1
- 0D40214E
- 0D402152 MOVS R1, #2
- 0D402154 LDR R0, =byte_161
- 0D402156 BL d8b4xxx_stuff_1
- 0D402156
- 0D40215A MOVS R0, #5
- 0D40215C BL delay_0
- 0D40215C
- 0D402160 LDR R3, =word_D8B4000
- 0D402162 MOVS R2, #0
- 0D402164 STRH R2, [R3]
- 0D402166 ADDS R3, #2
- 0D402168 STRH R2, [R3]
- 0D40216A ADDS R3, #2
- 0D40216C STRH R2, [R3]
- 0D40216E ADDS R3, #2
- 0D402170 STRH R2, [R3]
- 0D402172 ADDS R3, #2
- 0D402174 STRH R2, [R3]
- 0D402176 ADDS R3, #2
- 0D402178 STRH R2, [R3]
- 0D40217A ADDS R3, #2
- 0D40217C STRH R2, [R3]
- 0D40217E ADDS R3, #2
- 0D402180 STRH R2, [R3]
- 0D402182 LDR R2, [SP,#0x38+var_30]
- 0D402184 MOVS R3, #0xFB0
- 0D402188 MOVS R0, R2
- 0D40218A MULS R0, R3
- 0D40218C LDR R1, =0x2710
- 0D40218E BL sub_D403DC8
- 0D40218E
- 0D402192 LDR R3, =word_D8B4026
- 0D402194 SUBS R6, R0, #1
- 0D402196 STRH R6, [R3]
- 0D402198 LDR R3, [SP,#0x38+var_34]
- 0D40219A CMP R3, #1
- 0D40219C BNE loc_D4021A0
- 0D40219C
- 0D40219E B loc_D402298
- 0D40219E
- 0D4021A0
- 0D4021A0 loc_D4021A0
- 0D4021A0 MOVS R0, #0x18
- 0D4021A2 MOVS R1, #0
- 0D4021A4 BL d8b4xxx_stuff_3
- 0D4021A4
- 0D4021A8 MOVS R0, #0x19
- 0D4021AA MOVS R1, #1
- 0D4021AC BL d8b4xxx_stuff_3
- 0D4021AC
- 0D4021B0 LDR R2, [SP,#0x38+var_30]
- 0D4021B2 MOVS R3, #0x27
- 0D4021B4 MOVS R1, #0xA
- 0D4021B6 MOVS R0, R2
- 0D4021B8 MULS R0, R3
- 0D4021BA BL sub_D403DC8
- 0D4021BA
- 0D4021BE MOVS R6, R0
- 0D4021C0 MOVS R1, R6
- 0D4021C2 LDR R0, =(dword_110+3)
- 0D4021C4 BL d8b4xxx_stuff_1
- 0D4021C4
- 0D4021C8
- 0D4021C8 loc_D4021C8
- 0D4021C8 LDR R0, =byte_165
- 0D4021CA MOVS R1, #0x29
- 0D4021CC BL d8b4xxx_stuff_1
- 0D4021CC
- 0D4021D0 MOVS R0, #0xB2
- 0D4021D2 MOVS R1, R5
- 0D4021D4 LSLS R0, R0, #1
- 0D4021D6 BL d8b4xxx_stuff_1
- 0D4021D6
- 0D4021DA LDR R0, =byte_165
- 0D4021DC MOVS R1, #0x2B
- 0D4021DE BL d8b4xxx_stuff_1
- 0D4021DE
- 0D4021E2 MOVS R0, #0xB2
- 0D4021E4 MOVS R1, R4
- 0D4021E6 LSLS R0, R0, #1
- 0D4021E8 BL d8b4xxx_stuff_1
- 0D4021E8
- 0D4021EC BL get_stack_ptr_maybe
- 0D4021EC
- 0D4021F0 LSLS R3, R4, #8
- 0D4021F2 ADDS R3, R3, R5
- 0D4021F4 ADD SP, SP, #0xC
- 0D4021F6 STR R3, [R0]
- 0D4021F8 POP {R3-R6}
- 0D4021FA MOV R8, R3
- 0D4021FC MOV R9, R4
- 0D4021FE MOV R10, R5
- 0D402200 MOV R11, R6
- 0D402202 POP {R4-R7}
- 0D402204 POP {R0}
- 0D402206 BX R0
- 0D402206
- 0D402206
- 0D402206
- 0D402208
- 0D402208
- 0D402208
- 0D402208
- 0D402208 sub_D402208
- 0D402208
- 0D402208 arg_0 = 0
- 0D402208
- 0D402208 MOVS R0, #0x18
- 0D40220A MOVS R1, #0
- 0D40220C BL d8b4xxx_stuff_3
- 0D40220C
- 0D402210 MOVS R0, #0x19
- 0D402212 MOVS R1, #0
- 0D402214 BL d8b4xxx_stuff_3
- 0D402214
- 0D402218 MOVS R0, #0x17
- 0D40221A MOVS R1, #0
- 0D40221C BL d8b4xxx_stuff_3
- 0D40221C
- 0D402220 MOVS R0, #0xA
- 0D402222 BL delay_0
- 0D402222
- 0D402226 BL sub_D40195A
- 0D402226
- 0D40222A
- 0D40222A loc_D40222A
- 0D40222A MOVS R0, #0x48
- 0D40222C LDR R1, =0xD09
- 0D40222E BL d8b4xxx_stuff_3
- 0D40222E
- 0D402232 MOVS R0, #0x32
- 0D402234 BL delay_0
- 0D402234
- 0D402238 LDR R0, [SP,#arg_0]
- 0D40223A CMP R0, #1
- 0D40223C BEQ loc_D402240
- 0D40223C
- 0D40223E B loc_D401AD2
- 0D40223E
- 0D402240
- 0D402240 loc_D402240
- 0D402240 sub_D402208+34j
- 0D402240 LDR R1, =byte_509
- 0D402242 MOVS R0, #0x48
- 0D402244 B loc_D401AD6
- 0D402244
- 0D402244
- 0D402244
- 0D402246 ALIGN 4
- 0D402248 dword_D402248 DCD 0xFFFF
- 0D402248 sub_D40195A+702r ...
- 0D40224C off_D40224C DCD byte_161
- 0D40224C sub_D40195A+538r ...
- 0D402250 dword_D402250 DCD 0x2882
- 0D402250 sub_D40195A+57Ar ...
- 0D402254 dword_D402254 DCD 0x2C82
- 0D402254 sub_D40195A+5FCr
- 0D402258 off_D402258 DCD byte_903
- 0D402258 sub_D40195A+67Er ...
- 0D40225C off_D40225C DCD byte_10B
- 0D402260 dword_D402260 DCD 0x288A
- 0D402264 off_D402264 DCD word_D8B4000
- 0D402268 dword_D402268 DCD 0x2710
- 0D40226C off_D40226C DCD word_D8B4026
- 0D402270 off_D402270 DCD dword_110+3
- 0D402274 off_D402274 DCD byte_165
- 0D402274 sub_D40195A+880r
- 0D402278 dword_D402278 DCD 0xD09
- 0D40227C off_D40227C DCD byte_509
- 0D402280
- 0D402280
- 0D402280
- 0D402280
- 0D402280 sub_D402280
- 0D402280 MOVS R3, #0x3E8
- 0D402284 CMP R10, R3
- 0D402286 BLS loc_D4022DC
- 0D402286
- 0D402288 MOVS R3, #0
- 0D40228A MOVS R2, #1
- 0D40228C MOV R9, R2
- 0D40228E MOV R8, R3
- 0D402290 MOV R11, R3
- 0D402292 SUBS R7, R0, #1
- 0D402294 BL loc_D401A0E
- 0D402294
- 0D402298
- 0D402298 loc_D402298
- 0D402298 BL sub_D4023B0
- 0D402298
- 0D40229C B loc_D4021C8
- 0D40229C
- 0D40229E
- 0D40229E loc_D40229E
- 0D40229E MOVS R0, #0xB0
- 0D4022A0 LDR R1, =0x288E
- 0D4022A2 LSLS R0, R0, #1
- 0D4022A4 B loc_D40208C
- 0D4022A4
- 0D4022A6
- 0D4022A6 loc_D4022A6
- 0D4022A6 MOVS R0, #0x18
- 0D4022A8 MOVS R1, #1
- 0D4022AA BL d8b4xxx_stuff_3
- 0D4022AA
- 0D4022AE MOVS R0, #5
- 0D4022B0 BL delay_0
- 0D4022B0
- 0D4022B4 MOVS R0, #0x17
- 0D4022B6 B loc_D402030
- 0D4022B6
- 0D4022B8
- 0D4022B8 loc_D4022B8
- 0D4022B8 MOVS R0, #0x3A
- 0D4022BA LDR R1, =0x800F
- 0D4022BC BL d8b4xxx_stuff_3
- 0D4022BC
- 0D4022C0 MOVS R0, #0x3B
- 0D4022C2 MOVS R1, #7
- 0D4022C4 BL d8b4xxx_stuff_3
- 0D4022C4
- 0D4022C8 MOVS R0, #0x3C
- 0D4022CA LDR R1, =0x800F
- 0D4022CC BL d8b4xxx_stuff_3
- 0D4022CC
- 0D4022D0 MOVS R0, #0x3D
- 0D4022D2 MOVS R1, #7
- 0D4022D4 B loc_D401D8E
- 0D4022D4
- 0D4022D6
- 0D4022D6 loc_D4022D6
- 0D4022D6 LDR R1, =byte_109
- 0D4022D8 MOVS R0, #0x48
- 0D4022DA B loc_D401B22
- 0D4022DA
- 0D4022DC
- 0D4022DC loc_D4022DC
- 0D4022DC MOVS R2, #0
- 0D4022DE MOVS R3, #4
- 0D4022E0 MOV R9, R2
- 0D4022E2 MOV R8, R3
- 0D4022E4 MOV R11, R2
- 0D4022E6 BL loc_D401A0A
- 0D4022E6
- 0D4022EA
- 0D4022EA loc_D4022EA
- 0D4022EA MOVS R0, #0x160
- 0D4022EE LDR R1, =byte_903
- 0D4022F0 BL d8b4xxx_stuff_1
- 0D4022F0
- 0D4022F4 LDR R0, =byte_161
- 0D4022F6 MOVS R1, #0x24
- 0D4022F8 BL d8b4xxx_stuff_1
- 0D4022F8
- 0D4022FC LDR R0, =byte_161
- 0D4022FE MOVS R1, #0x25
- 0D402300 BL d8b4xxx_stuff_1
- 0D402300
- 0D402304 LDR R0, =byte_161
- 0D402306 MOVS R1, #0x24
- 0D402308 BL d8b4xxx_stuff_1
- 0D402308
- 0D40230C MOVS R0, #1
- 0D40230E BL delay_0
- 0D40230E
- 0D402312 B loc_D4020E2
- 0D402312
- 0D402312
- 0D402312
- 0D402314
- 0D402314
- 0D402314 loc_D402314
- 0D402314 MOVS R0, #0x160
- 0D402318 LDR R1, =0x288E
- 0D40231A BL d8b4xxx_stuff_1
- 0D40231A
- 0D40231E LDR R0, =byte_161
- 0D402320 MOVS R1, #0x24
- 0D402322 BL d8b4xxx_stuff_1
- 0D402322
- 0D402326 LDR R0, =byte_161
- 0D402328 MOVS R1, #0x25
- 0D40232A BL d8b4xxx_stuff_1
- 0D40232A
- 0D40232E LDR R0, =byte_161
- 0D402330 MOVS R1, #0x24
- 0D402332 BL d8b4xxx_stuff_1
- 0D402332
- 0D402336 MOVS R0, #1
- 0D402338 BL delay_0
- 0D402338
- 0D40233C B loc_D4020B4
- 0D40233C
- 0D40233C
- 0D40233E ALIGN 0x10
- 0D402340 dword_D402340 DCD 0x288E
- 0D402340 sub_D40195A+9BEr
- 0D402344 dword_D402344 DCD 0x800F
- 0D402344 sub_D402280+4Ar
- 0D402348 off_D402348 DCD byte_109
- 0D40234C off_D40234C DCD byte_903
- 0D402350 off_D402350 DCD byte_161
- 0D402350 sub_D402280+7Cr ...
- 0D402354
- 0D402354
- 0D402354
- 0D402354
- 0D402354 call_init_dram
- 0D402354
- 0D402354 var_18 = -0x18
- 0D402354 var_14 = -0x14
- 0D402354 var_10 = -0x10
- 0D402354
- 0D402354 PUSH {R4,R5,LR}
- 0D402356 SUB SP, SP, #0xC
- 0D402358 LSLS R0, R0, #0x18
- 0D40235A LSLS R1, R1, #0x18
- 0D40235C LSRS R4, R0, #0x18
- 0D40235E LSRS R5, R1, #0x18
- 0D402360 ADD R0, SP, #0x18+var_10
- 0D402362 ADD R1, SP, #0x18+var_14
- 0D402364 BL sub_D401488
- 0D402364
- 0D402368 LDR R3, [SP,#0x18+var_10]
- 0D40236A CMP R3, #0
- 0D40236C BEQ loc_D40238C
- 0D40236C
- 0D40236E MOVS R0, #0
- 0D402370 CMP R4, #1
- 0D402372 BEQ loc_D402398
- 0D402372
- 0D402374
- 0D402374 loc_D402374
- 0D402374 MOVS R3, #0xF3
- 0D402374
- 0D402376
- 0D402376 loc_D402376
- 0D402376 STR R0, [SP,#0x18+var_18]
- 0D402378 LDR R1, =byte_3E7
- 0D40237A MOVS R0, R3
- 0D40237C MOVS R2, R4
- 0D40237E MOVS R3, R5
- 0D402380 BL init_dram
- 0D402380
- 0D402384 ADD SP, SP, #0xC
- 0D402386 POP {R4,R5}
- 0D402388 POP {R0}
- 0D40238A BX R0
- 0D40238A
- 0D40238C
- 0D40238C loc_D40238C
- 0D40238C BL read_d806024
- 0D40238C
- 0D402390 LSLS R0, R0, #0x1D
- 0D402392 LSRS R0, R0, #0x1F
- 0D402394 CMP R4, #1
- 0D402396 BNE loc_D402374
- 0D402396
- 0D402398
- 0D402398 loc_D402398
- 0D402398 MOVS R3, #0xA2
- 0D40239A B loc_D402376
- 0D40239A
- 0D40239A
- 0D40239A
- 0D40239C off_D40239C DCD byte_3E7
- 0D4023A0
- 0D4023A0
- 0D4023A0
- 0D4023A0
- 0D4023A0 sub_D4023A0
- 0D4023A0 PUSH {LR}
- 0D4023A2 MOVS R0, #0x100
- 0D4023A6 MOVS R1, #1
- 0D4023A8 BL d8b4xxx_stuff_1
- 0D4023A8
- 0D4023AC POP {R0}
- 0D4023AE BX R0
- 0D4023AE
- 0D4023AE
- 0D4023AE
- 0D4023B0
- 0D4023B0
- 0D4023B0
- 0D4023B0
- 0D4023B0 sub_D4023B0
- 0D4023B0 PUSH {LR}
- 0D4023B2 LDR R0, =byte_10B
- 0D4023B4 MOVS R1, #7
- 0D4023B6 BL d8b4xxx_stuff_1
- 0D4023B6
- 0D4023BA MOVS R0, #0x15
- 0D4023BC MOVS R1, #0
- 0D4023BE BL d8b4xxx_stuff_3
- 0D4023BE
- 0D4023C2 MOVS R0, #0x18
- 0D4023C4 MOVS R1, #1
- 0D4023C6 BL d8b4xxx_stuff_3
- 0D4023C6
- 0D4023CA MOVS R0, #0x19
- 0D4023CC MOVS R1, #0
- 0D4023CE BL d8b4xxx_stuff_3
- 0D4023CE
- 0D4023D2 MOVS R0, #0x4A
- 0D4023D4 MOVS R1, #0xE
- 0D4023D6 BL d8b4xxx_stuff_3
- 0D4023D6
- 0D4023DA MOVS R0, #0xF
- 0D4023DC MOVS R1, #8
- 0D4023DE BL d8b4xxx_stuff_3
- 0D4023DE
- 0D4023E2 MOVS R0, #3
- 0D4023E4 MOVS R1, #0xE
- 0D4023E6 BL d8b4xxx_stuff_3
- 0D4023E6
- 0D4023EA MOVS R1, #0xE
- 0D4023EC MOVS R0, #0x49
- 0D4023EE BL d8b4xxx_stuff_3
- 0D4023EE
- 0D4023F2 MOVS R0, #2
- 0D4023F4 BL delay_0
- 0D4023F4
- 0D4023F8 MOVS R0, #0x49
- 0D4023FA MOVS R1, #0xF
- 0D4023FC BL d8b4xxx_stuff_3
- 0D4023FC
- 0D402400 MOVS R0, #2
- 0D402402 BL delay_0
- 0D402402
- 0D402406 POP {R0}
- 0D402408 BX R0
- 0D402408
- 0D402408
- 0D402408
- 0D40240A ALIGN 4
- 0D40240C off_D40240C DCD byte_10B
- 0D402410
- 0D402410
- 0D402410
- 0D402410
- 0D402410 write_to_d8b4xxx
- 0D402410 d8b4xxx_stuff_1+18p ...
- 0D402410 LDR R3, =word_D8B4000
- 0D402412 LSLS R0, R0, #1
- 0D402414 ADDS R0, R0, R3
- 0D402416 STRH R1, [R0]
- 0D402418 BX LR
- 0D402418
- 0D402418
- 0D402418
- 0D40241A ALIGN 4
- 0D40241C off_D40241C DCD word_D8B4000
- 0D402420
- 0D402420
- 0D402420
- 0D402420
- 0D402420 read_from_d8b4xxx
- 0D402420 d8b4xxx_stuff_2+Cp ...
- 0D402420 LDR R3, =word_D8B4000
- 0D402422 LSLS R0, R0, #1
- 0D402424 ADDS R0, R0, R3
- 0D402426 LDRH R0, [R0]
- 0D402428 LSLS R0, R0, #0x10
- 0D40242A LSRS R0, R0, #0x10
- 0D40242C BX LR
- 0D40242C
- 0D40242C
- 0D40242C
- 0D40242E ALIGN 0x10
- 0D402430 off_D402430 DCD word_D8B4000
- 0D402434
- 0D402434
- 0D402434
- 0D402434
- 0D402434 d8b4xxx_stuff_1
- 0D402434 sub_D40195A+14Ep ...
- 0D402434 PUSH {R4,LR}
- 0D402436 MOVS R3, R0
- 0D402438 MOVS R4, R1
- 0D40243A MOVS R0, #0x3A
- 0D40243C MOVS R1, R3
- 0D40243E BL write_to_d8b4xxx
- 0D40243E
- 0D402442 MOVS R0, #0x3A
- 0D402444 BL read_from_d8b4xxx
- 0D402444
- 0D402448 MOVS R0, #0x3B
- 0D40244A MOVS R1, R4
- 0D40244C BL write_to_d8b4xxx
- 0D40244C
- 0D402450 POP {R4}
- 0D402452 POP {R0}
- 0D402454 BX R0
- 0D402454
- 0D402454
- 0D402454
- 0D402456 ALIGN 4
- 0D402458
- 0D402458
- 0D402458
- 0D402458
- 0D402458 d8b4xxx_stuff_2
- 0D402458 sub_D4024A0+Ep ...
- 0D402458 PUSH {LR}
- 0D40245A MOVS R1, R0
- 0D40245C MOVS R0, #0x3A
- 0D40245E BL write_to_d8b4xxx
- 0D40245E
- 0D402462 MOVS R0, #0x3A
- 0D402464 BL read_from_d8b4xxx
- 0D402464
- 0D402468 MOVS R0, #0x3B
- 0D40246A BL read_from_d8b4xxx
- 0D40246A
- 0D40246E POP {R1}
- 0D402470 BX R1
- 0D402470
- 0D402470
- 0D402470
- 0D402472 ALIGN 4
- 0D402474
- 0D402474
- 0D402474
- 0D402474
- 0D402474 d8b4xxx_stuff_3
- 0D402474 sub_D40195A+166p ...
- 0D402474 PUSH {R4,R5,LR}
- 0D402476 LDR R4, =byte_163
- 0D402478 MOVS R3, R0
- 0D40247A MOVS R5, R1
- 0D40247C MOVS R0, R4
- 0D40247E MOVS R1, R3
- 0D402480 BL d8b4xxx_stuff_1
- 0D402480
- 0D402484 MOVS R0, R4
- 0D402486 BL d8b4xxx_stuff_2
- 0D402486
- 0D40248A MOVS R0, #0xB1
- 0D40248C MOVS R1, R5
- 0D40248E LSLS R0, R0, #1
- 0D402490 BL d8b4xxx_stuff_1
- 0D402490
- 0D402494 POP {R4,R5}
- 0D402496 POP {R0}
- 0D402498 BX R0
- 0D402498
- 0D402498
- 0D402498
- 0D40249A ALIGN 4
- 0D40249C off_D40249C DCD byte_163
- 0D4024A0
- 0D4024A0
- 0D4024A0
- 0D4024A0
- 0D4024A0 sub_D4024A0
- 0D4024A0 sub_D40195A+448p ...
- 0D4024A0 PUSH {R4,LR}
- 0D4024A2 LDR R4, =byte_163
- 0D4024A4 MOVS R1, R0
- 0D4024A6 MOVS R0, R4
- 0D4024A8 BL d8b4xxx_stuff_1
- 0D4024A8
- 0D4024AC MOVS R0, R4
- 0D4024AE BL d8b4xxx_stuff_2
- 0D4024AE
- 0D4024B2 MOVS R0, #0x162
- 0D4024B6 BL d8b4xxx_stuff_2
- 0D4024B6
- 0D4024BA POP {R4}
- 0D4024BC POP {R1}
- 0D4024BE BX R1
- 0D4024BE
- 0D4024BE
- 0D4024BE
- 0D4024C0 off_D4024C0 DCD byte_163
- 0D4024C4
- 0D4024C4
- 0D4024C4
- 0D4024C4
- 0D4024C4 sub_D4024C4
- 0D4024C4 MOVS R3, #0xD800000
- 0D4024C8 ADDS R0, R0, R3
- 0D4024CA LDR R0, [R0]
- 0D4024CC BX LR
- 0D4024CC
- 0D4024CC
- 0D4024CC
- 0D4024CE ALIGN 0x10
- 0D4024D0
- 0D4024D0
- 0D4024D0
- 0D4024D0
- 0D4024D0 sub_D4024D0
- 0D4024D0 MOVS R3, #0xD800000
- 0D4024D4 ADDS R0, R0, R3
- 0D4024D6 STR R1, [R0]
- 0D4024D8 BX LR
- 0D4024D8
- 0D4024D8
- 0D4024D8
- 0D4024DA ALIGN 4
- 0D4024DC
- 0D4024DC
- 0D4024DC
- 0D4024DC
- 0D4024DC delay_0
- 0D4024DC gpio_stuff+32p ...
- 0D4024DC PUSH {LR}
- 0D4024DE LDR R3, =dword_D404314
- 0D4024E0 LDR R3, [R3]
- 0D4024E2 CMP R3, #0
- 0D4024E4 BNE loc_D402508
- 0D4024E4
- 0D4024E6 LSRS R3, R0, #2
- 0D4024E8 ADDS R3, R3, R0
- 0D4024EA LSRS R2, R0, #6
- 0D4024EA
- 0D4024EC
- 0D4024EC loc_D4024EC
- 0D4024EC ADDS R0, R3, R2
- 0D4024EE CMP R0, #1
- 0D4024F0 BHI loc_D4024F4
- 0D4024F0
- 0D4024F2 MOVS R0, #2
- 0D4024F2
- 0D4024F4
- 0D4024F4 loc_D4024F4
- 0D4024F4 LDR R1, =LT_TIMER
- 0D4024F6 LDR R3, [R1]
- 0D4024F8 ADDS R2, R3, R0
- 0D4024FA CMP R2, R3
- 0D4024FC BLS loc_D402528
- 0D4024FC
- 0D4024FE
- 0D4024FE loc_D4024FE
- 0D4024FE LDR R3, [R1]
- 0D402500 CMP R3, R2
- 0D402502 BCC loc_D4024FE
- 0D402502
- 0D402504
- 0D402504 loc_D402504
- 0D402504 POP {R0}
- 0D402506 BX R0
- 0D402506
- 0D402508
- 0D402508 loc_D402508
- 0D402508 LSRS R3, R0, #1
- 0D40250A LSRS R2, R0, #2
- 0D40250C ADDS R3, R3, R0
- 0D40250E ADDS R3, R3, R2
- 0D402510 LSRS R2, R0, #3
- 0D402512 ADDS R3, R3, R2
- 0D402514 LSRS R2, R0, #6
- 0D402516 ADDS R3, R3, R2
- 0D402518 LSRS R2, R0, #8
- 0D40251A ADDS R3, R3, R2
- 0D40251C LSRS R2, R0, #9
- 0D40251E ADDS R3, R3, R2
- 0D402520 LSRS R2, R0, #0xA
- 0D402522 ADDS R3, R3, R2
- 0D402524 LSRS R2, R0, #0xC
- 0D402526 B loc_D4024EC
- 0D402526
- 0D402528
- 0D402528 loc_D402528
- 0D402528 ADDS R3, R1, #0
- 0D402528
- 0D40252A
- 0D40252A loc_D40252A
- 0D40252A delay_0+56j
- 0D40252A LDR R0, [R3]
- 0D40252C CMP R0, #0
- 0D40252E BLT loc_D40252A
- 0D40252E
- 0D402530 CMP R0, R2
- 0D402532 BCC loc_D40252A
- 0D402532
- 0D402534 B loc_D402504
- 0D402534
- 0D402534
- 0D402534
- 0D402536 ALIGN 4
- 0D402538 off_D402538 DCD dword_D404314
- 0D40253C off_D40253C DCD LT_TIMER
- 0D402540
- 0D402540
- 0D402540
- 0D402540
- 0D402540 read_d806024
- 0D402540 LDR R3, =dword_D806024
- 0D402542 LDR R0, [R3]
- 0D402544 BX LR
- 0D402544
- 0D402544
- 0D402544
- 0D402546 ALIGN 4
- 0D402548 off_D402548 DCD dword_D806024
- 0D40254C
- 0D40254C
- 0D40254C
- 0D40254C
- 0D40254C get_stack_ptr_maybe CODE XREF: sub_D40195A+438p
- 0D40254C sub_D40195A+892p
- 0D40254C PUSH {LR}
- 0D40254E LDR R3, =LT_MEMIRR
- 0D402550 LDR R1, [R3]
- 0D402552 LDR R3, =LT_ASICREV_ACR
- 0D402554 LDR R2, [R3]
- 0D402556 LSLS R2, R2, #0x18
- 0D402558 SUBS R3, #0x88
- 0D40255A LSLS R1, R1, #0x1A
- 0D40255C LSRS R2, R2, #0x1C
- 0D40255E LDR R3, [R3]
- 0D402560 LSRS R1, R1, #0x1F
- 0D402562 CMP R2, #0
- 0D402564 BEQ loc_D40256C
- 0D402564
- 0D402566 MOVS R3, #0
- 0D402568 CMP R3, #1
- 0D40256A BEQ loc_D40257A
- 0D40256A
- 0D40256C
- 0D40256C loc_D40256C
- 0D40256C CMP R1, #0
- 0D40256E BEQ loc_D402576
- 0D40256E
- 0D402570 LDR R0, =0xFFFFFF00
- 0D402570
- 0D402572
- 0D402572 loc_D402572
- 0D402572 get_stack_ptr_maybe+34j ...
- 0D402572 POP {R1}
- 0D402574 BX R1
- 0D402574
- 0D402576
- 0D402576 loc_D402576
- 0D402576 LDR R0, =(dword_D40F000+0xF00)
- 0D402578 B loc_D402572
- 0D402578
- 0D40257A
- 0D40257A loc_D40257A
- 0D40257A CMP R1, #0
- 0D40257C BNE loc_D402582
- 0D40257C
- 0D40257E LDR R0, =dword_D417F00
- 0D402580 B loc_D402572
- 0D402580
- 0D402582
- 0D402582 loc_D402582
- 0D402582 LDR R0, =(dword_FFFF7DFC+0x104)
- 0D402584 B loc_D402572
- 0D402584
- 0D402584
- 0D402584
- 0D402586 ALIGN 4
- 0D402588 off_D402588 DCD LT_MEMIRR
- 0D40258C off_D40258C DCD LT_ASICREV_ACR
- 0D402590 dword_D402590 DCD 0xFFFFFF00
- 0D402594 off_D402594 DCD dword_D40F000+0xF00 DATA XREF: get_stack_ptr_maybe:loc_D402576r
- 0D402598 off_D402598 DCD dword_D417F00
- 0D40259C off_D40259C DCD dword_FFFF7DFC+0x104 DATA XREF: get_stack_ptr_maybe:loc_D402582r
- 0D4025A0
- 0D4025A0
- 0D4025A0
- 0D4025A0
- 0D4025A0 sub_D4025A0
- 0D4025A0 LDR R3, =dword_D404314
- 0D4025A2 STR R0, [R3]
- 0D4025A4 BX LR
- 0D4025A4
- 0D4025A4
- 0D4025A4
- 0D4025A6 ALIGN 4
- 0D4025A8 off_D4025A8 DCD dword_D404314
- 0D4025AC
- 0D4025AC
- 0D4025AC
- 0D4025AC
- 0D4025AC
- 0D4025AC verify_RSA_sig
- 0D4025AC verify_sig_RSA4096+Ep
- 0D4025AC
- 0D4025AC var_A44 = -0xA44
- 0D4025AC var_A40 = -0xA40
- 0D4025AC var_A3C = -0xA3C
- 0D4025AC var_834 = -0x834
- 0D4025AC
- 0D4025AC PUSH {R4-R7,LR}
- 0D4025AE MOV R7, R11
- 0D4025B0 MOV R6, R10
- 0D4025B2 MOV R5, R9
- 0D4025B4 MOV R4, R8
- 0D4025B6 PUSH {R4-R7}
- 0D4025B8 LDR R4, =0xFFFFF5E0
- 0D4025BA ADD SP, R4
- 0D4025BC STR R0, [SP,#0xA44+var_A3C]
- 0D4025BE MOVS R4, R1
- 0D4025C0 MOVS R5, R2
- 0D4025C2 MOV R10, R3
- 0D4025C4 LDR R3, =dword_A48
- 0D4025C6 ADD R3, SP
- 0D4025C8 LDR R6, [R3]
- 0D4025CA MOVS R7, #0x618
- 0D4025CE ADD R7, SP
- 0D4025D0 MOV R11, R7
- 0D4025D2 LSRS R3, R6, #2
- 0D4025D4 MOV R8, R3
- 0D4025D6 MOVS R0, R7
- 0D4025D8 MOVS R1, R3
- 0D4025DA MOVS R2, R4
- 0D4025DC MOVS R3, R6
- 0D4025DE LDR R4, =(rsa1+1)
- 0D4025E0 BLX R4
- 0D4025E0
- 0D4025E2 LDR R7, =byte_414
- 0D4025E4 ADD R7, SP
- 0D4025E6 MOV R9, R7
- 0D4025E8 MOVS R0, R7
- 0D4025EA MOV R1, R8
- 0D4025EC MOVS R2, R5
- 0D4025EE MOVS R3, R6
- 0D4025F0 BLX R4
- 0D4025F0
- 0D4025F2 ADD R5, SP, #0xA44+var_834
- 0D4025F4 MOVS R0, R5
- 0D4025F6 MOVS R1, #1
- 0D4025F8 MOV R2, R10
- 0D4025FA LDR R7, =byte_A44
- 0D4025FC ADD R7, SP
- 0D4025FE LDR R3, [R7]
- 0D402600 BLX R4
- 0D402600
- 0D402602 MOVS R3, #0xC
- 0D402604 ADD R3, SP
- 0D402606 MOV R10, R3
- 0D402608 MOV R7, R11
- 0D40260A STR R7, [SP,#0xA44+var_A44]
- 0D40260C MOV R3, R8
- 0D40260E STR R3, [SP,#0xA44+var_A40]
- 0D402610 MOV R0, R10
- 0D402612 MOV R1, R9
- 0D402614 MOVS R2, R5
- 0D402616 MOVS R3, #1
- 0D402618 LDR R4, =rsa2
- 0D40261A BLX R4
- 0D40261A
- 0D40261C LSLS R1, R6, #3
- 0D40261E LDR R5, =byte_81C
- 0D402620 ADD R5, SP
- 0D402622 MOVS R0, R5
- 0D402624 LSRS R1, R1, #3
- 0D402626 MOV R2, R10
- 0D402628 MOV R3, R8
- 0D40262A LDR R4, =(rsa3+1)
- 0D40262C BLX R4
- 0D40262C
- 0D40262E ADDS R5, R5, R6
- 0D402630 MOVS R0, R5
- 0D402632 SUBS R0, #0x14
- 0D402634 LDR R1, [SP,#0xA44+var_A3C]
- 0D402636 MOVS R2, #0x14
- 0D402638 LDR R3, =(strncmp+1) int strncmp(char *s1, char *s2, size_t num)
- 0D40263A BLX R3
- 0D40263A
- 0D40263C CMP R0, #0
- 0D40263E BEQ loc_D402642
- 0D40263E
- 0D402640 MOVS R0, #7
- 0D402640
- 0D402642
- 0D402642 loc_D402642
- 0D402642 MOVS R3, #0xA20
- 0D402646 ADD SP, R3
- 0D402648 POP {R3-R6}
- 0D40264A MOV R8, R3
- 0D40264C MOV R9, R4
- 0D40264E MOV R10, R5
- 0D402650 MOV R11, R6
- 0D402652 POP {R4-R7}
- 0D402654 POP {R1}
- 0D402656 BX R1
- 0D402656
- 0D402656
- 0D402656
- 0D402658 dword_D402658 DCD 0xFFFFF5E0
- 0D40265C off_D40265C DCD dword_A48
- 0D402660 off_D402660 DCD rsa1+1
- 0D402664 off_D402664 DCD byte_414
- 0D402668 off_D402668 DCD byte_A44
- 0D40266C off_D40266C DCD rsa2
- 0D402670 off_D402670 DCD byte_81C
- 0D402674 off_D402674 DCD rsa3+1
- 0D402678 off_D402678 DCD strncmp+1
- 0D402678 int strncmp(char *s1, char *s2, size_t num)
- 0D40267C
- 0D40267C
- 0D40267C
- 0D40267C
- 0D40267C verify_sig_RSA2048
- 0D40267C
- 0D40267C var_10 = -0x10
- 0D40267C var_C = -0xC
- 0D40267C arg_0 = 0
- 0D40267C
- 0D40267C PUSH {R4,LR}
- 0D40267E SUB SP, SP, #8
- 0D402680 LDR R4, [SP,#0x10+arg_0]
- 0D402682 STR R4, [SP,#0x10+var_10]
- 0D402684 MOVS R4, #0x100
- 0D402688 STR R4, [SP,#0x10+var_C]
- 0D40268A BL verify_RSA_sig int __cdecl verify_RSA_sig(void *sig, int keylen)
- 0D40268A
- 0D40268E ADD SP, SP, #8
- 0D402690 POP {R4}
- 0D402692 POP {R1}
- 0D402694 BX R1
- 0D402694
- 0D402694
- 0D402694
- 0D402696 ALIGN 4
- 0D402698
- 0D402698
- 0D402698
- 0D402698
- 0D402698 verify_sig_RSA4096
- 0D402698
- 0D402698 var_10 = -0x10
- 0D402698 var_C = -0xC
- 0D402698 arg_0 = 0
- 0D402698
- 0D402698 PUSH {R4,LR}
- 0D40269A SUB SP, SP, #8
- 0D40269C LDR R4, [SP,#0x10+arg_0]
- 0D40269E STR R4, [SP,#0x10+var_10]
- 0D4026A0 MOVS R4, #0x200
- 0D4026A4 STR R4, [SP,#0x10+var_C]
- 0D4026A6 BL verify_RSA_sig int __cdecl verify_RSA_sig(void *sig, int keylen)
- 0D4026A6
- 0D4026AA ADD SP, SP, #8
- 0D4026AC POP {R4}
- 0D4026AE POP {R1}
- 0D4026B0 BX R1
- 0D4026B0
- 0D4026B0
- 0D4026B0
- 0D4026B2 ALIGN 4
- 0D4026B4
- 0D4026B4
- 0D4026B4
- 0D4026B4
- 0D4026B4 rsa4
- 0D4026B4
- 0D4026B4 var_83C = -0x83C
- 0D4026B4 var_838 = -0x838
- 0D4026B4
- 0D4026B4 PUSH {R4-R7,LR}
- 0D4026B6 MOV R7, R11
- 0D4026B8 MOV R6, R10
- 0D4026BA MOV R5, R9
- 0D4026BC MOV R4, R8
- 0D4026BE PUSH {R4-R7}
- 0D4026C0 LDR R4, =0xFFFFF7E8
- 0D4026C2 ADD SP, R4
- 0D4026C4 MOVS R7, R0
- 0D4026C6 MOV R8, R1
- 0D4026C8 MOV R10, R3
- 0D4026CA LDR R3, =byte_83C
- 0D4026CC ADD R3, SP
- 0D4026CE LDR R5, [R3]
- 0D4026D0 LDR R3, =byte_614
- 0D4026D2 ADD R3, SP
- 0D4026D4 MOV R11, R3
- 0D4026D6 LSRS R6, R5, #2
- 0D4026D8 MOVS R0, R3
- 0D4026DA MOVS R1, R6
- 0D4026DC MOVS R3, R5
- 0D4026DE LDR R4, =(rsa1+1)
- 0D4026E0 BLX R4
- 0D4026E0
- 0D4026E2 MOVS R3, #0x410
- 0D4026E6 ADD R3, SP
- 0D4026E8 MOV R9, R3
- 0D4026EA MOVS R0, R3
- 0D4026EC MOVS R1, R6
- 0D4026EE MOV R2, R8
- 0D4026F0 MOVS R3, R5
- 0D4026F2 BLX R4
- 0D4026F2
- 0D4026F4 MOVS R3, #0x20C
- 0D4026F8 ADD R3, SP
- 0D4026FA MOV R8, R3
- 0D4026FC MOVS R0, R3
- 0D4026FE MOVS R1, R6
- 0D402700 MOV R2, R10
- 0D402702 MOVS R3, R5
- 0D402704 BLX R4
- 0D402704
- 0D402706 MOVS R3, #8
- 0D402708 ADD R3, SP
- 0D40270A MOV R10, R3
- 0D40270C MOV R3, R11
- 0D40270E STR R3, [SP,#0x83C+var_83C]
- 0D402710 STR R6, [SP,#0x83C+var_838]
- 0D402712 MOV R0, R10
- 0D402714 MOV R1, R9
- 0D402716 MOV R2, R8
- 0D402718 MOVS R3, R6
- 0D40271A LDR R4, =rsa2
- 0D40271C BLX R4
- 0D40271C
- 0D40271E LSLS R5, R5, #3
- 0D402720 MOVS R0, R7
- 0D402722 LSRS R1, R5, #3
- 0D402724 MOV R2, R10
- 0D402726 MOVS R3, R6
- 0D402728 LDR R4, =(rsa3+1)
- 0D40272A BLX R4
- 0D40272A
- 0D40272C LDR R3, =byte_818
- 0D40272E ADD SP, R3
- 0D402730 POP {R3-R6}
- 0D402732 MOV R8, R3
- 0D402734 MOV R9, R4
- 0D402736 MOV R10, R5
- 0D402738 MOV R11, R6
- 0D40273A POP {R4-R7}
- 0D40273C POP {R0}
- 0D40273E BX R0
- 0D40273E
- 0D40273E
- 0D40273E
- 0D402740 dword_D402740 DCD 0xFFFFF7E8
- 0D402744 off_D402744 DCD byte_83C
- 0D402748 off_D402748 DCD byte_614
- 0D40274C off_D40274C DCD rsa1+1
- 0D402750 off_D402750 DCD rsa2
- 0D402754 off_D402754 DCD rsa3+1
- 0D402758 off_D402758 DCD byte_818
- 0D40275C CODE32
- 0D40275C
- 0D40275C
- 0D40275C
- 0D40275C
- 0D40275C sub_D40275C
- 0D40275C sub_D402810+48p
- 0D40275C
- 0D40275C var_4 = -4
- 0D40275C
- 0D40275C STR R4, [SP,#var_4]!
- 0D402760 UMULL R4, R3, R1, R2
- 0D402764 STR R4, [R0]
- 0D402768 MOV R4, R3
- 0D40276C STR R4, [R0,#4]
- 0D402770 LDMFD SP!, {R4}
- 0D402774 BX LR
- 0D402774
- 0D402774
- 0D402774
- 0D402778
- 0D402778
- 0D402778
- 0D402778
- 0D402778
- 0D402778 sub_D402778
- 0D402778
- 0D402778 var_30 = -0x30
- 0D402778 var_2C = -0x2C
- 0D402778 arg_0 = 4
- 0D402778
- 0D402778 MOV R12, SP
- 0D40277C STMFD SP!, {R4-R12,LR,PC}
- 0D402780 SUB R11, R12, #4
- 0D402784 SUB SP, SP, #8
- 0D402788 MOV R6, R0
- 0D40278C MOV R10, R1
- 0D402790 MOV R8, R3
- 0D402794 LDR R9, [R11,#arg_0]
- 0D402798 SUBS R7, R2, #0
- 0D40279C MOVEQ R0, R7
- 0D4027A0 BEQ loc_D402804
- 0D4027A0
- 0D4027A4 MOV R5, #0
- 0D4027A8 MOV R4, R5
- 0D4027AC CMP R5, R9
- 0D4027B0 BGE loc_D402800
- 0D4027B0
- 0D4027B4
- 0D4027B4 loc_D4027B4
- 0D4027B4 SUB R0, R11, #-var_30
- 0D4027B8 MOV R1, R7
- 0D4027BC LDR R2, [R8,R4,LSL#2]
- 0D4027C0 BL sub_D40275C
- 0D4027C0
- 0D4027C4 LDR R3, [R10,R4,LSL#2]
- 0D4027C8 ADD R3, R5, R3
- 0D4027CC CMP R3, R5
- 0D4027D0 MOVCS R5, #0
- 0D4027D4 MOVCC R5, #1
- 0D4027D8 LDR R2, [R11,#var_30]
- 0D4027DC ADD R3, R3, R2
- 0D4027E0 STR R3, [R6,R4,LSL#2]
- 0D4027E4 CMP R3, R2
- 0D4027E8 ADDCC R5, R5, #1
- 0D4027EC LDR R3, [R11,#var_2C]
- 0D4027F0 ADD R5, R5, R3
- 0D4027F4 ADD R4, R4, #1
- 0D4027F8 CMP R4, R9
- 0D4027FC BLT loc_D4027B4
- 0D4027FC
- 0D402800
- 0D402800 loc_D402800
- 0D402800 MOV R0, R5
- 0D402800
- 0D402804
- 0D402804 loc_D402804
- 0D402804 SUB SP, R11, #0x28
- 0D402808 LDMFD SP, {R4-R11,SP,LR}
- 0D40280C BX LR
- 0D40280C
- 0D40280C
- 0D40280C
- 0D402810
- 0D402810
- 0D402810
- 0D402810
- 0D402810
- 0D402810 sub_D402810
- 0D402810
- 0D402810 var_30 = -0x30
- 0D402810 var_2C = -0x2C
- 0D402810 arg_0 = 4
- 0D402810
- 0D402810 MOV R12, SP
- 0D402814 STMFD SP!, {R4-R12,LR,PC}
- 0D402818 SUB R11, R12, #4
- 0D40281C SUB SP, SP, #8
- 0D402820 MOV R6, R0
- 0D402824 MOV R10, R1
- 0D402828 MOV R8, R3
- 0D40282C LDR R9, [R11,#arg_0]
- 0D402830 SUBS R7, R2, #0
- 0D402834 MOVEQ R0, R7
- 0D402838 BEQ loc_D4028A8
- 0D402838
- 0D40283C MOV R5, #0
- 0D402840 MOV R4, R5
- 0D402844 CMP R5, R9
- 0D402848 BGE loc_D4028A4
- 0D402848
- 0D40284C
- 0D40284C loc_D40284C
- 0D40284C SUB R0, R11, #-var_30
- 0D402850 MOV R1, R7
- 0D402854 LDR R2, [R8,R4,LSL#2]
- 0D402858 BL sub_D40275C
- 0D402858
- 0D40285C LDR R3, [R10,R4,LSL#2]
- 0D402860 RSB R3, R5, R3
- 0D402864 MVN R2, R5
- 0D402868 CMP R3, R2
- 0D40286C MOVLS R5, #0
- 0D402870 MOVHI R5, #1
- 0D402874 MOV R2, R3
- 0D402878 LDR R3, [R11,#var_30]
- 0D40287C RSB R2, R3, R2
- 0D402880 STR R2, [R6,R4,LSL#2]
- 0D402884 MVN R3, R3
- 0D402888 CMP R2, R3
- 0D40288C ADDHI R5, R5, #1
- 0D402890 LDR R3, [R11,#var_2C]
- 0D402894 ADD R5, R5, R3
- 0D402898 ADD R4, R4, #1
- 0D40289C CMP R4, R9
- 0D4028A0 BLT loc_D40284C
- 0D4028A0
- 0D4028A4
- 0D4028A4 loc_D4028A4
- 0D4028A4 MOV R0, R5
- 0D4028A4
- 0D4028A8
- 0D4028A8 loc_D4028A8
- 0D4028A8 SUB SP, R11, #0x28
- 0D4028AC LDMFD SP, {R4-R11,SP,LR}
- 0D4028B0 BX LR
- 0D4028B0
- 0D4028B0
- 0D4028B0
- 0D4028B4
- 0D4028B4
- 0D4028B4
- 0D4028B4
- 0D4028B4 sub_D4028B4
- 0D4028B4 sub_D403288+28p
- 0D4028B4 MOV R3, #0
- 0D4028B4
- 0D4028B8
- 0D4028B8 loc_D4028B8
- 0D4028B8 CMP R0, #0
- 0D4028BC BEQ loc_D4028D0
- 0D4028BC
- 0D4028C0 ADD R3, R3, #1
- 0D4028C4 MOV R0, R0,LSR#1
- 0D4028C8 CMP R3, #0x1F
- 0D4028CC BLE loc_D4028B8
- 0D4028CC
- 0D4028D0
- 0D4028D0 loc_D4028D0
- 0D4028D0 MOV R0, R3
- 0D4028D4 BX LR
- 0D4028D4
- 0D4028D4
- 0D4028D4
- 0D4028D8
- 0D4028D8
- 0D4028D8
- 0D4028D8
- 0D4028D8
- 0D4028D8 rsa6 CODE XREF: rsa5+128p
- 0D4028D8 MOV R12, SP
- 0D4028DC STMFD SP!, {R4-R12,LR,PC}
- 0D4028E0 SUB R11, R12, #4
- 0D4028E4 MOV R9, R0
- 0D4028E8 MOV R8, R2
- 0D4028EC MOV R6, R2,LSR#16
- 0D4028F0 MOV R3, R2,LSL#16
- 0D4028F4 MOV R10, R3,LSR#16
- 0D4028F8 LDMIA R1, {R4,R5}
- 0D4028FC MOV R3, #0xFFFF
- 0D402904 CMP R6, R3
- 0D402908 MOVEQ R7, R5,LSR#16
- 0D40290C BEQ loc_D40292C
- 0D40290C
- 0D402910 MOV R0, R5
- 0D402914 ADD R1, R6, #1
- 0D402918 LDR R3, =(sub_D403DC8+1)
- 0D40291C MOV LR, PC
- 0D402920 BX R3
- 0D402920
- 0D402924 MOV R0, R0,LSL#16
- 0D402928 MOV R7, R0,LSR#16
- 0D402928
- 0D40292C
- 0D40292C loc_D40292C
- 0D40292C MUL R2, R10, R7
- 0D402930 MUL R1, R6, R7
- 0D402934 MOV R3, R2,LSL#16
- 0D402938 RSB R4, R3, R4
- 0D40293C MVN R3, R3
- 0D402940 CMP R3, R4
- 0D402944 SUBCC R5, R5, #1
- 0D402948 SUB R5, R5, R2,LSR#16
- 0D40294C RSB R5, R1, R5
- 0D402950 CMP R6, R5
- 0D402954 BCC loc_D402968
- 0D402954
- 0D402958 BNE loc_D4029A0
- 0D402958
- 0D40295C MOV R3, R10,LSL#16
- 0D402960 CMP R3, R4
- 0D402964 BHI loc_D4029A0
- 0D402964
- 0D402968
- 0D402968 loc_D402968
- 0D402968 MOV R2, R10,LSL#16
- 0D40296C MVN R1, R2
- 0D40296C
- 0D402970
- 0D402970 loc_D402970
- 0D402970 rsa6+C4j
- 0D402970 RSB R4, R2, R4
- 0D402974 CMP R1, R4
- 0D402978 SUBCC R5, R5, #1
- 0D40297C RSB R5, R6, R5
- 0D402980 ADD R3, R7, #1
- 0D402984 MOV R3, R3,LSL#16
- 0D402988 MOV R7, R3,LSR#16
- 0D40298C CMP R6, R5
- 0D402990 BCC loc_D402970
- 0D402990
- 0D402994 BNE loc_D4029A0
- 0D402994
- 0D402998 CMP R2, R4
- 0D40299C BLS loc_D402970
- 0D40299C
- 0D4029A0
- 0D4029A0 loc_D4029A0
- 0D4029A0 rsa6+8Cj ...
- 0D4029A0 MOV R3, #0xFFFF
- 0D4029A8 CMP R6, R3
- 0D4029AC MOVEQ R3, R5,LSL#16
- 0D4029B0 MOVEQ R0, R3,LSR#16
- 0D4029B4 BEQ loc_D4029D8
- 0D4029B4
- 0D4029B8 MOV R0, R4,LSR#16
- 0D4029BC ADD R0, R0, R5,LSL#16
- 0D4029C0 ADD R1, R6, #1
- 0D4029C4 LDR R3, =(sub_D403DC8+1)
- 0D4029C8 MOV LR, PC
- 0D4029CC BX R3
- 0D4029CC
- 0D4029D0 MOV R0, R0,LSL#16
- 0D4029D4 MOV R0, R0,LSR#16
- 0D4029D4
- 0D4029D8
- 0D4029D8 loc_D4029D8
- 0D4029D8 MUL R2, R10, R0
- 0D4029DC MUL R1, R6, R0
- 0D4029E0 RSB R4, R2, R4
- 0D4029E4 MVN R3, R2
- 0D4029E8 CMP R3, R4
- 0D4029EC SUBCC R5, R5, #1
- 0D4029F0 MOV R3, R1,LSL#16
- 0D4029F4 RSB R4, R3, R4
- 0D4029F8 MVN R3, R3
- 0D4029FC CMP R3, R4
- 0D402A00 SUBCC R5, R5, #1
- 0D402A04 SUB R3, R5, R1,LSR#16
- 0D402A08 MOV R5, R3
- 0D402A0C CMP R3, #0
- 0D402A10 BNE loc_D402A1C
- 0D402A10
- 0D402A14 CMP R8, R4
- 0D402A18 BHI loc_D402A48
- 0D402A18
- 0D402A1C
- 0D402A1C loc_D402A1C
- 0D402A1C MVN R2, R8
- 0D402A1C
- 0D402A20
- 0D402A20 loc_D402A20
- 0D402A20 rsa6+16Cj
- 0D402A20 RSB R4, R8, R4
- 0D402A24 CMP R2, R4
- 0D402A28 SUBCC R5, R5, #1
- 0D402A2C ADD R3, R0, #1
- 0D402A30 MOV R3, R3,LSL#16
- 0D402A34 MOV R0, R3,LSR#16
- 0D402A38 CMP R5, #0
- 0D402A3C BNE loc_D402A20
- 0D402A3C
- 0D402A40 CMP R8, R4
- 0D402A44 BLS loc_D402A20
- 0D402A44
- 0D402A48
- 0D402A48 loc_D402A48
- 0D402A48 ADD R3, R0, R7,LSL#16
- 0D402A4C STR R3, [R9]
- 0D402A50 LDMFD SP, {R4-R11,SP,LR}
- 0D402A54 BX LR
- 0D402A54
- 0D402A54
- 0D402A54
- 0D402A58 off_D402A58 DCD sub_D403DC8+1
- 0D402A58 rsa6+ECr
- 0D402A5C
- 0D402A5C
- 0D402A5C
- 0D402A5C
- 0D402A5C sub_D402A5C
- 0D402A5C rsa2+9Cp ...
- 0D402A5C MOV R12, #0
- 0D402A60 CMP R12, R2
- 0D402A64 BXGE LR
- 0D402A64
- 0D402A68
- 0D402A68 loc_D402A68
- 0D402A68 LDR R3, [R1,R12,LSL#2]
- 0D402A6C STR R3, [R0,R12,LSL#2]
- 0D402A70 ADD R12, R12, #1
- 0D402A74 CMP R12, R2
- 0D402A78 BLT loc_D402A68
- 0D402A78
- 0D402A7C BX LR
- 0D402A7C
- 0D402A7C
- 0D402A7C
- 0D402A80
- 0D402A80
- 0D402A80
- 0D402A80
- 0D402A80 sub_D402A80
- 0D402A80 rsa5+68p ...
- 0D402A80 MOV R3, #0
- 0D402A84 CMP R3, R1
- 0D402A88 BXGE LR
- 0D402A88
- 0D402A8C MOV R2, R3
- 0D402A8C
- 0D402A90
- 0D402A90 loc_D402A90
- 0D402A90 STR R2, [R0,R3,LSL#2]
- 0D402A94 ADD R3, R3, #1
- 0D402A98 CMP R3, R1
- 0D402A9C BLT loc_D402A90
- 0D402A9C
- 0D402AA0 BX LR
- 0D402AA0
- 0D402AA0
- 0D402AA0
- 0D402AA4
- 0D402AA4
- 0D402AA4
- 0D402AA4
- 0D402AA4 sub_D402AA4
- 0D402AA4 STMFD SP!, {R4,R5,LR}
- 0D402AA8 MOV R5, R0
- 0D402AAC MOV R4, R1
- 0D402AB0 MOV R1, R2
- 0D402AB4 MOV R2, R3
- 0D402AB8 MOV R0, #0
- 0D402ABC MOV LR, R0
- 0D402AC0 CMP R0, R3
- 0D402AC4 BGE loc_D402AF8
- 0D402AC4
- 0D402AC8
- 0D402AC8 loc_D402AC8
- 0D402AC8 LDR R3, [R4,LR,LSL#2]
- 0D402ACC ADDS R12, R0, R3
- 0D402AD0 LDRCS R12, [R1,LR,LSL#2]
- 0D402AD4 BCS loc_D402AE8
- 0D402AD4
- 0D402AD8 LDR R3, [R1,LR,LSL#2]
- 0D402ADC ADDS R12, R12, R3
- 0D402AE0 MOVCC R0, #0
- 0D402AE4 MOVCS R0, #1
- 0D402AE4
- 0D402AE8
- 0D402AE8 loc_D402AE8
- 0D402AE8 STR R12, [R5,LR,LSL#2]
- 0D402AEC ADD LR, LR, #1
- 0D402AF0 CMP LR, R2
- 0D402AF4 BLT loc_D402AC8
- 0D402AF4
- 0D402AF8
- 0D402AF8 loc_D402AF8
- 0D402AF8 LDMFD SP!, {R4,R5,LR}
- 0D402AFC BX LR
- 0D402AFC
- 0D402AFC
- 0D402AFC
- 0D402B00
- 0D402B00
- 0D402B00
- 0D402B00
- 0D402B00 sub_D402B00
- 0D402B00 sub_D4032C4+130p
- 0D402B00 STMFD SP!, {R4,R5,LR}
- 0D402B04 MOV R5, R0
- 0D402B08 MOV R4, R1
- 0D402B0C MOV R1, R2
- 0D402B10 MOV R2, R3
- 0D402B14 MOV R0, #0
- 0D402B18 MOV LR, R0
- 0D402B1C CMP R0, R3
- 0D402B20 BGE loc_D402B70
- 0D402B20
- 0D402B24
- 0D402B24 loc_D402B24
- 0D402B24 LDR R3, [R4,LR,LSL#2]
- 0D402B28 RSB R12, R0, R3
- 0D402B2C RSB R3, R0, #0xFF000000
- 0D402B30 ADD R3, R3, #0x1000000
- 0D402B34 SUB R3, R3, #1
- 0D402B38 CMP R12, R3
- 0D402B3C LDRHI R3, [R1,LR,LSL#2]
- 0D402B40 MVNHI R12, R3
- 0D402B44 BHI loc_D402B60
- 0D402B44
- 0D402B48 LDR R3, [R1,LR,LSL#2]
- 0D402B4C RSB R12, R3, R12
- 0D402B50 MVN R3, R3
- 0D402B54 CMP R12, R3
- 0D402B58 MOVLS R0, #0
- 0D402B5C MOVHI R0, #1
- 0D402B5C
- 0D402B60
- 0D402B60 loc_D402B60
- 0D402B60 STR R12, [R5,LR,LSL#2]
- 0D402B64 ADD LR, LR, #1
- 0D402B68 CMP LR, R2
- 0D402B6C BLT loc_D402B24
- 0D402B6C
- 0D402B70
- 0D402B70 loc_D402B70
- 0D402B70 LDMFD SP!, {R4,R5,LR}
- 0D402B74 BX LR
- 0D402B74
- 0D402B74
- 0D402B74
- 0D402B78
- 0D402B78
- 0D402B78
- 0D402B78
- 0D402B78 sub_D402B78
- 0D402B78 sub_D402BA0+50p ...
- 0D402B78 MOV R2, R0
- 0D402B7C SUBS R0, R1, #1
- 0D402B80 BMI loc_D402B98
- 0D402B80
- 0D402B84
- 0D402B84 loc_D402B84
- 0D402B84 LDR R3, [R2,R0,LSL#2]
- 0D402B88 CMP R3, #0
- 0D402B8C BNE loc_D402B98
- 0D402B8C
- 0D402B90 SUBS R0, R0, #1
- 0D402B94 BPL loc_D402B84
- 0D402B94
- 0D402B98
- 0D402B98 loc_D402B98
- 0D402B98 sub_D402B78+14j
- 0D402B98 ADD R0, R0, #1
- 0D402B9C BX LR
- 0D402B9C
- 0D402B9C
- 0D402B9C
- 0D402BA0
- 0D402BA0
- 0D402BA0
- 0D402BA0
- 0D402BA0
- 0D402BA0 sub_D402BA0
- 0D402BA0 sub_D4032C4+A0p
- 0D402BA0
- 0D402BA0 var_43C = -0x43C
- 0D402BA0 var_438 = -0x438
- 0D402BA0 var_434 = -0x434
- 0D402BA0 var_420 = -0x420
- 0D402BA0 var_28 = -0x28
- 0D402BA0
- 0D402BA0 MOV R12, SP
- 0D402BA4 STMFD SP!, {R4-R12,LR,PC}
- 0D402BA8 SUB R11, R12, #4
- 0D402BAC SUB SP, SP, #0x410
- 0D402BB0 SUB SP, SP, #4
- 0D402BB4 STR R0, [R11,#var_434]
- 0D402BB8 STR R1, [R11,#var_438]
- 0D402BBC MOV R9, R2
- 0D402BC0 MOV R10, R3
- 0D402BC4 SUB R0, R11, #-var_420
- 0D402BC8 SUB R0, R0, #8
- 0D402BCC SUB R0, R0, #8
- 0D402BD0 MOV R1, R3,LSL#1
- 0D402BD4 BL sub_D402A80
- 0D402BD4
- 0D402BD8 LDR R0, [R11,#var_438]
- 0D402BDC MOV R1, R10
- 0D402BE0 BL sub_D402B78
- 0D402BE0
- 0D402BE4 MOV R8, R0
- 0D402BE8 MOV R0, R9
- 0D402BEC MOV R1, R10
- 0D402BF0 BL sub_D402B78
- 0D402BF0
- 0D402BF4 MOV R7, R0
- 0D402BF8 MOV R5, #0
- 0D402BFC CMP R5, R8
- 0D402C00 BGE loc_D402C54
- 0D402C00
- 0D402C04 MOV R6, #0xFFFFFBF8
- 0D402C04
- 0D402C0C
- 0D402C0C loc_D402C0C
- 0D402C0C ADD R3, R5, R7
- 0D402C10 SUB R2, R11, #-var_28
- 0D402C14 ADD R4, R2, R3,LSL#2
- 0D402C18 SUB R3, R11, #-var_28
- 0D402C1C ADD R1, R3, R6
- 0D402C20 ADD R1, R1, R5,LSL#2
- 0D402C24 LDR R3, [R11,#var_438]
- 0D402C28 LDR R2, [R3,R5,LSL#2]
- 0D402C2C STR R7, [SP,#0x43C+var_43C]
- 0D402C30 MOV R0, R1
- 0D402C34 MOV R3, R9
- 0D402C38 BL sub_D402778
- 0D402C38
- 0D402C3C LDR R3, [R4,R6]
- 0D402C40 ADD R0, R0, R3
- 0D402C44 STR R0, [R4,R6]
- 0D402C48 ADD R5, R5, #1
- 0D402C4C CMP R5, R8
- 0D402C50 BLT loc_D402C0C
- 0D402C50
- 0D402C54
- 0D402C54 loc_D402C54
- 0D402C54 LDR R0, [R11,#var_434]
- 0D402C58 SUB R1, R11, #-var_420
- 0D402C5C SUB R1, R1, #8
- 0D402C60 SUB R1, R1, #8
- 0D402C64 MOV R2, R10,LSL#1
- 0D402C68 BL sub_D402A5C
- 0D402C68
- 0D402C6C SUB SP, R11, #0x28
- 0D402C70 LDMFD SP, {R4-R11,SP,LR}
- 0D402C74 BX LR
- 0D402C74
- 0D402C74
- 0D402C74
- 0D402C78
- 0D402C78
- 0D402C78
- 0D402C78
- 0D402C78 sub_D402C78
- 0D402C78 rsa5+A0p
- 0D402C78 STMFD SP!, {R4-R6,LR}
- 0D402C7C MOV R5, R0
- 0D402C80 MOV R4, R1
- 0D402C84 MOV R1, R3
- 0D402C88 CMP R2, #0x1F
- 0D402C8C MOVGT R0, #0
- 0D402C90 BGT loc_D402CCC
- 0D402C90
- 0D402C94 RSB R6, R2, #0x20
- 0D402C98 MOV R0, #0
- 0D402C9C MOV LR, R0
- 0D402CA0 CMP R0, R3
- 0D402CA4 BGE loc_D402CCC
- 0D402CA4
- 0D402CA8
- 0D402CA8 loc_D402CA8
- 0D402CA8 LDR R12, [R4,LR,LSL#2]
- 0D402CAC ORR R3, R0, R12,LSL R2
- 0D402CB0 STR R3, [R5,LR,LSL#2]
- 0D402CB4 CMP R2, #0
- 0D402CB8 MOVNE R0, R12,LSR R6
- 0D402CBC MOVEQ R0, #0
- 0D402CC0 ADD LR, LR, #1
- 0D402CC4 CMP LR, R1
- 0D402CC8 BLT loc_D402CA8
- 0D402CC8
- 0D402CCC
- 0D402CCC loc_D402CCC
- 0D402CCC sub_D402C78+2Cj
- 0D402CCC LDMFD SP!, {R4-R6,LR}
- 0D402CD0 BX LR
- 0D402CD0
- 0D402CD0
- 0D402CD0
- 0D402CD4
- 0D402CD4
- 0D402CD4
- 0D402CD4
- 0D402CD4 sub_D402CD4
- 0D402CD4 STMFD SP!, {R4,R5,LR}
- 0D402CD8 MOV R4, R0
- 0D402CDC CMP R2, #0x1F
- 0D402CE0 MOVGT R0, #0
- 0D402CE4 BGT loc_D402D18
- 0D402CE4
- 0D402CE8 RSB R5, R2, #0x20
- 0D402CEC MOV R0, #0
- 0D402CF0 SUBS R12, R3, #1
- 0D402CF4 BMI loc_D402D18
- 0D402CF4
- 0D402CF8
- 0D402CF8 loc_D402CF8
- 0D402CF8 LDR LR, [R1,R12,LSL#2]
- 0D402CFC ORR R3, R0, LR,LSR R2
- 0D402D00 STR R3, [R4,R12,LSL#2]
- 0D402D04 CMP R2, #0
- 0D402D08 MOVNE R0, LR,LSL R5
- 0D402D0C MOVEQ R0, #0
- 0D402D10 SUBS R12, R12, #1
- 0D402D14 BPL loc_D402CF8
- 0D402D14
- 0D402D18
- 0D402D18 loc_D402D18
- 0D402D18 sub_D402CD4+20j
- 0D402D18 LDMFD SP!, {R4,R5,LR}
- 0D402D1C BX LR
- 0D402D1C
- 0D402D1C
- 0D402D1C
- 0D402D20
- 0D402D20
- 0D402D20
- 0D402D20
- 0D402D20 sub_D402D20
- 0D402D20 SUBS R12, R2, #1
- 0D402D24 BMI loc_D402D60
- 0D402D24
- 0D402D28
- 0D402D28 loc_D402D28
- 0D402D28 LDR R2, [R0,R12,LSL#2]
- 0D402D2C LDR R3, [R1,R12,LSL#2]
- 0D402D30 CMP R2, R3
- 0D402D34 BLS loc_D402D40
- 0D402D34
- 0D402D38 MOV R0, #1
- 0D402D3C BX LR
- 0D402D3C
- 0D402D40
- 0D402D40 loc_D402D40
- 0D402D40 LDR R2, [R0,R12,LSL#2]
- 0D402D44 LDR R3, [R1,R12,LSL#2]
- 0D402D48 CMP R2, R3
- 0D402D4C BCS loc_D402D58
- 0D402D4C
- 0D402D50 MOV R0, #0xFFFFFFFF
- 0D402D54 BX LR
- 0D402D54
- 0D402D58
- 0D402D58 loc_D402D58
- 0D402D58 SUBS R12, R12, #1
- 0D402D5C BPL loc_D402D28
- 0D402D5C
- 0D402D60
- 0D402D60 loc_D402D60
- 0D402D60 MOV R0, #0
- 0D402D64 BX LR
- 0D402D64
- 0D402D64
- 0D402D64
- 0D402D68
- 0D402D68
- 0D402D68
- 0D402D68
- 0D402D68
- 0D402D68 rsa5 CODE XREF: sub_D402FA0+3Cp
- 0D402D68 sub_D4032C4+84p
- 0D402D68
- 0D402D68 var_654 = -0x654
- 0D402D68 var_650 = -0x650
- 0D402D68 var_64C = -0x64C
- 0D402D68 var_648 = -0x648
- 0D402D68 var_644 = -0x644
- 0D402D68 var_640 = -0x640
- 0D402D68 var_63C = -0x63C
- 0D402D68 var_630 = -0x630
- 0D402D68 var_420 = -0x420
- 0D402D68 var_28 = -0x28
- 0D402D68 arg_0 = 4
- 0D402D68 arg_4 = 8
- 0D402D68
- 0D402D68 MOV R12, SP
- 0D402D6C STMFD SP!, {R4-R12,LR,PC}
- 0D402D70 SUB R11, R12, #4
- 0D402D74 SUB SP, SP, #0x620
- 0D402D78 SUB SP, SP, #0xC
- 0D402D7C STR R0, [R11,#var_640]
- 0D402D80 STR R1, [R11,#var_644]
- 0D402D84 MOV R9, R2
- 0D402D88 MOV R8, R3
- 0D402D8C LDR R10, [R11,#arg_0]
- 0D402D90 MOV R0, R10
- 0D402D94 LDR R1, [R11,#arg_4]
- 0D402D98 BL sub_D402B78
- 0D402D98
- 0D402D9C SUBS R7, R0, #0
- 0D402DA0 BEQ loc_D402F94
- 0D402DA0
- 0D402DA4 MOV R5, R7,LSL#2
- 0D402DA8 ADD R3, R5, R10
- 0D402DAC LDR R0, [R3,#-4]
- 0D402DB0 BL sub_D4028B4
- 0D402DB0
- 0D402DB4 RSB R0, R0, #0x20
- 0D402DB8 STR R0, [R11,#var_648]
- 0D402DBC SUB R4, R11, #-var_420
- 0D402DC0 SUB R4, R4, #8
- 0D402DC4 SUB R4, R4, #0xC
- 0D402DC8 MOV R0, R4
- 0D402DCC MOV R1, R7
- 0D402DD0 BL sub_D402A80
- 0D402DD0
- 0D402DD4 SUB R2, R11, #-var_28
- 0D402DD8 ADD R6, R2, R8,LSL#2
- 0D402DDC MOV R0, R4
- 0D402DE0 MOV R1, R9
- 0D402DE4 LDR R2, [R11,#var_648]
- 0D402DE8 MOV R3, R8
- 0D402DEC BL sub_D402C78
- 0D402DEC
- 0D402DF0 STR R0, [R6,#-0x40C]
- 0D402DF4 SUB R0, R11, #-var_630
- 0D402DF8 SUB R0, R0, #8
- 0D402DFC MOV R1, R10
- 0D402E00 LDR R2, [R11,#var_648]
- 0D402E04 MOV R3, R7
- 0D402E08 BL sub_D402C78
- 0D402E08
- 0D402E0C SUB R3, R11, #-var_28
- 0D402E10 ADD R5, R5, R3
- 0D402E14 LDR R9, [R5,#-0x614]
- 0D402E18 LDR R0, [R11,#var_640]
- 0D402E1C MOV R1, R8
- 0D402E20 BL sub_D402A80
- 0D402E20
- 0D402E24 SUBS R6, R8, R7
- 0D402E28 BMI loc_D402F6C
- 0D402E28
- 0D402E2C MOV R2, #0xFFFFFBF4
- 0D402E34 STR R2, [R11,#var_64C]
- 0D402E38 SUB R3, R11, #-var_28
- 0D402E3C ADD R3, R3, R2
- 0D402E40 STR R3, [R11,#var_650]
- 0D402E44 MOV R10, #0xFFFFFBF4
- 0D402E44
- 0D402E4C
- 0D402E4C loc_D402E4C
- 0D402E4C CMN R9, #1
- 0D402E50 BNE loc_D402E70
- 0D402E50
- 0D402E54 ADD R3, R6, R7
- 0D402E58 SUB R2, R11, #-var_28
- 0D402E5C ADD R3, R2, R3,LSL#2
- 0D402E60 LDR R2, [R11,#var_64C]
- 0D402E64 LDR R3, [R3,R2]
- 0D402E68 STR R3, [R11,#var_63C]
- 0D402E6C B loc_D402E94
- 0D402E6C
- 0D402E70
- 0D402E70 loc_D402E70
- 0D402E70 ADD R1, R6, R7
- 0D402E74 LDR R3, [R11,#var_650]
- 0D402E78 ADD R1, R3, R1,LSL#2
- 0D402E7C SUB R0, R11, #-var_630
- 0D402E80 SUB R0, R0, #8
- 0D402E84 SUB R0, R0, #4
- 0D402E88 SUB R1, R1, #4
- 0D402E8C ADD R2, R9, #1
- 0D402E90 BL rsa6
- 0D402E90
- 0D402E94
- 0D402E94 loc_D402E94
- 0D402E94 ADD R3, R6, R7
- 0D402E98 SUB R2, R11, #-var_28
- 0D402E9C ADD R4, R2, R3,LSL#2
- 0D402EA0 SUB R1, R11, #-var_420
- 0D402EA4 SUB R1, R1, #8
- 0D402EA8 SUB R1, R1, #0xC
- 0D402EAC ADD R1, R1, R6,LSL#2
- 0D402EB0 STR R7, [SP,#0x654+var_654]
- 0D402EB4 MOV R0, R1
- 0D402EB8 LDR R2, [R11,#var_63C]
- 0D402EBC SUB R3, R11, #-var_630
- 0D402EC0 SUB R3, R3, #8
- 0D402EC4 BL sub_D402810
- 0D402EC4
- 0D402EC8 LDR R3, [R4,R10]
- 0D402ECC RSB R3, R0, R3
- 0D402ED0 STR R3, [R4,R10]
- 0D402ED4 ADD R3, R6, R7
- 0D402ED8 MOV R5, #0xFFFFFBF4
- 0D402EE0 SUB R2, R11, #-var_28
- 0D402EE4 ADD R4, R2, R3,LSL#2
- 0D402EE8 SUB R3, R11, #-var_28
- 0D402EEC ADD R8, R3, R5
- 0D402EF0 B loc_D402F30
- 0D402EF0
- 0D402EF4
- 0D402EF4 loc_D402EF4
- 0D402EF4 rsa5+1ECj
- 0D402EF4 LDR R3, [R11,#var_63C]
- 0D402EF8 ADD R3, R3, #1
- 0D402EFC STR R3, [R11,#var_63C]
- 0D402F00 SUB R1, R11, #-var_420
- 0D402F04 SUB R1, R1, #8
- 0D402F08 SUB R1, R1, #0xC
- 0D402F0C ADD R1, R1, R6,LSL#2
- 0D402F10 MOV R0, R1
- 0D402F14 SUB R2, R11, #-var_630
- 0D402F18 SUB R2, R2, #8
- 0D402F1C MOV R3, R7
- 0D402F20 BL sub_D402B00
- 0D402F20
- 0D402F24 LDR R3, [R4,R5]
- 0D402F28 RSB R3, R0, R3
- 0D402F2C STR R3, [R4,R5]
- 0D402F2C
- 0D402F30
- 0D402F30 loc_D402F30
- 0D402F30 LDR R3, [R4,R5]
- 0D402F34 CMP R3, #0
- 0D402F38 BNE loc_D402EF4
- 0D402F38
- 0D402F3C ADD R0, R8, R6,LSL#2
- 0D402F40 SUB R1, R11, #-var_630
- 0D402F44 SUB R1, R1, #8
- 0D402F48 MOV R2, R7
- 0D402F4C BL sub_D402D20
- 0D402F4C
- 0D402F50 CMP R0, #0
- 0D402F54 BGE loc_D402EF4
- 0D402F54
- 0D402F58 SUB R2, R11, #-var_640
- 0D402F5C LDMIA R2, {R2,R3}
- 0D402F60 STR R3, [R2,R6,LSL#2]
- 0D402F64 SUBS R6, R6, #1
- 0D402F68 BPL loc_D402E4C
- 0D402F68
- 0D402F6C
- 0D402F6C loc_D402F6C
- 0D402F6C LDR R0, [R11,#var_644]
- 0D402F70 LDR R1, [R11,#arg_4]
- 0D402F74 BL sub_D402A80
- 0D402F74
- 0D402F78 LDR R0, [R11,#var_644]
- 0D402F7C SUB R1, R11, #-var_420
- 0D402F80 SUB R1, R1, #8
- 0D402F84 SUB R1, R1, #0xC
- 0D402F88 LDR R2, [R11,#var_648]
- 0D402F8C MOV R3, R7
- 0D402F90 BL sub_D402CD4
- 0D402F90
- 0D402F94
- 0D402F94 loc_D402F94
- 0D402F94 SUB SP, R11, #0x28
- 0D402F98 LDMFD SP, {R4-R11,SP,LR}
- 0D402F9C BX LR
- 0D402F9C
- 0D402F9C
- 0D402F9C
- 0D402FA0
- 0D402FA0
- 0D402FA0
- 0D402FA0
- 0D402FA0
- 0D402FA0 sub_D402FA0
- 0D402FA0
- 0D402FA0 var_420 = -0x420
- 0D402FA0 var_41C = -0x41C
- 0D402FA0 var_410 = -0x410
- 0D402FA0 arg_0 = 4
- 0D402FA0
- 0D402FA0 MOV R12, SP
- 0D402FA4 STMFD SP!, {R4,R11,R12,LR,PC}
- 0D402FA8 SUB R11, R12, #4
- 0D402FAC SUB SP, SP, #0x410
- 0D402FB0 MOV R12, R0
- 0D402FB4 MOV LR, R1
- 0D402FB8 MOV R4, R2
- 0D402FBC STR R3, [SP,#0x420+var_420]
- 0D402FC0 LDR R3, [R11,#arg_0]
- 0D402FC4 STR R3, [SP,#0x420+var_41C]
- 0D402FC8 SUB R0, R11, #-var_410
- 0D402FCC SUB R0, R0, #8
- 0D402FD0 MOV R1, R12
- 0D402FD4 MOV R2, LR
- 0D402FD8 MOV R3, R4
- 0D402FDC BL rsa5
- 0D402FDC
- 0D402FE0 SUB SP, R11, #0x10
- 0D402FE4 LDMFD SP, {R4,R11,SP,LR}
- 0D402FE8 BX LR
- 0D402FE8
- 0D402FE8
- 0D402FE8
- 0D402FEC
- 0D402FEC
- 0D402FEC
- 0D402FEC
- 0D402FEC
- 0D402FEC sub_D402FEC
- 0D402FEC rsa2+ECp ...
- 0D402FEC
- 0D402FEC var_428 = -0x428
- 0D402FEC var_410 = -0x410
- 0D402FEC arg_0 = 4
- 0D402FEC
- 0D402FEC MOV R12, SP
- 0D402FF0 STMFD SP!, {R4-R7,R11,R12,LR,PC}
- 0D402FF4 SUB R11, R12, #4
- 0D402FF8 SUB SP, SP, #0x400
- 0D402FFC SUB SP, SP, #0xC
- 0D403000 MOV R6, R0
- 0D403004 MOV R7, R3
- 0D403008 LDR R5, [R11,#arg_0]
- 0D40300C SUB R4, R11, #-var_410
- 0D403010 SUB R4, R4, #0xC
- 0D403014 SUB R4, R4, #8
- 0D403018 MOV R0, R4
- 0D40301C MOV R3, R5
- 0D403020 BL sub_D402BA0
- 0D403020
- 0D403024 STR R5, [SP,#0x428+var_428]
- 0D403028 MOV R0, R6
- 0D40302C MOV R1, R4
- 0D403030 MOV R2, R5,LSL#1
- 0D403034 MOV R3, R7
- 0D403038 BL sub_D402FA0
- 0D403038
- 0D40303C SUB SP, R11, #0x1C
- 0D403040 LDMFD SP, {R4-R7,R11,SP,LR}
- 0D403044 BX LR
- 0D403044
- 0D403044
- 0D403044
- 0D403048
- 0D403048
- 0D403048
- 0D403048
- 0D403048
- 0D403048 rsa2 CODE XREF: verify_RSA_sig+6Ep
- 0D403048 rsa4+68p
- 0D403048 DATA XREF: ...
- 0D403048
- 0D403048 var_85C = -0x85C
- 0D403048 var_858 = -0x858
- 0D403048 var_854 = -0x854
- 0D403048 var_850 = -0x850
- 0D403048 var_84C = -0x84C
- 0D403048 var_848 = -0x848
- 0D403048 var_844 = -0x844
- 0D403048 var_840 = -0x840
- 0D403048 var_83C = -0x83C
- 0D403048 var_838 = -0x838
- 0D403048 var_830 = -0x830
- 0D403048 var_620 = -0x620
- 0D403048 var_420 = -0x420
- 0D403048 var_22C = -0x22C
- 0D403048 var_28 = -0x28
- 0D403048
- 0D403048 MOV R12, SP
- 0D40304C STMFD SP!, {R4-R12,LR,PC}
- 0D403050 SUB R11, R12, #4
- 0D403054 SUB SP, SP, #0x830
- 0D403058 SUB SP, SP, #4
- 0D40305C STR R0, [R11,#var_84C]
- 0D403060 MOV R5, R1
- 0D403064 STR R2, [R11,#var_850]
- 0D403068 STR R3, [R11,#var_854]
- 0D40306C LDMIB R11, {R9,R10}
- 0D403070 MOV R2, #0
- 0D403074 MOV R3, #1
- 0D403078 STR R3, [R11,#var_848]
- 0D40307C STR R3, [R11,#var_844]
- 0D403080 STR R2, [R11,#var_840]
- 0D403084 STR R2, [R11,#var_83C]
- 0D403088 LDR R3, [R11,#var_850]
- 0D40308C LDR R1, [R3]
- 0D403090 MOV R7, R2
- 0D403090
- 0D403094
- 0D403094 loc_D403094
- 0D403094 AND R2, R1, #3
- 0D403098 SUB R3, R11, #-var_28
- 0D40309C ADD R2, R3, R2,LSL#2
- 0D4030A0 LDR R3, [R2,#-0x820]
- 0D4030A4 ADD R3, R3, #1
- 0D4030A8 STR R3, [R2,#-0x820]
- 0D4030AC MOV R1, R1,LSR#2
- 0D4030B0 ADD R7, R7, #1
- 0D4030B4 CMP R7, #0xF
- 0D4030B8 BLE loc_D403094
- 0D4030B8
- 0D4030BC LDR R3, [R11,#var_83C]
- 0D4030C0 CMP R3, #0
- 0D4030C4 MOVNE R3, #1
- 0D4030C8 STRNE R3, [R11,#var_840]
- 0D4030CC SUB R4, R11, #-var_620
- 0D4030D0 SUB R4, R4, #8
- 0D4030D4 SUB R4, R4, #0xC
- 0D4030D8 MOV R0, R4
- 0D4030DC MOV R1, R5
- 0D4030E0 MOV R2, R10
- 0D4030E4 BL sub_D402A5C
- 0D4030E4
- 0D4030E8 LDR R3, [R11,#var_840]
- 0D4030EC CMP R3, #0
- 0D4030F0 BEQ loc_D40310C
- 0D4030F0
- 0D4030F4 STR R10, [SP,#0x85C+var_85C]
- 0D4030F8 ADD R0, R4, #0x204
- 0D4030FC MOV R1, R4
- 0D403100 MOV R2, R5
- 0D403104 MOV R3, R9
- 0D403108 BL sub_D402FEC
- 0D403108
- 0D40310C
- 0D40310C loc_D40310C
- 0D40310C LDR R3, [R11,#var_83C]
- 0D403110 CMP R3, #0
- 0D403114 BEQ loc_D403138
- 0D403114
- 0D403118 STR R10, [SP,#0x85C+var_85C]
- 0D40311C SUB R0, R11, #-var_22C
- 0D403120 SUB R1, R11, #-var_420
- 0D403124 SUB R1, R1, #8
- 0D403128 SUB R1, R1, #8
- 0D40312C MOV R2, R5
- 0D403130 MOV R3, R9
- 0D403134 BL sub_D402FEC
- 0D403134
- 0D403138
- 0D403138 loc_D403138
- 0D403138 SUB R0, R11, #-var_830
- 0D40313C SUB R0, R0, #8
- 0D403140 MOV R1, R10
- 0D403144 BL sub_D402A80
- 0D403144
- 0D403148 MOV R3, #1
- 0D40314C STR R3, [R11,#var_838]
- 0D403150 LDR R0, [R11,#var_850]
- 0D403154 LDR R1, [R11,#var_854]
- 0D403158 BL sub_D402B78
- 0D403158
- 0D40315C STR R0, [R11,#var_854]
- 0D403160 SUBS R7, R0, #1
- 0D403164 BMI loc_D403234
- 0D403164
- 0D403168
- 0D403168 loc_D403168
- 0D403168 LDR R2, [R11,#var_850]
- 0D40316C LDR R5, [R2,R7,LSL#2]
- 0D403170 MOV R8, #0x20
- 0D403174 LDR R2, [R11,#var_854]
- 0D403178 SUB R3, R2, #1
- 0D40317C CMP R3, R7
- 0D403180 BNE loc_D40319C
- 0D403180
- 0D403184 MOVS R3, R5,LSR#30
- 0D403188 BNE loc_D40319C
- 0D403188
- 0D40318C
- 0D40318C loc_D40318C
- 0D40318C MOV R5, R5,LSL#2
- 0D403190 SUB R8, R8, #2
- 0D403194 MOVS R2, R5,LSR#30
- 0D403198 BEQ loc_D40318C
- 0D403198
- 0D40319C
- 0D40319C loc_D40319C
- 0D40319C rsa2+140j
- 0D40319C MOV R6, #0
- 0D4031A0 CMP R6, R8
- 0D4031A4 BCS loc_D40322C
- 0D4031A4
- 0D4031A8 SUB R4, R11, #-var_830
- 0D4031AC SUB R4, R4, #8
- 0D4031B0 SUB R3, R11, #-var_620
- 0D4031B4 SUB R3, R3, #8
- 0D4031B8 SUB R3, R3, #0xC
- 0D4031BC STR R3, [R11,#var_858]
- 0D4031BC
- 0D4031C0
- 0D4031C0 loc_D4031C0
- 0D4031C0 STR R10, [SP,#0x85C+var_85C]
- 0D4031C4 MOV R0, R4
- 0D4031C8 MOV R1, R4
- 0D4031CC MOV R2, R4
- 0D4031D0 MOV R3, R9
- 0D4031D4 BL sub_D402FEC
- 0D4031D4
- 0D4031D8 STR R10, [SP,#0x85C+var_85C]
- 0D4031DC MOV R0, R4
- 0D4031E0 MOV R1, R4
- 0D4031E4 MOV R2, R4
- 0D4031E8 MOV R3, R9
- 0D4031EC BL sub_D402FEC
- 0D4031EC
- 0D4031F0 MOVS R3, R5,LSR#30
- 0D4031F4 BEQ loc_D40321C
- 0D4031F4
- 0D4031F8 ADD R2, R3, R3,LSL#7
- 0D4031FC LDR R3, [R11,#var_858]
- 0D403200 ADD R2, R3, R2,LSL#2
- 0D403204 STR R10, [SP,#0x85C+var_85C]
- 0D403208 MOV R0, R4
- 0D40320C MOV R1, R4
- 0D403210 SUB R2, R2, #0x204
- 0D403214 MOV R3, R9
- 0D403218 BL sub_D402FEC
- 0D403218
- 0D40321C
- 0D40321C loc_D40321C
- 0D40321C ADD R6, R6, #2
- 0D403220 MOV R5, R5,LSL#2
- 0D403224 CMP R6, R8
- 0D403228 BCC loc_D4031C0
- 0D403228
- 0D40322C
- 0D40322C loc_D40322C
- 0D40322C SUBS R7, R7, #1
- 0D403230 BPL loc_D403168
- 0D403230
- 0D403234
- 0D403234 loc_D403234
- 0D403234 LDR R0, [R11,#var_84C]
- 0D403238 SUB R1, R11, #-var_830
- 0D40323C SUB R1, R1, #8
- 0D403240 MOV R2, R10
- 0D403244 BL sub_D402A5C
- 0D403244
- 0D403248 SUB SP, R11, #0x28
- 0D40324C LDMFD SP, {R4-R11,SP,LR}
- 0D403250 BX LR
- 0D403250
- 0D403250
- 0D403250
- 0D403254
- 0D403254
- 0D403254
- 0D403254
- 0D403254 sub_D403254
- 0D403254 MOV R2, #0
- 0D403258 CMP R2, R1
- 0D40325C BGE loc_D403280
- 0D40325C
- 0D403260
- 0D403260 loc_D403260
- 0D403260 LDR R3, [R0,R2,LSL#2]
- 0D403264 CMP R3, #0
- 0D403268 BEQ loc_D403274
- 0D403268
- 0D40326C MOV R0, #0
- 0D403270 BX LR
- 0D403270
- 0D403274
- 0D403274 loc_D403274
- 0D403274 ADD R2, R2, #1
- 0D403278 CMP R2, R1
- 0D40327C BLT loc_D403260
- 0D40327C
- 0D403280
- 0D403280 loc_D403280
- 0D403280 MOV R0, #1
- 0D403284 BX LR
- 0D403284
- 0D403284
- 0D403284
- 0D403288
- 0D403288
- 0D403288
- 0D403288
- 0D403288
- 0D403288 sub_D403288
- 0D403288 MOV R12, SP
- 0D40328C STMFD SP!, {R4,R5,R11,R12,LR,PC}
- 0D403290 SUB R11, R12, #4
- 0D403294 MOV R5, R0
- 0D403298 BL sub_D402B78
- 0D403298
- 0D40329C CMP R0, #0
- 0D4032A0 BEQ loc_D4032BC
- 0D4032A0
- 0D4032A4 MOV R4, R0,LSL#5
- 0D4032A8 ADD R3, R5, R0,LSL#2
- 0D4032AC LDR R0, [R3,#-4]
- 0D4032B0 BL sub_D4028B4
- 0D4032B0
- 0D4032B4 ADD R4, R4, R0
- 0D4032B8 SUB R0, R4, #0x20
- 0D4032B8
- 0D4032BC
- 0D4032BC loc_D4032BC
- 0D4032BC LDMFD SP, {R4,R5,R11,SP,LR}
- 0D4032C0 BX LR
- 0D4032C0
- 0D4032C0
- 0D4032C0
- 0D4032C4
- 0D4032C4
- 0D4032C4
- 0D4032C4
- 0D4032C4
- 0D4032C4 sub_D4032C4
- 0D4032C4
- 0D4032C4 var_158 = -0x158
- 0D4032C4 var_154 = -0x154
- 0D4032C4 var_150 = -0x150
- 0D4032C4 var_14C = -0x14C
- 0D4032C4 var_148 = -0x148
- 0D4032C4 var_108 = -0x108
- 0D4032C4 var_E8 = -0xE8
- 0D4032C4 var_C8 = -0xC8
- 0D4032C4 var_A8 = -0xA8
- 0D4032C4 var_88 = -0x88
- 0D4032C4 var_68 = -0x68
- 0D4032C4 var_48 = -0x48
- 0D4032C4
- 0D4032C4 MOV R12, SP
- 0D4032C8 STMFD SP!, {R4-R12,LR,PC}
- 0D4032CC SUB R11, R12, #4
- 0D4032D0 SUB SP, SP, #0x130
- 0D4032D4 STR R0, [R11,#var_14C]
- 0D4032D8 MOV R5, R1
- 0D4032DC STR R2, [R11,#var_150]
- 0D4032E0 MOV R8, R3
- 0D4032E4 SUB R0, R11, #-var_A8
- 0D4032E8 MOV R1, R3
- 0D4032EC BL sub_D402A80
- 0D4032EC
- 0D4032F0 MOV R4, #1
- 0D4032F4 STR R4, [R11,#var_A8]
- 0D4032F8 SUB R0, R11, #-var_E8
- 0D4032FC MOV R1, R8
- 0D403300 BL sub_D402A80
- 0D403300
- 0D403304 SUB R0, R11, #-var_C8
- 0D403308 MOV R1, R5
- 0D40330C MOV R2, R8
- 0D403310 BL sub_D402A5C
- 0D403310
- 0D403314 SUB R0, R11, #-var_108
- 0D403318 LDR R1, [R11,#var_150]
- 0D40331C MOV R2, R8
- 0D403320 BL sub_D402A5C
- 0D403320
- 0D403324 MOV R9, R4
- 0D403328 SUB R10, R11, #-var_108
- 0D40332C B loc_D4033C8
- 0D40332C
- 0D403330
- 0D403330 loc_D403330
- 0D403330 STR R10, [SP,#0x158+var_158]
- 0D403334 STR R8, [SP,#0x158+var_154]
- 0D403338 SUB R0, R11, #-var_48
- 0D40333C SUB R1, R11, #-var_88
- 0D403340 SUB R2, R11, #-var_C8
- 0D403344 MOV R3, R8
- 0D403348 BL rsa5
- 0D403348
- 0D40334C SUB R6, R11, #-var_148
- 0D403350 SUB R5, R11, #-var_E8
- 0D403354 MOV R0, R6
- 0D403358 SUB R1, R11, #-var_48
- 0D40335C MOV R2, R5
- 0D403360 MOV R3, R8
- 0D403364 BL sub_D402BA0
- 0D403364
- 0D403368 SUB R7, R11, #-var_68
- 0D40336C SUB R4, R11, #-var_A8
- 0D403370 MOV R0, R7
- 0D403374 MOV R1, R4
- 0D403378 MOV R2, R6
- 0D40337C MOV R3, R8
- 0D403380 BL sub_D402AA4
- 0D403380
- 0D403384 MOV R0, R4
- 0D403388 MOV R1, R5
- 0D40338C MOV R2, R8
- 0D403390 BL sub_D402A5C
- 0D403390
- 0D403394 MOV R0, R5
- 0D403398 MOV R1, R7
- 0D40339C MOV R2, R8
- 0D4033A0 BL sub_D402A5C
- 0D4033A0
- 0D4033A4 SUB R0, R11, #-var_C8
- 0D4033A8 MOV R1, R10
- 0D4033AC MOV R2, R8
- 0D4033B0 BL sub_D402A5C
- 0D4033B0
- 0D4033B4 MOV R0, R10
- 0D4033B8 SUB R1, R11, #-var_88
- 0D4033BC MOV R2, R8
- 0D4033C0 BL sub_D402A5C
- 0D4033C0
- 0D4033C4 RSB R9, R9, #0
- 0D4033C4
- 0D4033C8
- 0D4033C8 loc_D4033C8
- 0D4033C8 SUB R0, R11, #-var_108
- 0D4033CC MOV R1, R8
- 0D4033D0 BL sub_D403254
- 0D4033D0
- 0D4033D4 CMP R0, #0
- 0D4033D8 BEQ loc_D403330
- 0D4033D8
- 0D4033DC CMP R9, #0
- 0D4033E0 BGE loc_D4033FC
- 0D4033E0
- 0D4033E4 LDR R0, [R11,#var_14C]
- 0D4033E8 LDR R1, [R11,#var_150]
- 0D4033EC SUB R2, R11, #-var_A8
- 0D4033F0 MOV R3, R8
- 0D4033F4 BL sub_D402B00
- 0D4033F4
- 0D4033F8 B loc_D40340C
- 0D4033F8
- 0D4033FC
- 0D4033FC loc_D4033FC
- 0D4033FC LDR R0, [R11,#var_14C]
- 0D403400 SUB R1, R11, #-var_A8
- 0D403404 MOV R2, R8
- 0D403408 BL sub_D402A5C
- 0D403408
- 0D40340C
- 0D40340C loc_D40340C
- 0D40340C SUB SP, R11, #0x28
- 0D403410 LDMFD SP, {R4-R11,SP,LR}
- 0D403414 BX LR
- 0D403414
- 0D403414
- 0D403414
- 0D403418 CODE16
- 0D403418
- 0D403418
- 0D403418
- 0D403418
- 0D403418 rsa3 CODE XREF: verify_RSA_sig+80p
- 0D403418 rsa4+76p
- 0D403418 DATA XREF: ...
- 0D403418 PUSH {R4-R7,LR}
- 0D40341A MOVS R4, R0
- 0D40341C MOVS R7, R2
- 0D40341E MOVS R6, R3
- 0D403420 MOVS R5, #0
- 0D403422 SUBS R1, #1
- 0D403424 CMP R3, R5
- 0D403426 BLS loc_D403452
- 0D403426
- 0D403428 CMP R1, #0
- 0D40342A BLT loc_D40345E
- 0D40342A
- 0D40342C
- 0D40342C loc_D40342C
- 0D40342C LSLS R3, R5, #2
- 0D40342E LDR R0, [R3,R7]
- 0D403430 MOVS R2, #0
- 0D403432 CMP R1, #0
- 0D403434 BLT loc_D403446
- 0D403434
- 0D403436
- 0D403436 loc_D403436
- 0D403436 MOVS R3, R0
- 0D403438 LSRS R3, R2
- 0D40343A STRB R3, [R4,R1]
- 0D40343C ADDS R2, #8
- 0D40343E SUBS R1, #1
- 0D403440 BMI loc_D403446
- 0D403440
- 0D403442 CMP R2, #0x1F
- 0D403444 BLS loc_D403436
- 0D403444
- 0D403446
- 0D403446 loc_D403446
- 0D403446 rsa3+28j
- 0D403446 ADDS R5, #1
- 0D403448 CMP R6, R5
- 0D40344A BLS loc_D403452
- 0D40344A
- 0D40344C CMP R1, #0
- 0D40344E BGE loc_D40342C
- 0D40344E
- 0D403450 B loc_D40345E
- 0D403450
- 0D403452
- 0D403452 loc_D403452
- 0D403452 rsa3+32j
- 0D403452 CMP R1, #0
- 0D403454 BLT loc_D40345E
- 0D403454
- 0D403456 MOVS R3, #0
- 0D403456
- 0D403458
- 0D403458 loc_D403458
- 0D403458 STRB R3, [R4,R1]
- 0D40345A SUBS R1, #1
- 0D40345C BPL loc_D403458
- 0D40345C
- 0D40345E
- 0D40345E loc_D40345E
- 0D40345E rsa3+38j ...
- 0D40345E POP {R4-R7}
- 0D403460 POP {R0}
- 0D403462 BX R0
- 0D403462
- 0D403462
- 0D403462
- 0D403464
- 0D403464
- 0D403464
- 0D403464
- 0D403464 rsa1 CODE XREF: verify_RSA_sig+34p
- 0D403464 verify_RSA_sig+44p ...
- 0D403464 PUSH {R4-R7,LR}
- 0D403466 MOVS R7, R0
- 0D403468 MOVS R6, R1
- 0D40346A MOVS R5, R2
- 0D40346C MOVS R4, #0
- 0D40346E SUBS R2, R3, #1
- 0D403470 CMP R4, R6
- 0D403472 BGE loc_D4034B0
- 0D403472
- 0D403474 CMP R2, #0
- 0D403476 BLT loc_D40349E
- 0D403476
- 0D403478
- 0D403478 loc_D403478
- 0D403478 MOVS R0, #0
- 0D40347A MOVS R1, #0
- 0D40347C CMP R2, #0
- 0D40347E BLT loc_D403490
- 0D40347E
- 0D403480
- 0D403480 loc_D403480
- 0D403480 LDRB R3, [R5,R2]
- 0D403482 LSLS R3, R1
- 0D403484 ORRS R0, R3
- 0D403486 ADDS R1, #8
- 0D403488 SUBS R2, #1
- 0D40348A BMI loc_D403490
- 0D40348A
- 0D40348C CMP R1, #0x1F
- 0D40348E BLE loc_D403480
- 0D40348E
- 0D403490
- 0D403490 loc_D403490
- 0D403490 rsa1+26j
- 0D403490 LSLS R3, R4, #2
- 0D403492 STR R0, [R3,R7]
- 0D403494 ADDS R4, #1
- 0D403496 CMP R4, R6
- 0D403498 BGE loc_D4034B0
- 0D403498
- 0D40349A CMP R2, #0
- 0D40349C BGE loc_D403478
- 0D40349C
- 0D40349E
- 0D40349E loc_D40349E
- 0D40349E CMP R4, R6
- 0D4034A0 BGE loc_D4034B0
- 0D4034A0
- 0D4034A2 MOVS R2, #0
- 0D4034A2
- 0D4034A4
- 0D4034A4 loc_D4034A4
- 0D4034A4 LSLS R3, R4, #2
- 0D4034A6 ADDS R3, R3, R7
- 0D4034A8 STR R2, [R3]
- 0D4034AA ADDS R4, #1
- 0D4034AC CMP R4, R6
- 0D4034AE BLT loc_D4034A4
- 0D4034AE
- 0D4034B0
- 0D4034B0 loc_D4034B0
- 0D4034B0 rsa1+34j ...
- 0D4034B0 POP {R4-R7}
- 0D4034B2 POP {R0}
- 0D4034B4 BX R0
- 0D4034B4
- 0D4034B4
- 0D4034B4
- 0D4034B6 ALIGN 4
- 0D4034B8
- 0D4034B8
- 0D4034B8
- 0D4034B8
- 0D4034B8 sub_D4034B8
- 0D4034B8 off_D403520o
- 0D4034B8 PUSH {LR}
- 0D4034BA LDR R3, [R0,#0x18]
- 0D4034BC CMP R3, #0
- 0D4034BE BEQ loc_D4034D0
- 0D4034BE
- 0D4034C0 ADDS R3, R3, R0
- 0D4034C2 MOVS R2, #0
- 0D4034C4 STRB R2, [R3,#8]
- 0D4034C6 MOVS R3, #0
- 0D4034C8 STR R3, [R0,#0x18]
- 0D4034CA ADDS R0, #8
- 0D4034CC BL BOOT1__sys_write0
- 0D4034CC
- 0D4034D0
- 0D4034D0 loc_D4034D0
- 0D4034D0 POP {R0}
- 0D4034D2 BX R0
- 0D4034D2
- 0D4034D2
- 0D4034D2
- 0D4034D4
- 0D4034D4
- 0D4034D4
- 0D4034D4
- 0D4034D4 sub_D4034D4
- 0D4034D4 off_D40351Co
- 0D4034D4 PUSH {LR}
- 0D4034D6 LDR R2, [R0,#0x18]
- 0D4034D8 ADDS R3, R2, R0
- 0D4034DA STRB R1, [R3,#8]
- 0D4034DC ADDS R2, #1
- 0D4034DE STR R2, [R0,#0x18]
- 0D4034E0 LDR R3, [R0,#0x1C]
- 0D4034E2 ADDS R3, #1
- 0D4034E4 STR R3, [R0,#0x1C]
- 0D4034E6 CMP R2, #0xF
- 0D4034E8 BNE loc_D4034EE
- 0D4034E8
- 0D4034EA LDR R3, [R0,#4]
- 0D4034EC BLX R3
- 0D4034EC
- 0D4034EE
- 0D4034EE loc_D4034EE
- 0D4034EE POP {R0}
- 0D4034F0 BX R0
- 0D4034F0
- 0D4034F0
- 0D4034F0
- 0D4034F2 ALIGN 4
- 0D4034F4
- 0D4034F4
- 0D4034F4
- 0D4034F4
- 0D4034F4 call_printf
- 0D4034F4
- 0D4034F4 var_28 = -0x28
- 0D4034F4 var_24 = -0x24
- 0D4034F4 var_10 = -0x10
- 0D4034F4 var_C = -0xC
- 0D4034F4
- 0D4034F4 PUSH {R4,LR}
- 0D4034F6 SUB SP, SP, #0x20
- 0D4034F8 MOVS R4, R0
- 0D4034FA MOVS R2, R1
- 0D4034FC MOVS R3, #0
- 0D4034FE STR R3, [SP,#0x28+var_C]
- 0D403500 STR R3, [SP,#0x28+var_10]
- 0D403502 LDR R3, =(sub_D4034D4+1)
- 0D403504 STR R3, [SP,#0x28+var_28]
- 0D403506 LDR R3, =(sub_D4034B8+1)
- 0D403508 STR R3, [SP,#0x28+var_24]
- 0D40350A MOV R0, SP
- 0D40350C MOVS R1, R4
- 0D40350E BL printf
- 0D40350E
- 0D403512 LDR R0, [SP,#0x28+var_C]
- 0D403514 ADD SP, SP, #0x20
- 0D403516 POP {R4}
- 0D403518 POP {R1}
- 0D40351A BX R1
- 0D40351A
- 0D40351A
- 0D40351A
- 0D40351C off_D40351C DCD sub_D4034D4+1
- 0D403520 off_D403520 DCD sub_D4034B8+1
- 0D403524
- 0D403524
- 0D403524
- 0D403524
- 0D403524 do_debug_log
- 0D403524
- 0D403524 varg_r0 = -0x10
- 0D403524 varg_r1 = -0xC
- 0D403524 varg_r2 = -8
- 0D403524 varg_r3 = -4
- 0D403524
- 0D403524 PUSH {R0-R3}
- 0D403526 PUSH {LR}
- 0D403528 ADD R1, SP, #0x14+varg_r0
- 0D40352A LDMIA R1!, {R0}
- 0D40352C BL call_printf
- 0D40352C
- 0D403530 POP {R3}
- 0D403532 ADD SP, SP, #0x10
- 0D403534 BX R3
- 0D403534
- 0D403534
- 0D403534
- 0D403536 ALIGN 4
- 0D403538
- 0D403538
- 0D403538
- 0D403538
- 0D403538 sub_D403538
- 0D403538 off_D4039BCo
- 0D403538 PUSH {LR}
- 0D40353A LDR R1, [R0,#0xC]
- 0D40353C LDR R3, [R0,#0x10]
- 0D40353E CMP R1, R3
- 0D403540 BCS loc_D40354A
- 0D403540
- 0D403542 LDR R2, [R0,#8]
- 0D403544 MOVS R3, #0
- 0D403546 STRB R3, [R2,R1]
- 0D403548 B loc_D403556
- 0D403548
- 0D40354A
- 0D40354A loc_D40354A
- 0D40354A LDR R3, [R0,#8]
- 0D40354C LDR R2, [R0,#0x10]
- 0D40354E ADDS R3, R3, R2
- 0D403550 SUBS R3, #1
- 0D403552 MOVS R2, #0
- 0D403554 STRB R2, [R3]
- 0D403554
- 0D403556
- 0D403556 loc_D403556
- 0D403556 POP {R0}
- 0D403558 BX R0
- 0D403558
- 0D403558
- 0D403558
- 0D40355A ALIGN 4
- 0D40355C
- 0D40355C
- 0D40355C
- 0D40355C
- 0D40355C sub_D40355C
- 0D40355C off_D4039B8o
- 0D40355C PUSH {LR}
- 0D40355E LSLS R1, R1, #0x18
- 0D403560 LSRS R1, R1, #0x18
- 0D403562 LDR R2, [R0,#0xC]
- 0D403564 LDR R3, [R0,#0x10]
- 0D403566 CMP R2, R3
- 0D403568 BCS loc_D40356E
- 0D403568
- 0D40356A LDR R3, [R0,#8]
- 0D40356C STRB R1, [R3,R2]
- 0D40356C
- 0D40356E
- 0D40356E loc_D40356E
- 0D40356E LDR R3, [R0,#0xC]
- 0D403570 ADDS R3, #1
- 0D403572 STR R3, [R0,#0xC]
- 0D403574 POP {R0}
- 0D403576 BX R0
- 0D403576
- 0D403576
- 0D403576
- 0D403578
- 0D403578
- 0D403578
- 0D403578
- 0D403578 sub_D403578
- 0D403578 printf+292p ...
- 0D403578 PUSH {R4,R5,LR}
- 0D40357A MOVS R5, R0
- 0D40357C MOVS R4, R1
- 0D40357E LDRB R3, [R1]
- 0D403580 CMP R3, #0
- 0D403582 BEQ loc_D403594
- 0D403582
- 0D403584
- 0D403584 loc_D403584
- 0D403584 LDR R3, [R5]
- 0D403586 MOVS R0, R5
- 0D403588 LDRB R1, [R4]
- 0D40358A BLX R3
- 0D40358A
- 0D40358C ADDS R4, #1
- 0D40358E LDRB R3, [R4]
- 0D403590 CMP R3, #0
- 0D403592 BNE loc_D403584
- 0D403592
- 0D403594
- 0D403594 loc_D403594
- 0D403594 POP {R4,R5}
- 0D403596 POP {R0}
- 0D403598 BX R0
- 0D403598
- 0D403598
- 0D403598
- 0D40359A ALIGN 4
- 0D40359C
- 0D40359C
- 0D40359C
- 0D40359C
- 0D40359C sub_D40359C
- 0D40359C printf+F6p ...
- 0D40359C PUSH {R4-R6,LR}
- 0D40359E MOVS R5, R0
- 0D4035A0 LSLS R2, R2, #0x18
- 0D4035A2 LSRS R6, R2, #0x18
- 0D4035A4 SUBS R4, R1, #1
- 0D4035A6 BCC loc_D4035B4
- 0D4035A6
- 0D4035A8
- 0D4035A8 loc_D4035A8
- 0D4035A8 LDR R3, [R5]
- 0D4035AA MOVS R0, R5
- 0D4035AC MOVS R1, R6
- 0D4035AE BLX R3
- 0D4035AE
- 0D4035B0 SUBS R4, #1
- 0D4035B2 BCS loc_D4035A8
- 0D4035B2
- 0D4035B4
- 0D4035B4 loc_D4035B4
- 0D4035B4 POP {R4-R6}
- 0D4035B6 POP {R0}
- 0D4035B8 BX R0
- 0D4035B8
- 0D4035B8
- 0D4035B8
- 0D4035BA ALIGN 4
- 0D4035BC
- 0D4035BC
- 0D4035BC
- 0D4035BC
- 0D4035BC printf
- 0D4035BC call_printf2+1Ap
- 0D4035BC
- 0D4035BC var_4C = -0x4C
- 0D4035BC var_48 = -0x48
- 0D4035BC var_44 = -0x44
- 0D4035BC var_40 = -0x40
- 0D4035BC var_3C = -0x3C
- 0D4035BC var_24 = -0x24
- 0D4035BC
- 0D4035BC PUSH {R4-R7,LR}
- 0D4035BE MOV R7, R11
- 0D4035C0 MOV R6, R10
- 0D4035C2 MOV R5, R9
- 0D4035C4 MOV R4, R8
- 0D4035C6 PUSH {R4-R7}
- 0D4035C8 SUB SP, SP, #0x28
- 0D4035CA MOV R8, R0
- 0D4035CC MOVS R5, R1
- 0D4035CE MOV R11, R2
- 0D4035D0 MOVS R1, #0
- 0D4035D2 STR R1, [SP,#0x4C+var_40]
- 0D4035D4 LDRB R4, [R5]
- 0D4035D6 ADDS R5, #1
- 0D4035D8 CMP R4, #0
- 0D4035DA BNE loc_D4035DE
- 0D4035DA
- 0D4035DC B loc_D403974
- 0D4035DC
- 0D4035DE
- 0D4035DE loc_D4035DE
- 0D4035DE printf+3B6j
- 0D4035DE CMP R4, #0x25
- 0D4035E0 BEQ loc_D4035E4
- 0D4035E0
- 0D4035E2 B loc_D403960
- 0D4035E2
- 0D4035E4
- 0D4035E4 loc_D4035E4
- 0D4035E4 MOVS R2, #0
- 0D4035E6 STR R2, [SP,#0x4C+var_44]
- 0D4035E8 MOV R10, R2
- 0D4035EA STR R2, [SP,#0x4C+var_48]
- 0D4035EC STR R2, [SP,#0x4C+var_4C]
- 0D4035EE MOVS R7, #0
- 0D4035F0 LDRB R4, [R5]
- 0D4035F2 ADDS R5, #1
- 0D4035F4 CMP R4, #0
- 0D4035F6 BEQ loc_D40362E
- 0D4035F6
- 0D4035F8
- 0D4035F8 loc_D4035F8
- 0D4035F8 CMP R4, #0x2D
- 0D4035FA BEQ loc_D40361C
- 0D4035FA
- 0D4035FC CMP R4, #0x2D
- 0D4035FE BGT loc_D40360A
- 0D4035FE
- 0D403600 CMP R4, #0x23
- 0D403602 BEQ loc_D403610
- 0D403602
- 0D403604 CMP R4, #0x2B
- 0D403606 BEQ loc_D403616
- 0D403606
- 0D403608 B loc_D40362E
- 0D403608
- 0D40360A
- 0D40360A loc_D40360A
- 0D40360A CMP R4, #0x30
- 0D40360C BEQ loc_D403622
- 0D40360C
- 0D40360E B loc_D40362E
- 0D40360E
- 0D403610
- 0D403610 loc_D403610
- 0D403610 MOVS R3, #1
- 0D403612 STR R3, [SP,#0x4C+var_4C]
- 0D403614 B loc_D403626
- 0D403614
- 0D403616
- 0D403616 loc_D403616
- 0D403616 MOVS R1, #1
- 0D403618 MOV R10, R1
- 0D40361A B loc_D403626
- 0D40361A
- 0D40361C
- 0D40361C loc_D40361C
- 0D40361C MOVS R2, #1
- 0D40361E STR R2, [SP,#0x4C+var_48]
- 0D403620 B loc_D403626
- 0D403620
- 0D403622
- 0D403622 loc_D403622
- 0D403622 MOVS R3, #1
- 0D403624 STR R3, [SP,#0x4C+var_44]
- 0D403624
- 0D403626
- 0D403626 loc_D403626
- 0D403626 printf+5Ej ...
- 0D403626 LDRB R4, [R5]
- 0D403628 ADDS R5, #1
- 0D40362A CMP R4, #0
- 0D40362C BNE loc_D4035F8
- 0D40362C
- 0D40362E
- 0D40362E loc_D40362E
- 0D40362E printf+4Cj ...
- 0D40362E MOVS R3, R4
- 0D403630 SUBS R3, #0x30
- 0D403632 LSLS R3, R3, #0x18
- 0D403634 LSRS R3, R3, #0x18
- 0D403636 CMP R3, #9
- 0D403638 BHI loc_D403656
- 0D403638
- 0D40363A MOVS R2, #0xA
- 0D40363A
- 0D40363C
- 0D40363C loc_D40363C
- 0D40363C MOVS R3, R7
- 0D40363E MULS R3, R2
- 0D403640 ADDS R3, R3, R4
- 0D403642 MOVS R7, R3
- 0D403644 SUBS R7, #0x30
- 0D403646 LDRB R4, [R5]
- 0D403648 ADDS R5, #1
- 0D40364A MOVS R3, R4
- 0D40364C SUBS R3, #0x30
- 0D40364E LSLS R3, R3, #0x18
- 0D403650 LSRS R3, R3, #0x18
- 0D403652 CMP R3, #9
- 0D403654 BLS loc_D40363C
- 0D403654
- 0D403656
- 0D403656 loc_D403656
- 0D403656 MOVS R1, #0
- 0D403658 CMP R4, #0x6C
- 0D40365A BNE loc_D403666
- 0D40365A
- 0D40365C
- 0D40365C loc_D40365C
- 0D40365C ADDS R1, #1
- 0D40365E LDRB R4, [R5]
- 0D403660 ADDS R5, #1
- 0D403662 CMP R4, #0x6C
- 0D403664 BEQ loc_D40365C
- 0D403664
- 0D403666
- 0D403666 loc_D403666
- 0D403666 MOVS R3, R4
- 0D403668 SUBS R3, #0x58
- 0D40366A CMP R3, #0x20
- 0D40366C BLS loc_D403670
- 0D40366C
- 0D40366E B def_D403676 jumptable 0D403676 default case
- 0D40366E
- 0D403670
- 0D403670 loc_D403670
- 0D403670 LSLS R3, R3, #2
- 0D403672 LDR R2, =jpt_D403676
- 0D403674 LDR R3, [R3,R2]
- 0D403676 MOV PC, R3
- 0D403676
- 0D403678
- 0D403678 loc_D403678
- 0D403678 DATA XREF: 0D40403Co
- 0D403678 MOV R3, R11
- 0D40367A MOVS R1, #4
- 0D40367C ADD R11, R1
- 0D40367E LDRB R4, [R3,#3]
- 0D403680 CMP R7, #1
- 0D403682 BLE loc_D403694
- 0D403682
- 0D403684 LDR R2, [SP,#0x4C+var_48]
- 0D403686 CMP R2, #0
- 0D403688 BNE loc_D403694
- 0D403688
- 0D40368A MOV R0, R8
- 0D40368C SUBS R1, R7, #1
- 0D40368E MOVS R2, #0x20
- 0D403690 BL sub_D40359C
- 0D403690
- 0D403694
- 0D403694 loc_D403694
- 0D403694 printf+CCj
- 0D403694 MOV R1, R8
- 0D403696 LDR R3, [R1]
- 0D403698 MOV R0, R8
- 0D40369A MOVS R1, R4
- 0D40369C BLX R3
- 0D40369C
- 0D40369E CMP R7, #1
- 0D4036A0 BGT loc_D4036A4
- 0D4036A0
- 0D4036A2 B loc_D40396A
- 0D4036A2
- 0D4036A4
- 0D4036A4 loc_D4036A4
- 0D4036A4 LDR R2, [SP,#0x4C+var_48]
- 0D4036A6 CMP R2, #0
- 0D4036A8 BNE loc_D4036AC
- 0D4036A8
- 0D4036AA B loc_D40396A
- 0D4036AA
- 0D4036AC
- 0D4036AC loc_D4036AC
- 0D4036AC MOV R0, R8
- 0D4036AE SUBS R1, R7, #1
- 0D4036B0 MOVS R2, #0x20
- 0D4036B2 BL sub_D40359C
- 0D4036B2
- 0D4036B6 B loc_D40396A
- 0D4036B6
- 0D4036B8
- 0D4036B8 loc_D4036B8
- 0D4036B8 DATA XREF: 0D40407Co
- 0D4036B8 MOV R3, R11
- 0D4036BA MOVS R1, #4
- 0D4036BC ADD R11, R1
- 0D4036BE LDR R4, [R3]
- 0D4036C0 CMP R4, #0
- 0D4036C2 BNE loc_D4036C6
- 0D4036C2
- 0D4036C4 LDR R4, =aNull_25 "(null)"
- 0D4036C4
- 0D4036C6
- 0D4036C6 loc_D4036C6
- 0D4036C6 printf+17Aj
- 0D4036C6 MOVS R0, R4
- 0D4036C8 MOVS R1, #0x400
- 0D4036CC BL sub_D403CB4
- 0D4036CC
- 0D4036D0 MOV R10, R0
- 0D4036D2 CMP R7, R10
- 0D4036D4 BLE loc_D4036E8
- 0D4036D4
- 0D4036D6 LDR R2, [SP,#0x4C+var_48]
- 0D4036D8 CMP R2, #0
- 0D4036DA BNE loc_D4036E8
- 0D4036DA
- 0D4036DC MOV R0, R8
- 0D4036DE MOV R3, R10
- 0D4036E0 SUBS R1, R7, R3
- 0D4036E2 MOVS R2, #0x20
- 0D4036E4 BL sub_D40359C
- 0D4036E4
- 0D4036E8
- 0D4036E8 loc_D4036E8
- 0D4036E8 printf+11Ej
- 0D4036E8 MOV R0, R8
- 0D4036EA MOVS R1, R4
- 0D4036EC BL sub_D403578
- 0D4036EC
- 0D4036F0 CMP R7, R10
- 0D4036F2 BGT loc_D4036F6
- 0D4036F2
- 0D4036F4 B loc_D40396A
- 0D4036F4
- 0D4036F6
- 0D4036F6 loc_D4036F6
- 0D4036F6 LDR R1, [SP,#0x4C+var_48]
- 0D4036F8 CMP R1, #0
- 0D4036FA BNE loc_D4036FE
- 0D4036FA
- 0D4036FC B loc_D40396A
- 0D4036FC
- 0D4036FE
- 0D4036FE loc_D4036FE
- 0D4036FE MOV R0, R8
- 0D403700 MOV R2, R10
- 0D403702 SUBS R1, R7, R2
- 0D403704 MOVS R2, #0x20
- 0D403706 BL sub_D40359C
- 0D403706
- 0D40370A B loc_D40396A
- 0D40370A
- 0D40370C
- 0D40370C loc_D40370C
- 0D40370C DATA XREF: jpt_D403676o ...
- 0D40370C MOV R3, R11
- 0D40370E MOVS R2, #4
- 0D403710 ADD R11, R2
- 0D403712 LDR R3, [R3]
- 0D403714 MOV R9, R3
- 0D403716 CMP R1, #2
- 0D403718 BNE loc_D403722
- 0D403718
- 0D40371A MOV R3, R11
- 0D40371C ADD R11, R2
- 0D40371E LDR R3, [R3]
- 0D403720 STR R3, [SP,#0x4C+var_40]
- 0D403720
- 0D403722
- 0D403722 loc_D403722
- 0D403722 CMP R4, #0x70
- 0D403724 BNE loc_D403738
- 0D403724
- 0D403726 MOV R3, R9
- 0D403728 CMP R3, #0
- 0D40372A BEQ loc_D403734
- 0D40372A
- 0D40372C MOVS R4, #0x78
- 0D40372E MOVS R2, #1
- 0D403730 STR R2, [SP,#0x4C+var_4C]
- 0D403732 B loc_D403738
- 0D403732
- 0D403734
- 0D403734 loc_D403734
- 0D403734 LDR R4, =aNil_17 "(nil)"
- 0D403736 B loc_D4036C6
- 0D403736
- 0D403738
- 0D403738 loc_D403738
- 0D403738 printf+176j
- 0D403738 CMP R4, #0x78
- 0D40373A BNE loc_D403742
- 0D40373A
- 0D40373C MOVS R3, #0x57
- 0D40373E MOV R10, R3
- 0D403740 B loc_D403746
- 0D403740
- 0D403742
- 0D403742 loc_D403742
- 0D403742 MOVS R2, #0x37
- 0D403744 MOV R10, R2
- 0D403744
- 0D403746
- 0D403746 loc_D403746
- 0D403746 ADD R6, SP, #0x4C+var_3C
- 0D403748 MOVS R0, #1
- 0D40374A CMP R1, #2
- 0D40374C BNE loc_D403752
- 0D40374C
- 0D40374E MOVS R2, #0x3C
- 0D403750 B loc_D403754
- 0D403750
- 0D403752
- 0D403752 loc_D403752
- 0D403752 MOVS R2, #0x1C
- 0D403752
- 0D403754
- 0D403754 loc_D403754
- 0D403754 CMP R2, #0
- 0D403756 BLT loc_D403796
- 0D403756
- 0D403758 MOVS R3, #0xF
- 0D40375A MOV R12, R3
- 0D40375A
- 0D40375C
- 0D40375C loc_D40375C
- 0D40375C CMP R2, #0x1C
- 0D40375E BLE loc_D403770
- 0D40375E
- 0D403760 MOVS R3, R2
- 0D403762 SUBS R3, #0x20
- 0D403764 LDR R1, [SP,#0x4C+var_40]
- 0D403766 LSRS R1, R3
- 0D403768 MOVS R3, R1
- 0D40376A MOV R1, R12
- 0D40376C ANDS R3, R1
- 0D40376E B loc_D403778
- 0D40376E
- 0D403770
- 0D403770 loc_D403770
- 0D403770 MOV R3, R9
- 0D403772 LSRS R3, R2
- 0D403774 MOV R1, R12
- 0D403776 ANDS R3, R1
- 0D403776
- 0D403778
- 0D403778 loc_D403778
- 0D403778 CMP R3, #0
- 0D40377A BNE loc_D403780
- 0D40377A
- 0D40377C CMP R0, #0
- 0D40377E BNE loc_D403792
- 0D40377E
- 0D403780
- 0D403780 loc_D403780
- 0D403780 MOVS R0, #0
- 0D403782 MOVS R1, R6
- 0D403784 ADDS R6, #1
- 0D403786 CMP R3, #9
- 0D403788 BHI loc_D40378E
- 0D403788
- 0D40378A ADDS R3, #0x30
- 0D40378C B loc_D403790
- 0D40378C
- 0D40378E
- 0D40378E loc_D40378E
- 0D40378E ADD R3, R10
- 0D40378E
- 0D403790
- 0D403790 loc_D403790
- 0D403790 STRB R3, [R1]
- 0D403790
- 0D403792
- 0D403792 loc_D403792
- 0D403792 SUBS R2, #4
- 0D403794 BPL loc_D40375C
- 0D403794
- 0D403796
- 0D403796 loc_D403796
- 0D403796 CMP R0, #0
- 0D403798 BEQ loc_D4037A0
- 0D403798
- 0D40379A MOVS R3, #0x30
- 0D40379C STRB R3, [R6]
- 0D40379E ADDS R6, #1
- 0D40379E
- 0D4037A0
- 0D4037A0 loc_D4037A0
- 0D4037A0 MOVS R3, #0
- 0D4037A2 STRB R3, [R6]
- 0D4037A4 ADD R0, SP, #0x4C+var_3C
- 0D4037A6 MOVS R1, #0x18
- 0D4037A8 BL sub_D403CB4
- 0D4037A8
- 0D4037AC MOV R10, R0
- 0D4037AE MOV R2, R9
- 0D4037B0 CMP R2, #0
- 0D4037B2 BEQ loc_D4037BE
- 0D4037B2
- 0D4037B4 LDR R3, [SP,#0x4C+var_4C]
- 0D4037B6 CMP R3, #0
- 0D4037B8 BEQ loc_D4037BE
- 0D4037B8
- 0D4037BA MOVS R1, #2
- 0D4037BC ADD R10, R1
- 0D4037BC
- 0D4037BE
- 0D4037BE loc_D4037BE
- 0D4037BE printf+1FCj
- 0D4037BE CMP R7, R10
- 0D4037C0 BLE loc_D40382A
- 0D4037C0
- 0D4037C2 LDR R2, [SP,#0x4C+var_48]
- 0D4037C4 CMP R2, #0
- 0D4037C6 BNE loc_D40382A
- 0D4037C6
- 0D4037C8 LDR R3, [SP,#0x4C+var_44]
- 0D4037CA CMP R3, #0
- 0D4037CC BEQ loc_D4037FC
- 0D4037CC
- 0D4037CE MOV R1, R9
- 0D4037D0 CMP R1, #0
- 0D4037D2 BEQ loc_D4037EE
- 0D4037D2
- 0D4037D4 LDR R2, [SP,#0x4C+var_4C]
- 0D4037D6 CMP R2, #0
- 0D4037D8 BEQ loc_D4037EE
- 0D4037D8
- 0D4037DA MOV R0, R8
- 0D4037DC MOVS R1, #1
- 0D4037DE MOVS R2, #0x30
- 0D4037E0 BL sub_D40359C
- 0D4037E0
- 0D4037E4 MOV R0, R8
- 0D4037E6 MOVS R1, #1
- 0D4037E8 MOVS R2, R4
- 0D4037EA BL sub_D40359C
- 0D4037EA
- 0D4037EE
- 0D4037EE loc_D4037EE
- 0D4037EE printf+21Cj
- 0D4037EE MOV R0, R8
- 0D4037F0 MOV R3, R10
- 0D4037F2 SUBS R1, R7, R3
- 0D4037F4 MOVS R2, #0x30
- 0D4037F6 BL sub_D40359C
- 0D4037F6
- 0D4037FA B loc_D40384A
- 0D4037FA
- 0D4037FC
- 0D4037FC loc_D4037FC
- 0D4037FC MOV R0, R8
- 0D4037FE MOV R2, R10
- 0D403800 SUBS R1, R7, R2
- 0D403802 MOVS R2, #0x20
- 0D403804 BL sub_D40359C
- 0D403804
- 0D403808 MOV R3, R9
- 0D40380A CMP R3, #0
- 0D40380C BEQ loc_D40384A
- 0D40380C
- 0D40380E LDR R1, [SP,#0x4C+var_4C]
- 0D403810 CMP R1, #0
- 0D403812 BEQ loc_D40384A
- 0D403812
- 0D403814 MOV R0, R8
- 0D403816 MOVS R1, #1
- 0D403818 MOVS R2, #0x30
- 0D40381A BL sub_D40359C
- 0D40381A
- 0D40381E MOV R0, R8
- 0D403820 MOVS R1, #1
- 0D403822 MOVS R2, R4
- 0D403824 BL sub_D40359C
- 0D403824
- 0D403828 B loc_D40384A
- 0D403828
- 0D40382A
- 0D40382A loc_D40382A
- 0D40382A printf+20Aj
- 0D40382A MOV R2, R9
- 0D40382C CMP R2, #0
- 0D40382E BEQ loc_D40384A
- 0D40382E
- 0D403830 LDR R3, [SP,#0x4C+var_4C]
- 0D403832 CMP R3, #0
- 0D403834 BEQ loc_D40384A
- 0D403834
- 0D403836 MOV R0, R8
- 0D403838 MOVS R1, #1
- 0D40383A MOVS R2, #0x30
- 0D40383C BL sub_D40359C
- 0D40383C
- 0D403840 MOV R0, R8
- 0D403842 MOVS R1, #1
- 0D403844 MOVS R2, R4
- 0D403846 BL sub_D40359C
- 0D403846
- 0D40384A
- 0D40384A loc_D40384A
- 0D40384A printf+250j ...
- 0D40384A MOV R0, R8
- 0D40384C ADD R1, SP, #0x4C+var_3C
- 0D40384E BL sub_D403578
- 0D40384E
- 0D403852 CMP R7, R10
- 0D403854 BGT loc_D403858
- 0D403854
- 0D403856 B loc_D40396A
- 0D403856
- 0D403858
- 0D403858 loc_D403858
- 0D403858 LDR R1, [SP,#0x4C+var_48]
- 0D40385A CMP R1, #0
- 0D40385C BNE loc_D403860
- 0D40385C
- 0D40385E B loc_D40396A
- 0D40385E
- 0D403860
- 0D403860 loc_D403860
- 0D403860 MOV R0, R8
- 0D403862 MOV R2, R10
- 0D403864 SUBS R1, R7, R2
- 0D403866 MOVS R2, #0x20
- 0D403868 BL sub_D40359C
- 0D403868
- 0D40386C B loc_D40396A
- 0D40386C
- 0D40386E
- 0D40386E loc_D40386E
- 0D40386E DATA XREF: 0D404040o ...
- 0D40386E MOV R3, R11
- 0D403870 MOVS R1, #4
- 0D403872 ADD R11, R1
- 0D403874 LDR R4, [R3]
- 0D403876 ADD R6, SP, #0x4C+var_24
- 0D403878 MOVS R2, #0
- 0D40387A MOV R9, R2
- 0D40387C CMP R4, #0
- 0D40387E BGE loc_D403886
- 0D40387E
- 0D403880 MOVS R3, #1
- 0D403882 MOV R9, R3
- 0D403884 NEGS R4, R4
- 0D403884
- 0D403886
- 0D403886 loc_D403886
- 0D403886 SUBS R6, #1
- 0D403888 MOVS R3, #0
- 0D40388A STRB R3, [R6]
- 0D40388A
- 0D40388C
- 0D40388C loc_D40388C
- 0D40388C SUBS R6, #1
- 0D40388E MOVS R0, R4
- 0D403890 MOVS R1, #0xA
- 0D403892 BL sub_D403ED4
- 0D403892
- 0D403896 ADDS R0, #0x30
- 0D403898 STRB R0, [R6]
- 0D40389A MOVS R0, R4
- 0D40389C MOVS R1, #0xA
- 0D40389E BL sub_D403E40
- 0D40389E
- 0D4038A2 MOVS R4, R0
- 0D4038A4 CMP R0, #0
- 0D4038A6 BNE loc_D40388C
- 0D4038A6
- 0D4038A8 MOV R1, R9
- 0D4038AA CMP R1, #0
- 0D4038AC BEQ loc_D4038B2
- 0D4038AC
- 0D4038AE MOVS R4, #0x2D
- 0D4038B0 B loc_D4038BE
- 0D4038B0
- 0D4038B2
- 0D4038B2 loc_D4038B2
- 0D4038B2 MOV R2, R10
- 0D4038B4 CMP R2, #0
- 0D4038B6 BEQ loc_D4038BC
- 0D4038B6
- 0D4038B8 MOVS R4, #0x2B
- 0D4038BA B loc_D4038BE
- 0D4038BA
- 0D4038BC
- 0D4038BC loc_D4038BC
- 0D4038BC MOVS R4, #0
- 0D4038BC
- 0D4038BE
- 0D4038BE loc_D4038BE
- 0D4038BE printf+2FEj
- 0D4038BE MOVS R0, R6
- 0D4038C0 MOVS R1, #0x18
- 0D4038C2 BL sub_D403CB4
- 0D4038C2
- 0D4038C6 MOV R10, R0
- 0D4038C8 CMP R4, #0
- 0D4038CA BEQ loc_D4038D0
- 0D4038CA
- 0D4038CC MOVS R3, #1
- 0D4038CE ADD R10, R3
- 0D4038CE
- 0D4038D0
- 0D4038D0 loc_D4038D0
- 0D4038D0 CMP R7, R10
- 0D4038D2 BLE loc_D403918
- 0D4038D2
- 0D4038D4 LDR R1, [SP,#0x4C+var_48]
- 0D4038D6 CMP R1, #0
- 0D4038D8 BNE loc_D403918
- 0D4038D8
- 0D4038DA LDR R2, [SP,#0x4C+var_44]
- 0D4038DC CMP R2, #0
- 0D4038DE BEQ loc_D4038FC
- 0D4038DE
- 0D4038E0 CMP R4, #0
- 0D4038E2 BEQ loc_D4038EE
- 0D4038E2
- 0D4038E4 MOV R0, R8
- 0D4038E6 MOVS R1, #1
- 0D4038E8 MOVS R2, R4
- 0D4038EA BL sub_D40359C
- 0D4038EA
- 0D4038EE
- 0D4038EE loc_D4038EE
- 0D4038EE MOV R0, R8
- 0D4038F0 MOV R3, R10
- 0D4038F2 SUBS R1, R7, R3
- 0D4038F4 MOVS R2, #0x30
- 0D4038F6 BL sub_D40359C
- 0D4038F6
- 0D4038FA B loc_D403926
- 0D4038FA
- 0D4038FC
- 0D4038FC loc_D4038FC
- 0D4038FC MOV R0, R8
- 0D4038FE MOV R2, R10
- 0D403900 SUBS R1, R7, R2
- 0D403902 MOVS R2, #0x20
- 0D403904 BL sub_D40359C
- 0D403904
- 0D403908 CMP R4, #0
- 0D40390A BEQ loc_D403926
- 0D40390A
- 0D40390C MOV R0, R8
- 0D40390E MOVS R1, #1
- 0D403910 MOVS R2, R4
- 0D403912 BL sub_D40359C
- 0D403912
- 0D403916 B loc_D403926
- 0D403916
- 0D403918
- 0D403918 loc_D403918
- 0D403918 printf+31Cj
- 0D403918 CMP R4, #0
- 0D40391A BEQ loc_D403926
- 0D40391A
- 0D40391C MOV R0, R8
- 0D40391E MOVS R1, #1
- 0D403920 MOVS R2, R4
- 0D403922 BL sub_D40359C
- 0D403922
- 0D403926
- 0D403926 loc_D403926
- 0D403926 printf+34Ej ...
- 0D403926 MOV R0, R8
- 0D403928 MOVS R1, R6
- 0D40392A BL sub_D403578
- 0D40392A
- 0D40392E CMP R7, R10
- 0D403930 BLE loc_D40396A
- 0D403930
- 0D403932 LDR R3, [SP,#0x4C+var_48]
- 0D403934 CMP R3, #0
- 0D403936 BEQ loc_D40396A
- 0D403936
- 0D403938 MOV R0, R8
- 0D40393A MOV R2, R10
- 0D40393C SUBS R1, R7, R2
- 0D40393E MOVS R2, #0x20
- 0D403940 BL sub_D40359C
- 0D403940
- 0D403944 B loc_D40396A
- 0D403944
- 0D403946
- 0D403946 def_D403676
- 0D403946 printf+BAj
- 0D403946 DATA XREF: ...
- 0D403946 MOV R1, R8
- 0D403948 LDR R3, [R1]
- 0D40394A MOV R0, R8
- 0D40394C MOVS R1, R4
- 0D40394E BLX R3
- 0D40394E
- 0D403950 B loc_D40396A
- 0D403950
- 0D403952 ALIGN 4
- 0D403954 off_D403954 DCD jpt_D403676
- 0D403958 off_D403958 DCD aNull_25
- 0D403958 "(null)"
- 0D40395C off_D40395C DCD aNil_17
- 0D40395C "(nil)"
- 0D403960
- 0D403960 loc_D403960
- 0D403960 MOV R2, R8
- 0D403962 LDR R3, [R2]
- 0D403964 MOV R0, R8
- 0D403966 MOVS R1, R4
- 0D403968 BLX R3
- 0D403968
- 0D40396A
- 0D40396A loc_D40396A
- 0D40396A printf+EEj ...
- 0D40396A LDRB R4, [R5]
- 0D40396C ADDS R5, #1
- 0D40396E CMP R4, #0
- 0D403970 BEQ loc_D403974
- 0D403970
- 0D403972 B loc_D4035DE
- 0D403972
- 0D403974
- 0D403974 loc_D403974
- 0D403974 printf+3B4j
- 0D403974 MOV R1, R8
- 0D403976 LDR R3, [R1,#4]
- 0D403978 MOV R0, R8
- 0D40397A BLX R3
- 0D40397A
- 0D40397C ADD SP, SP, #0x28
- 0D40397E POP {R3-R6}
- 0D403980 MOV R8, R3
- 0D403982 MOV R9, R4
- 0D403984 MOV R10, R5
- 0D403986 MOV R11, R6
- 0D403988 POP {R4-R7}
- 0D40398A POP {R0}
- 0D40398C BX R0
- 0D40398C
- 0D40398C
- 0D40398C
- 0D40398E ALIGN 0x10
- 0D403990
- 0D403990
- 0D403990
- 0D403990
- 0D403990 call_printf2
- 0D403990
- 0D403990 var_1C = -0x1C
- 0D403990 var_18 = -0x18
- 0D403990 var_14 = -0x14
- 0D403990 var_10 = -0x10
- 0D403990 var_C = -0xC
- 0D403990
- 0D403990 PUSH {R4,LR}
- 0D403992 SUB SP, SP, #0x14
- 0D403994 MOVS R4, #0
- 0D403996 STR R4, [SP,#0x1C+var_10]
- 0D403998 STR R0, [SP,#0x1C+var_14]
- 0D40399A STR R1, [SP,#0x1C+var_C]
- 0D40399C LDR R1, =(sub_D40355C+1)
- 0D40399E STR R1, [SP,#0x1C+var_1C]
- 0D4039A0 LDR R1, =(sub_D403538+1)
- 0D4039A2 STR R1, [SP,#0x1C+var_18]
- 0D4039A4 MOV R0, SP
- 0D4039A6 MOVS R1, R2
- 0D4039A8 MOVS R2, R3
- 0D4039AA BL printf
- 0D4039AA
- 0D4039AE LDR R0, [SP,#0x1C+var_10]
- 0D4039B0 ADD SP, SP, #0x14
- 0D4039B2 POP {R4}
- 0D4039B4 POP {R1}
- 0D4039B6 BX R1
- 0D4039B6
- 0D4039B6
- 0D4039B6
- 0D4039B8 off_D4039B8 DCD sub_D40355C+1
- 0D4039BC off_D4039BC DCD sub_D403538+1
- 0D4039C0
- 0D4039C0
- 0D4039C0
- 0D4039C0
- 0D4039C0 sub_D4039C0
- 0D4039C0
- 0D4039C0 varg_r2 = -8
- 0D4039C0 varg_r3 = -4
- 0D4039C0
- 0D4039C0 PUSH {R2,R3}
- 0D4039C2 PUSH {LR}
- 0D4039C4 ADD R3, SP, #0xC+varg_r2
- 0D4039C6 LDMIA R3!, {R2}
- 0D4039C8 BL call_printf2
- 0D4039C8
- 0D4039CC POP {R3}
- 0D4039CE ADD SP, SP, #8
- 0D4039D0 BX R3
- 0D4039D0
- 0D4039D0
- 0D4039D0
- 0D4039D2 ALIGN 4
- 0D4039D4
- 0D4039D4
- 0D4039D4
- 0D4039D4
- 0D4039D4
- 0D4039D4 memcmp
- 0D4039D4 boot1_main+9Ep ...
- 0D4039D4 PUSH {R4,LR}
- 0D4039D6 MOVS R4, R1
- 0D4039D8 SUBS R1, R2, #0
- 0D4039DA BNE loc_D4039E0
- 0D4039DA
- 0D4039DC MOVS R0, #0
- 0D4039DE B loc_D403A06
- 0D4039DE
- 0D4039E0
- 0D4039E0 loc_D4039E0
- 0D4039E0 SUBS R1, #1
- 0D4039E2 CMP R1, #0
- 0D4039E4 BEQ loc_D403A00
- 0D4039E4
- 0D4039E6 LDRB R2, [R0]
- 0D4039E8 LDRB R3, [R4]
- 0D4039EA CMP R2, R3
- 0D4039EC BNE loc_D403A00
- 0D4039EC
- 0D4039EE
- 0D4039EE loc_D4039EE
- 0D4039EE ADDS R0, #1
- 0D4039F0 ADDS R4, #1
- 0D4039F2 SUBS R1, #1
- 0D4039F4 CMP R1, #0
- 0D4039F6 BEQ loc_D403A00
- 0D4039F6
- 0D4039F8 LDRB R2, [R0]
- 0D4039FA LDRB R3, [R4]
- 0D4039FC CMP R2, R3
- 0D4039FE BEQ loc_D4039EE
- 0D4039FE
- 0D403A00
- 0D403A00 loc_D403A00
- 0D403A00 memcmp+18j ...
- 0D403A00 LDRB R2, [R0]
- 0D403A02 LDRB R3, [R4]
- 0D403A04 SUBS R0, R2, R3
- 0D403A04
- 0D403A06
- 0D403A06 loc_D403A06
- 0D403A06 POP {R4}
- 0D403A08 POP {R1}
- 0D403A0A BX R1
- 0D403A0A
- 0D403A0A
- 0D403A0A
- 0D403A0C
- 0D403A0C
- 0D403A0C
- 0D403A0C
- 0D403A0C
- 0D403A0C memmove_maybe
- 0D403A0C boot1_main+40Cp
- 0D403A0C PUSH {R4-R7,LR}
- 0D403A0E MOV R7, R10
- 0D403A10 MOV R6, R8
- 0D403A12 PUSH {R6,R7}
- 0D403A14 MOV R12, R0
- 0D403A16 MOVS R4, R2
- 0D403A18 MOVS R5, R0
- 0D403A1A MOVS R6, R1
- 0D403A1C LDR R3, =0x17FFFFF
- 0D403A1E CMP R12, R3
- 0D403A20 BHI loc_D403A84
- 0D403A20
- 0D403A22 CMP R2, #0
- 0D403A24 BEQ loc_D403A5C
- 0D403A24
- 0D403A26 MOVS R0, #3
- 0D403A28 MOV R10, R0
- 0D403A2A MOVS R3, #0x18
- 0D403A2C MOV R8, R3
- 0D403A2E MOVS R7, #0xFF
- 0D403A2E
- 0D403A30
- 0D403A30 loc_D403A30
- 0D403A30 SUBS R4, #1
- 0D403A32 MOV R2, R10
- 0D403A34 ANDS R2, R5
- 0D403A36 SUBS R0, R5, R2
- 0D403A38 LDR R1, [R0]
- 0D403A3A LSLS R2, R2, #3
- 0D403A3C MOV R3, R8
- 0D403A3E SUBS R2, R3, R2
- 0D403A40 MOVS R3, R7
- 0D403A42 LSLS R3, R2
- 0D403A44 BICS R1, R3
- 0D403A46 LDRB R3, [R6]
- 0D403A48 LSLS R3, R2
- 0D403A4A ORRS R1, R3
- 0D403A4C STR R1, [R0]
- 0D403A4E ADDS R5, #1
- 0D403A50 LDRB R3, [R6]
- 0D403A52 CMP R3, #0
- 0D403A54 BEQ loc_D403A5C
- 0D403A54
- 0D403A56 ADDS R6, #1
- 0D403A58 CMP R4, #0
- 0D403A5A BNE loc_D403A30
- 0D403A5A
- 0D403A5C
- 0D403A5C loc_D403A5C
- 0D403A5C memmove_maybe+48j
- 0D403A5C SUBS R4, #1
- 0D403A5E BCC loc_D403AAA
- 0D403A5E
- 0D403A60 MOVS R7, #3
- 0D403A62 MOVS R6, #0x18
- 0D403A64 MOVS R0, #0xFF
- 0D403A66 MOV R8, R0
- 0D403A66
- 0D403A68
- 0D403A68 loc_D403A68
- 0D403A68 MOVS R3, R5
- 0D403A6A ANDS R3, R7
- 0D403A6C SUBS R1, R5, R3
- 0D403A6E LDR R2, [R1]
- 0D403A70 LSLS R3, R3, #3
- 0D403A72 SUBS R3, R6, R3
- 0D403A74 MOV R0, R8
- 0D403A76 LSLS R0, R3
- 0D403A78 BICS R2, R0
- 0D403A7A STR R2, [R1]
- 0D403A7C ADDS R5, #1
- 0D403A7E SUBS R4, #1
- 0D403A80 BCS loc_D403A68
- 0D403A80
- 0D403A82 B loc_D403AAA
- 0D403A82
- 0D403A84
- 0D403A84 loc_D403A84
- 0D403A84 CMP R2, #0
- 0D403A86 BEQ loc_D403A9C
- 0D403A86
- 0D403A88
- 0D403A88 loc_D403A88
- 0D403A88 SUBS R4, #1
- 0D403A8A LDRB R3, [R6]
- 0D403A8C ADDS R6, #1
- 0D403A8E STRB R3, [R5]
- 0D403A90 ADDS R5, #1
- 0D403A92 LSLS R3, R3, #0x18
- 0D403A94 CMP R3, #0
- 0D403A96 BEQ loc_D403A9C
- 0D403A96
- 0D403A98 CMP R4, #0
- 0D403A9A BNE loc_D403A88
- 0D403A9A
- 0D403A9C
- 0D403A9C loc_D403A9C
- 0D403A9C memmove_maybe+8Aj
- 0D403A9C SUBS R4, #1
- 0D403A9E BCC loc_D403AAA
- 0D403A9E
- 0D403AA0 MOVS R3, #0
- 0D403AA0
- 0D403AA2
- 0D403AA2 loc_D403AA2
- 0D403AA2 STRB R3, [R5]
- 0D403AA4 ADDS R5, #1
- 0D403AA6 SUBS R4, #1
- 0D403AA8 BCS loc_D403AA2
- 0D403AA8
- 0D403AAA
- 0D403AAA loc_D403AAA
- 0D403AAA memmove_maybe+76j ...
- 0D403AAA MOV R0, R12
- 0D403AAC POP {R3,R4}
- 0D403AAE MOV R8, R3
- 0D403AB0 MOV R10, R4
- 0D403AB2 POP {R4-R7}
- 0D403AB4 POP {R1}
- 0D403AB6 BX R1
- 0D403AB6
- 0D403AB6
- 0D403AB6
- 0D403AB8 dword_D403AB8 DCD 0x17FFFFF
- 0D403ABC
- 0D403ABC
- 0D403ABC
- 0D403ABC
- 0D403ABC
- 0D403ABC memcpy
- 0D403ABC sha1+14Ap ...
- 0D403ABC PUSH {R4-R7,LR}
- 0D403ABE MOV R7, R10
- 0D403AC0 MOV R6, R8
- 0D403AC2 PUSH {R6,R7}
- 0D403AC4 MOVS R7, R0
- 0D403AC6 MOVS R4, R2
- 0D403AC8 MOVS R5, R0
- 0D403ACA MOVS R6, R1
- 0D403ACC CMP R2, #3
- 0D403ACE BLS loc_D403AE8
- 0D403ACE
- 0D403AD0 MOVS R2, R0
- 0D403AD2 ORRS R2, R1
- 0D403AD4 MOVS R3, #3
- 0D403AD6 TST R2, R3
- 0D403AD8 BNE loc_D403AE8
- 0D403AD8
- 0D403ADA
- 0D403ADA loc_D403ADA
- 0D403ADA LDMIA R1!, {R3}
- 0D403ADC STMIA R0!, {R3}
- 0D403ADE SUBS R4, #4
- 0D403AE0 CMP R4, #3
- 0D403AE2 BHI loc_D403ADA
- 0D403AE2
- 0D403AE4 MOVS R5, R0
- 0D403AE6 ADDS R6, R1, #0
- 0D403AE6
- 0D403AE8
- 0D403AE8 loc_D403AE8
- 0D403AE8 memcpy+1Cj
- 0D403AE8 LDR R3, =0x17FFFFF
- 0D403AEA CMP R7, R3
- 0D403AEC BHI loc_D403B24
- 0D403AEC
- 0D403AEE SUBS R4, #1
- 0D403AF0 BCC loc_D403B34
- 0D403AF0
- 0D403AF2 MOVS R3, #3
- 0D403AF4 MOV R10, R3
- 0D403AF6 MOVS R3, #0x18
- 0D403AF8 MOV R8, R3
- 0D403AFA MOVS R3, #0xFF
- 0D403AFC MOV R12, R3
- 0D403AFC
- 0D403AFE
- 0D403AFE loc_D403AFE
- 0D403AFE MOV R2, R10
- 0D403B00 ANDS R2, R5
- 0D403B02 SUBS R0, R5, R2
- 0D403B04 LDR R1, [R0]
- 0D403B06 LSLS R2, R2, #3
- 0D403B08 MOV R3, R8
- 0D403B0A SUBS R2, R3, R2
- 0D403B0C MOV R3, R12
- 0D403B0E LSLS R3, R2
- 0D403B10 BICS R1, R3
- 0D403B12 LDRB R3, [R6]
- 0D403B14 LSLS R3, R2
- 0D403B16 ORRS R1, R3
- 0D403B18 STR R1, [R0]
- 0D403B1A ADDS R5, #1
- 0D403B1C ADDS R6, #1
- 0D403B1E SUBS R4, #1
- 0D403B20 BCS loc_D403AFE
- 0D403B20
- 0D403B22 B loc_D403B34
- 0D403B22
- 0D403B24
- 0D403B24 loc_D403B24
- 0D403B24 SUBS R4, #1
- 0D403B26 BCC loc_D403B34
- 0D403B26
- 0D403B28
- 0D403B28 loc_D403B28
- 0D403B28 LDRB R3, [R6]
- 0D403B2A ADDS R6, #1
- 0D403B2C STRB R3, [R5]
- 0D403B2E ADDS R5, #1
- 0D403B30 SUBS R4, #1
- 0D403B32 BCS loc_D403B28
- 0D403B32
- 0D403B34
- 0D403B34 loc_D403B34
- 0D403B34 memcpy+66j ...
- 0D403B34 MOVS R0, R7
- 0D403B36 POP {R3,R4}
- 0D403B38 MOV R8, R3
- 0D403B3A MOV R10, R4
- 0D403B3C POP {R4-R7}
- 0D403B3E POP {R1}
- 0D403B40 BX R1
- 0D403B40
- 0D403B40
- 0D403B40
- 0D403B42 ALIGN 4
- 0D403B44 dword_D403B44 DCD 0x17FFFFF
- 0D403B48
- 0D403B48
- 0D403B48
- 0D403B48
- 0D403B48 memcmp_0
- 0D403B48 boot1_main+310p ...
- 0D403B48 PUSH {R4-R7,LR}
- 0D403B4A MOV R7, R10
- 0D403B4C MOV R6, R8
- 0D403B4E PUSH {R6,R7}
- 0D403B50 MOVS R7, R0
- 0D403B52 MOVS R4, R2
- 0D403B54 MOVS R5, R0
- 0D403B56 LSLS R1, R1, #0x18
- 0D403B58 LSRS R6, R1, #0x18
- 0D403B5A CMP R2, #3
- 0D403B5C BLS loc_D403B7A
- 0D403B5C
- 0D403B5E MOVS R3, #3
- 0D403B60 TST R0, R3
- 0D403B62 BNE loc_D403B7A
- 0D403B62
- 0D403B64 LSLS R3, R6, #8
- 0D403B66 MOVS R2, R6
- 0D403B68 ORRS R2, R3
- 0D403B6A LSLS R3, R2, #0x10
- 0D403B6C ORRS R2, R3
- 0D403B6E ADDS R1, R0, #0
- 0D403B6E
- 0D403B70
- 0D403B70 loc_D403B70
- 0D403B70 STMIA R1!, {R2}
- 0D403B72 SUBS R4, #4
- 0D403B74 CMP R4, #3
- 0D403B76 BHI loc_D403B70
- 0D403B76
- 0D403B78 ADDS R5, R1, #0
- 0D403B78
- 0D403B7A
- 0D403B7A loc_D403B7A
- 0D403B7A memcmp_0+1Aj
- 0D403B7A LDR R3, =0x17FFFFF
- 0D403B7C CMP R7, R3
- 0D403B7E BHI loc_D403BBA
- 0D403B7E
- 0D403B80 SUBS R4, #1
- 0D403B82 BCC loc_D403BC6
- 0D403B82
- 0D403B84 MOVS R0, #3
- 0D403B86 MOV R10, R0
- 0D403B88 MOVS R2, #0x18
- 0D403B8A MOV R8, R2
- 0D403B8C MOVS R3, #0xFF
- 0D403B8E MOV R12, R3
- 0D403B8E
- 0D403B90
- 0D403B90 loc_D403B90
- 0D403B90 MOV R3, R10
- 0D403B92 ANDS R3, R5
- 0D403B94 SUBS R1, R5, R3
- 0D403B96 LDR R0, [R1]
- 0D403B98 LSLS R3, R3, #3
- 0D403B9A MOV R2, R8
- 0D403B9C SUBS R3, R2, R3
- 0D403B9E MOV R2, R12
- 0D403BA0 LSLS R2, R3
- 0D403BA2 BICS R0, R2
- 0D403BA4 MOVS R2, R0
- 0D403BA6 MOVS R0, R6
- 0D403BA8 LSLS R0, R3
- 0D403BAA MOVS R3, R0
- 0D403BAC MOVS R0, R2
- 0D403BAE ORRS R0, R3
- 0D403BB0 STR R0, [R1]
- 0D403BB2 ADDS R5, #1
- 0D403BB4 SUBS R4, #1
- 0D403BB6 BCS loc_D403B90
- 0D403BB6
- 0D403BB8 B loc_D403BC6
- 0D403BB8
- 0D403BBA
- 0D403BBA loc_D403BBA
- 0D403BBA SUBS R4, #1
- 0D403BBC BCC loc_D403BC6
- 0D403BBC
- 0D403BBE
- 0D403BBE loc_D403BBE
- 0D403BBE STRB R6, [R5]
- 0D403BC0 ADDS R5, #1
- 0D403BC2 SUBS R4, #1
- 0D403BC4 BCS loc_D403BBE
- 0D403BC4
- 0D403BC6
- 0D403BC6 loc_D403BC6
- 0D403BC6 memcmp_0+70j ...
- 0D403BC6 MOVS R0, R7
- 0D403BC8 POP {R3,R4}
- 0D403BCA MOV R8, R3
- 0D403BCC MOV R10, R4
- 0D403BCE POP {R4-R7}
- 0D403BD0 POP {R1}
- 0D403BD2 BX R1
- 0D403BD2
- 0D403BD2
- 0D403BD2
- 0D403BD4 dword_D403BD4 DCD 0x17FFFFF
- 0D403BD8
- 0D403BD8
- 0D403BD8
- 0D403BD8
- 0D403BD8 memcpy_maybe
- 0D403BD8 boot1_main+36Ep ...
- 0D403BD8 PUSH {R4-R7,LR}
- 0D403BDA MOV R7, R8
- 0D403BDC PUSH {R7}
- 0D403BDE MOVS R7, R0
- 0D403BE0 MOVS R5, R2
- 0D403BE2 MOVS R4, R0
- 0D403BE4 MOVS R6, R1
- 0D403BE6 LDRB R3, [R0]
- 0D403BE8 CMP R3, #0
- 0D403BEA BEQ loc_D403BF4
- 0D403BEA
- 0D403BEC
- 0D403BEC loc_D403BEC
- 0D403BEC ADDS R4, #1
- 0D403BEE LDRB R3, [R4]
- 0D403BF0 CMP R3, #0
- 0D403BF2 BNE loc_D403BEC
- 0D403BF2
- 0D403BF4
- 0D403BF4 loc_D403BF4
- 0D403BF4 LDR R3, =0x17FFFFF
- 0D403BF6 CMP R4, R3
- 0D403BF8 BHI loc_D403C38
- 0D403BF8
- 0D403BFA SUBS R5, #1
- 0D403BFC BCC loc_D403C62
- 0D403BFC
- 0D403BFE MOVS R3, #3
- 0D403C00 MOV R8, R3
- 0D403C02 MOVS R3, #0x18
- 0D403C04 MOV R12, R3
- 0D403C04
- 0D403C06
- 0D403C06 loc_D403C06
- 0D403C06 MOV R2, R8
- 0D403C08 ANDS R2, R4
- 0D403C0A SUBS R0, R4, R2
- 0D403C0C LDR R1, [R0]
- 0D403C0E LSLS R2, R2, #3
- 0D403C10 MOV R3, R12
- 0D403C12 SUBS R2, R3, R2
- 0D403C14 MOVS R3, #0xFF
- 0D403C16 LSLS R3, R2
- 0D403C18 BICS R1, R3
- 0D403C1A LDRB R3, [R6]
- 0D403C1C LSLS R3, R2
- 0D403C1E ORRS R1, R3
- 0D403C20 STR R1, [R0]
- 0D403C22 ADDS R4, #1
- 0D403C24 LDRB R3, [R6]
- 0D403C26 CMP R3, #0
- 0D403C28 BEQ loc_D403C62
- 0D403C28
- 0D403C2A CMP R5, #0
- 0D403C2C BNE loc_D403C30
- 0D403C2C
- 0D403C2E STRB R5, [R4]
- 0D403C2E
- 0D403C30
- 0D403C30 loc_D403C30
- 0D403C30 ADDS R6, #1
- 0D403C32 SUBS R5, #1
- 0D403C34 BCS loc_D403C06
- 0D403C34
- 0D403C36 B loc_D403C62
- 0D403C36
- 0D403C38
- 0D403C38 loc_D403C38
- 0D403C38 SUBS R5, #1
- 0D403C3A BCC loc_D403C62
- 0D403C3A
- 0D403C3C LDRB R3, [R6]
- 0D403C3E ADDS R6, #1
- 0D403C40 STRB R3, [R4]
- 0D403C42 ADDS R4, #1
- 0D403C44 LSLS R3, R3, #0x18
- 0D403C46 CMP R3, #0
- 0D403C48 BEQ loc_D403C62
- 0D403C48
- 0D403C4A
- 0D403C4A loc_D403C4A
- 0D403C4A CMP R5, #0
- 0D403C4C BNE loc_D403C50
- 0D403C4C
- 0D403C4E STRB R5, [R4]
- 0D403C4E
- 0D403C50
- 0D403C50 loc_D403C50
- 0D403C50 SUBS R5, #1
- 0D403C52 BCC loc_D403C62
- 0D403C52
- 0D403C54 LDRB R3, [R6]
- 0D403C56 ADDS R6, #1
- 0D403C58 STRB R3, [R4]
- 0D403C5A ADDS R4, #1
- 0D403C5C LSLS R3, R3, #0x18
- 0D403C5E CMP R3, #0
- 0D403C60 BNE loc_D403C4A
- 0D403C60
- 0D403C62
- 0D403C62 loc_D403C62
- 0D403C62 memcpy_maybe+50j ...
- 0D403C62 MOVS R0, R7
- 0D403C64 POP {R3}
- 0D403C66 MOV R8, R3
- 0D403C68 POP {R4-R7}
- 0D403C6A POP {R1}
- 0D403C6C BX R1
- 0D403C6C
- 0D403C6C
- 0D403C6C
- 0D403C6E ALIGN 0x10
- 0D403C70 dword_D403C70 DCD 0x17FFFFF
- 0D403C74
- 0D403C74
- 0D403C74
- 0D403C74
- 0D403C74
- 0D403C74 strncmp
- 0D403C74 DATA XREF: verify_RSA_sig+8Co ...
- 0D403C74 PUSH {R4,R5,LR}
- 0D403C76 MOVS R4, R0
- 0D403C78 MOVS R5, R1
- 0D403C7A SUBS R1, R2, #0
- 0D403C7C BNE loc_D403C82
- 0D403C7C
- 0D403C7E MOVS R0, #0
- 0D403C80 B loc_D403CAE
- 0D403C80
- 0D403C82
- 0D403C82 loc_D403C82
- 0D403C82 SUBS R1, #1
- 0D403C84 BCC loc_D403CA8
- 0D403C84
- 0D403C86 LDRB R2, [R0]
- 0D403C88 MOVS R0, R2
- 0D403C8A LDRB R3, [R5]
- 0D403C8C CMP R2, R3
- 0D403C8E BNE loc_D403CA8
- 0D403C8E
- 0D403C90
- 0D403C90 loc_D403C90
- 0D403C90 CMP R1, #0
- 0D403C92 BEQ loc_D403CA8
- 0D403C92
- 0D403C94 CMP R0, #0
- 0D403C96 BEQ loc_D403CA8
- 0D403C96
- 0D403C98 ADDS R4, #1
- 0D403C9A ADDS R5, #1
- 0D403C9C SUBS R1, #1
- 0D403C9E BCC loc_D403CA8
- 0D403C9E
- 0D403CA0 LDRB R0, [R4]
- 0D403CA2 LDRB R3, [R5]
- 0D403CA4 CMP R0, R3
- 0D403CA6 BEQ loc_D403C90
- 0D403CA6
- 0D403CA8
- 0D403CA8 loc_D403CA8
- 0D403CA8 strncmp+1Aj ...
- 0D403CA8 LDRB R2, [R4]
- 0D403CAA LDRB R3, [R5]
- 0D403CAC SUBS R0, R2, R3
- 0D403CAC
- 0D403CAE
- 0D403CAE loc_D403CAE
- 0D403CAE POP {R4,R5}
- 0D403CB0 POP {R1}
- 0D403CB2 BX R1
- 0D403CB2
- 0D403CB2
- 0D403CB2
- 0D403CB4
- 0D403CB4
- 0D403CB4
- 0D403CB4
- 0D403CB4 sub_D403CB4
- 0D403CB4 printf+1ECp ...
- 0D403CB4 PUSH {LR}
- 0D403CB6 MOVS R2, R0
- 0D403CB8 LDRB R3, [R2]
- 0D403CBA CMP R3, #0
- 0D403CBC BEQ loc_D403CCE
- 0D403CBC
- 0D403CBE SUBS R1, #1
- 0D403CC0 BCC loc_D403CCE
- 0D403CC0
- 0D403CC2
- 0D403CC2 loc_D403CC2
- 0D403CC2 ADDS R0, #1
- 0D403CC4 LDRB R3, [R0]
- 0D403CC6 CMP R3, #0
- 0D403CC8 BEQ loc_D403CCE
- 0D403CC8
- 0D403CCA SUBS R1, #1
- 0D403CCC BCS loc_D403CC2
- 0D403CCC
- 0D403CCE
- 0D403CCE loc_D403CCE
- 0D403CCE sub_D403CB4+Cj ...
- 0D403CCE SUBS R0, R0, R2
- 0D403CD0 POP {R1}
- 0D403CD2 BX R1
- 0D403CD2
- 0D403CD2
- 0D403CD2
- 0D403CD4
- 0D403CD4
- 0D403CD4
- 0D403CD4
- 0D403CD4 delay_1
- 0D403CD4 boot1_main+14Ap ...
- 0D403CD4 PUSH {LR}
- 0D403CD6 MOVS R3, #0
- 0D403CD8 SUBS R0, #4
- 0D403CDA MOVS R2, R0
- 0D403CDC CMP R3, R0
- 0D403CDE BCS loc_D403CE6
- 0D403CDE
- 0D403CE0
- 0D403CE0 loc_D403CE0
- 0D403CE0 ADDS R3, #1
- 0D403CE2 CMP R3, R2
- 0D403CE4 BCC loc_D403CE0
- 0D403CE4
- 0D403CE6
- 0D403CE6 loc_D403CE6
- 0D403CE6 POP {R0}
- 0D403CE8 BX R0
- 0D403CE8
- 0D403CE8
- 0D403CE8
- 0D403CEA ALIGN 4
- 0D403CEC
- 0D403CEC
- 0D403CEC
- 0D403CEC
- 0D403CEC
- 0D403CEC EXPORT BOOT1__sys_open
- 0D403CEC BOOT1__sys_open
- 0D403CEC MOV R2, LR
- 0D403CEE MOVS R1, R0
- 0D403CF0 MOVS R0, #1
- 0D403CF2 SVC 0xAB
- 0D403CF4 BX R2
- 0D403CF4
- 0D403CF4
- 0D403CF4
- 0D403CF6
- 0D403CF6
- 0D403CF6
- 0D403CF6
- 0D403CF6
- 0D403CF6 EXPORT BOOT1__sys_close
- 0D403CF6 BOOT1__sys_close
- 0D403CF6 MOV R2, LR
- 0D403CF8 MOVS R1, R0
- 0D403CFA MOVS R0, #2
- 0D403CFC SVC 0xAB
- 0D403CFE BX R2
- 0D403CFE
- 0D403CFE
- 0D403CFE
- 0D403D00
- 0D403D00
- 0D403D00
- 0D403D00
- 0D403D00 EXPORT BOOT1__sys_writec
- 0D403D00 BOOT1__sys_writec
- 0D403D00 MOV R2, LR
- 0D403D02 MOVS R1, R0
- 0D403D04 MOVS R0, #3
- 0D403D06 SVC 0xAB
- 0D403D08 BX R2
- 0D403D08
- 0D403D08
- 0D403D08
- 0D403D0A
- 0D403D0A
- 0D403D0A
- 0D403D0A
- 0D403D0A EXPORT BOOT1__sys_write0
- 0D403D0A BOOT1__sys_write0
- 0D403D0A MOV R2, LR
- 0D403D0C MOVS R1, R0
- 0D403D0E MOVS R0, #4
- 0D403D10 SVC 0xAB
- 0D403D12 BX R2
- 0D403D12
- 0D403D12
- 0D403D12
- 0D403D14
- 0D403D14
- 0D403D14
- 0D403D14
- 0D403D14
- 0D403D14 EXPORT BOOT1__sys_write
- 0D403D14 BOOT1__sys_write
- 0D403D14 MOV R2, LR
- 0D403D16 MOVS R1, R0
- 0D403D18 MOVS R0, #5
- 0D403D1A SVC 0xAB
- 0D403D1C BX R2
- 0D403D1C
- 0D403D1C
- 0D403D1C
- 0D403D1E
- 0D403D1E
- 0D403D1E
- 0D403D1E
- 0D403D1E
- 0D403D1E EXPORT BOOT1__sys_read
- 0D403D1E BOOT1__sys_read
- 0D403D1E MOV R2, LR
- 0D403D20 MOVS R1, R0
- 0D403D22 MOVS R0, #6
- 0D403D24 SVC 0xAB
- 0D403D26 BX R2
- 0D403D26
- 0D403D26
- 0D403D26
- 0D403D28
- 0D403D28
- 0D403D28
- 0D403D28
- 0D403D28 EXPORT BOOT1__sys_readc
- 0D403D28 BOOT1__sys_readc
- 0D403D28 MOV R2, LR
- 0D403D2A MOVS R1, R0
- 0D403D2C MOVS R0, #7
- 0D403D2E SVC 0xAB
- 0D403D30 BX R2
- 0D403D30
- 0D403D30
- 0D403D30
- 0D403D32
- 0D403D32
- 0D403D32
- 0D403D32
- 0D403D32 EXPORT BOOT1__sys_iserror
- 0D403D32 BOOT1__sys_iserror
- 0D403D32 MOV R2, LR
- 0D403D34 MOVS R1, R0
- 0D403D36 MOVS R0, #8
- 0D403D38 SVC 0xAB
- 0D403D3A BX R2
- 0D403D3A
- 0D403D3A
- 0D403D3A
- 0D403D3C
- 0D403D3C
- 0D403D3C
- 0D403D3C
- 0D403D3C
- 0D403D3C EXPORT BOOT1__sys_istty
- 0D403D3C BOOT1__sys_istty
- 0D403D3C MOV R2, LR
- 0D403D3E MOVS R1, R0
- 0D403D40 MOVS R0, #9
- 0D403D42 SVC 0xAB
- 0D403D44 BX R2
- 0D403D44
- 0D403D44
- 0D403D44
- 0D403D46
- 0D403D46
- 0D403D46
- 0D403D46
- 0D403D46
- 0D403D46 EXPORT BOOT1__sys_seek
- 0D403D46 BOOT1__sys_seek
- 0D403D46 MOV R2, LR
- 0D403D48 MOVS R1, R0
- 0D403D4A MOVS R0, #0xA
- 0D403D4C SVC 0xAB
- 0D403D4E BX R2
- 0D403D4E
- 0D403D4E
- 0D403D4E
- 0D403D50
- 0D403D50
- 0D403D50
- 0D403D50
- 0D403D50
- 0D403D50 EXPORT BOOT1__sys_flen
- 0D403D50 BOOT1__sys_flen
- 0D403D50 MOV R2, LR
- 0D403D52 MOVS R1, R0
- 0D403D54 MOVS R0, #0xC
- 0D403D56 SVC 0xAB
- 0D403D58 BX R2
- 0D403D58
- 0D403D58
- 0D403D58
- 0D403D5A
- 0D403D5A
- 0D403D5A
- 0D403D5A
- 0D403D5A
- 0D403D5A EXPORT BOOT1__sys_tmpnam
- 0D403D5A BOOT1__sys_tmpnam
- 0D403D5A MOV R2, LR
- 0D403D5C MOVS R1, R0
- 0D403D5E MOVS R0, #0xD
- 0D403D60 SVC 0xAB
- 0D403D62 BX R2
- 0D403D62
- 0D403D62
- 0D403D62
- 0D403D64
- 0D403D64
- 0D403D64
- 0D403D64
- 0D403D64 EXPORT BOOT1__sys_remove
- 0D403D64 BOOT1__sys_remove
- 0D403D64 MOV R2, LR
- 0D403D66 MOVS R1, R0
- 0D403D68 MOVS R0, #0xE
- 0D403D6A SVC 0xAB
- 0D403D6C BX R2
- 0D403D6C
- 0D403D6C
- 0D403D6C
- 0D403D6E
- 0D403D6E
- 0D403D6E
- 0D403D6E
- 0D403D6E EXPORT BOOT1__sys_rename
- 0D403D6E BOOT1__sys_rename
- 0D403D6E MOV R2, LR
- 0D403D70 MOVS R1, R0
- 0D403D72 MOVS R0, #0xF
- 0D403D74 SVC 0xAB
- 0D403D76 BX R2
- 0D403D76
- 0D403D76
- 0D403D76
- 0D403D78
- 0D403D78
- 0D403D78
- 0D403D78
- 0D403D78 EXPORT BOOT1__sys_clocK
- 0D403D78 BOOT1__sys_clocK
- 0D403D78 MOV R2, LR
- 0D403D7A MOVS R1, R0
- 0D403D7C MOVS R0, #0x10
- 0D403D7E SVC 0xAB
- 0D403D80 BX R2
- 0D403D80
- 0D403D80
- 0D403D80
- 0D403D82
- 0D403D82
- 0D403D82
- 0D403D82
- 0D403D82 EXPORT BOOT1__sys_time
- 0D403D82 BOOT1__sys_time
- 0D403D82 MOV R2, LR
- 0D403D84 MOVS R1, R0
- 0D403D86 MOVS R0, #0x11
- 0D403D88 SVC 0xAB
- 0D403D8A BX R2
- 0D403D8A
- 0D403D8A
- 0D403D8A
- 0D403D8C
- 0D403D8C
- 0D403D8C
- 0D403D8C
- 0D403D8C EXPORT BOOT1__sys_system
- 0D403D8C BOOT1__sys_system
- 0D403D8C MOV R2, LR
- 0D403D8E MOVS R1, R0
- 0D403D90 MOVS R0, #0x12
- 0D403D92 SVC 0xAB
- 0D403D94 BX R2
- 0D403D94
- 0D403D94
- 0D403D94
- 0D403D96
- 0D403D96
- 0D403D96
- 0D403D96
- 0D403D96 EXPORT BOOT1__sys_errno
- 0D403D96 BOOT1__sys_errno
- 0D403D96 MOV R2, LR
- 0D403D98 MOVS R1, R0
- 0D403D9A MOVS R0, #0x13
- 0D403D9C SVC 0xAB
- 0D403D9E BX R2
- 0D403D9E
- 0D403D9E
- 0D403D9E
- 0D403DA0
- 0D403DA0
- 0D403DA0
- 0D403DA0
- 0D403DA0 EXPORT BOOT1__sys_get_cmdline
- 0D403DA0 BOOT1__sys_get_cmdline
- 0D403DA0 MOV R2, LR
- 0D403DA2 MOVS R1, R0
- 0D403DA4 MOVS R0, #0x15
- 0D403DA6 SVC 0xAB
- 0D403DA8 BX R2
- 0D403DA8
- 0D403DA8
- 0D403DA8
- 0D403DAA
- 0D403DAA
- 0D403DAA
- 0D403DAA
- 0D403DAA EXPORT BOOT1__sys_heapinfo
- 0D403DAA BOOT1__sys_heapinfo
- 0D403DAA MOV R2, LR
- 0D403DAC MOVS R1, R0
- 0D403DAE MOVS R0, #0x16
- 0D403DB0 SVC 0xAB
- 0D403DB2 BX R2
- 0D403DB2
- 0D403DB2
- 0D403DB2
- 0D403DB4
- 0D403DB4
- 0D403DB4
- 0D403DB4
- 0D403DB4 EXPORT BOOT1__sys_elapsed
- 0D403DB4 BOOT1__sys_elapsed
- 0D403DB4 MOV R2, LR
- 0D403DB6 MOVS R1, R0
- 0D403DB8 MOVS R0, #0x30
- 0D403DBA SVC 0xAB
- 0D403DBC BX R2
- 0D403DBC
- 0D403DBC
- 0D403DBC
- 0D403DBE
- 0D403DBE
- 0D403DBE
- 0D403DBE
- 0D403DBE EXPORT BOOT1__sys_tickfreq
- 0D403DBE BOOT1__sys_tickfreq
- 0D403DBE MOV R2, LR
- 0D403DC0 MOVS R1, R0
- 0D403DC2 MOVS R0, #0x31
- 0D403DC4 SVC 0xAB
- 0D403DC6 BX R2
- 0D403DC6
- 0D403DC6
- 0D403DC6
- 0D403DC8
- 0D403DC8
- 0D403DC8
- 0D403DC8
- 0D403DC8 sub_D403DC8
- 0D403DC8 sub_D40195A+834p ...
- 0D403DC8 CMP R1, #0
- 0D403DCA BEQ loc_D403E36
- 0D403DCA
- 0D403DCC MOVS R3, #1
- 0D403DCE MOVS R2, #0
- 0D403DD0 PUSH {R4}
- 0D403DD2 CMP R0, R1
- 0D403DD4 BCC loc_D403E30
- 0D403DD4
- 0D403DD6 MOVS R4, #0x10000000
- 0D403DD6
- 0D403DDA
- 0D403DDA loc_D403DDA
- 0D403DDA CMP R1, R4
- 0D403DDC BCS loc_D403DE8
- 0D403DDC
- 0D403DDE CMP R1, R0
- 0D403DE0 BCS loc_D403DE8
- 0D403DE0
- 0D403DE2 LSLS R1, R1, #4
- 0D403DE4 LSLS R3, R3, #4
- 0D403DE6 B loc_D403DDA
- 0D403DE6
- 0D403DE8
- 0D403DE8 loc_D403DE8
- 0D403DE8 sub_D403DC8+18j
- 0D403DE8 LSLS R4, R4, #3
- 0D403DE8
- 0D403DEA
- 0D403DEA loc_D403DEA
- 0D403DEA CMP R1, R4
- 0D403DEC BCS loc_D403DF8
- 0D403DEC
- 0D403DEE CMP R1, R0
- 0D403DF0 BCS loc_D403DF8
- 0D403DF0
- 0D403DF2 LSLS R1, R1, #1
- 0D403DF4 LSLS R3, R3, #1
- 0D403DF6 B loc_D403DEA
- 0D403DF6
- 0D403DF8
- 0D403DF8 loc_D403DF8
- 0D403DF8 sub_D403DC8+28j ...
- 0D403DF8 CMP R0, R1
- 0D403DFA BCC loc_D403E00
- 0D403DFA
- 0D403DFC SUBS R0, R0, R1
- 0D403DFE ORRS R2, R3
- 0D403DFE
- 0D403E00
- 0D403E00 loc_D403E00
- 0D403E00 LSRS R4, R1, #1
- 0D403E02 CMP R0, R4
- 0D403E04 BCC loc_D403E0C
- 0D403E04
- 0D403E06 SUBS R0, R0, R4
- 0D403E08 LSRS R4, R3, #1
- 0D403E0A ORRS R2, R4
- 0D403E0A
- 0D403E0C
- 0D403E0C loc_D403E0C
- 0D403E0C LSRS R4, R1, #2
- 0D403E0E CMP R0, R4
- 0D403E10 BCC loc_D403E18
- 0D403E10
- 0D403E12 SUBS R0, R0, R4
- 0D403E14 LSRS R4, R3, #2
- 0D403E16 ORRS R2, R4
- 0D403E16
- 0D403E18
- 0D403E18 loc_D403E18
- 0D403E18 LSRS R4, R1, #3
- 0D403E1A CMP R0, R4
- 0D403E1C BCC loc_D403E24
- 0D403E1C
- 0D403E1E SUBS R0, R0, R4
- 0D403E20 LSRS R4, R3, #3
- 0D403E22 ORRS R2, R4
- 0D403E22
- 0D403E24
- 0D403E24 loc_D403E24
- 0D403E24 CMP R0, #0
- 0D403E26 BEQ loc_D403E30
- 0D403E26
- 0D403E28 LSRS R3, R3, #4
- 0D403E2A BEQ loc_D403E30
- 0D403E2A
- 0D403E2C LSRS R1, R1, #4
- 0D403E2E B loc_D403DF8
- 0D403E2E
- 0D403E30
- 0D403E30 loc_D403E30
- 0D403E30 sub_D403DC8+5Ej ...
- 0D403E30 MOVS R0, R2
- 0D403E32 POP {R4}
- 0D403E34 BX LR
- 0D403E34
- 0D403E36
- 0D403E36 loc_D403E36
- 0D403E36 PUSH {LR}
- 0D403E38 BL sub_D403FAC
- 0D403E38
- 0D403E3C MOVS R0, #0
- 0D403E3E POP {PC}
- 0D403E3E
- 0D403E3E
- 0D403E3E
- 0D403E40
- 0D403E40
- 0D403E40
- 0D403E40
- 0D403E40 sub_D403E40
- 0D403E40 CMP R1, #0
- 0D403E42 BEQ loc_D403EC8
- 0D403E42
- 0D403E44 PUSH {R4}
- 0D403E46 MOVS R4, R0
- 0D403E48 EORS R4, R1
- 0D403E4A MOV R12, R4
- 0D403E4C MOVS R3, #1
- 0D403E4E MOVS R2, #0
- 0D403E50 CMP R1, #0
- 0D403E52 BPL loc_D403E56
- 0D403E52
- 0D403E54 NEGS R1, R1
- 0D403E54
- 0D403E56
- 0D403E56 loc_D403E56
- 0D403E56 CMP R0, #0
- 0D403E58 BPL loc_D403E5C
- 0D403E58
- 0D403E5A NEGS R0, R0
- 0D403E5A
- 0D403E5C
- 0D403E5C loc_D403E5C
- 0D403E5C CMP R0, R1
- 0D403E5E BCC loc_D403EBA
- 0D403E5E
- 0D403E60 MOVS R4, #0x10000000
- 0D403E60
- 0D403E64
- 0D403E64 loc_D403E64
- 0D403E64 CMP R1, R4
- 0D403E66 BCS loc_D403E72
- 0D403E66
- 0D403E68 CMP R1, R0
- 0D403E6A BCS loc_D403E72
- 0D403E6A
- 0D403E6C LSLS R1, R1, #4
- 0D403E6E LSLS R3, R3, #4
- 0D403E70 B loc_D403E64
- 0D403E70
- 0D403E72
- 0D403E72 loc_D403E72
- 0D403E72 sub_D403E40+2Aj
- 0D403E72 LSLS R4, R4, #3
- 0D403E72
- 0D403E74
- 0D403E74 loc_D403E74
- 0D403E74 CMP R1, R4
- 0D403E76 BCS loc_D403E82
- 0D403E76
- 0D403E78 CMP R1, R0
- 0D403E7A BCS loc_D403E82
- 0D403E7A
- 0D403E7C LSLS R1, R1, #1
- 0D403E7E LSLS R3, R3, #1
- 0D403E80 B loc_D403E74
- 0D403E80
- 0D403E82
- 0D403E82 loc_D403E82
- 0D403E82 sub_D403E40+3Aj ...
- 0D403E82 CMP R0, R1
- 0D403E84 BCC loc_D403E8A
- 0D403E84
- 0D403E86 SUBS R0, R0, R1
- 0D403E88 ORRS R2, R3
- 0D403E88
- 0D403E8A
- 0D403E8A loc_D403E8A
- 0D403E8A LSRS R4, R1, #1
- 0D403E8C CMP R0, R4
- 0D403E8E BCC loc_D403E96
- 0D403E8E
- 0D403E90 SUBS R0, R0, R4
- 0D403E92 LSRS R4, R3, #1
- 0D403E94 ORRS R2, R4
- 0D403E94
- 0D403E96
- 0D403E96 loc_D403E96
- 0D403E96 LSRS R4, R1, #2
- 0D403E98 CMP R0, R4
- 0D403E9A BCC loc_D403EA2
- 0D403E9A
- 0D403E9C SUBS R0, R0, R4
- 0D403E9E LSRS R4, R3, #2
- 0D403EA0 ORRS R2, R4
- 0D403EA0
- 0D403EA2
- 0D403EA2 loc_D403EA2
- 0D403EA2 LSRS R4, R1, #3
- 0D403EA4 CMP R0, R4
- 0D403EA6 BCC loc_D403EAE
- 0D403EA6
- 0D403EA8 SUBS R0, R0, R4
- 0D403EAA LSRS R4, R3, #3
- 0D403EAC ORRS R2, R4
- 0D403EAC
- 0D403EAE
- 0D403EAE loc_D403EAE
- 0D403EAE CMP R0, #0
- 0D403EB0 BEQ loc_D403EBA
- 0D403EB0
- 0D403EB2 LSRS R3, R3, #4
- 0D403EB4 BEQ loc_D403EBA
- 0D403EB4
- 0D403EB6 LSRS R1, R1, #4
- 0D403EB8 B loc_D403E82
- 0D403EB8
- 0D403EBA
- 0D403EBA loc_D403EBA
- 0D403EBA sub_D403E40+70j ...
- 0D403EBA MOVS R0, R2
- 0D403EBC MOV R4, R12
- 0D403EBE CMP R4, #0
- 0D403EC0 BPL loc_D403EC4
- 0D403EC0
- 0D403EC2 NEGS R0, R0
- 0D403EC2
- 0D403EC4
- 0D403EC4 loc_D403EC4
- 0D403EC4 POP {R4}
- 0D403EC6 BX LR
- 0D403EC6
- 0D403EC8
- 0D403EC8 loc_D403EC8
- 0D403EC8 PUSH {LR}
- 0D403ECA BL sub_D403FAC
- 0D403ECA
- 0D403ECE MOVS R0, #0
- 0D403ED0 POP {PC}
- 0D403ED0
- 0D403ED0
- 0D403ED0
- 0D403ED2 ALIGN 4
- 0D403ED4
- 0D403ED4
- 0D403ED4
- 0D403ED4
- 0D403ED4 sub_D403ED4
- 0D403ED4 MOVS R3, #1
- 0D403ED6 CMP R1, #0
- 0D403ED8 BEQ loc_D403FA0
- 0D403ED8
- 0D403EDA BPL loc_D403EDE
- 0D403EDA
- 0D403EDC NEGS R1, R1
- 0D403EDC
- 0D403EDE
- 0D403EDE loc_D403EDE
- 0D403EDE PUSH {R4}
- 0D403EE0 PUSH {R0}
- 0D403EE2 CMP R0, #0
- 0D403EE4 BPL loc_D403EE8
- 0D403EE4
- 0D403EE6 NEGS R0, R0
- 0D403EE6
- 0D403EE8
- 0D403EE8 loc_D403EE8
- 0D403EE8 CMP R0, R1
- 0D403EEA BCC loc_D403F94
- 0D403EEA
- 0D403EEC MOVS R4, #0x10000000
- 0D403EEC
- 0D403EF0
- 0D403EF0 loc_D403EF0
- 0D403EF0 CMP R1, R4
- 0D403EF2 BCS loc_D403EFE
- 0D403EF2
- 0D403EF4 CMP R1, R0
- 0D403EF6 BCS loc_D403EFE
- 0D403EF6
- 0D403EF8 LSLS R1, R1, #4
- 0D403EFA LSLS R3, R3, #4
- 0D403EFC B loc_D403EF0
- 0D403EFC
- 0D403EFE
- 0D403EFE loc_D403EFE
- 0D403EFE sub_D403ED4+22j
- 0D403EFE LSLS R4, R4, #3
- 0D403EFE
- 0D403F00
- 0D403F00 loc_D403F00
- 0D403F00 CMP R1, R4
- 0D403F02 BCS loc_D403F0E
- 0D403F02
- 0D403F04 CMP R1, R0
- 0D403F06 BCS loc_D403F0E
- 0D403F06
- 0D403F08 LSLS R1, R1, #1
- 0D403F0A LSLS R3, R3, #1
- 0D403F0C B loc_D403F00
- 0D403F0C
- 0D403F0E
- 0D403F0E loc_D403F0E
- 0D403F0E sub_D403ED4+32j ...
- 0D403F0E MOVS R2, #0
- 0D403F10 CMP R0, R1
- 0D403F12 BCC loc_D403F16
- 0D403F12
- 0D403F14 SUBS R0, R0, R1
- 0D403F14
- 0D403F16
- 0D403F16 loc_D403F16
- 0D403F16 LSRS R4, R1, #1
- 0D403F18 CMP R0, R4
- 0D403F1A BCC loc_D403F28
- 0D403F1A
- 0D403F1C SUBS R0, R0, R4
- 0D403F1E MOV R12, R3
- 0D403F20 MOVS R4, #1
- 0D403F22 RORS R3, R4
- 0D403F24 ORRS R2, R3
- 0D403F26 MOV R3, R12
- 0D403F26
- 0D403F28
- 0D403F28 loc_D403F28
- 0D403F28 LSRS R4, R1, #2
- 0D403F2A CMP R0, R4
- 0D403F2C BCC loc_D403F3A
- 0D403F2C
- 0D403F2E SUBS R0, R0, R4
- 0D403F30 MOV R12, R3
- 0D403F32 MOVS R4, #2
- 0D403F34 RORS R3, R4
- 0D403F36 ORRS R2, R3
- 0D403F38 MOV R3, R12
- 0D403F38
- 0D403F3A
- 0D403F3A loc_D403F3A
- 0D403F3A LSRS R4, R1, #3
- 0D403F3C CMP R0, R4
- 0D403F3E BCC loc_D403F4C
- 0D403F3E
- 0D403F40 SUBS R0, R0, R4
- 0D403F42 MOV R12, R3
- 0D403F44 MOVS R4, #3
- 0D403F46 RORS R3, R4
- 0D403F48 ORRS R2, R3
- 0D403F4A MOV R3, R12
- 0D403F4A
- 0D403F4C
- 0D403F4C loc_D403F4C
- 0D403F4C MOV R12, R3
- 0D403F4E CMP R0, #0
- 0D403F50 BEQ loc_D403F5A
- 0D403F50
- 0D403F52 LSRS R3, R3, #4
- 0D403F54 BEQ loc_D403F5A
- 0D403F54
- 0D403F56 LSRS R1, R1, #4
- 0D403F58 B loc_D403F0E
- 0D403F58
- 0D403F5A
- 0D403F5A loc_D403F5A
- 0D403F5A sub_D403ED4+80j
- 0D403F5A MOVS R4, #0xE0000000
- 0D403F5E ANDS R2, R4
- 0D403F60 BEQ loc_D403F94
- 0D403F60
- 0D403F62 MOV R3, R12
- 0D403F64 MOVS R4, #7
- 0D403F66 TST R3, R4
- 0D403F68 BEQ loc_D403F94
- 0D403F68
- 0D403F6A MOV R3, R12
- 0D403F6C MOVS R4, #3
- 0D403F6E RORS R3, R4
- 0D403F70 TST R2, R3
- 0D403F72 BEQ loc_D403F78
- 0D403F72
- 0D403F74 LSRS R4, R1, #3
- 0D403F76 ADDS R0, R0, R4
- 0D403F76
- 0D403F78
- 0D403F78 loc_D403F78
- 0D403F78 MOV R3, R12
- 0D403F7A MOVS R4, #2
- 0D403F7C RORS R3, R4
- 0D403F7E TST R2, R3
- 0D403F80 BEQ loc_D403F86
- 0D403F80
- 0D403F82 LSRS R4, R1, #2
- 0D403F84 ADDS R0, R0, R4
- 0D403F84
- 0D403F86
- 0D403F86 loc_D403F86
- 0D403F86 MOV R3, R12
- 0D403F88 MOVS R4, #1
- 0D403F8A RORS R3, R4
- 0D403F8C TST R2, R3
- 0D403F8E BEQ loc_D403F94
- 0D403F8E
- 0D403F90 LSRS R4, R1, #1
- 0D403F92 ADDS R0, R0, R4
- 0D403F92
- 0D403F94
- 0D403F94 loc_D403F94
- 0D403F94 sub_D403ED4+8Cj ...
- 0D403F94 POP {R4}
- 0D403F96 CMP R4, #0
- 0D403F98 BPL loc_D403F9C
- 0D403F98
- 0D403F9A NEGS R0, R0
- 0D403F9A
- 0D403F9C
- 0D403F9C loc_D403F9C
- 0D403F9C POP {R4}
- 0D403F9E BX LR
- 0D403F9E
- 0D403FA0
- 0D403FA0 loc_D403FA0
- 0D403FA0 PUSH {LR}
- 0D403FA2 BL sub_D403FAC
- 0D403FA2
- 0D403FA6 MOVS R0, #0
- 0D403FA8 POP {PC}
- 0D403FA8
- 0D403FA8
- 0D403FA8
- 0D403FAA ALIGN 4
- 0D403FAC
- 0D403FAC
- 0D403FAC
- 0D403FAC
- 0D403FAC sub_D403FAC
- 0D403FAC sub_D403E40+8Ap ...
- 0D403FAC NOP
- 0D403FAE NOP
- 0D403FAE
- 0D403FAE
- 0D403FAE
- 0D403FB0 CODE32
- 0D403FB0
- 0D403FB0
- 0D403FB0
- 0D403FB0
- 0D403FB0 jump_to_main
- 0D403FB0 LDR R12, =(boot1_main+1 - 0xD403FBC)
- 0D403FB4 ADD R12, R12, PC
- 0D403FB8 BX R12 int __cdecl boot1_main()
- 0D403FB8
- 0D403FB8
- 0D403FB8
- 0D403FBC off_D403FBC DCD boot1_main+1 - 0xD403FBC
- 0D403FBC int __cdecl boot1_main()
- 0D403FC0 boot2_magic DCD dword_26F29A40
- 0D403FC0 boot1_main:off_D400748o
- 0D403FC4 DCD byte_1EE684CF
- 0D403FC8 jpt_D401752 DCD loc_D401790
- 0D403FC8 off_D4017D0o
- 0D403FC8 jump table for switch statement
- 0D403FCC DCD loc_D401790
- 0D403FD0 DCD loc_D4017AE
- 0D403FD4 DCD loc_D4017B2
- 0D403FD8 DCD loc_D4017B6
- 0D403FDC DCD loc_D4017B6
- 0D403FE0 DCD loc_D4017AE
- 0D403FE4 DCD loc_D4017B2
- 0D403FE8 DCD loc_D4017B2
- 0D403FEC DCD loc_D4017B2
- 0D403FF0 DCD loc_D4017B2
- 0D403FF4 DCD loc_D401790
- 0D403FF8 DCD loc_D4017B6
- 0D403FFC jpt_D401798 DCD loc_D4017AA
- 0D403FFC off_D4017E0o
- 0D403FFC jump table for switch statement
- 0D404000 DCD loc_D4017A6
- 0D404004 DCD loc_D4017A2
- 0D404008 DCD loc_D40179E
- 0D40400C DCD loc_D40179A
- 0D404010 jpt_D403676 DCD loc_D40370C
- 0D404010 printf:off_D403954o
- 0D404010 jump table for switch statement
- 0D404014 DCD def_D403676
- 0D404018 DCD def_D403676
- 0D40401C DCD def_D403676
- 0D404020 DCD def_D403676
- 0D404024 DCD def_D403676
- 0D404028 DCD def_D403676
- 0D40402C DCD def_D403676
- 0D404030 DCD def_D403676
- 0D404034 DCD def_D403676
- 0D404038 DCD def_D403676
- 0D40403C DCD loc_D403678
- 0D404040 DCD loc_D40386E
- 0D404044 DCD def_D403676
- 0D404048 DCD def_D403676
- 0D40404C DCD def_D403676
- 0D404050 DCD def_D403676
- 0D404054 DCD def_D403676
- 0D404058 DCD def_D403676
- 0D40405C DCD def_D403676
- 0D404060 DCD def_D403676
- 0D404064 DCD def_D403676
- 0D404068 DCD def_D403676
- 0D40406C DCD def_D403676
- 0D404070 DCD loc_D40370C
- 0D404074 DCD def_D403676
- 0D404078 DCD def_D403676
- 0D40407C DCD loc_D4036B8
- 0D404080 DCD def_D403676
- 0D404084 DCD loc_D40386E
- 0D404088 DCD def_D403676
- 0D40408C DCD def_D403676
- 0D404090 DCD loc_D40370C
- 0D404094 aRoot_4 DCB "Root",0
- 0D404094 boot1_main:off_D400A18o
- 0D404099 DCB 0, 0, 0
- 0D40409C aCa_0 DCB "CA",0
- 0D40409C boot1_main:off_D400A28o
- 0D40409F DCB 0
- 0D4040A0 asc_D4040A0 DCB "-",0
- 0D4040A0 boot1_main:off_D400A2Co
- 0D4040A2 DCW 0
- 0D4040A4 aCp_0 DCB "CP",0
- 0D4040A4 boot1_main:off_D400A3Co
- 0D4040A7 DCB 0
- 0D4040A8 aXs_0 DCB "XS",0
- 0D4040A8 boot1_main:off_D400A50o
- 0D4040AB DCB 0
- 0D4040AC aErrorAhbmemflu DCB "ERROR: ahbMemFlush(0x%x) did not ack!",0xA,0
- 0D4040AC off_D4017E4o
- 0D4040D3 DCB 0
- 0D4040D4 aNull_25 DCB "(null)",0
- 0D4040D4 printf:off_D403958o
- 0D4040DB DCB 0
- 0D4040DC aNil_17 DCB "(nil)",0
- 0D4040DC printf:off_D40395Co
- 0D4040E2 DCW 0
- 0D4040E4 ALIGN 0x20
- 0D404100 Common_Key DCD 0xEBE42A22, 0x5E8593E4, 0x48D9C545, 0x7381AAF7
- 0D404100 DATA XREF: boot1_main+7F0o
- 0D404100 off_D400DACo
- 0D404110 BOOT1_root_exponent DCD 0x1000100
- 0D404110 boot1_main:Key_Exponento
- 0D404114 BOOT1_root_key DCD 0xF8246C58,0xBAE75003, 0x1FBB7C2,0xEBE00105,0x71DA9223,0x78F0514E,0xC0031DD0,0xD21ED3D0,0x7EFC8520,0x69B5DE9B,0xB951A8BC
- 0D404114 DATA XREF: boot1_main+332o
- 0D404114 boot1_main:Key_Typeo
- 0D404114 DCD 0x90A24492,0x6D379295,0xAE9436AA,0xA6A30251, 0xC7B1DED,0xD5FB2086,0x9D7F3016,0xF6BE65D3,0x83A16DB3,0x321B9535,0x1890B170
- 0D404114 DCD 0x2937EE1,0x93F57E99,0xA2474E9D,0x3824C7AE,0xE38541F5,0x67E7518C,0x7A0E38E7,0xEBAF4119,0x1BCFF17B,0x42A6B4ED,0xE6CE8DE7
- 0D404114 DCD 0x318F7F52, 0x4B3990E,0x226745AF,0xD485B244,0x93008B08,0xC7F6B7E5,0x6B02B3E8,0xFE0C9D85,0x9CB8B682,0x23B8AB27,0xEE5F6538
- 0D404114 DCD 0x78B2DB9,0x1E2A153E,0x85818072,0xA23B6DD9,0x3281054F,0x6FB0F6F5,0xAD283ECA, 0xB7AF354,0x55E03DA7,0xB68326F3,0xEC834AF3
- 0D404114 DCD 0x14048AC6,0xDF20D285, 0x8673CAB,0x62A2C7BC,0x131A533E, 0xB66806B,0x1C30664B,0x372331BD,0xC4B0CAD8,0xD11EE7BB,0xD9285548
- 0D404114 DCD 0xAAEC1F66,0xE821B3C8,0xA0476900,0xC5E688E8, 0xCCE3C61,0xD69CBBA1,0x37C6604F,0x7A72DD8C,0x7B3E3D51,0x290DAA6A,0x597B081F
- 0D404114 DCD 0x9D3633A3,0x467A3561, 0x9ACA7DD,0x7D2E2FB2,0xC1AEB8E2, 0xF4892D8,0xB9F8B46F,0x4E3C11F4,0xF47D8B75,0x7DFEFEA3,0x899C3359
- 0D404114 DCD 0x5C5EFDEB,0xCBABE841,0x3E3A9A80,0x3C69356E,0xB2B2AD5C,0xC4C85845,0x5EF5F7B3, 0x644B47C,0x64068CDF,0x809F7602,0x5A2DB446
- 0D404114 DCD 0xE03D7CF6,0x2F34E702,0x457B02A4,0xCF5D9DD5,0x3CA53A7C,0xA629788C,0x67CA08BF,0xECCA43A9,0x57AD16C9,0x4E1CD875,0xCA107DCE
- 0D404114 DCD 0x7E0118F0,0xDF6BFEE5,0x1DDBD991,0xC26E60CD,0x4858AA59,0x2C820075,0xF29F526C,0x917C6FE5,0x403EA7D4,0xA50CEC3B,0x7384DE88
- 0D404114 DCD 0x6E82D2EB,0x4D4E42B5,0xF2B149A8,0x1EA7CE71,0x44DC2994,0xCFC44E1F,0x91CBD495
- 0D404314 dword_D404314 DCD 1 DATA XREF: delay_0+2o
- 0D404314 delay_0+4r ...
- 0D404318 DCD 1, 0
- 0D404320 boot1_buffer % 0xACDC
- 0D404320 boot1_start+1Co ...
- 0D40EFFC boot1_stack 4% DATA XREF: boot1_start+40o
- 0D40EFFC off_D400078o
- 0D40EFFC
- 0D40EFFC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement