Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
10,250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 294.60 KB | None | 0 0
  1. 0D400000 boot1_start
  2. 0D400000 MOV R0, #0
  3. 0D400004 MCR p15, 0, R0,c7,c5, 0 // Invalidate ICache
  4. 0D400008 MCR p15, 0, R0,c7,c6, 0 // Invalidate DCache
  5. 0D40000C MRC p15, 0, R0,c1,c0, 0 // Read control register
  6. 0D400010 ORR R0, R0, #0x1000 // Set replacement strategy to Round-Robin
  7. 0D400014 MCR p15, 0, R0,c1,c0, 0 // Write control register
  8. 0D400018 LDR R0, =boot1_buffer
  9. 0D40001C LDR R1, =boot1_buffer
  10. 0D400020 MOV R2, #0
  11. 0D400024 MOV R3, #4
  12. 0D400028 BL memfill
  13. 0D400028
  14. 0D40002C MOV R1, #0
  15. 0D400030 MOV R4, #0
  16. 0D400034 MOV R11, #0
  17. 0D400038 MOV R11, #0
  18. 0D40003C MOV LR, #0
  19. 0D400040 LDR SP, =boot1_stack
  20. 0D400044 BL jump_to_main
  21. 0D400044
  22. 0D400048 MOV R1, R0
  23. 0D40004C MRC p15, 0, R0,c1,c0, 0
  24. 0D400050 BIC R0, R0, #0x1000
  25. 0D400054 MCR p15, 0, R0,c1,c0, 0
  26. 0D400058 MOV PC, R1
  27. 0D400058
  28. 0D400058
  29. 0D400058
  30. 0D40005C
  31. 0D40005C
  32. 0D40005C
  33. 0D40005C
  34. 0D40005C
  35. 0D40005C memfill
  36. 0D40005C memfill+Cj
  37. 0D40005C CMP R0, R1
  38. 0D400060 BCS locret_D40006C
  39. 0D400060
  40. 0D400064 STR R2, [R0],R3
  41. 0D400068 B memfill
  42. 0D400068
  43. 0D40006C
  44. 0D40006C locret_D40006C
  45. 0D40006C BX LR
  46. 0D40006C
  47. 0D40006C
  48. 0D40006C
  49. 0D400070 off_D400070 DCD boot1_buffer
  50. 0D400074 off_D400074 DCD boot1_buffer
  51. 0D400078 off_D400078 DCD boot1_stack
  52. 0D40007C CODE16
  53. 0D40007C
  54. 0D40007C
  55. 0D40007C
  56. 0D40007C
  57. 0D40007C boot1_debug_output
  58. 0D40007C boot1_main+138p ...
  59. 0D40007C LDR R1, =LT_GPIO_OUT
  60. 0D40007E LDR R3, =0xFF00FFFF
  61. 0D400080 LDR R2, [R1]
  62. 0D400082 LSLS R0, R0, #0x18
  63. 0D400084 ANDS R3, R2
  64. 0D400086 LSRS R0, R0, #8
  65. 0D400088 ORRS R3, R0
  66. 0D40008A STR R3, [R1]
  67. 0D40008C BX LR
  68. 0D40008C
  69. 0D40008C
  70. 0D40008C
  71. 0D40008E ALIGN 0x10
  72. 0D400090 off_D400090 DCD LT_GPIO_OUT
  73. 0D400094 dword_D400094 DCD 0xFF00FFFF
  74. 0D400098
  75. 0D400098
  76. 0D400098
  77. 0D400098
  78. 0D400098 sub_D400098
  79. 0D400098 boot1_main+82Ap
  80. 0D400098 PUSH {R4,R5,LR}
  81. 0D40009A LDR R3, =AES_CTRL
  82. 0D40009C MOVS R4, R1
  83. 0D40009E MOVS R5, R2
  84. 0D4000A0 LDR R1, =AES_KEY
  85. 0D4000A2 MOVS R2, #0
  86. 0D4000A4 STR R2, [R3]
  87. 0D4000A6 MOVS R2, #3
  88. 0D4000A6
  89. 0D4000A8
  90. 0D4000A8 loc_D4000A8
  91. 0D4000A8 LDMIA R0!, {R3}
  92. 0D4000AA STR R3, [R1]
  93. 0D4000AC SUBS R2, #1
  94. 0D4000AE BPL loc_D4000A8
  95. 0D4000AE
  96. 0D4000B0 LDR R1, =AES_IV_0
  97. 0D4000B2 MOVS R0, R4
  98. 0D4000B4 MOVS R2, #3
  99. 0D4000B4
  100. 0D4000B6
  101. 0D4000B6 loc_D4000B6
  102. 0D4000B6 LDMIA R0!, {R3}
  103. 0D4000B8 STR R3, [R1]
  104. 0D4000BA SUBS R2, #1
  105. 0D4000BC BPL loc_D4000B6
  106. 0D4000BC
  107. 0D4000BE LDR R3, =AES_SRC
  108. 0D4000C0 STR R5, [R3]
  109. 0D4000C2 ADDS R3, #4
  110. 0D4000C4 STR R5, [R3]
  111. 0D4000C6 POP {R4,R5}
  112. 0D4000C8 POP {R0}
  113. 0D4000CA BX R0
  114. 0D4000CA
  115. 0D4000CA
  116. 0D4000CA
  117. 0D4000CC off_D4000CC DCD AES_CTRL
  118. 0D4000D0 off_D4000D0 DCD AES_KEY
  119. 0D4000D4 off_D4000D4 DCD AES_IV_0
  120. 0D4000D8 off_D4000D8 DCD AES_SRC
  121. 0D4000DC
  122. 0D4000DC
  123. 0D4000DC
  124. 0D4000DC
  125. 0D4000DC
  126. 0D4000DC sha1 CODE XREF: verify_certificate+74p
  127. 0D4000DC verify_certificate+8Ap ...
  128. 0D4000DC
  129. 0D4000DC arg_0 = 0
  130. 0D4000DC
  131. 0D4000DC PUSH {R4-R7,LR}
  132. 0D4000DE MOV R7, R10
  133. 0D4000E0 MOV R6, R9
  134. 0D4000E2 MOV R5, R8
  135. 0D4000E4 PUSH {R5-R7}
  136. 0D4000E6 MOV R9, R2
  137. 0D4000E8 MOVS R2, #0xA8
  138. 0D4000EA MOVS R7, R0
  139. 0D4000EC MOVS R4, R3
  140. 0D4000EE MOVS R0, #0
  141. 0D4000F0 LSLS R3, R2, #0xC
  142. 0D4000F2 SUB SP, SP, #4
  143. 0D4000F4 MOVS R5, R1
  144. 0D4000F6 MOV R10, R0
  145. 0D4000F8 MOVS R6, #0
  146. 0D4000FA MOV R8, R3
  147. 0D4000FC CMP R1, #2
  148. 0D4000FE BEQ loc_D40017A
  149. 0D4000FE
  150. 0D400100 CMP R1, #2
  151. 0D400102 BLS loc_D40014C
  152. 0D400102
  153. 0D400104 CMP R1, #3
  154. 0D400106 BNE loc_D40010A
  155. 0D400106
  156. 0D400108 B loc_D400208
  157. 0D400108
  158. 0D40010A
  159. 0D40010A loc_D40010A
  160. 0D40010A sha1+72j
  161. 0D40010A MOVS R2, #7
  162. 0D40010C NEGS R3, R2
  163. 0D40010E MOV R10, R3
  164. 0D40010E
  165. 0D400110
  166. 0D400110 loc_D400110
  167. 0D400110 sha1+A4j ...
  168. 0D400110 CMP R4, R6
  169. 0D400112 BEQ loc_D400136
  170. 0D400112
  171. 0D400114 MOVS R0, #1
  172. 0D400116 BL call_ahbMemFlush
  173. 0D400116
  174. 0D40011A MOVS R0, #5
  175. 0D40011C BL call_ahbMemFlush2
  176. 0D40011C
  177. 0D400120 LDR R3, =SHA_SRC
  178. 0D400122 MOV R0, R9
  179. 0D400124 SUBS R2, R4, R6
  180. 0D400126 STR R0, [R3]
  181. 0D400128 SUBS R2, #0x40
  182. 0D40012A MOVS R3, #0x80000000
  183. 0D40012E LSRS R2, R2, #6
  184. 0D400130 ORRS R2, R3
  185. 0D400132 LDR R3, =SHA_CTRL
  186. 0D400134 STR R2, [R3]
  187. 0D400134
  188. 0D400136
  189. 0D400136 loc_D400136
  190. 0D400136 CMP R5, #3
  191. 0D400138 BEQ loc_D400182
  192. 0D400138
  193. 0D40013A
  194. 0D40013A loc_D40013A
  195. 0D40013A sha1+12Aj
  196. 0D40013A MOV R0, R10
  197. 0D40013C ADD SP, SP, #4
  198. 0D40013E POP {R3-R5}
  199. 0D400140 MOV R8, R3
  200. 0D400142 MOV R9, R4
  201. 0D400144 MOV R10, R5
  202. 0D400146 POP {R4-R7}
  203. 0D400148 POP {R1}
  204. 0D40014A BX R1
  205. 0D40014A
  206. 0D40014C
  207. 0D40014C loc_D40014C
  208. 0D40014C CMP R1, #1
  209. 0D40014E BNE loc_D40010A
  210. 0D40014E
  211. 0D400150 LDR R3, =SHA_CTRL
  212. 0D400152 LDR R2, =0x67452301 sha-1 initialize part #1
  213. 0D400154 STR R0, [R3]
  214. 0D400156 ADDS R3, #8
  215. 0D400158 STR R2, [R3]
  216. 0D40015A LDR R2, =0xEFCDAB89 sha-1 initialize part #2
  217. 0D40015C ADDS R3, #4
  218. 0D40015E STR R2, [R3]
  219. 0D400160 LDR R2, =0x98BADCFE sha-1 initialize part #3
  220. 0D400162 ADDS R3, #4
  221. 0D400164 STR R2, [R3]
  222. 0D400166 LDR R2, =word_10325476 sha-1 initialize part #4
  223. 0D400168 ADDS R3, #4
  224. 0D40016A STR R2, [R3]
  225. 0D40016C LDR R2, =0xC3D2E1F0 sha-1 initialize part #5
  226. 0D40016E ADDS R3, #4
  227. 0D400170 STR R2, [R3]
  228. 0D400172 STR R4, [R7]
  229. 0D400174 CMP R4, #0
  230. 0D400176 BNE loc_D400110
  231. 0D400176
  232. 0D400178 B loc_D40013A
  233. 0D400178
  234. 0D40017A
  235. 0D40017A loc_D40017A
  236. 0D40017A LDR R3, [R7]
  237. 0D40017C ADDS R3, R3, R4
  238. 0D40017E STR R3, [R7]
  239. 0D400180 B loc_D400110
  240. 0D400180
  241. 0D400182
  242. 0D400182 loc_D400182
  243. 0D400182 MOVS R0, #0xA8000
  244. 0D400186 MOVS R1, #0
  245. 0D400188 MOVS R2, #0x80
  246. 0D40018A BL memcmp_0
  247. 0D40018A
  248. 0D40018E CMP R6, #0
  249. 0D400190 BNE loc_D40021A
  250. 0D400190
  251. 0D400192
  252. 0D400192 loc_D400192
  253. 0D400192 MOV R1, SP
  254. 0D400194 MOVS R3, #0x80
  255. 0D400196 ADDS R1, #3
  256. 0D400198 NEGS R3, R3
  257. 0D40019A STRB R3, [R1]
  258. 0D40019C MOVS R3, #0xA8000
  259. 0D4001A0
  260. 0D4001A0 loc_D4001A0
  261. 0D4001A0 ADDS R0, R6, R3
  262. 0D4001A2 MOVS R2, #1
  263. 0D4001A4 BL memcpy
  264. 0D4001A4
  265. 0D4001A8 MOVS R3, #0x40
  266. 0D4001AA SUBS R3, R3, R6
  267. 0D4001AC CMP R3, #8
  268. 0D4001AE BHI loc_D4001B4
  269. 0D4001AE
  270. 0D4001B0 CMP R6, #0
  271. 0D4001B2 BNE loc_D400214
  272. 0D4001B2
  273. 0D4001B4
  274. 0D4001B4 loc_D4001B4
  275. 0D4001B4 LDR R2, =0xA803C
  276. 0D4001B6 MOVS R5, #0x40
  277. 0D4001B6
  278. 0D4001B8
  279. 0D4001B8 loc_D4001B8
  280. 0D4001B8 LDR R3, [R7]
  281. 0D4001BA LSLS R3, R3, #3
  282. 0D4001BC STR R3, [R2]
  283. 0D4001BE LDR R4, =SHA_CTRL
  284. 0D4001BE
  285. 0D4001C0
  286. 0D4001C0 loc_D4001C0
  287. 0D4001C0 LDR R3, [R4]
  288. 0D4001C2 CMP R3, #0
  289. 0D4001C4 BLT loc_D4001C0
  290. 0D4001C4
  291. 0D4001C6 MOVS R0, #1
  292. 0D4001C8 BL call_ahbMemFlush
  293. 0D4001C8
  294. 0D4001CC MOVS R0, #5
  295. 0D4001CE BL call_ahbMemFlush2
  296. 0D4001CE
  297. 0D4001D2 LDR R3, =SHA_SRC
  298. 0D4001D4 MOV R0, R8
  299. 0D4001D6 MOVS R2, R5
  300. 0D4001D8 STR R0, [R3]
  301. 0D4001DA SUBS R2, #0x40
  302. 0D4001DC MOVS R3, #0x80
  303. 0D4001DE LSRS R2, R2, #6
  304. 0D4001E0 LSLS R3, R3, #0x18
  305. 0D4001E2 ORRS R2, R3
  306. 0D4001E4 STR R2, [R4]
  307. 0D4001E6 LDR R2, =SHA_CTRL
  308. 0D4001E6
  309. 0D4001E8
  310. 0D4001E8 loc_D4001E8
  311. 0D4001E8 LDR R3, [R2]
  312. 0D4001EA CMP R3, #0
  313. 0D4001EC BLT loc_D4001E8
  314. 0D4001EC
  315. 0D4001EE MOVS R2, #0
  316. 0D4001F0 MOVS R1, #4
  317. 0D4001F0
  318. 0D4001F2
  319. 0D4001F2 loc_D4001F2
  320. 0D4001F2 LDR R0, =SHA_H0
  321. 0D4001F4 ADDS R3, R2, R0
  322. 0D4001F6 LDR R3, [R3]
  323. 0D4001F8 LDR R0, [SP,#0x24+arg_0]
  324. 0D4001FA STR R3, [R2,R0]
  325. 0D4001FC ADDS R2, #4
  326. 0D4001FE SUBS R1, #1
  327. 0D400200 BPL loc_D4001F2
  328. 0D400200
  329. 0D400202 MOVS R3, #0
  330. 0D400204 STR R3, [R7]
  331. 0D400206 B loc_D40013A
  332. 0D400206
  333. 0D400208
  334. 0D400208 loc_D400208
  335. 0D400208 LDR R3, [R7]
  336. 0D40020A MOVS R6, #0x3F
  337. 0D40020C ADDS R3, R3, R4
  338. 0D40020E ANDS R6, R4
  339. 0D400210 STR R3, [R7]
  340. 0D400212 B loc_D400110
  341. 0D400212
  342. 0D400214
  343. 0D400214 loc_D400214
  344. 0D400214 LDR R2, =0xA807C
  345. 0D400216 MOVS R5, #0x80
  346. 0D400218 B loc_D4001B8
  347. 0D400218
  348. 0D40021A
  349. 0D40021A loc_D40021A
  350. 0D40021A MOV R2, R9
  351. 0D40021C ADDS R1, R2, R4
  352. 0D40021E MOVS R0, #0xA8
  353. 0D400220 SUBS R1, R1, R6
  354. 0D400222 MOVS R2, R6
  355. 0D400224 LSLS R0, R0, #0xC
  356. 0D400226 BL memcpy
  357. 0D400226
  358. 0D40022A B loc_D400192
  359. 0D40022A
  360. 0D40022A
  361. 0D40022A
  362. 0D40022C off_D40022C DCD SHA_SRC
  363. 0D40022C sha1+F6r
  364. 0D400230 off_D400230 DCD SHA_CTRL
  365. 0D400230 sha1+74r ...
  366. 0D400234 dword_D400234 DCD 0x67452301
  367. 0D400234 sha-1 initialize part #1
  368. 0D400238 dword_D400238 DCD 0xEFCDAB89
  369. 0D400238 sha-1 initialize part #2
  370. 0D40023C dword_D40023C DCD 0x98BADCFE
  371. 0D40023C sha-1 initialize part #3
  372. 0D400240 off_D400240 DCD word_10325476
  373. 0D400240 sha-1 initialize part #4
  374. 0D400244 dword_D400244 DCD 0xC3D2E1F0
  375. 0D400244 sha-1 initialize part #5
  376. 0D400248 dword_D400248 DCD 0xA803C
  377. 0D40024C off_D40024C DCD SHA_H0
  378. 0D400250 dword_D400250 DCD 0xA807C
  379. 0D400254
  380. 0D400254
  381. 0D400254
  382. 0D400254
  383. 0D400254
  384. 0D400254 calc_ecc
  385. 0D400254 boot1_main+476p ...
  386. 0D400254
  387. 0D400254 var_34 = -0x34
  388. 0D400254 var_30 = -0x30
  389. 0D400254 var_2C = -0x2C
  390. 0D400254 var_25 = -0x25
  391. 0D400254
  392. 0D400254 PUSH {R4-R7,LR}
  393. 0D400256 MOV R7, R11
  394. 0D400258 MOV R6, R10
  395. 0D40025A MOV R5, R9
  396. 0D40025C MOV R4, R8
  397. 0D40025E PUSH {R4-R7}
  398. 0D400260 SUB SP, SP, #0x10
  399. 0D400262 LSRS R3, R2, #5
  400. 0D400264 MOV R8, R1
  401. 0D400266 LSRS R2, R2, #9
  402. 0D400268 MOVS R1, #0
  403. 0D40026A STR R0, [SP,#0x34+var_2C]
  404. 0D40026C STR R1, [SP,#0x34+var_30]
  405. 0D40026E MOV R11, R3
  406. 0D400270 MOVS R5, #0
  407. 0D400272 MOV R9, R2
  408. 0D400274 CMP R2, #0
  409. 0D400276 BLS loc_D400300
  410. 0D400276
  411. 0D400278 ASRS R3, R3, #2
  412. 0D40027A MOVS R4, #0xFF
  413. 0D40027C LSLS R1, R4, #0x18
  414. 0D40027E MOVS R7, #0xFF
  415. 0D400280 MOVS R6, #0xFF
  416. 0D400282 STR R3, [SP,#0x34+var_34]
  417. 0D400284 MOV R10, R1
  418. 0D400286 LSLS R7, R7, #0x10
  419. 0D400288 LSLS R6, R6, #8
  420. 0D400288
  421. 0D40028A
  422. 0D40028A loc_D40028A
  423. 0D40028A LSLS R2, R5, #2
  424. 0D40028C MOV R4, R8
  425. 0D40028E ADDS R3, R4, R2
  426. 0D400290 LDR R4, [SP,#0x34+var_34]
  427. 0D400292 MOV R1, R11
  428. 0D400294 LDR R0, [R3,#0x40]
  429. 0D400296 SUBS R3, R1, R4
  430. 0D400298 ADD R3, R8
  431. 0D40029A LDR R2, [R3,R2]
  432. 0D40029C CMP R2, R0
  433. 0D40029E BEQ loc_D4002E4
  434. 0D40029E
  435. 0D4002A0 MOV R3, R10
  436. 0D4002A2 ANDS R3, R2
  437. 0D4002A4 LSRS R1, R3, #0x18
  438. 0D4002A6 MOVS R3, R2
  439. 0D4002A8 ANDS R3, R7
  440. 0D4002AA LSRS R3, R3, #8
  441. 0D4002AC ORRS R1, R3
  442. 0D4002AE MOVS R3, R2
  443. 0D4002B0 ANDS R3, R6
  444. 0D4002B2 LSLS R3, R3, #8
  445. 0D4002B4 ORRS R1, R3
  446. 0D4002B6 MOVS R3, #0xFF
  447. 0D4002B8 ANDS R2, R3
  448. 0D4002BA LSLS R3, R2, #0x18
  449. 0D4002BC ORRS R1, R3
  450. 0D4002BE MOV R2, R10
  451. 0D4002C0 MOVS R3, R0
  452. 0D4002C2 ANDS R2, R0
  453. 0D4002C4 ANDS R3, R7
  454. 0D4002C6 LSRS R3, R3, #8
  455. 0D4002C8 LSRS R2, R2, #0x18
  456. 0D4002CA ORRS R2, R3
  457. 0D4002CC MOVS R3, R0
  458. 0D4002CE ANDS R3, R6
  459. 0D4002D0 MOVS R4, #0xFF
  460. 0D4002D2 LSLS R3, R3, #8
  461. 0D4002D4 ANDS R0, R4
  462. 0D4002D6 ORRS R2, R3
  463. 0D4002D8 LSLS R3, R0, #0x18
  464. 0D4002DA ORRS R2, R3
  465. 0D4002DC EORS R1, R2
  466. 0D4002DE SUBS R3, R1, #1
  467. 0D4002E0 TST R3, R1
  468. 0D4002E2 BNE loc_D4002EC
  469. 0D4002E2
  470. 0D4002E4
  471. 0D4002E4 loc_D4002E4
  472. 0D4002E4 calc_ecc+E6j
  473. 0D4002E4 ADDS R5, #1
  474. 0D4002E6 CMP R5, R9
  475. 0D4002E8 BCC loc_D40028A
  476. 0D4002E8
  477. 0D4002EA B loc_D400300
  478. 0D4002EA
  479. 0D4002EC
  480. 0D4002EC loc_D4002EC
  481. 0D4002EC LDR R2, =0xFFF
  482. 0D4002EE MOVS R3, R1
  483. 0D4002F0 LSRS R4, R1, #0x10
  484. 0D4002F2 ANDS R3, R2
  485. 0D4002F4 EORS R3, R4
  486. 0D4002F6 CMP R3, R2
  487. 0D4002F8 BEQ loc_D400314
  488. 0D4002F8
  489. 0D4002FA MOVS R1, #1 ecc_fail
  490. 0D4002FC NEGS R1, R1
  491. 0D4002FE STR R1, [SP,#0x34+var_30]
  492. 0D4002FE
  493. 0D400300
  494. 0D400300 loc_D400300
  495. 0D400300 calc_ecc+96j
  496. 0D400300 LDR R0, [SP,#0x34+var_30]
  497. 0D400302 ADD SP, SP, #0x10
  498. 0D400304 POP {R3-R6}
  499. 0D400306 MOV R8, R3
  500. 0D400308 MOV R9, R4
  501. 0D40030A MOV R10, R5
  502. 0D40030C MOV R11, R6
  503. 0D40030E POP {R4-R7}
  504. 0D400310 POP {R1}
  505. 0D400312 BX R1
  506. 0D400312
  507. 0D400314
  508. 0D400314 loc_D400314
  509. 0D400314 LDR R1, [SP,#0x34+var_2C]
  510. 0D400316 LSLS R2, R5, #9
  511. 0D400318 LSLS R0, R4, #0x14
  512. 0D40031A ADDS R2, R2, R1
  513. 0D40031C LSRS R0, R0, #0x17
  514. 0D40031E MOVS R3, #7
  515. 0D400320 LDRB R1, [R0,R2]
  516. 0D400322 ANDS R4, R3
  517. 0D400324 MOVS R3, #1
  518. 0D400326 LSLS R3, R4
  519. 0D400328 EORS R3, R1
  520. 0D40032A MOV R4, SP
  521. 0D40032C MOVS R1, #0xF
  522. 0D40032E STRB R3, [R4,#0x34+var_25]
  523. 0D400330 ADDS R0, R0, R2
  524. 0D400332 ADD R1, SP
  525. 0D400334 MOVS R2, #1
  526. 0D400336 BL memcpy
  527. 0D400336
  528. 0D40033A B loc_D4002E4
  529. 0D40033A
  530. 0D40033A
  531. 0D40033A
  532. 0D40033C dword_D40033C DCD 0xFFF
  533. 0D400340
  534. 0D400340
  535. 0D400340
  536. 0D400340
  537. 0D400340
  538. 0D400340 read_nand_page
  539. 0D400340 boot1_main+1F2p ...
  540. 0D400340 PUSH {R4,R5,LR}
  541. 0D400342 LDR R3, =NAND_ADDR1 Address bytes 1-2 (column)
  542. 0D400344 MOVS R4, R1
  543. 0D400346 LDR R1, =NAND_CTR NAND Control and Status
  544. 0D400348 MOVS R5, R2
  545. 0D40034A MOVS R2, #0
  546. 0D40034C STR R2, [R1]
  547. 0D40034E STR R2, [R3]
  548. 0D400350 ADDS R3, #4
  549. 0D400352 STR R0, [R3]
  550. 0D400354 MOVS R3, #0x9F000000
  551. 0D400358 STR R3, [R1]
  552. 0D400358
  553. 0D40035A
  554. 0D40035A loc_D40035A
  555. 0D40035A LDR R3, [R1]
  556. 0D40035C CMP R3, #0
  557. 0D40035E BLT loc_D40035A
  558. 0D40035E
  559. 0D400360 LDR R3, =NAND_DATABUF Memory address of the Data buffer
  560. 0D400362 STR R4, [R3]
  561. 0D400364 ADDS R3, #4
  562. 0D400366 STR R5, [R3]
  563. 0D400368 LDR R3, =0x8030B840
  564. 0D40036A STR R3, [R1]
  565. 0D40036C POP {R4,R5}
  566. 0D40036E POP {R0}
  567. 0D400370 BX R0
  568. 0D400370
  569. 0D400370
  570. 0D400370
  571. 0D400372 ALIGN 4
  572. 0D400374 off_D400374 DCD NAND_ADDR1
  573. 0D400374 Address bytes 1-2 (column)
  574. 0D400378 off_D400378 DCD NAND_CTR
  575. 0D400378 NAND Control and Status
  576. 0D40037C off_D40037C DCD NAND_DATABUF
  577. 0D40037C Memory address of the Data buffer
  578. 0D400380 dword_D400380 DCD 0x8030B840
  579. 0D400384
  580. 0D400384
  581. 0D400384
  582. 0D400384
  583. 0D400384 strlen_maybe
  584. 0D400384 verify_certificate+C2p
  585. 0D400384 PUSH {R4,LR}
  586. 0D400386 MOVS R4, R0
  587. 0D400388 MOVS R0, R1
  588. 0D40038A MOVS R1, #0
  589. 0D40038C SUBS R2, R0, #1
  590. 0D40038E BMI loc_D40039C
  591. 0D40038E
  592. 0D400390
  593. 0D400390 loc_D400390
  594. 0D400390 LDRB R3, [R4,R2]
  595. 0D400392 CMP R3, #0
  596. 0D400394 BNE loc_D40039C
  597. 0D400394
  598. 0D400396 ADDS R1, #1
  599. 0D400398 SUBS R2, #1
  600. 0D40039A BPL loc_D400390
  601. 0D40039A
  602. 0D40039C
  603. 0D40039C loc_D40039C
  604. 0D40039C strlen_maybe+10j
  605. 0D40039C SUBS R0, R0, R1
  606. 0D40039E POP {R4}
  607. 0D4003A0 POP {R1}
  608. 0D4003A2 BX R1
  609. 0D4003A2
  610. 0D4003A2
  611. 0D4003A2
  612. 0D4003A4
  613. 0D4003A4
  614. 0D4003A4
  615. 0D4003A4
  616. 0D4003A4
  617. 0D4003A4 verify_certificate
  618. 0D4003A4 boot1_main+392p ...
  619. 0D4003A4
  620. 0D4003A4 var_3C = -0x3C
  621. 0D4003A4 var_38 = -0x38
  622. 0D4003A4 var_34 = -0x34
  623. 0D4003A4 R5 = 0
  624. 0D4003A4 Length = 4
  625. 0D4003A4
  626. 0D4003A4 PUSH {R4-R7,LR}
  627. 0D4003A6 MOV R7, R10
  628. 0D4003A8 MOV R6, R9
  629. 0D4003AA MOV R5, R8
  630. 0D4003AC PUSH {R5-R7}
  631. 0D4003AE SUB SP, SP, #0x1C
  632. 0D4003B0 LDR R6, [SP,#0x3C+Length]
  633. 0D4003B2 MOVS R4, R0
  634. 0D4003B4 LDR R5, [SP,#0x3C+R5]
  635. 0D4003B6 MOVS R0, #0xAC
  636. 0D4003B8 MOVS R7, R1
  637. 0D4003BA MOV R10, R2
  638. 0D4003BC LSLS R0, R0, #0xC
  639. 0D4003BE MOVS R1, R4
  640. 0D4003C0 MOVS R2, R6
  641. 0D4003C2 MOV R8, R3
  642. 0D4003C4 BL memcpy
  643. 0D4003C4
  644. 0D4003C8 CMP R5, #2
  645. 0D4003CA BEQ loc_D4003F8 Branch if R5 = 0x02
  646. 0D4003CA
  647. 0D4003CC CMP R5, #2
  648. 0D4003CE BLS loc_D4003EC Branch if R5 < 0x02
  649. 0D4003CE ( Will branch to error if R5 is not 0x01 )
  650. 0D4003CE
  651. 0D4003D0 CMP R5, #3
  652. 0D4003D2 BEQ loc_D4003F8 Branch if R5 = 0x03
  653. 0D4003D2
  654. 0D4003D4 CMP R5, #4
  655. 0D4003D6 BEQ loc_D4003F8 Branch if R5 = 0x04
  656. 0D4003D6
  657. 0D4003D8
  658. 0D4003D8 Error CODE XREF: verify_certificate+4Aj
  659. 0D4003D8 verify_certificate+66j ...
  660. 0D4003D8 MOVS R0, #8
  661. 0D4003DA NEGS R0, R0 R0 = 0xFFFFFFF8
  662. 0D4003DA
  663. 0D4003DC
  664. 0D4003DC Return
  665. 0D4003DC verify_certificate+90j ...
  666. 0D4003DC ADD SP, SP, #0x1C
  667. 0D4003DE POP {R3-R5}
  668. 0D4003E0 MOV R8, R3
  669. 0D4003E2 MOV R9, R4
  670. 0D4003E4 MOV R10, R5
  671. 0D4003E6 POP {R4-R7}
  672. 0D4003E8 POP {R1}
  673. 0D4003EA BX R1
  674. 0D4003EA
  675. 0D4003EC
  676. 0D4003EC loc_D4003EC
  677. 0D4003EC CMP R5, #1
  678. 0D4003EE BNE Error
  679. 0D4003EE
  680. 0D4003F0 LDR R4, =0xAC240
  681. 0D4003F2 LDR R3, =0xFFFFFDC0
  682. 0D4003F4 MOVS R0, R4
  683. 0D4003F6 B loc_D4003FE
  684. 0D4003F6
  685. 0D4003F8
  686. 0D4003F8 loc_D4003F8
  687. 0D4003F8 verify_certificate+2Ej ...
  688. 0D4003F8 LDR R4, =0xAC140
  689. 0D4003FA LDR R3, =0xFFFFFEC0
  690. 0D4003FC ADDS R0, R4, #0
  691. 0D4003FC
  692. 0D4003FE
  693. 0D4003FE loc_D4003FE
  694. 0D4003FE MOVS R1, R7
  695. 0D400400 MOVS R2, #0x40
  696. 0D400402 ADDS R6, R6, R3
  697. 0D400404 BL memcmp
  698. 0D400404
  699. 0D400408 CMP R0, #0
  700. 0D40040A BNE Error
  701. 0D40040A
  702. 0D40040C ADD R7, SP, #0x3C+var_38
  703. 0D40040E STR R0, [SP,#0x3C+var_3C]
  704. 0D400410 MOVS R1, #1
  705. 0D400412 MOVS R0, R7
  706. 0D400414 MOVS R2, R4
  707. 0D400416 MOVS R3, #0
  708. 0D400418 BL sha1
  709. 0D400418
  710. 0D40041C CMP R0, #0
  711. 0D40041E BLT Return
  712. 0D40041E
  713. 0D400420 ADD R3, SP, #0x3C+var_34
  714. 0D400422 MOV R9, R3
  715. 0D400424 STR R3, [SP,#0x3C+var_3C]
  716. 0D400426 MOVS R0, R7
  717. 0D400428 MOVS R1, #3
  718. 0D40042A MOVS R2, R4
  719. 0D40042C MOVS R3, R6
  720. 0D40042E BL sha1
  721. 0D40042E
  722. 0D400432 CMP R0, #0
  723. 0D400434 BLT Return
  724. 0D400434
  725. 0D400436 CMP R5, #2
  726. 0D400438 BEQ Use_sig_RSA2048
  727. 0D400438
  728. 0D40043A CMP R5, #2
  729. 0D40043C BHI loc_D40045A
  730. 0D40043C
  731. 0D40043E CMP R5, #1
  732. 0D400440 BNE Error
  733. 0D400440
  734. 0D400442 MOV R0, R8
  735. 0D400444 MOVS R1, #4
  736. 0D400446 BL strlen_maybe
  737. 0D400446
  738. 0D40044A MOV R1, R10
  739. 0D40044C STR R0, [SP,#0x3C+var_3C]
  740. 0D40044E LDR R2, =0xAC004
  741. 0D400450 MOV R0, R9
  742. 0D400452 MOV R3, R8
  743. 0D400454 BL verify_sig_RSA4096
  744. 0D400454
  745. 0D400458 B loc_D400478
  746. 0D400458
  747. 0D40045A
  748. 0D40045A loc_D40045A
  749. 0D40045A CMP R5, #3
  750. 0D40045C BEQ Use_sig_RSA2048
  751. 0D40045C
  752. 0D40045E CMP R5, #4
  753. 0D400460 BNE Error
  754. 0D400460
  755. 0D400462
  756. 0D400462 Use_sig_RSA2048
  757. 0D400462 verify_certificate+B8j
  758. 0D400462 MOVS R1, #4
  759. 0D400464 MOV R0, R8
  760. 0D400466 BL strlen_maybe
  761. 0D400466
  762. 0D40046A MOV R1, R10
  763. 0D40046C STR R0, [SP,#0x3C+var_3C]
  764. 0D40046E LDR R2, =0xAC004
  765. 0D400470 MOV R0, R9
  766. 0D400472 MOV R3, R8
  767. 0D400474 BL verify_sig_RSA2048
  768. 0D400474
  769. 0D400478
  770. 0D400478 loc_D400478
  771. 0D400478 CMP R0, #0
  772. 0D40047A BEQ Return
  773. 0D40047A
  774. 0D40047C B Error
  775. 0D40047C
  776. 0D40047C
  777. 0D40047C
  778. 0D40047E ALIGN 0x10
  779. 0D400480 dword_D400480 DCD 0xAC240
  780. 0D400484 dword_D400484 DCD 0xFFFFFDC0
  781. 0D400488 dword_D400488 DCD 0xAC140
  782. 0D40048C dword_D40048C DCD 0xFFFFFEC0
  783. 0D400490 dword_D400490 DCD 0xAC004
  784. 0D400490 verify_certificate+CAr
  785. 0D400494
  786. 0D400494
  787. 0D400494
  788. 0D400494
  789. 0D400494
  790. 0D400494 boot1_main
  791. 0D400494 DATA XREF: jump_to_main+4o ...
  792. 0D400494
  793. 0D400494 R5 = -0x2C8
  794. 0D400494 Length = -0x2C4
  795. 0D400494 var_2C0 = -0x2C0
  796. 0D400494 var_2BC = -0x2BC
  797. 0D400494 var_2B8 = -0x2B8
  798. 0D400494 var_2B4 = -0x2B4
  799. 0D400494 Key_Exponent = -0x2B0
  800. 0D400494 Key_Type = -0x2AC
  801. 0D400494 var_2A8 = -0x2A8
  802. 0D400494 var_2A4 = -0x2A4
  803. 0D400494 var_2A0 = -0x2A0
  804. 0D400494 var_29C = -0x29C
  805. 0D400494 var_298 = -0x298
  806. 0D400494 var_294 = -0x294
  807. 0D400494 var_290 = -0x290
  808. 0D400494 var_28C = -0x28C
  809. 0D400494 var_288 = -0x288
  810. 0D400494 var_284 = -0x284
  811. 0D400494 var_280 = -0x280
  812. 0D400494 var_27C = -0x27C
  813. 0D400494 var_278 = -0x278
  814. 0D400494 var_274 = -0x274
  815. 0D400494 var_270 = -0x270
  816. 0D400494 var_26C = -0x26C
  817. 0D400494 var_268 = -0x268
  818. 0D400494 var_264 = -0x264
  819. 0D400494 var_260 = -0x260
  820. 0D400494 var_24C = -0x24C
  821. 0D400494 var_1BC = -0x1BC
  822. 0D400494 Needle = -0x17C
  823. 0D400494 var_13C = -0x13C
  824. 0D400494 var_134 = -0x134
  825. 0D400494 var_A0 = -0xA0
  826. 0D400494 var_90 = -0x90
  827. 0D400494 var_8C = -0x8C
  828. 0D400494 var_88 = -0x88
  829. 0D400494 var_84 = -0x84
  830. 0D400494 var_80 = -0x80
  831. 0D400494 var_70 = -0x70
  832. 0D400494 var_68 = -0x68
  833. 0D400494
  834. 0D400494 PUSH {R4-R7,LR}
  835. 0D400496 MOV R7, R11
  836. 0D400498 MOV R6, R10
  837. 0D40049A MOV R5, R9
  838. 0D40049C MOV R4, R8
  839. 0D40049E PUSH {R4-R7}
  840. 0D4004A0 LDR R4, =0xFFFFFD5C
  841. 0D4004A2 MOVS R0, #0
  842. 0D4004A4 ADD SP, R4
  843. 0D4004A6 MOV R9, R0
  844. 0D4004A8 MOVS R0, #0x11
  845. 0D4004AA BL boot1_debug_output output 11h
  846. 0D4004AA
  847. 0D4004AE ADD R0, SP, #0x2C8+var_264
  848. 0D4004B0 ADD R1, SP, #0x2C8+var_268
  849. 0D4004B2 BL sub_D401488
  850. 0D4004B2
  851. 0D4004B6 LDR R3, [SP,#0x2C8+var_264]
  852. 0D4004B8 MOVS R4, #7
  853. 0D4004BA CMP R3, #0
  854. 0D4004BC BNE loc_D4004C0
  855. 0D4004BC
  856. 0D4004BE MOVS R4, #0x47
  857. 0D4004BE
  858. 0D4004C0
  859. 0D4004C0 loc_D4004C0
  860. 0D4004C0 LDR R3, =LT_MEMIRR
  861. 0D4004C2 STR R4, [R3]
  862. 0D4004C4 LDR R3, =dword_D8B0010
  863. 0D4004C6 MOV R1, R9
  864. 0D4004C8 STR R1, [R3]
  865. 0D4004CA MOVS R0, #0
  866. 0D4004CC MOVS R1, #0
  867. 0D4004CE BL call_init_dram
  868. 0D4004CE
  869. 0D4004D2 BL init_gpios
  870. 0D4004D2
  871. 0D4004D6 LDR R3, =byte_1E7
  872. 0D4004D8 MOV R5, SP
  873. 0D4004DA MOVS R4, #0x3F
  874. 0D4004DC ADD R3, SP
  875. 0D4004DE ADDS R5, #0xCB
  876. 0D4004E0 BICS R3, R4
  877. 0D4004E2 BICS R5, R4
  878. 0D4004E4 MOVS R2, #1
  879. 0D4004E6 STR R3, [SP,#0x2C8+var_2BC]
  880. 0D4004E8 STR R5, [SP,#0x2C8+var_2C0]
  881. 0D4004EA MOV R11, R2
  882. 0D4004EA
  883. 0D4004EC
  884. 0D4004EC loc_D4004EC
  885. 0D4004EC MOV R0, R11
  886. 0D4004EE CMP R0, #2
  887. 0D4004F0 BNE loc_D4004F4
  888. 0D4004F0
  889. 0D4004F2 B loc_D400614
  890. 0D4004F2
  891. 0D4004F4
  892. 0D4004F4 loc_D4004F4
  893. 0D4004F4 boot1_main+1C8j
  894. 0D4004F4 MOVS R4, #0
  895. 0D4004F6 ADD R0, SP, #0x2C8+var_13C
  896. 0D4004F8 LDR R1, =boot2_magic
  897. 0D4004FA MOVS R2, #8
  898. 0D4004FC BL memcpy
  899. 0D4004FC
  900. 0D400500 STR R4, [SP,#0x2C8+var_68]
  901. 0D400502 LDR R4, =NAND_CTR NAND Control and Status
  902. 0D400504 MOVS R3, #1
  903. 0D400504
  904. 0D400506
  905. 0D400506 loc_D400506
  906. 0D400506 ADDS R5, R3, #1
  907. 0D400508 LSLS R0, R5, #6
  908. 0D40050A MOVS R1, #0xA0
  909. 0D40050C MOVS R2, #0xA2
  910. 0D40050E SUBS R0, #1
  911. 0D400510 LSLS R1, R1, #0xA
  912. 0D400512 LSLS R2, R2, #0xA
  913. 0D400514 BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
  914. 0D400514
  915. 0D400518
  916. 0D400518 loc_D400518
  917. 0D400518 LDR R3, [R4]
  918. 0D40051A CMP R3, #0
  919. 0D40051C BLT loc_D400518
  920. 0D40051C
  921. 0D40051E MOVS R0, #3
  922. 0D400520 BL call_ahbMemFlush
  923. 0D400520
  924. 0D400524 MOVS R0, #0
  925. 0D400526 BL call_ahbMemFlush2
  926. 0D400526
  927. 0D40052A MOVS R0, #0x28000
  928. 0D40052E ADD R1, SP, #0x2C8+var_13C
  929. 0D400530 MOVS R2, #8
  930. 0D400532 BL memcmp
  931. 0D400532
  932. 0D400536 CMP R0, #0
  933. 0D400538 BNE loc_D4005F4
  934. 0D400538
  935. 0D40053A MOVS R0, #0x28000
  936. 0D40053E LDR R1, =0x2804C
  937. 0D400540 MOVS R2, #0x4C
  938. 0D400542 BL memcmp
  939. 0D400542
  940. 0D400546 CMP R0, #0
  941. 0D400548 BNE loc_D4005E4
  942. 0D400548
  943. 0D40054A
  944. 0D40054A loc_D40054A
  945. 0D40054A MOVS R1, #0x28000
  946. 0D40054A
  947. 0D40054E
  948. 0D40054E loc_D40054E
  949. 0D40054E LDR R2, [R1,#8]
  950. 0D400550 LDR R3, [SP,#0x2C8+var_68]
  951. 0D400552 CMP R2, R3
  952. 0D400554 BLS loc_D400564
  953. 0D400554
  954. 0D400556 ADD R0, SP, #0x2C8+var_70
  955. 0D400558 STR R2, [SP,#0x2C8+var_68]
  956. 0D40055A ADDS R0, #0xC
  957. 0D40055C ADDS R1, #0xC
  958. 0D40055E MOVS R2, #0x40
  959. 0D400560 BL memcpy
  960. 0D400560
  961. 0D400564
  962. 0D400564 loc_D400564
  963. 0D400564 boot1_main+16Cj ...
  964. 0D400564 MOVS R3, R5
  965. 0D400566 CMP R5, #8
  966. 0D400568 BCC loc_D400506
  967. 0D400568
  968. 0D40056A MOV R1, R11
  969. 0D40056C CMP R1, #1
  970. 0D40056E BNE loc_D400572
  971. 0D40056E
  972. 0D400570 B loc_D40072E
  973. 0D400570
  974. 0D400572
  975. 0D400572 loc_D400572
  976. 0D400572 MOVS R2, #7
  977. 0D400572
  978. 0D400574
  979. 0D400574 loc_D400574
  980. 0D400574 MOVS R7, #0xA2
  981. 0D400576 MOV R3, R11
  982. 0D400578 MOVS R4, R2
  983. 0D40057A LSLS R7, R7, #0xA
  984. 0D40057C CMP R3, #1
  985. 0D40057E BNE loc_D400582
  986. 0D40057E
  987. 0D400580 B loc_D400728
  988. 0D400580
  989. 0D400582
  990. 0D400582 loc_D400582
  991. 0D400582 MOVS R0, #1
  992. 0D400584 NEGS R1, R0
  993. 0D400586 MOV R10, R1
  994. 0D400586
  995. 0D400588
  996. 0D400588 loc_D400588
  997. 0D400588 LDR R3, [SP,#0x2C8+var_68]
  998. 0D40058A CMP R3, #1
  999. 0D40058C BHI loc_D400590
  1000. 0D40058C
  1001. 0D40058E B loc_D4006DC
  1002. 0D40058E
  1003. 0D400590
  1004. 0D400590 loc_D400590
  1005. 0D400590 SUBS R1, R2, #1
  1006. 0D400592 CMP R1, #6
  1007. 0D400594 BLS loc_D400598
  1008. 0D400594
  1009. 0D400596 B loc_D400732
  1010. 0D400596
  1011. 0D400598
  1012. 0D400598 loc_D400598
  1013. 0D400598 ADD R5, SP, #0x2C8+var_70
  1014. 0D40059A ADDS R3, R2, R5
  1015. 0D40059C LDRB R3, [R3,#0xC]
  1016. 0D40059E CMP R3, #1
  1017. 0D4005A0 BEQ loc_D400668
  1018. 0D4005A0
  1019. 0D4005A2 ADDS R2, R1, #0
  1020. 0D4005A2
  1021. 0D4005A4
  1022. 0D4005A4 loc_D4005A4
  1023. 0D4005A4 boot1_main+2A0j ...
  1024. 0D4005A4 CMP R2, #6
  1025. 0D4005A6 BLS loc_D400672
  1026. 0D4005A6
  1027. 0D4005A8
  1028. 0D4005A8 loc_D4005A8
  1029. 0D4005A8 boot1_main+292j
  1030. 0D4005A8 MOVS R3, #4
  1031. 0D4005AA NEGS R4, R3
  1032. 0D4005AC MOV R8, R4
  1033. 0D4005AC
  1034. 0D4005AE
  1035. 0D4005AE loc_D4005AE
  1036. 0D4005AE MOV R4, R8
  1037. 0D4005AE
  1038. 0D4005B0
  1039. 0D4005B0 loc_D4005B0
  1040. 0D4005B0 boot1_main+6FCj
  1041. 0D4005B0 CMP R4, #0
  1042. 0D4005B2 BLT loc_D4005B6
  1043. 0D4005B2
  1044. 0D4005B4 B loc_D4009D6
  1045. 0D4005B4
  1046. 0D4005B6
  1047. 0D4005B6 loc_D4005B6
  1048. 0D4005B6 boot1_main+2D4j ...
  1049. 0D4005B6 MOV R9, R4
  1050. 0D4005B8 MOVS R4, #1
  1051. 0D4005BA ADD R11, R4
  1052. 0D4005BC MOV R5, R11
  1053. 0D4005BE CMP R5, #2
  1054. 0D4005C0 BLS loc_D4004EC
  1055. 0D4005C0
  1056. 0D4005C2
  1057. 0D4005C2 loc_D4005C2
  1058. 0D4005C2 MOV R1, R9
  1059. 0D4005C4 MVNS R3, R1
  1060. 0D4005C6 LSLS R5, R1, #0x18
  1061. 0D4005C8 LSLS R4, R3, #0x18
  1062. 0D4005C8
  1063. 0D4005CA
  1064. 0D4005CA loc_D4005CA
  1065. 0D4005CA LSRS R0, R5, #0x18
  1066. 0D4005CC BL boot1_debug_output panic1
  1067. 0D4005CC
  1068. 0D4005D0 LDR R0, =0xF4240
  1069. 0D4005D2 BL delay_1
  1070. 0D4005D2
  1071. 0D4005D6 LSRS R0, R4, #0x18
  1072. 0D4005D8 BL boot1_debug_output panic2
  1073. 0D4005D8
  1074. 0D4005DC LDR R0, =0xF4240
  1075. 0D4005DE BL delay_1
  1076. 0D4005DE
  1077. 0D4005E2 B loc_D4005CA
  1078. 0D4005E2
  1079. 0D4005E4
  1080. 0D4005E4 loc_D4005E4
  1081. 0D4005E4 MOVS R0, #0x28000
  1082. 0D4005E8 LDR R1, =0x28098
  1083. 0D4005EA MOVS R2, #0x4C
  1084. 0D4005EC BL memcmp
  1085. 0D4005EC
  1086. 0D4005F0 CMP R0, #0
  1087. 0D4005F2 BEQ loc_D40054A
  1088. 0D4005F2
  1089. 0D4005F4
  1090. 0D4005F4 loc_D4005F4
  1091. 0D4005F4 LDR R0, =0x2804C
  1092. 0D4005F6 ADD R1, SP, #0x2C8+var_13C
  1093. 0D4005F8 MOVS R2, #8
  1094. 0D4005FA BL memcmp
  1095. 0D4005FA
  1096. 0D4005FE CMP R0, #0
  1097. 0D400600 BNE loc_D400564
  1098. 0D400600
  1099. 0D400602 LDR R0, =0x2804C
  1100. 0D400604 LDR R1, =0x28098
  1101. 0D400606 MOVS R2, #0x4C
  1102. 0D400608 BL memcmp
  1103. 0D400608
  1104. 0D40060C CMP R0, #0
  1105. 0D40060E BNE loc_D400564
  1106. 0D40060E
  1107. 0D400610 LDR R1, =0x2804C
  1108. 0D400612 B loc_D40054E
  1109. 0D400612
  1110. 0D400614
  1111. 0D400614 loc_D400614
  1112. 0D400614 LDR R2, =NAND_CTR NAND Control and Status
  1113. 0D400614
  1114. 0D400616
  1115. 0D400616 loc_D400616
  1116. 0D400616 LDR R3, [R2]
  1117. 0D400618 CMP R3, #0
  1118. 0D40061A BLT loc_D400616
  1119. 0D40061A
  1120. 0D40061C LDR R2, =AES_CTRL
  1121. 0D40061C
  1122. 0D40061E
  1123. 0D40061E loc_D40061E
  1124. 0D40061E LDR R3, [R2]
  1125. 0D400620 CMP R3, #0
  1126. 0D400622 BLT loc_D40061E
  1127. 0D400622
  1128. 0D400624 LDR R2, =SHA_CTRL
  1129. 0D400624
  1130. 0D400626
  1131. 0D400626 loc_D400626
  1132. 0D400626 LDR R3, [R2]
  1133. 0D400628 CMP R3, #0
  1134. 0D40062A BLT loc_D400626
  1135. 0D40062A
  1136. 0D40062C MOVS R0, #1
  1137. 0D40062E BL call_ahbMemFlush
  1138. 0D40062E
  1139. 0D400632 MOVS R0, #3
  1140. 0D400634 BL call_ahbMemFlush
  1141. 0D400634
  1142. 0D400638 MOVS R0, #4
  1143. 0D40063A BL call_ahbMemFlush
  1144. 0D40063A
  1145. 0D40063E MOVS R0, #5
  1146. 0D400640 BL call_ahbMemFlush
  1147. 0D400640
  1148. 0D400644 MOVS R0, #0
  1149. 0D400646 BL call_ahbMemFlush2
  1150. 0D400646
  1151. 0D40064A MOVS R0, #3
  1152. 0D40064C BL call_ahbMemFlush2
  1153. 0D40064C
  1154. 0D400650 MOVS R0, #4
  1155. 0D400652 BL call_ahbMemFlush2
  1156. 0D400652
  1157. 0D400656 MOVS R0, #5
  1158. 0D400658 BL call_ahbMemFlush2
  1159. 0D400658
  1160. 0D40065C B loc_D4004F4
  1161. 0D40065C
  1162. 0D40065E
  1163. 0D40065E loc_D40065E
  1164. 0D40065E ADD R0, SP, #0x2C8+var_70
  1165. 0D400660 ADDS R3, R4, R0
  1166. 0D400662 LDRB R3, [R3,#0xC]
  1167. 0D400664 CMP R3, #1
  1168. 0D400666 BNE loc_D4005A4
  1169. 0D400666
  1170. 0D400668
  1171. 0D400668 loc_D400668
  1172. 0D400668 ADD R4, R10
  1173. 0D40066A SUBS R2, R4, #1
  1174. 0D40066C CMP R2, #6
  1175. 0D40066E BLS loc_D40065E
  1176. 0D40066E
  1177. 0D400670 B loc_D4005A8
  1178. 0D400670
  1179. 0D400672
  1180. 0D400672 loc_D400672
  1181. 0D400672 CMP R4, #0
  1182. 0D400674 MOV R8, R4
  1183. 0D400676 BLT loc_D4005AE
  1184. 0D400676
  1185. 0D400678 MOV R5, R8
  1186. 0D40067A LSLS R5, R5, #6
  1187. 0D40067C MOVS R1, #0xA0
  1188. 0D40067E MOVS R2, #0x28800
  1189. 0D400682 MOVS R0, R5
  1190. 0D400684 LSLS R1, R1, #0xA
  1191. 0D400686 BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
  1192. 0D400686
  1193. 0D40068A LDR R2, =NAND_CTR NAND Control and Status
  1194. 0D40068C MOV R10, R5
  1195. 0D40068C
  1196. 0D40068E
  1197. 0D40068E loc_D40068E
  1198. 0D40068E LDR R3, [R2]
  1199. 0D400690 CMP R3, #0
  1200. 0D400692 BLT loc_D40068E
  1201. 0D400692
  1202. 0D400694 MOVS R0, #3
  1203. 0D400696 BL call_ahbMemFlush
  1204. 0D400696
  1205. 0D40069A MOVS R0, #0
  1206. 0D40069C BL call_ahbMemFlush2
  1207. 0D40069C
  1208. 0D4006A0 MOVS R0, #0xA0
  1209. 0D4006A2 MOVS R1, #0xA2
  1210. 0D4006A4 MOVS R2, #0x80
  1211. 0D4006A6 LSLS R0, R0, #0xA
  1212. 0D4006A8 LSLS R1, R1, #0xA
  1213. 0D4006AA LSLS R2, R2, #4
  1214. 0D4006AC BL calc_ecc
  1215. 0D4006AC
  1216. 0D4006B0 CMP R0, #0
  1217. 0D4006B2 BNE loc_D400764
  1218. 0D4006B2
  1219. 0D4006B4 MOVS R1, #0xA0
  1220. 0D4006B6 ADD R0, SP, #0x2C8+var_90
  1221. 0D4006B8 LSLS R1, R1, #0xA
  1222. 0D4006BA MOVS R2, #0x20
  1223. 0D4006BC BL memcpy
  1224. 0D4006BC
  1225. 0D4006C0 LDR R3, [SP,#0x2C8+var_90]
  1226. 0D4006C2 CMP R3, #0x20
  1227. 0D4006C4 BNE loc_D4006D6
  1228. 0D4006C4
  1229. 0D4006C6 MOVS R3, #0x80
  1230. 0D4006C8 LDR R2, [SP,#0x2C8+var_8C]
  1231. 0D4006CA LSLS R3, R3, #0xA
  1232. 0D4006CC CMP R2, R3
  1233. 0D4006CE BHI loc_D4006D6
  1234. 0D4006CE
  1235. 0D4006D0 MOVS R0, #0x3F
  1236. 0D4006D2 TST R2, R0
  1237. 0D4006D4 BEQ loc_D40076A
  1238. 0D4006D4
  1239. 0D4006D6
  1240. 0D4006D6 loc_D4006D6
  1241. 0D4006D6 boot1_main+23Aj
  1242. 0D4006D6 MOVS R4, #5
  1243. 0D4006D6
  1244. 0D4006D8
  1245. 0D4006D8 loc_D4006D8
  1246. 0D4006D8 boot1_main+576j ...
  1247. 0D4006D8 NEGS R4, R4 R4 = 0xFFFFFFFB
  1248. 0D4006DA B loc_D4005B0
  1249. 0D4006DA
  1250. 0D4006DC
  1251. 0D4006DC loc_D4006DC
  1252. 0D4006DC SUBS R3, R2, #1
  1253. 0D4006DE CMP R3, #6
  1254. 0D4006E0 BHI loc_D400732
  1255. 0D4006E0
  1256. 0D4006E2 LDR R1, =NAND_CTR NAND Control and Status
  1257. 0D4006E4 MOV R8, R1
  1258. 0D4006E4
  1259. 0D4006E6
  1260. 0D4006E6 loc_D4006E6
  1261. 0D4006E6 LSLS R6, R4, #6
  1262. 0D4006E8 MOVS R5, #0
  1263. 0D4006E8
  1264. 0D4006EA
  1265. 0D4006EA loc_D4006EA
  1266. 0D4006EA MOVS R1, #0xA0
  1267. 0D4006EC MOVS R2, #0xA2
  1268. 0D4006EE ADDS R0, R6, R5
  1269. 0D4006F0 LSLS R1, R1, #0xA
  1270. 0D4006F2 LSLS R2, R2, #0xA
  1271. 0D4006F4 BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
  1272. 0D4006F4
  1273. 0D4006F8
  1274. 0D4006F8 loc_D4006F8
  1275. 0D4006F8 MOV R2, R8
  1276. 0D4006FA LDR R3, [R2]
  1277. 0D4006FC CMP R3, #0
  1278. 0D4006FE BLT loc_D4006F8
  1279. 0D4006FE
  1280. 0D400700 MOVS R0, #3
  1281. 0D400702 BL call_ahbMemFlush
  1282. 0D400702
  1283. 0D400706 MOVS R0, #0
  1284. 0D400708 BL call_ahbMemFlush2
  1285. 0D400708
  1286. 0D40070C LDRB R3, [R7]
  1287. 0D40070E CMP R3, #0xFF
  1288. 0D400710 BEQ loc_D400714
  1289. 0D400710
  1290. 0D400712 B loc_D400A10
  1291. 0D400712
  1292. 0D400714
  1293. 0D400714 loc_D400714
  1294. 0D400714 ADDS R5, #1
  1295. 0D400716 CMP R5, #1
  1296. 0D400718 BLS loc_D4006EA
  1297. 0D400718
  1298. 0D40071A
  1299. 0D40071A loc_D40071A
  1300. 0D40071A CMP R5, #2
  1301. 0D40071C BNE loc_D400720
  1302. 0D40071C
  1303. 0D40071E B loc_D400A0C
  1304. 0D40071E
  1305. 0D400720
  1306. 0D400720 loc_D400720
  1307. 0D400720 SUBS R2, R4, #1
  1308. 0D400722 CMP R2, #6
  1309. 0D400724 BLS loc_D4006E6
  1310. 0D400724
  1311. 0D400726 B loc_D4005A8
  1312. 0D400726
  1313. 0D400728
  1314. 0D400728 loc_D400728
  1315. 0D400728 MOVS R5, #1
  1316. 0D40072A MOV R10, R5
  1317. 0D40072C B loc_D400588
  1318. 0D40072C
  1319. 0D40072E
  1320. 0D40072E loc_D40072E
  1321. 0D40072E MOVS R2, #1
  1322. 0D400730 B loc_D400574
  1323. 0D400730
  1324. 0D400732
  1325. 0D400732 loc_D400732
  1326. 0D400732 boot1_main+24Cj
  1327. 0D400732 SUBS R2, #1
  1328. 0D400734 B loc_D4005A4
  1329. 0D400734
  1330. 0D400736 ALIGN 4
  1331. 0D400738 dword_D400738 DCD 0xFFFFFD5C
  1332. 0D40073C off_D40073C DCD LT_MEMIRR
  1333. 0D400740 off_D400740 DCD dword_D8B0010
  1334. 0D400744 off_D400744 DCD byte_1E7
  1335. 0D400748 off_D400748 DCD boot2_magic
  1336. 0D40074C off_D40074C DCD NAND_CTR
  1337. 0D40074C boot1_main:loc_D400614r ...
  1338. 0D40074C NAND Control and Status
  1339. 0D400750 dword_D400750 DCD 0x2804C
  1340. 0D400750 boot1_main:loc_D4005F4r ...
  1341. 0D400754 dword_D400754 DCD 0xF4240
  1342. 0D400754 boot1_main+148r
  1343. 0D400758 dword_D400758 DCD 0x28098
  1344. 0D400758 boot1_main+170r
  1345. 0D40075C off_D40075C DCD AES_CTRL
  1346. 0D400760 off_D400760 DCD SHA_CTRL
  1347. 0D400764
  1348. 0D400764 loc_D400764
  1349. 0D400764 SUBS R4, R0, #0
  1350. 0D400766 BGE loc_D40076A
  1351. 0D400766
  1352. 0D400768 B loc_D4005B6
  1353. 0D400768
  1354. 0D40076A
  1355. 0D40076A loc_D40076A
  1356. 0D40076A boot1_main+2D2j
  1357. 0D40076A LDR R3, [SP,#0x2C8+var_8C]
  1358. 0D40076C LDR R6, =NAND_CTR NAND Control and Status
  1359. 0D40076E LSRS R5, R3, #0xB
  1360. 0D400770 MOVS R4, #0
  1361. 0D400772 MOVS R7, #1
  1362. 0D400772
  1363. 0D400774
  1364. 0D400774 loc_D400774
  1365. 0D400774 boot1_main+304j
  1366. 0D400774 LDR R3, [R6]
  1367. 0D400776 CMP R3, #0
  1368. 0D400778 BLT loc_D400774
  1369. 0D400778
  1370. 0D40077A MOVS R0, #3
  1371. 0D40077C BL call_ahbMemFlush
  1372. 0D40077C
  1373. 0D400780 MOVS R0, #0
  1374. 0D400782 BL call_ahbMemFlush2
  1375. 0D400782
  1376. 0D400786 CMP R4, R5
  1377. 0D400788 BHI loc_D40078C
  1378. 0D400788
  1379. 0D40078A B loc_D4008D4
  1380. 0D40078A
  1381. 0D40078C
  1382. 0D40078C loc_D40078C
  1383. 0D40078C boot1_main+45Cj
  1384. 0D40078C CMP R4, #0
  1385. 0D40078E BEQ loc_D400792
  1386. 0D40078E
  1387. 0D400790 B loc_D4008F2
  1388. 0D400790
  1389. 0D400792
  1390. 0D400792 loc_D400792
  1391. 0D400792 boot1_main+47Ej
  1392. 0D400792 ADDS R4, #1
  1393. 0D400794 ADDS R3, R5, #1
  1394. 0D400796 CMP R3, R4
  1395. 0D400798 BCS loc_D400774
  1396. 0D400798
  1397. 0D40079A MOVS R1, #0
  1398. 0D40079C MOVS R2, #0x40
  1399. 0D40079E ADD R0, SP, #0x2C8+Needle
  1400. 0D4007A0 LDR R6, [SP,#0x2C8+var_90]
  1401. 0D4007A2 MOVS R5, #0xA0
  1402. 0D4007A4 BL memcmp_0
  1403. 0D4007A4
  1404. 0D4007A8 LDR R1, =aRoot_4 "Root"
  1405. 0D4007AA MOVS R2, #0x40
  1406. 0D4007AC ADD R0, SP, #0x2C8+Needle
  1407. 0D4007AE BL memmove_maybe void *memmove(void *dest, void *src, size_t count)
  1408. 0D4007AE
  1409. 0D4007B2 LSLS R5, R5, #0xA
  1410. 0D4007B4 MOVS R3, #1
  1411. 0D4007B6 ADDS R4, R6, R5
  1412. 0D4007B8 STR R3, [SP,#0x2C8+R5] R5
  1413. 0D4007BA LDR R5, =BOOT1_root_exponent
  1414. 0D4007BC MOVS R3, #0x400
  1415. 0D4007C0 STR R3, [SP,#0x2C8+Length]
  1416. 0D4007C2 MOVS R0, R4 Source
  1417. 0D4007C4 ADD R1, SP, #0x2C8+Needle Needle
  1418. 0D4007C6 LDR R2, =BOOT1_root_key Key_Type
  1419. 0D4007C8 MOVS R3, R5 Key_Exponent
  1420. 0D4007CA BL verify_certificate verify_certificate(char *a1, _BYTE *a2, int BOOT1_root_key, int &BOOT1_root_exponen, unsigned int a5, unsigned int size)
  1421. 0D4007CA
  1422. 0D4007CE CMP R0, #0
  1423. 0D4007D0 BEQ loc_D4007D4
  1424. 0D4007D0
  1425. 0D4007D2 B loc_D400914
  1426. 0D4007D2
  1427. 0D4007D4
  1428. 0D4007D4 loc_D4007D4
  1429. 0D4007D4 LDR R0, =0x28284
  1430. 0D4007D6 ADDS R5, R6, R0
  1431. 0D4007D8 MOVS R0, R5
  1432. 0D4007DA LDR R1, =aCa_0 "CA"
  1433. 0D4007DC MOVS R2, #2
  1434. 0D4007DE BL memcmp
  1435. 0D4007DE
  1436. 0D4007E2 CMP R0, #0
  1437. 0D4007E4 BNE loc_D4008D0
  1438. 0D4007E4
  1439. 0D4007E6 LDR R2, =asc_D4040A0 "-"
  1440. 0D4007E8 LDR R7, [SP,#0x2C8+var_90]
  1441. 0D4007EA MOVS R1, #0x28400
  1442. 0D4007EE ADDS R4, R7, R1
  1443. 0D4007F0 MOV R10, R2
  1444. 0D4007F2 MOVS R1, R2
  1445. 0D4007F4 ADD R0, SP, #0x2C8+Needle
  1446. 0D4007F6 MOVS R2, #0x40
  1447. 0D4007F8 BL memcpy_maybe
  1448. 0D4007F8
  1449. 0D4007FC MOVS R1, R5
  1450. 0D4007FE MOVS R2, #0x40
  1451. 0D400800 ADD R0, SP, #0x2C8+Needle
  1452. 0D400802 BL memcpy_maybe
  1453. 0D400802
  1454. 0D400806 LDR R5, =0x282C8
  1455. 0D400808 LDR R0, =0x283C8
  1456. 0D40080A MOVS R2, #0xC0
  1457. 0D40080C ADDS R3, R6, R5
  1458. 0D40080E LSLS R2, R2, #2
  1459. 0D400810 ADDS R5, R6, R0
  1460. 0D400812 MOVS R1, #2
  1461. 0D400814 STR R3, [SP,#0x2C8+Key_Type]
  1462. 0D400816 STR R1, [SP,#0x2C8+R5] R5
  1463. 0D400818 STR R2, [SP,#0x2C8+var_274]
  1464. 0D40081A STR R2, [SP,#0x2C8+Length]
  1465. 0D40081C MOVS R0, R4 Source
  1466. 0D40081E MOVS R2, R3 Key_Type
  1467. 0D400820 ADD R1, SP, #0x2C8+Needle Needle
  1468. 0D400822 MOVS R3, R5 Key_Exponent
  1469. 0D400824 STR R5, [SP,#0x2C8+Key_Exponent]
  1470. 0D400826 BL verify_certificate
  1471. 0D400826
  1472. 0D40082A CMP R0, #0
  1473. 0D40082C BNE loc_D400914
  1474. 0D40082C
  1475. 0D40082E LDR R3, =0x28584
  1476. 0D400830 ADDS R4, R7, R3
  1477. 0D400832 MOVS R0, R4
  1478. 0D400834 LDR R1, =aCp_0 "CP"
  1479. 0D400836 MOVS R2, #2
  1480. 0D400838 BL memcmp
  1481. 0D400838
  1482. 0D40083C CMP R0, #0
  1483. 0D40083E BNE loc_D4008D0
  1484. 0D40083E
  1485. 0D400840 ADD R1, SP, #0x2C8+Needle
  1486. 0D400842 MOVS R2, #0x40
  1487. 0D400844 ADD R0, SP, #0x2C8+var_1BC
  1488. 0D400846 BL memcpy
  1489. 0D400846
  1490. 0D40084A MOVS R5, #0xA0
  1491. 0D40084C LDR R3, [SP,#0x2C8+var_90]
  1492. 0D40084E LDR R2, [SP,#0x2C8+var_88]
  1493. 0D400850 LSLS R5, R5, #0xA
  1494. 0D400852 ADDS R3, R3, R5
  1495. 0D400854 ADDS R3, R3, R2
  1496. 0D400856 LDR R2, [SP,#0x2C8+var_84]
  1497. 0D400858 MOV R1, R10
  1498. 0D40085A ADDS R6, R3, R2
  1499. 0D40085C ADD R0, SP, #0x2C8+Needle
  1500. 0D40085E MOVS R2, #0x40
  1501. 0D400860 BL memcpy_maybe
  1502. 0D400860
  1503. 0D400864 MOVS R1, R4
  1504. 0D400866 MOVS R2, #0x40
  1505. 0D400868 ADD R0, SP, #0x2C8+Needle
  1506. 0D40086A BL memcpy_maybe
  1507. 0D40086A
  1508. 0D40086E MOVS R3, #3
  1509. 0D400870 STR R3, [SP,#0x2C8+R5] R5
  1510. 0D400872 LDR R3, [SP,#0x2C8+var_80]
  1511. 0D400874 LDR R4, =0x286C8
  1512. 0D400876 STR R3, [SP,#0x2C8+Length]
  1513. 0D400878 LDR R3, =0x285C8
  1514. 0D40087A MOVS R0, R6 Source
  1515. 0D40087C ADDS R2, R7, R3
  1516. 0D40087E ADD R1, SP, #0x2C8+Needle Needle
  1517. 0D400880 ADDS R3, R7, R4
  1518. 0D400882 BL verify_certificate
  1519. 0D400882
  1520. 0D400886 CMP R0, #0
  1521. 0D400888 BNE loc_D400914
  1522. 0D400888
  1523. 0D40088A LDR R5, [SP,#0x2C8+var_90]
  1524. 0D40088C LDR R0, =0x28700
  1525. 0D40088E MOVS R1, #0
  1526. 0D400890 ADDS R4, R5, R0
  1527. 0D400892 MOVS R2, #0x40
  1528. 0D400894 ADD R0, SP, #0x2C8+Needle
  1529. 0D400896 BL memcmp_0
  1530. 0D400896
  1531. 0D40089A ADD R1, SP, #0x2C8+var_1BC
  1532. 0D40089C MOVS R2, #0x40
  1533. 0D40089E ADD R0, SP, #0x2C8+Needle
  1534. 0D4008A0 BL memmove_maybe void *memmove(void *dest, void *src, size_t count)
  1535. 0D4008A0
  1536. 0D4008A4 LDR R2, [SP,#0x2C8+var_274]
  1537. 0D4008A6 MOVS R1, #2
  1538. 0D4008A8 STR R1, [SP,#0x2C8+R5] R5
  1539. 0D4008AA STR R2, [SP,#0x2C8+Length]
  1540. 0D4008AC MOVS R0, R4 Source
  1541. 0D4008AE ADD R1, SP, #0x2C8+Needle Needle
  1542. 0D4008B0 LDR R2, [SP,#0x2C8+Key_Type]
  1543. 0D4008B2 LDR R3, [SP,#0x2C8+Key_Exponent]
  1544. 0D4008B4 BL verify_certificate
  1545. 0D4008B4
  1546. 0D4008B8 CMP R0, #0
  1547. 0D4008BA BNE loc_D400914
  1548. 0D4008BA
  1549. 0D4008BC LDR R3, =0x28884
  1550. 0D4008BE ADDS R4, R5, R3
  1551. 0D4008C0 MOVS R0, R4
  1552. 0D4008C2 LDR R1, =aXs_0 "XS"
  1553. 0D4008C4 MOVS R2, #2
  1554. 0D4008C6 BL memcmp
  1555. 0D4008C6
  1556. 0D4008CA CMP R0, #0
  1557. 0D4008CC BNE loc_D4008D0
  1558. 0D4008CC
  1559. 0D4008CE B loc_D400C42
  1560. 0D4008CE
  1561. 0D4008D0
  1562. 0D4008D0 loc_D4008D0
  1563. 0D4008D0 boot1_main+3AAj ...
  1564. 0D4008D0 MOVS R4, #9
  1565. 0D4008D2 B loc_D4006D8
  1566. 0D4008D2
  1567. 0D4008D4
  1568. 0D4008D4 loc_D4008D4
  1569. 0D4008D4 MOV R3, R10
  1570. 0D4008D6 ADDS R0, R4, R3
  1571. 0D4008D8 MOVS R3, #0xA0
  1572. 0D4008DA LSLS R1, R4, #0xB
  1573. 0D4008DC MOVS R2, R4
  1574. 0D4008DE LSLS R3, R3, #0xA
  1575. 0D4008E0 ANDS R2, R7
  1576. 0D4008E2 ADDS R1, R1, R3
  1577. 0D4008E4 MOVS R3, #0x48000
  1578. 0D4008E8 LSLS R2, R2, #7
  1579. 0D4008EA ADDS R2, R2, R3
  1580. 0D4008EC BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
  1581. 0D4008EC
  1582. 0D4008F0 B loc_D40078C
  1583. 0D4008F0
  1584. 0D4008F2
  1585. 0D4008F2 loc_D4008F2
  1586. 0D4008F2 SUBS R1, R4, #1
  1587. 0D4008F4 MOVS R2, #0xA0
  1588. 0D4008F6 LSLS R0, R1, #0xB
  1589. 0D4008F8 LSLS R2, R2, #0xA
  1590. 0D4008FA ANDS R1, R7
  1591. 0D4008FC MOVS R3, #0x90
  1592. 0D4008FE LSLS R1, R1, #7
  1593. 0D400900 ADDS R0, R0, R2
  1594. 0D400902 LSLS R3, R3, #0xB
  1595. 0D400904 MOVS R2, #0x80
  1596. 0D400906 ADDS R1, R1, R3
  1597. 0D400908 LSLS R2, R2, #4
  1598. 0D40090A BL calc_ecc
  1599. 0D40090A
  1600. 0D40090E CMP R0, #0
  1601. 0D400910 BNE loc_D400914
  1602. 0D400910
  1603. 0D400912 B loc_D400792
  1604. 0D400912
  1605. 0D400914
  1606. 0D400914 loc_D400914
  1607. 0D400914 boot1_main+398j ...
  1608. 0D400914 SUBS R4, R0, #0
  1609. 0D400916 BGE loc_D40091A
  1610. 0D400916
  1611. 0D400918 B loc_D4005B6
  1612. 0D400918
  1613. 0D40091A
  1614. 0D40091A loc_D40091A
  1615. 0D40091A boot1_main+8CAj
  1616. 0D40091A LDR R3, [SP,#0x2C8+var_8C]
  1617. 0D40091C LDR R4, =byte_7FF
  1618. 0D40091E MOVS R0, #0xA0
  1619. 0D400920 ANDS R3, R4
  1620. 0D400922 LSLS R0, R0, #0xA
  1621. 0D400924 ADDS R0, R3, R0
  1622. 0D400926 STR R0, [SP,#0x2C8+var_2A8]
  1623. 0D400928 LDR R1, [SP,#0x2C8+var_2BC]
  1624. 0D40092A ADD R0, SP, #0x2C8+var_A0
  1625. 0D40092C LDR R2, [SP,#0x2C8+var_2A8]
  1626. 0D40092E BL sub_D400098
  1627. 0D40092E
  1628. 0D400932 LDR R2, [SP,#0x2C8+var_26C]
  1629. 0D400934 MOVS R3, #0
  1630. 0D400936 LDR R1, [SP,#0x2C8+var_8C]
  1631. 0D400938 STR R2, [SP,#0x2C8+var_278]
  1632. 0D40093A STR R3, [SP,#0x2C8+var_27C]
  1633. 0D40093C ADDS R2, #0xF
  1634. 0D40093E MOVS R3, #0xF
  1635. 0D400940 BICS R2, R3
  1636. 0D400942 ADDS R3, R2, R1
  1637. 0D400944 ADDS R3, R3, R4
  1638. 0D400946 LSRS R3, R3, #0xB
  1639. 0D400948 STR R2, [SP,#0x2C8+var_2A4]
  1640. 0D40094A MOVS R2, R3
  1641. 0D40094C ADDS R2, #0x3F
  1642. 0D40094E LSRS R2, R2, #6
  1643. 0D400950 MOVS R0, #0x80
  1644. 0D400952 STR R2, [SP,#0x2C8+var_280]
  1645. 0D400954 LSRS R5, R1, #0xB
  1646. 0D400956 MOVS R2, #0x3F
  1647. 0D400958 MOV R6, R8
  1648. 0D40095A LSLS R0, R0, #4
  1649. 0D40095C STR R5, [SP,#0x2C8+var_290]
  1650. 0D40095E ANDS R2, R3
  1651. 0D400960 STR R2, [SP,#0x2C8+var_298]
  1652. 0D400962 BNE loc_D400968
  1653. 0D400962
  1654. 0D400964 MOVS R3, #0x40
  1655. 0D400966 STR R3, [SP,#0x2C8+var_298]
  1656. 0D400966
  1657. 0D400968
  1658. 0D400968 loc_D400968
  1659. 0D400968 LDR R2, [SP,#0x2C8+var_2A4]
  1660. 0D40096A ANDS R1, R4
  1661. 0D40096C SUBS R5, R0, R1
  1662. 0D40096E ADDS R3, R2, R1
  1663. 0D400970 STR R5, [SP,#0x2C8+var_29C]
  1664. 0D400972 MOVS R5, R3
  1665. 0D400974 STR R1, [SP,#0x2C8+var_288]
  1666. 0D400976 ANDS R5, R4
  1667. 0D400978 STR R5, [SP,#0x2C8+var_2A0]
  1668. 0D40097A BNE loc_D40097E
  1669. 0D40097A
  1670. 0D40097C STR R0, [SP,#0x2C8+var_2A0]
  1671. 0D40097C
  1672. 0D40097E
  1673. 0D40097E loc_D40097E
  1674. 0D40097E LDR R0, [SP,#0x2C8+var_2A4]
  1675. 0D400980 LDR R1, [SP,#0x2C8+var_288]
  1676. 0D400982 LDR R2, =0x2887F
  1677. 0D400984 ADDS R3, R0, R1
  1678. 0D400986 ADDS R2, R3, R2
  1679. 0D400988 MOVS R3, #0x7F
  1680. 0D40098A BICS R2, R3
  1681. 0D40098C ADDS R3, #0x81
  1682. 0D40098E STR R2, [SP,#0x2C8+var_28C]
  1683. 0D400990 ADDS R2, R2, R3
  1684. 0D400992 LDR R3, =0x7FFFF
  1685. 0D400994 CMP R2, R3
  1686. 0D400996 BHI loc_D400A08
  1687. 0D400996
  1688. 0D400998 MOV R4, R11
  1689. 0D40099A CMP R4, #1
  1690. 0D40099C BEQ loc_D400A02
  1691. 0D40099C
  1692. 0D40099E MOVS R0, #1
  1693. 0D4009A0 NEGS R0, R0 R0 = 0xFFFFFFFF
  1694. 0D4009A2 STR R0, [SP,#0x2C8+var_284]
  1695. 0D4009A2
  1696. 0D4009A4
  1697. 0D4009A4 loc_D4009A4
  1698. 0D4009A4 LDR R2, [SP,#0x2C8+var_280]
  1699. 0D4009A6 MOVS R1, #0
  1700. 0D4009A8 MOV R8, R1
  1701. 0D4009AA CMP R2, #0
  1702. 0D4009AC BHI loc_D4009B0
  1703. 0D4009AC
  1704. 0D4009AE B loc_D400B00
  1705. 0D4009AE
  1706. 0D4009B0
  1707. 0D4009B0 loc_D4009B0
  1708. 0D4009B0 boot1_main+66Aj
  1709. 0D4009B0 LDR R3, [SP,#0x2C8+var_68]
  1710. 0D4009B2 CMP R3, #1
  1711. 0D4009B4 BLS loc_D400A60
  1712. 0D4009B4
  1713. 0D4009B6 SUBS R2, R6, #1
  1714. 0D4009B8 CMP R2, #6
  1715. 0D4009BA BHI loc_D400A08
  1716. 0D4009BA
  1717. 0D4009BC ADD R4, SP, #0x2C8+var_70
  1718. 0D4009BE ADDS R3, R6, R4
  1719. 0D4009BE
  1720. 0D4009C0
  1721. 0D4009C0 loc_D4009C0
  1722. 0D4009C0 LDRB R3, [R3,#0xC]
  1723. 0D4009C2 CMP R3, #1
  1724. 0D4009C4 BNE loc_D400A62
  1725. 0D4009C4
  1726. 0D4009C6 LDR R5, [SP,#0x2C8+var_284]
  1727. 0D4009C8 ADDS R6, R6, R5
  1728. 0D4009CA SUBS R2, R6, #1
  1729. 0D4009CC CMP R2, #6
  1730. 0D4009CE BHI loc_D400A08
  1731. 0D4009CE
  1732. 0D4009D0 ADD R0, SP, #0x2C8+var_70
  1733. 0D4009D2 ADDS R3, R6, R0
  1734. 0D4009D4 B loc_D4009C0
  1735. 0D4009D4
  1736. 0D4009D6
  1737. 0D4009D6 loc_D4009D6
  1738. 0D4009D6 MOV R0, R11
  1739. 0D4009D8 CMP R0, #2
  1740. 0D4009DA BLS loc_D4009DE
  1741. 0D4009DA
  1742. 0D4009DC B loc_D4005C2
  1743. 0D4009DC
  1744. 0D4009DE
  1745. 0D4009DE loc_D4009DE
  1746. 0D4009DE MOVS R3, #1
  1747. 0D4009E0 STR R3, [R4,#0xC]
  1748. 0D4009E2 MOVS R0, #0x22
  1749. 0D4009E4 BL boot1_debug_output output 22h
  1750. 0D4009E4
  1751. 0D4009E8 LDR R0, [R4]
  1752. 0D4009EA MOVS R3, #0x2A4
  1753. 0D4009EE ADDS R0, R0, R4
  1754. 0D4009F0 ADD SP, R3
  1755. 0D4009F2 POP {R3-R6}
  1756. 0D4009F4 MOV R8, R3
  1757. 0D4009F6 MOV R9, R4
  1758. 0D4009F8 MOV R10, R5
  1759. 0D4009FA MOV R11, R6
  1760. 0D4009FC POP {R4-R7}
  1761. 0D4009FE POP {R1}
  1762. 0D400A00 BX R1
  1763. 0D400A00
  1764. 0D400A02
  1765. 0D400A02 loc_D400A02
  1766. 0D400A02 MOVS R5, #1
  1767. 0D400A04 STR R5, [SP,#0x2C8+var_284]
  1768. 0D400A06 B loc_D4009A4
  1769. 0D400A06
  1770. 0D400A08
  1771. 0D400A08 loc_D400A08
  1772. 0D400A08 boot1_main+526j ...
  1773. 0D400A08 MOVS R4, #6
  1774. 0D400A0A B loc_D4006D8
  1775. 0D400A0A
  1776. 0D400A0C
  1777. 0D400A0C loc_D400A0C
  1778. 0D400A0C SUBS R2, R4, #1
  1779. 0D400A0E B loc_D4005A4
  1780. 0D400A0E
  1781. 0D400A10
  1782. 0D400A10 loc_D400A10
  1783. 0D400A10 ADD R4, R10
  1784. 0D400A12 B loc_D40071A
  1785. 0D400A12
  1786. 0D400A14 off_D400A14 DCD NAND_CTR
  1787. 0D400A14 NAND Control and Status
  1788. 0D400A18 off_D400A18 DCD aRoot_4
  1789. 0D400A18 "Root"
  1790. 0D400A1C
  1791. 0D400A1C Key_Exponent DCD BOOT1_root_exponent DATA XREF: boot1_main+326r
  1792. 0D400A20
  1793. 0D400A20 Key_Type DCD BOOT1_root_key
  1794. 0D400A24 dword_D400A24 DCD 0x28284
  1795. 0D400A28 off_D400A28 DCD aCa_0
  1796. 0D400A28 "CA"
  1797. 0D400A2C off_D400A2C DCD asc_D4040A0
  1798. 0D400A2C "-"
  1799. 0D400A30 dword_D400A30 DCD 0x282C8
  1800. 0D400A34 dword_D400A34 DCD 0x283C8
  1801. 0D400A38 dword_D400A38 DCD 0x28584
  1802. 0D400A3C off_D400A3C DCD aCp_0
  1803. 0D400A3C "CP"
  1804. 0D400A40 dword_D400A40 DCD 0x286C8
  1805. 0D400A44 dword_D400A44 DCD 0x285C8
  1806. 0D400A48 dword_D400A48 DCD 0x28700
  1807. 0D400A4C dword_D400A4C DCD 0x28884
  1808. 0D400A50 off_D400A50 DCD aXs_0
  1809. 0D400A50 "XS"
  1810. 0D400A54 off_D400A54 DCD byte_7FF
  1811. 0D400A58 dword_D400A58 DCD 0x2887F
  1812. 0D400A5C dword_D400A5C DCD 0x7FFFF
  1813. 0D400A60
  1814. 0D400A60 loc_D400A60
  1815. 0D400A60 SUBS R2, R6, #1
  1816. 0D400A60
  1817. 0D400A62
  1818. 0D400A62 loc_D400A62
  1819. 0D400A62 CMP R2, #6
  1820. 0D400A64 BHI loc_D400A08
  1821. 0D400A64
  1822. 0D400A66 MOV R1, R8
  1823. 0D400A68 CMP R1, #0
  1824. 0D400A6A BEQ loc_D400A6E
  1825. 0D400A6A
  1826. 0D400A6C B loc_D400D8E
  1827. 0D400A6C
  1828. 0D400A6E
  1829. 0D400A6E loc_D400A6E
  1830. 0D400A6E LDR R2, [SP,#0x2C8+var_290]
  1831. 0D400A70 MOV R10, R2
  1832. 0D400A70
  1833. 0D400A72
  1834. 0D400A72 loc_D400A72
  1835. 0D400A72 MOVS R4, #0x40
  1836. 0D400A74 MOV R5, R10
  1837. 0D400A76 STR R4, [SP,#0x2C8+var_294]
  1838. 0D400A78 CMP R5, #0x42
  1839. 0D400A7A BCC loc_D400A7E
  1840. 0D400A7A
  1841. 0D400A7C B loc_D400D8A
  1842. 0D400A7C
  1843. 0D400A7E
  1844. 0D400A7E loc_D400A7E
  1845. 0D400A7E MOV R1, R8
  1846. 0D400A80 LSLS R0, R6, #6
  1847. 0D400A82 LSLS R1, R1, #6
  1848. 0D400A84 STR R0, [SP,#0x2C8+var_2B4]
  1849. 0D400A86 STR R1, [SP,#0x2C8+var_2B8]
  1850. 0D400A86
  1851. 0D400A88
  1852. 0D400A88 loc_D400A88
  1853. 0D400A88 CMP R5, #2
  1854. 0D400A8A BNE loc_D400A8E
  1855. 0D400A8A
  1856. 0D400A8C B loc_D400D7A
  1857. 0D400A8C
  1858. 0D400A8E
  1859. 0D400A8E loc_D400A8E
  1860. 0D400A8E boot1_main+8EEj ...
  1861. 0D400A8E LDR R3, [SP,#0x2C8+var_2B4]
  1862. 0D400A90 LDR R0, [SP,#0x2C8+var_2B8]
  1863. 0D400A92 LDR R1, [SP,#0x2C8+var_290]
  1864. 0D400A94 ADDS R4, R3, R5
  1865. 0D400A96 LDR R2, =NAND_CTR NAND Control and Status
  1866. 0D400A98 ADDS R3, R0, R5
  1867. 0D400A9A SUBS R7, R3, R1
  1868. 0D400A9A
  1869. 0D400A9C
  1870. 0D400A9C loc_D400A9C
  1871. 0D400A9C LDR R3, [R2]
  1872. 0D400A9E CMP R3, #0
  1873. 0D400AA0 BLT loc_D400A9C
  1874. 0D400AA0
  1875. 0D400AA2 MOVS R0, #3
  1876. 0D400AA4 BL call_ahbMemFlush
  1877. 0D400AA4
  1878. 0D400AA8 MOVS R0, #0
  1879. 0D400AAA BL call_ahbMemFlush2
  1880. 0D400AAA
  1881. 0D400AAE LDR R2, [SP,#0x2C8+var_294]
  1882. 0D400AB0 CMP R5, R2
  1883. 0D400AB2 BCS loc_D400AB6
  1884. 0D400AB2
  1885. 0D400AB4 B loc_D400D60
  1886. 0D400AB4
  1887. 0D400AB6
  1888. 0D400AB6 loc_D400AB6
  1889. 0D400AB6 boot1_main+8E4j
  1890. 0D400AB6 CMP R5, #1
  1891. 0D400AB8 BHI loc_D400B20
  1892. 0D400AB8
  1893. 0D400ABA LDR R2, =NAND_CTR NAND Control and Status
  1894. 0D400ABA
  1895. 0D400ABC
  1896. 0D400ABC loc_D400ABC
  1897. 0D400ABC LDR R3, [R2]
  1898. 0D400ABE CMP R3, #0
  1899. 0D400AC0 BLT loc_D400ABC
  1900. 0D400AC0
  1901. 0D400AC2 MOVS R0, #3
  1902. 0D400AC4 BL call_ahbMemFlush
  1903. 0D400AC4
  1904. 0D400AC8 MOVS R0, #0
  1905. 0D400ACA BL call_ahbMemFlush2
  1906. 0D400ACA
  1907. 0D400ACE MOVS R3, #1
  1908. 0D400AD0 ANDS R3, R5
  1909. 0D400AD2 LDR R0, [SP,#0x2C8+var_28C]
  1910. 0D400AD4 LSLS R3, R3, #7
  1911. 0D400AD6 LDRB R3, [R3,R0]
  1912. 0D400AD8 CMP R3, #0xFF
  1913. 0D400ADA BEQ loc_D400ADE
  1914. 0D400ADA
  1915. 0D400ADC B loc_D400D10
  1916. 0D400ADC
  1917. 0D400ADE
  1918. 0D400ADE loc_D400ADE
  1919. 0D400ADE CMP R5, #0
  1920. 0D400AE0 BNE loc_D400B20
  1921. 0D400AE0
  1922. 0D400AE2
  1923. 0D400AE2 loc_D400AE2
  1924. 0D400AE2 boot1_main+6F0j
  1925. 0D400AE2 LDR R3, [SP,#0x2C8+var_294]
  1926. 0D400AE4 ADDS R5, #1
  1927. 0D400AE6 ADDS R3, #2
  1928. 0D400AE8 CMP R3, R5
  1929. 0D400AEA BHI loc_D400A88
  1930. 0D400AEA
  1931. 0D400AEC
  1932. 0D400AEC loc_D400AEC
  1933. 0D400AEC boot1_main+8F8j
  1934. 0D400AEC CMP R3, R5
  1935. 0D400AEE BNE loc_D400AF4
  1936. 0D400AEE
  1937. 0D400AF0 MOVS R2, #1
  1938. 0D400AF2 ADD R8, R2
  1939. 0D400AF2
  1940. 0D400AF4
  1941. 0D400AF4 loc_D400AF4
  1942. 0D400AF4 LDR R3, [SP,#0x2C8+var_284]
  1943. 0D400AF6 LDR R4, [SP,#0x2C8+var_280]
  1944. 0D400AF8 ADDS R6, R6, R3
  1945. 0D400AFA CMP R8, R4
  1946. 0D400AFC BCS loc_D400B00
  1947. 0D400AFC
  1948. 0D400AFE B loc_D4009B0
  1949. 0D400AFE
  1950. 0D400B00
  1951. 0D400B00 loc_D400B00
  1952. 0D400B00 boot1_main+668j
  1953. 0D400B00 ADD R4, SP, #0x2C8+var_260
  1954. 0D400B02 MOVS R0, #0
  1955. 0D400B04 MOVS R1, #0
  1956. 0D400B04
  1957. 0D400B06
  1958. 0D400B06 loc_D400B06
  1959. 0D400B06 MOVS R3, #0x194
  1960. 0D400B0A ADDS R3, R3, R1
  1961. 0D400B0C MOV R5, SP
  1962. 0D400B0E LDR R2, [R3,R5]
  1963. 0D400B10 LDR R3, [R1,R4]
  1964. 0D400B12 CMP R2, R3
  1965. 0D400B14 BNE loc_D400BB0
  1966. 0D400B14
  1967. 0D400B16 ADDS R0, #1
  1968. 0D400B18 ADDS R1, #4
  1969. 0D400B1A CMP R0, #4
  1970. 0D400B1C BLS loc_D400B06
  1971. 0D400B1C
  1972. 0D400B1E B loc_D400B86
  1973. 0D400B1E
  1974. 0D400B20
  1975. 0D400B20 loc_D400B20
  1976. 0D400B20 boot1_main+64Cj
  1977. 0D400B20 LDR R2, =AES_CTRL
  1978. 0D400B20
  1979. 0D400B22
  1980. 0D400B22 loc_D400B22
  1981. 0D400B22 LDR R3, [R2]
  1982. 0D400B24 CMP R3, #0
  1983. 0D400B26 BLT loc_D400B22
  1984. 0D400B26
  1985. 0D400B28 MOVS R0, #4
  1986. 0D400B2A BL call_ahbMemFlush
  1987. 0D400B2A
  1988. 0D400B2E MOVS R0, #0
  1989. 0D400B30 BL call_ahbMemFlush2
  1990. 0D400B30
  1991. 0D400B34 CMP R5, R10
  1992. 0D400B36 BLS loc_D400B40
  1993. 0D400B36
  1994. 0D400B38 LDR R3, [SP,#0x2C8+var_294]
  1995. 0D400B3A ADDS R3, #1
  1996. 0D400B3C CMP R3, R5
  1997. 0D400B3E BHI loc_D400BB4
  1998. 0D400B3E
  1999. 0D400B40
  2000. 0D400B40 loc_D400B40
  2001. 0D400B40 MOV R1, R10
  2002. 0D400B42 ADDS R1, #1
  2003. 0D400B42
  2004. 0D400B44
  2005. 0D400B44 loc_D400B44
  2006. 0D400B44 LDR R2, =SHA_CTRL
  2007. 0D400B44
  2008. 0D400B46
  2009. 0D400B46 loc_D400B46
  2010. 0D400B46 LDR R3, [R2]
  2011. 0D400B48 CMP R3, #0
  2012. 0D400B4A BLT loc_D400B46
  2013. 0D400B4A
  2014. 0D400B4C CMP R1, R5
  2015. 0D400B4E BCS loc_D400AE2
  2016. 0D400B4E
  2017. 0D400B50 MOV R2, R8
  2018. 0D400B52 CMP R2, #0
  2019. 0D400B54 BNE loc_D400B5E
  2020. 0D400B54
  2021. 0D400B56 LDR R3, [SP,#0x2C8+var_290]
  2022. 0D400B58 ADDS R3, #2
  2023. 0D400B5A CMP R3, R5
  2024. 0D400B5C BEQ loc_D400C1A
  2025. 0D400B5C
  2026. 0D400B5E
  2027. 0D400B5E loc_D400B5E
  2028. 0D400B5E LDR R3, [SP,#0x2C8+var_280]
  2029. 0D400B60 SUBS R3, #1
  2030. 0D400B62 CMP R3, R8
  2031. 0D400B64 BEQ loc_D400B92
  2032. 0D400B64
  2033. 0D400B66
  2034. 0D400B66 loc_D400B66
  2035. 0D400B66 MOVS R1, #0x27000
  2036. 0D400B6A LSLS R3, R7, #0xB
  2037. 0D400B6C MOVS R4, #0x80
  2038. 0D400B6E ADDS R2, R3, R1
  2039. 0D400B70 LSLS R4, R4, #4
  2040. 0D400B72 MOVS R1, #2
  2041. 0D400B72
  2042. 0D400B74
  2043. 0D400B74 loc_D400B74
  2044. 0D400B74 boot1_main+792j
  2045. 0D400B74 ADD R3, SP, #0x2C8+var_260
  2046. 0D400B76 STR R3, [SP,#0x2C8+R5]
  2047. 0D400B78 ADD R0, SP, #0x2C8+var_270
  2048. 0D400B7A MOVS R3, R4
  2049. 0D400B7C BL sha1
  2050. 0D400B7C
  2051. 0D400B80 CMP R0, #0
  2052. 0D400B82 STR R0, [SP,#0x2C8+var_27C]
  2053. 0D400B84 BGE loc_D400AE2
  2054. 0D400B84
  2055. 0D400B86
  2056. 0D400B86 loc_D400B86
  2057. 0D400B86 boot1_main+740j
  2058. 0D400B86 LDR R4, [SP,#0x2C8+var_27C]
  2059. 0D400B88 CMP R4, #0
  2060. 0D400B8A BGE loc_D400B8E
  2061. 0D400B8A
  2062. 0D400B8C B loc_D4005B6
  2063. 0D400B8C
  2064. 0D400B8E
  2065. 0D400B8E loc_D400B8E
  2066. 0D400B8E LDR R4, [SP,#0x2C8+var_2A8]
  2067. 0D400B90 B loc_D4005B0
  2068. 0D400B90
  2069. 0D400B92
  2070. 0D400B92 loc_D400B92
  2071. 0D400B92 LDR R3, [SP,#0x2C8+var_294]
  2072. 0D400B94 ADDS R3, #1
  2073. 0D400B96 CMP R3, R5
  2074. 0D400B98 BNE loc_D400B66
  2075. 0D400B98
  2076. 0D400B9A MOVS R0, #0x9C
  2077. 0D400B9C LSLS R3, R7, #0xB
  2078. 0D400B9E LSLS R0, R0, #0xA
  2079. 0D400BA0 LDR R1, [SP,#0x2C8+var_2A0]
  2080. 0D400BA2 LDR R4, [SP,#0x2C8+var_278]
  2081. 0D400BA4 ADDS R2, R3, R0
  2082. 0D400BA6 LDR R0, [SP,#0x2C8+var_2A4]
  2083. 0D400BA8 ADDS R3, R1, R4
  2084. 0D400BAA SUBS R4, R3, R0
  2085. 0D400BAC MOVS R1, #3
  2086. 0D400BAE B loc_D400B74
  2087. 0D400BAE
  2088. 0D400BB0
  2089. 0D400BB0 loc_D400BB0
  2090. 0D400BB0 MOVS R4, #7
  2091. 0D400BB2 B loc_D4006D8
  2092. 0D400BB2
  2093. 0D400BB4
  2094. 0D400BB4 loc_D400BB4
  2095. 0D400BB4 MOVS R3, #1
  2096. 0D400BB6 SUBS R1, R5, #1
  2097. 0D400BB8 MOVS R2, #0x9E
  2098. 0D400BBA ANDS R1, R3
  2099. 0D400BBC LSLS R2, R2, #0xA
  2100. 0D400BBE LSLS R0, R7, #0xB
  2101. 0D400BC0 LDR R3, [SP,#0x2C8+var_28C]
  2102. 0D400BC2 LSLS R1, R1, #7
  2103. 0D400BC4 ADDS R0, R0, R2
  2104. 0D400BC6 MOVS R2, #0x80
  2105. 0D400BC8 ADDS R1, R1, R3
  2106. 0D400BCA LSLS R2, R2, #4
  2107. 0D400BCC BL calc_ecc
  2108. 0D400BCC
  2109. 0D400BD0 CMP R0, #0
  2110. 0D400BD2 STR R0, [SP,#0x2C8+var_27C]
  2111. 0D400BD4 BLT loc_D400B86
  2112. 0D400BD4
  2113. 0D400BD6 MOV R4, R8
  2114. 0D400BD8 CMP R4, #0
  2115. 0D400BDA BNE loc_D400BE4
  2116. 0D400BDA
  2117. 0D400BDC LDR R3, [SP,#0x2C8+var_290]
  2118. 0D400BDE ADDS R3, #1
  2119. 0D400BE0 CMP R3, R5
  2120. 0D400BE2 BEQ loc_D400C28
  2121. 0D400BE2
  2122. 0D400BE4
  2123. 0D400BE4 loc_D400BE4
  2124. 0D400BE4 LDR R3, [SP,#0x2C8+var_280]
  2125. 0D400BE6 SUBS R3, #1
  2126. 0D400BE8 CMP R3, R8
  2127. 0D400BEA BEQ loc_D400C38
  2128. 0D400BEA
  2129. 0D400BEC
  2130. 0D400BEC loc_D400BEC
  2131. 0D400BEC MOVS R4, #0x800
  2132. 0D400BEC
  2133. 0D400BF0
  2134. 0D400BF0 loc_D400BF0
  2135. 0D400BF0 boot1_main+7ACj
  2136. 0D400BF0 MOVS R0, #1
  2137. 0D400BF2 BL call_ahbMemFlush
  2138. 0D400BF2
  2139. 0D400BF6 MOVS R0, #4
  2140. 0D400BF8 BL call_ahbMemFlush2
  2141. 0D400BF8
  2142. 0D400BFC MOVS R3, R4
  2143. 0D400BFE SUBS R3, #0x10
  2144. 0D400C00 MOV R1, R8
  2145. 0D400C02 LSRS R3, R3, #4
  2146. 0D400C04 CMP R1, #0
  2147. 0D400C06 BNE loc_D400C32
  2148. 0D400C06
  2149. 0D400C08 MOV R1, R10
  2150. 0D400C0A ADDS R1, #1
  2151. 0D400C0C CMP R1, R5
  2152. 0D400C0E BEQ loc_D400C2C
  2153. 0D400C0E
  2154. 0D400C10
  2155. 0D400C10 loc_D400C10
  2156. 0D400C10 LDR R2, =0x98001000
  2157. 0D400C10
  2158. 0D400C12
  2159. 0D400C12 loc_D400C12
  2160. 0D400C12 ORRS R2, R3
  2161. 0D400C14 LDR R3, =AES_CTRL
  2162. 0D400C16 STR R2, [R3]
  2163. 0D400C18 B loc_D400B44
  2164. 0D400C18
  2165. 0D400C1A
  2166. 0D400C1A loc_D400C1A
  2167. 0D400C1A LDR R3, [SP,#0x2C8+var_288]
  2168. 0D400C1C MOVS R4, #0x28000
  2169. 0D400C20 ADDS R2, R3, R4
  2170. 0D400C22 LDR R4, [SP,#0x2C8+var_29C]
  2171. 0D400C24 MOVS R1, #1
  2172. 0D400C26 B loc_D400B74
  2173. 0D400C26
  2174. 0D400C28
  2175. 0D400C28 loc_D400C28
  2176. 0D400C28 LDR R4, [SP,#0x2C8+var_29C]
  2177. 0D400C2A B loc_D400BF0
  2178. 0D400C2A
  2179. 0D400C2C
  2180. 0D400C2C loc_D400C2C
  2181. 0D400C2C MOVS R2, #0x98000000
  2182. 0D400C30 B loc_D400C12
  2183. 0D400C30
  2184. 0D400C32
  2185. 0D400C32 loc_D400C32
  2186. 0D400C32 MOV R1, R10
  2187. 0D400C34 ADDS R1, #1
  2188. 0D400C36 B loc_D400C10
  2189. 0D400C36
  2190. 0D400C38
  2191. 0D400C38 loc_D400C38
  2192. 0D400C38 LDR R0, [SP,#0x2C8+var_294]
  2193. 0D400C3A CMP R5, R0
  2194. 0D400C3C BNE loc_D400BEC
  2195. 0D400C3C
  2196. 0D400C3E LDR R4, [SP,#0x2C8+var_2A0]
  2197. 0D400C40 B loc_D400BF0
  2198. 0D400C40
  2199. 0D400C42
  2200. 0D400C42 loc_D400C42
  2201. 0D400C42 LDR R3, [SP,#0x2C8+var_90]
  2202. 0D400C44 MOVS R0, #0xA0
  2203. 0D400C46 LDR R2, [SP,#0x2C8+var_88]
  2204. 0D400C48 LSLS R0, R0, #0xA
  2205. 0D400C4A ADDS R3, R3, R0
  2206. 0D400C4C ADDS R7, R3, R2
  2207. 0D400C4E MOV R1, R10
  2208. 0D400C50 MOVS R2, #0x40
  2209. 0D400C52 ADD R0, SP, #0x2C8+Needle
  2210. 0D400C54 BL memcpy_maybe
  2211. 0D400C54
  2212. 0D400C58 MOVS R1, R4
  2213. 0D400C5A MOVS R2, #0x40
  2214. 0D400C5C ADD R0, SP, #0x2C8+Needle
  2215. 0D400C5E BL memcpy_maybe
  2216. 0D400C5E
  2217. 0D400C62 MOVS R3, #4
  2218. 0D400C64 STR R3, [SP,#0x2C8+R5] R5
  2219. 0D400C66 MOVS R3, #0x2A4
  2220. 0D400C6A STR R3, [SP,#0x2C8+Length]
  2221. 0D400C6C LDR R4, =0x289C8
  2222. 0D400C6E LDR R3, =0x288C8
  2223. 0D400C70 MOVS R0, R7 Source
  2224. 0D400C72 ADDS R2, R5, R3
  2225. 0D400C74 ADD R1, SP, #0x2C8+Needle Needle
  2226. 0D400C76 ADDS R3, R5, R4
  2227. 0D400C78 BL verify_certificate
  2228. 0D400C78
  2229. 0D400C7C CMP R0, #0
  2230. 0D400C7E BEQ loc_D400C82
  2231. 0D400C7E
  2232. 0D400C80 B loc_D400914
  2233. 0D400C80
  2234. 0D400C82
  2235. 0D400C82 loc_D400C82
  2236. 0D400C82 ADD R4, SP, #0x2C8+var_24C
  2237. 0D400C84 LDR R1, =Common_Key
  2238. 0D400C86 MOVS R2, #0x10
  2239. 0D400C88 LDR R5, =byte_1BF
  2240. 0D400C8A MOVS R0, R4
  2241. 0D400C8C BL memcpy
  2242. 0D400C8C
  2243. 0D400C90 MOVS R0, #0xB0
  2244. 0D400C92 ADDS R1, R7, R5
  2245. 0D400C94 MOVS R2, #0x10
  2246. 0D400C96 LSLS R0, R0, #0xC
  2247. 0D400C98 BL memcpy
  2248. 0D400C98
  2249. 0D400C9C MOVS R1, #0
  2250. 0D400C9E MOVS R2, #0x10
  2251. 0D400CA0 LDR R0, [SP,#0x2C8+var_2C0]
  2252. 0D400CA2 BL memcmp_0
  2253. 0D400CA2
  2254. 0D400CA6 MOVS R0, #0x18C
  2255. 0D400CAA ADDS R5, R6, R0
  2256. 0D400CAC MOVS R1, R5
  2257. 0D400CAE MOVS R2, #8
  2258. 0D400CB0 LDR R0, [SP,#0x2C8+var_2C0]
  2259. 0D400CB2 BL memcpy
  2260. 0D400CB2
  2261. 0D400CB6 MOVS R2, #0xB0000
  2262. 0D400CBA LDR R1, [SP,#0x2C8+var_2C0]
  2263. 0D400CBC MOVS R0, R4
  2264. 0D400CBE BL sub_D400098
  2265. 0D400CBE
  2266. 0D400CC2 MOVS R0, #1
  2267. 0D400CC4 BL call_ahbMemFlush
  2268. 0D400CC4
  2269. 0D400CC8 MOVS R0, #4
  2270. 0D400CCA BL call_ahbMemFlush2
  2271. 0D400CCA
  2272. 0D400CCE LDR R2, =AES_CTRL
  2273. 0D400CD0 MOVS R3, #0x98000000
  2274. 0D400CD4 STR R3, [R2]
  2275. 0D400CD4
  2276. 0D400CD6
  2277. 0D400CD6 loc_D400CD6
  2278. 0D400CD6 LDR R3, [R2]
  2279. 0D400CD8 CMP R3, #0
  2280. 0D400CDA BLT loc_D400CD6
  2281. 0D400CDA
  2282. 0D400CDC MOVS R0, #4
  2283. 0D400CDE BL call_ahbMemFlush
  2284. 0D400CDE
  2285. 0D400CE2 MOVS R0, #0
  2286. 0D400CE4 BL call_ahbMemFlush2
  2287. 0D400CE4
  2288. 0D400CE8 MOVS R1, #0xB0000
  2289. 0D400CEC MOVS R2, #0x10
  2290. 0D400CEE ADD R0, SP, #0x2C8+var_A0
  2291. 0D400CF0 BL memcpy
  2292. 0D400CF0
  2293. 0D400CF4 MOVS R0, #0xB0
  2294. 0D400CF6 MOVS R1, #0
  2295. 0D400CF8 MOVS R2, #0x10
  2296. 0D400CFA LSLS R0, R0, #0xC
  2297. 0D400CFC BL memcmp_0
  2298. 0D400CFC
  2299. 0D400D00 LDR R1, [R5]
  2300. 0D400D02 LDR R2, [R5,#4]
  2301. 0D400D04 CMP R1, #1
  2302. 0D400D06 BNE loc_D400D0C
  2303. 0D400D06
  2304. 0D400D08 CMP R2, #1
  2305. 0D400D0A BEQ loc_D400D16
  2306. 0D400D0A
  2307. 0D400D0C
  2308. 0D400D0C loc_D400D0C
  2309. 0D400D0C MOVS R4, #0xB
  2310. 0D400D0E B loc_D4006D8
  2311. 0D400D0E
  2312. 0D400D10
  2313. 0D400D10 loc_D400D10
  2314. 0D400D10 LDR R3, [SP,#0x2C8+var_294]
  2315. 0D400D12 ADDS R3, #2
  2316. 0D400D14 B loc_D400AEC
  2317. 0D400D14
  2318. 0D400D16
  2319. 0D400D16 loc_D400D16
  2320. 0D400D16 BL sub_D40130C
  2321. 0D400D16
  2322. 0D400D1A CMP R0, #0
  2323. 0D400D1C BLT loc_D400D2A
  2324. 0D400D1C
  2325. 0D400D1E MOVS R1, #0x184
  2326. 0D400D22 ADDS R3, R6, R1
  2327. 0D400D24 LDRB R3, [R3,#7]
  2328. 0D400D26 CMP R3, R0
  2329. 0D400D28 BGE loc_D400D2E
  2330. 0D400D28
  2331. 0D400D2A
  2332. 0D400D2A loc_D400D2A
  2333. 0D400D2A MOVS R4, #0xA
  2334. 0D400D2C B loc_D4006D8
  2335. 0D400D2C
  2336. 0D400D2E
  2337. 0D400D2E loc_D400D2E
  2338. 0D400D2E LDR R0, [SP,#0x2C8+var_2BC]
  2339. 0D400D30 MOVS R1, #0
  2340. 0D400D32 MOVS R2, #0x10
  2341. 0D400D34 BL memcmp_0
  2342. 0D400D34
  2343. 0D400D38 MOVS R2, #0x1E8
  2344. 0D400D3C MOVS R4, #0xF6
  2345. 0D400D3E ADDS R1, R6, R2
  2346. 0D400D40 LDR R0, [SP,#0x2C8+var_2BC]
  2347. 0D400D42 MOVS R2, #2
  2348. 0D400D44 LSLS R4, R4, #1
  2349. 0D400D46 BL memcpy
  2350. 0D400D46
  2351. 0D400D4A MOVS R5, #0xFA
  2352. 0D400D4C ADDS R3, R6, R4
  2353. 0D400D4E LDR R3, [R3,#4]
  2354. 0D400D50 LSLS R5, R5, #1
  2355. 0D400D52 ADD R0, SP, #0x2C8+var_134
  2356. 0D400D54 ADDS R1, R6, R5
  2357. 0D400D56 MOVS R2, #0x14
  2358. 0D400D58 STR R3, [SP,#0x2C8+var_26C]
  2359. 0D400D5A BL memcpy
  2360. 0D400D5A
  2361. 0D400D5E B loc_D40091A
  2362. 0D400D5E
  2363. 0D400D60
  2364. 0D400D60 loc_D400D60
  2365. 0D400D60 MOVS R2, #1
  2366. 0D400D62 ANDS R2, R5
  2367. 0D400D64 MOVS R0, R4
  2368. 0D400D66 MOVS R3, #0xA0
  2369. 0D400D68 LDR R4, [SP,#0x2C8+var_28C]
  2370. 0D400D6A LSLS R1, R7, #0xB
  2371. 0D400D6C LSLS R3, R3, #0xA
  2372. 0D400D6E LSLS R2, R2, #7
  2373. 0D400D70 ADDS R1, R1, R3
  2374. 0D400D72 ADDS R2, R2, R4
  2375. 0D400D74 BL read_nand_page int __stdcall read_nand_page(int pageno, void *data_addr, void *ecc_addr)
  2376. 0D400D74
  2377. 0D400D78 B loc_D400AB6
  2378. 0D400D78
  2379. 0D400D7A
  2380. 0D400D7A loc_D400D7A
  2381. 0D400D7A LDR R3, [SP,#0x2C8+var_280]
  2382. 0D400D7C SUBS R3, #1
  2383. 0D400D7E CMP R3, R8
  2384. 0D400D80 BEQ loc_D400D84
  2385. 0D400D80
  2386. 0D400D82 B loc_D400A8E
  2387. 0D400D82
  2388. 0D400D84
  2389. 0D400D84 loc_D400D84
  2390. 0D400D84 LDR R2, [SP,#0x2C8+var_298]
  2391. 0D400D86 STR R2, [SP,#0x2C8+var_294]
  2392. 0D400D88 B loc_D400A8E
  2393. 0D400D88
  2394. 0D400D8A
  2395. 0D400D8A loc_D400D8A
  2396. 0D400D8A MOVS R3, #0x42
  2397. 0D400D8C B loc_D400AEC
  2398. 0D400D8C
  2399. 0D400D8E
  2400. 0D400D8E loc_D400D8E
  2401. 0D400D8E MOVS R3, #0
  2402. 0D400D90 MOV R10, R3
  2403. 0D400D92 B loc_D400A72
  2404. 0D400D92
  2405. 0D400D92
  2406. 0D400D92
  2407. 0D400D94 off_D400D94 DCD NAND_CTR
  2408. 0D400D94 boot1_main+626r
  2409. 0D400D94 NAND Control and Status
  2410. 0D400D98 off_D400D98 DCD AES_CTRL
  2411. 0D400D98 boot1_main+780r ...
  2412. 0D400D9C off_D400D9C DCD SHA_CTRL
  2413. 0D400DA0 dword_D400DA0 DCD 0x98001000
  2414. 0D400DA4 dword_D400DA4 DCD 0x289C8
  2415. 0D400DA8 dword_D400DA8 DCD 0x288C8
  2416. 0D400DAC off_D400DAC DCD Common_Key
  2417. 0D400DB0 off_D400DB0 DCD byte_1BF
  2418. 0D400DB4
  2419. 0D400DB4
  2420. 0D400DB4
  2421. 0D400DB4
  2422. 0D400DB4 init_gpios
  2423. 0D400DB4 PUSH {LR}
  2424. 0D400DB6 BL gpio_stuff
  2425. 0D400DB6
  2426. 0D400DBA LDR R2, =LT_GPIO_INTMASK
  2427. 0D400DBC LDR R1, =(dword_FFFFC100+0x2FF)
  2428. 0D400DBE LDR R3, [R2]
  2429. 0D400DC0 ANDS R3, R1
  2430. 0D400DC2 STR R3, [R2]
  2431. 0D400DC4 SUBS R2, #0x14
  2432. 0D400DC6 LDR R3, [R2]
  2433. 0D400DC8 ANDS R3, R1
  2434. 0D400DCA STR R3, [R2]
  2435. 0D400DCC LDR R1, =LT_GPIO_DIR Boot1 sets this to 0xFFDF3E
  2436. 0D400DCE MOVS R3, #0xE0
  2437. 0D400DD0 LDR R2, [R1]
  2438. 0D400DD2 LSLS R3, R3, #5
  2439. 0D400DD4 ORRS R2, R3
  2440. 0D400DD6 STR R2, [R1]
  2441. 0D400DD8 SUBS R1, #8
  2442. 0D400DDA LDR R2, [R1]
  2443. 0D400DDC MOVS R3, #0x3C00
  2444. 0D400DE0 ORRS R2, R3
  2445. 0D400DE2 STR R2, [R1]
  2446. 0D400DE4 POP {R0}
  2447. 0D400DE6 BX R0
  2448. 0D400DE6
  2449. 0D400DE6
  2450. 0D400DE6
  2451. 0D400DE8 off_D400DE8 DCD LT_GPIO_INTMASK
  2452. 0D400DEC off_D400DEC DCD dword_FFFFC100+0x2FF DATA XREF: init_gpios+8r
  2453. 0D400DF0 off_D400DF0 DCD LT_GPIO_DIR
  2454. 0D400DF0 Boot1 sets this to 0xFFDF3E
  2455. 0D400DF4
  2456. 0D400DF4
  2457. 0D400DF4
  2458. 0D400DF4
  2459. 0D400DF4 set_C CODE XREF: clear_S+24p
  2460. 0D400DF4 seeprom1+34p ...
  2461. 0D400DF4 LDR R1, =LT_GPIO_OUT
  2462. 0D400DF6 MOVS R3, #0x80
  2463. 0D400DF8 LDR R2, [R1]
  2464. 0D400DFA LSLS R3, R3, #4
  2465. 0D400DFC ORRS R2, R3
  2466. 0D400DFE STR R2, [R1]
  2467. 0D400E00 BX LR
  2468. 0D400E00
  2469. 0D400E00
  2470. 0D400E00
  2471. 0D400E02 ALIGN 4
  2472. 0D400E04 off_D400E04 DCD LT_GPIO_OUT
  2473. 0D400E08
  2474. 0D400E08
  2475. 0D400E08
  2476. 0D400E08
  2477. 0D400E08 clear_C
  2478. 0D400E08 clear_S:loc_D400E7Ep ...
  2479. 0D400E08 LDR R3, =LT_GPIO_OUT
  2480. 0D400E0A LDR R1, =0xFFFFF7FF
  2481. 0D400E0C LDR R2, [R3]
  2482. 0D400E0E ANDS R2, R1
  2483. 0D400E10 STR R2, [R3]
  2484. 0D400E12 BX LR
  2485. 0D400E12
  2486. 0D400E12
  2487. 0D400E12
  2488. 0D400E14 off_D400E14 DCD LT_GPIO_OUT
  2489. 0D400E18 dword_D400E18 DCD 0xFFFFF7FF
  2490. 0D400E1C
  2491. 0D400E1C
  2492. 0D400E1C
  2493. 0D400E1C
  2494. 0D400E1C set_S CODE XREF: seeprom1+24p
  2495. 0D400E1C read_SEEPROM+18p
  2496. 0D400E1C LDR R1, =LT_GPIO_OUT
  2497. 0D400E1E MOVS R3, #0x80
  2498. 0D400E20 LDR R2, [R1]
  2499. 0D400E22 LSLS R3, R3, #3
  2500. 0D400E24 ORRS R2, R3
  2501. 0D400E26 STR R2, [R1]
  2502. 0D400E28 BX LR
  2503. 0D400E28
  2504. 0D400E28
  2505. 0D400E28
  2506. 0D400E2A ALIGN 4
  2507. 0D400E2C off_D400E2C DCD LT_GPIO_OUT
  2508. 0D400E30
  2509. 0D400E30
  2510. 0D400E30
  2511. 0D400E30
  2512. 0D400E30 clear_D
  2513. 0D400E30 seeprom1+2Ap
  2514. 0D400E30 LDR R1, =LT_GPIO_OUT
  2515. 0D400E32 LDR R2, =0xFFFFEFFF
  2516. 0D400E34 LDR R3, [R1]
  2517. 0D400E36 ANDS R2, R3
  2518. 0D400E38 MOVS R3, #1
  2519. 0D400E3A ANDS R3, R0
  2520. 0D400E3C LSLS R3, R3, #0xC
  2521. 0D400E3E ORRS R2, R3
  2522. 0D400E40 STR R2, [R1]
  2523. 0D400E42 BX LR
  2524. 0D400E42
  2525. 0D400E42
  2526. 0D400E42
  2527. 0D400E44 off_D400E44 DCD LT_GPIO_OUT
  2528. 0D400E48 dword_D400E48 DCD 0xFFFFEFFF
  2529. 0D400E4C
  2530. 0D400E4C
  2531. 0D400E4C
  2532. 0D400E4C
  2533. 0D400E4C clear_S
  2534. 0D400E4C seeprom_read+26p ...
  2535. 0D400E4C PUSH {R4-R6,LR}
  2536. 0D400E4E CMP R0, #0
  2537. 0D400E50 BEQ loc_D400E7E
  2538. 0D400E50
  2539. 0D400E52 LDR R5, =LT_GPIO_OUT
  2540. 0D400E54 LDR R6, =0xFFFFFBFF
  2541. 0D400E56 ADDS R4, R0, #0
  2542. 0D400E56
  2543. 0D400E58
  2544. 0D400E58 loc_D400E58
  2545. 0D400E58 BL clear_C
  2546. 0D400E58
  2547. 0D400E5C LDR R3, [R5]
  2548. 0D400E5E ANDS R3, R6
  2549. 0D400E60 STR R3, [R5]
  2550. 0D400E62 MOVS R0, #0
  2551. 0D400E64 BL clear_D
  2552. 0D400E64
  2553. 0D400E68 MOVS R0, #0x7D
  2554. 0D400E6A BL delay_1
  2555. 0D400E6A
  2556. 0D400E6E SUBS R4, #1
  2557. 0D400E70 BL set_C
  2558. 0D400E70
  2559. 0D400E74 MOVS R0, #0x7D
  2560. 0D400E76 BL delay_1
  2561. 0D400E76
  2562. 0D400E7A CMP R4, #0
  2563. 0D400E7C BNE loc_D400E58
  2564. 0D400E7C
  2565. 0D400E7E
  2566. 0D400E7E loc_D400E7E
  2567. 0D400E7E BL clear_C
  2568. 0D400E7E
  2569. 0D400E82 POP {R4-R6}
  2570. 0D400E84 POP {R0}
  2571. 0D400E86 BX R0
  2572. 0D400E86
  2573. 0D400E86
  2574. 0D400E86
  2575. 0D400E88 off_D400E88 DCD LT_GPIO_OUT
  2576. 0D400E8C dword_D400E8C DCD 0xFFFFFBFF
  2577. 0D400E90
  2578. 0D400E90
  2579. 0D400E90
  2580. 0D400E90
  2581. 0D400E90 seeprom1
  2582. 0D400E90 seeprom4+18p ...
  2583. 0D400E90 PUSH {R4-R7,LR}
  2584. 0D400E92 MOV R7, R8
  2585. 0D400E94 PUSH {R7}
  2586. 0D400E96 MOVS R3, #0
  2587. 0D400E98 SUBS R0, #1
  2588. 0D400E9A MOVS R6, R1
  2589. 0D400E9C MOV R8, R3
  2590. 0D400E9E CMP R0, #0x1F
  2591. 0D400EA0 BHI loc_D400EDE
  2592. 0D400EA0
  2593. 0D400EA2 MOVS R5, R0
  2594. 0D400EA4 ADDS R3, R0, #1
  2595. 0D400EA6 BEQ loc_D400ED2
  2596. 0D400EA6
  2597. 0D400EA8 MOVS R7, #1
  2598. 0D400EA8
  2599. 0D400EAA
  2600. 0D400EAA loc_D400EAA
  2601. 0D400EAA MOVS R4, R6
  2602. 0D400EAC LSRS R4, R5
  2603. 0D400EAE ANDS R4, R7
  2604. 0D400EB0 BL clear_C
  2605. 0D400EB0
  2606. 0D400EB4 BL set_S
  2607. 0D400EB4
  2608. 0D400EB8 MOVS R0, R4
  2609. 0D400EBA BL clear_D
  2610. 0D400EBA
  2611. 0D400EBE MOVS R0, #0x7D
  2612. 0D400EC0 BL delay_1
  2613. 0D400EC0
  2614. 0D400EC4 BL set_C
  2615. 0D400EC4
  2616. 0D400EC8 MOVS R0, #0x7D
  2617. 0D400ECA BL delay_1
  2618. 0D400ECA
  2619. 0D400ECE SUBS R5, #1
  2620. 0D400ED0 BCS loc_D400EAA
  2621. 0D400ED0
  2622. 0D400ED2
  2623. 0D400ED2 loc_D400ED2
  2624. 0D400ED2 seeprom1+54j
  2625. 0D400ED2 MOV R0, R8
  2626. 0D400ED4 POP {R3}
  2627. 0D400ED6 MOV R8, R3
  2628. 0D400ED8 POP {R4-R7}
  2629. 0D400EDA POP {R1}
  2630. 0D400EDC BX R1
  2631. 0D400EDC
  2632. 0D400EDE
  2633. 0D400EDE loc_D400EDE
  2634. 0D400EDE MOVS R3, #4
  2635. 0D400EE0 NEGS R3, R3
  2636. 0D400EE2 MOV R8, R3
  2637. 0D400EE4 B loc_D400ED2
  2638. 0D400EE4
  2639. 0D400EE4
  2640. 0D400EE4
  2641. 0D400EE6 ALIGN 4
  2642. 0D400EE8
  2643. 0D400EE8
  2644. 0D400EE8
  2645. 0D400EE8
  2646. 0D400EE8 read_SEEPROM
  2647. 0D400EE8 seeprom_read+1Cp
  2648. 0D400EE8 PUSH {R4-R7,LR}
  2649. 0D400EEA SUBS R0, #1
  2650. 0D400EEC MOVS R7, R1
  2651. 0D400EEE MOVS R6, #0
  2652. 0D400EF0 CMP R0, #0x1F
  2653. 0D400EF2 BHI loc_D400F2E
  2654. 0D400EF2
  2655. 0D400EF4 MOVS R5, #0
  2656. 0D400EF6 MOVS R4, R0
  2657. 0D400EF8 ADDS R3, R0, #1
  2658. 0D400EFA BEQ loc_D400F24
  2659. 0D400EFA
  2660. 0D400EFC
  2661. 0D400EFC loc_D400EFC
  2662. 0D400EFC BL clear_C
  2663. 0D400EFC
  2664. 0D400F00 BL set_S
  2665. 0D400F00
  2666. 0D400F04 MOVS R0, #0x7D
  2667. 0D400F06 BL delay_1
  2668. 0D400F06
  2669. 0D400F0A BL set_C
  2670. 0D400F0A
  2671. 0D400F0E MOVS R0, #0x7D
  2672. 0D400F10 BL delay_1
  2673. 0D400F10
  2674. 0D400F14 LDR R3, =LT_GPIO_IN
  2675. 0D400F16 LDR R3, [R3]
  2676. 0D400F18 LSLS R3, R3, #0x12
  2677. 0D400F1A LSRS R3, R3, #0x1F
  2678. 0D400F1C LSLS R3, R4
  2679. 0D400F1E ORRS R5, R3
  2680. 0D400F20 SUBS R4, #1
  2681. 0D400F22 BCS loc_D400EFC
  2682. 0D400F22
  2683. 0D400F24
  2684. 0D400F24 loc_D400F24
  2685. 0D400F24 STR R5, [R7]
  2686. 0D400F24
  2687. 0D400F26
  2688. 0D400F26 loc_D400F26
  2689. 0D400F26 MOVS R0, R6
  2690. 0D400F28 POP {R4-R7}
  2691. 0D400F2A POP {R1}
  2692. 0D400F2C BX R1
  2693. 0D400F2C
  2694. 0D400F2E
  2695. 0D400F2E loc_D400F2E
  2696. 0D400F2E MOVS R6, #4
  2697. 0D400F30 NEGS R6, R6
  2698. 0D400F32 B loc_D400F26
  2699. 0D400F32
  2700. 0D400F32
  2701. 0D400F32
  2702. 0D400F34 off_D400F34 DCD LT_GPIO_IN
  2703. 0D400F38
  2704. 0D400F38
  2705. 0D400F38
  2706. 0D400F38
  2707. 0D400F38 seeprom2
  2708. 0D400F38 seeprom5+1Cp ...
  2709. 0D400F38
  2710. 0D400F38 var_18 = -0x18
  2711. 0D400F38
  2712. 0D400F38 PUSH {R4-R7,LR}
  2713. 0D400F3A SUB SP, SP, #4
  2714. 0D400F3C MOVS R5, #0
  2715. 0D400F3E MOVS R4, #0
  2716. 0D400F40 MOV R7, SP
  2717. 0D400F42 MOVS R6, #1
  2718. 0D400F44 STR R5, [SP,#0x18+var_18]
  2719. 0D400F46 B loc_D400F4C
  2720. 0D400F46
  2721. 0D400F48
  2722. 0D400F48 loc_D400F48
  2723. 0D400F48 CMP R4, #0x63
  2724. 0D400F4A BHI loc_D400F60
  2725. 0D400F4A
  2726. 0D400F4C
  2727. 0D400F4C loc_D400F4C
  2728. 0D400F4C MOVS R0, #0xA
  2729. 0D400F4E MOVS R1, R7
  2730. 0D400F50 BL read_SEEPROM
  2731. 0D400F50
  2732. 0D400F54 LDR R3, [SP,#0x18+var_18]
  2733. 0D400F56 MOVS R2, R6
  2734. 0D400F58 MOVS R5, R0
  2735. 0D400F5A ADDS R4, #1
  2736. 0D400F5C BICS R2, R3
  2737. 0D400F5E BNE loc_D400F48
  2738. 0D400F5E
  2739. 0D400F60
  2740. 0D400F60 loc_D400F60
  2741. 0D400F60 MOVS R0, #2
  2742. 0D400F62 BL clear_S
  2743. 0D400F62
  2744. 0D400F66 CMP R4, #0x63
  2745. 0D400F68 BLS loc_D400F6E
  2746. 0D400F68
  2747. 0D400F6A MOVS R5, #9
  2748. 0D400F6C NEGS R5, R5
  2749. 0D400F6C
  2750. 0D400F6E
  2751. 0D400F6E loc_D400F6E
  2752. 0D400F6E MOVS R0, R5
  2753. 0D400F70 ADD SP, SP, #4
  2754. 0D400F72 POP {R4-R7}
  2755. 0D400F74 POP {R1}
  2756. 0D400F76 BX R1
  2757. 0D400F76
  2758. 0D400F76
  2759. 0D400F76
  2760. 0D400F78
  2761. 0D400F78
  2762. 0D400F78
  2763. 0D400F78
  2764. 0D400F78 seeprom_read
  2765. 0D400F78 sub_D40120C+40p
  2766. 0D400F78 PUSH {R4,R5,LR}
  2767. 0D400F7A MOVS R5, R1
  2768. 0D400F7C MOVS R3, #0xC0
  2769. 0D400F7E MOVS R1, #0xFF
  2770. 0D400F80 ANDS R1, R0
  2771. 0D400F82 LSLS R3, R3, #3
  2772. 0D400F84 MOVS R0, #0xB
  2773. 0D400F86 ORRS R1, R3
  2774. 0D400F88 BL seeprom1
  2775. 0D400F88
  2776. 0D400F8C SUBS R4, R0, #0
  2777. 0D400F8E BNE loc_D400FA2
  2778. 0D400F8E
  2779. 0D400F90 MOVS R0, #0x10
  2780. 0D400F92 MOVS R1, R5
  2781. 0D400F94 BL read_SEEPROM
  2782. 0D400F94
  2783. 0D400F98 SUBS R4, R0, #0
  2784. 0D400F9A BNE loc_D400FA2
  2785. 0D400F9A
  2786. 0D400F9C MOVS R0, #2
  2787. 0D400F9E BL clear_S
  2788. 0D400F9E
  2789. 0D400FA2
  2790. 0D400FA2 loc_D400FA2
  2791. 0D400FA2 seeprom_read+22j
  2792. 0D400FA2 MOVS R0, R4
  2793. 0D400FA4 POP {R4,R5}
  2794. 0D400FA6 POP {R1}
  2795. 0D400FA8 BX R1
  2796. 0D400FA8
  2797. 0D400FA8
  2798. 0D400FA8
  2799. 0D400FAA ALIGN 4
  2800. 0D400FAC
  2801. 0D400FAC
  2802. 0D400FAC
  2803. 0D400FAC
  2804. 0D400FAC seeprom4
  2805. 0D400FAC sub_D401420+52p
  2806. 0D400FAC PUSH {LR}
  2807. 0D400FAE MOVS R3, #0xFF
  2808. 0D400FB0 MOVS R2, #0xA0
  2809. 0D400FB2 ANDS R3, R0
  2810. 0D400FB4 LSLS R2, R2, #3
  2811. 0D400FB6 ORRS R3, R2
  2812. 0D400FB8 LDR R2, =0xFFFF
  2813. 0D400FBA LSLS R3, R3, #0x10
  2814. 0D400FBC ANDS R2, R1
  2815. 0D400FBE MOVS R1, R3
  2816. 0D400FC0 MOVS R0, #0x1B
  2817. 0D400FC2 ORRS R1, R2
  2818. 0D400FC4 BL seeprom1
  2819. 0D400FC4
  2820. 0D400FC8 CMP R0, #0
  2821. 0D400FCA BNE loc_D400FD6
  2822. 0D400FCA
  2823. 0D400FCC MOVS R0, #2
  2824. 0D400FCE BL clear_S
  2825. 0D400FCE
  2826. 0D400FD2 BL seeprom2
  2827. 0D400FD2
  2828. 0D400FD6
  2829. 0D400FD6 loc_D400FD6
  2830. 0D400FD6 POP {R1}
  2831. 0D400FD8 BX R1
  2832. 0D400FD8
  2833. 0D400FD8
  2834. 0D400FD8
  2835. 0D400FDA ALIGN 4
  2836. 0D400FDC dword_D400FDC DCD 0xFFFF
  2837. 0D400FE0
  2838. 0D400FE0
  2839. 0D400FE0
  2840. 0D400FE0
  2841. 0D400FE0 seeprom5
  2842. 0D400FE0 PUSH {LR}
  2843. 0D400FE2 MOVS R1, #0xFF
  2844. 0D400FE4 MOVS R3, #0xE0
  2845. 0D400FE6 ANDS R1, R0
  2846. 0D400FE8 LSLS R3, R3, #3
  2847. 0D400FEA MOVS R0, #0xB
  2848. 0D400FEC ORRS R1, R3
  2849. 0D400FEE BL seeprom1
  2850. 0D400FEE
  2851. 0D400FF2 CMP R0, #0
  2852. 0D400FF4 BNE loc_D401000
  2853. 0D400FF4
  2854. 0D400FF6 MOVS R0, #2
  2855. 0D400FF8 BL clear_S
  2856. 0D400FF8
  2857. 0D400FFC BL seeprom2
  2858. 0D400FFC
  2859. 0D401000
  2860. 0D401000 loc_D401000
  2861. 0D401000 POP {R1}
  2862. 0D401002 BX R1
  2863. 0D401002
  2864. 0D401002
  2865. 0D401002
  2866. 0D401004
  2867. 0D401004
  2868. 0D401004
  2869. 0D401004
  2870. 0D401004 seeprom6
  2871. 0D401004 PUSH {LR}
  2872. 0D401006 LDR R1, =0xFFFF
  2873. 0D401008 MOVS R3, #0x88
  2874. 0D40100A ANDS R1, R0
  2875. 0D40100C LSLS R3, R3, #0x13
  2876. 0D40100E MOVS R0, #0x1B
  2877. 0D401010 ORRS R1, R3
  2878. 0D401012 BL seeprom1
  2879. 0D401012
  2880. 0D401016 CMP R0, #0
  2881. 0D401018 BNE loc_D401024
  2882. 0D401018
  2883. 0D40101A MOVS R0, #2
  2884. 0D40101C BL clear_S
  2885. 0D40101C
  2886. 0D401020 BL seeprom2
  2887. 0D401020
  2888. 0D401024
  2889. 0D401024 loc_D401024
  2890. 0D401024 POP {R1}
  2891. 0D401026 BX R1
  2892. 0D401026
  2893. 0D401026
  2894. 0D401026
  2895. 0D401028 dword_D401028 DCD 0xFFFF
  2896. 0D40102C
  2897. 0D40102C
  2898. 0D40102C
  2899. 0D40102C
  2900. 0D40102C seeprom7
  2901. 0D40102C PUSH {LR}
  2902. 0D40102E MOVS R1, #0x90
  2903. 0D401030 MOVS R0, #0xB
  2904. 0D401032 LSLS R1, R1, #3
  2905. 0D401034 BL seeprom1
  2906. 0D401034
  2907. 0D401038 CMP R0, #0
  2908. 0D40103A BNE loc_D401046
  2909. 0D40103A
  2910. 0D40103C MOVS R0, #2
  2911. 0D40103E BL clear_S
  2912. 0D40103E
  2913. 0D401042 BL seeprom2
  2914. 0D401042
  2915. 0D401046
  2916. 0D401046 loc_D401046
  2917. 0D401046 POP {R1}
  2918. 0D401048 BX R1
  2919. 0D401048
  2920. 0D401048
  2921. 0D401048
  2922. 0D40104A ALIGN 4
  2923. 0D40104C
  2924. 0D40104C
  2925. 0D40104C
  2926. 0D40104C
  2927. 0D40104C seeprom8
  2928. 0D40104C sub_D401420+3Ep
  2929. 0D40104C PUSH {R4,LR}
  2930. 0D40104E MOVS R1, #0x98
  2931. 0D401050 MOVS R0, #0xB
  2932. 0D401052 LSLS R1, R1, #3
  2933. 0D401054 BL seeprom1
  2934. 0D401054
  2935. 0D401058 SUBS R4, R0, #0
  2936. 0D40105A BNE loc_D401062
  2937. 0D40105A
  2938. 0D40105C MOVS R0, #2
  2939. 0D40105E BL clear_S
  2940. 0D40105E
  2941. 0D401062
  2942. 0D401062 loc_D401062
  2943. 0D401062 MOVS R0, R4
  2944. 0D401064 POP {R4}
  2945. 0D401066 POP {R1}
  2946. 0D401068 BX R1
  2947. 0D401068
  2948. 0D401068
  2949. 0D401068
  2950. 0D40106A ALIGN 4
  2951. 0D40106C
  2952. 0D40106C
  2953. 0D40106C
  2954. 0D40106C
  2955. 0D40106C seeprom9
  2956. 0D40106C sub_D401420:loc_D401480p
  2957. 0D40106C PUSH {R4,LR}
  2958. 0D40106E MOVS R1, #0x80
  2959. 0D401070 MOVS R0, #0xB
  2960. 0D401072 LSLS R1, R1, #3
  2961. 0D401074 BL seeprom1
  2962. 0D401074
  2963. 0D401078 SUBS R4, R0, #0
  2964. 0D40107A BNE loc_D401082
  2965. 0D40107A
  2966. 0D40107C MOVS R0, #2
  2967. 0D40107E BL clear_S
  2968. 0D40107E
  2969. 0D401082
  2970. 0D401082 loc_D401082
  2971. 0D401082 MOVS R0, R4
  2972. 0D401084 POP {R4}
  2973. 0D401086 POP {R1}
  2974. 0D401088 BX R1
  2975. 0D401088
  2976. 0D401088
  2977. 0D401088
  2978. 0D40108A ALIGN 4
  2979. 0D40108C
  2980. 0D40108C
  2981. 0D40108C
  2982. 0D40108C
  2983. 0D40108C seeprom10
  2984. 0D40108C sub_D4013B0+2Ap ...
  2985. 0D40108C PUSH {R4-R7,LR}
  2986. 0D40108E MOVS R4, R0
  2987. 0D401090 CMP R1, #1
  2988. 0D401092 BLS loc_D4010A0
  2989. 0D401092
  2990. 0D401094 MOVS R6, #4
  2991. 0D401096 NEGS R6, R6
  2992. 0D401096
  2993. 0D401098
  2994. 0D401098 loc_D401098
  2995. 0D401098 seeprom10+44j
  2996. 0D401098 MOVS R0, R6
  2997. 0D40109A POP {R4-R7}
  2998. 0D40109C POP {R1}
  2999. 0D40109E BX R1
  3000. 0D40109E
  3001. 0D4010A0
  3002. 0D4010A0 loc_D4010A0
  3003. 0D4010A0 MOVS R3, #0xA
  3004. 0D4010A2 MULS R3, R1
  3005. 0D4010A4 MOVS R7, R3
  3006. 0D4010A6 ADDS R7, #0x48
  3007. 0D4010A8 LSRS R7, R7, #1
  3008. 0D4010AA BL seeprom8
  3009. 0D4010AA
  3010. 0D4010AE SUBS R6, R0, #0
  3011. 0D4010B0 BNE loc_D401098
  3012. 0D4010B0
  3013. 0D4010B2 MOVS R5, #0
  3014. 0D4010B2
  3015. 0D4010B4
  3016. 0D4010B4 loc_D4010B4
  3017. 0D4010B4 LDRH R1, [R4]
  3018. 0D4010B6 LSLS R1, R1, #0x10
  3019. 0D4010B8 ADDS R0, R7, R5
  3020. 0D4010BA LSRS R1, R1, #0x10
  3021. 0D4010BC ADDS R4, #2
  3022. 0D4010BE BL seeprom4
  3023. 0D4010BE
  3024. 0D4010C2 SUBS R6, R0, #0
  3025. 0D4010C4 BNE loc_D4010CC
  3026. 0D4010C4
  3027. 0D4010C6 ADDS R5, #1
  3028. 0D4010C8 CMP R5, #4
  3029. 0D4010CA BLS loc_D4010B4
  3030. 0D4010CA
  3031. 0D4010CC
  3032. 0D4010CC loc_D4010CC
  3033. 0D4010CC BL seeprom9
  3034. 0D4010CC
  3035. 0D4010D0 B loc_D401098
  3036. 0D4010D0
  3037. 0D4010D0
  3038. 0D4010D0
  3039. 0D4010D2 ALIGN 4
  3040. 0D4010D4
  3041. 0D4010D4
  3042. 0D4010D4
  3043. 0D4010D4
  3044. 0D4010D4 sub_D4010D4
  3045. 0D4010D4 sub_D401378+20p ...
  3046. 0D4010D4 PUSH {LR}
  3047. 0D4010D6 MOVS R1, #0
  3048. 0D4010D8 MOVS R2, #3
  3049. 0D4010D8
  3050. 0D4010DA
  3051. 0D4010DA loc_D4010DA
  3052. 0D4010DA LDRH R3, [R0]
  3053. 0D4010DC ADDS R3, R1, R3
  3054. 0D4010DE LSLS R3, R3, #0x10
  3055. 0D4010E0 ADDS R0, #2
  3056. 0D4010E2 LSRS R1, R3, #0x10
  3057. 0D4010E4 SUBS R2, #1
  3058. 0D4010E6 BPL loc_D4010DA
  3059. 0D4010E6
  3060. 0D4010E8 MOVS R0, R1
  3061. 0D4010EA POP {R1}
  3062. 0D4010EC BX R1
  3063. 0D4010EC
  3064. 0D4010EC
  3065. 0D4010EC
  3066. 0D4010EE ALIGN 0x10
  3067. 0D4010F0
  3068. 0D4010F0
  3069. 0D4010F0
  3070. 0D4010F0
  3071. 0D4010F0 sub_D4010F0
  3072. 0D4010F0 sub_D401420+1Ap
  3073. 0D4010F0 PUSH {LR}
  3074. 0D4010F2 MOVS R1, #0
  3075. 0D4010F4 MOVS R2, #1
  3076. 0D4010F4
  3077. 0D4010F6
  3078. 0D4010F6 loc_D4010F6
  3079. 0D4010F6 LDRH R3, [R0]
  3080. 0D4010F8 ADDS R3, R1, R3
  3081. 0D4010FA LSLS R3, R3, #0x10
  3082. 0D4010FC ADDS R0, #2
  3083. 0D4010FE LSRS R1, R3, #0x10
  3084. 0D401100 SUBS R2, #1
  3085. 0D401102 BPL loc_D4010F6
  3086. 0D401102
  3087. 0D401104 MOVS R0, R1
  3088. 0D401106 POP {R1}
  3089. 0D401108 BX R1
  3090. 0D401108
  3091. 0D401108
  3092. 0D401108
  3093. 0D40110A ALIGN 4
  3094. 0D40110C
  3095. 0D40110C
  3096. 0D40110C
  3097. 0D40110C
  3098. 0D40110C sub_D40110C
  3099. 0D40110C sub_D401328+Ap ...
  3100. 0D40110C
  3101. 0D40110C var_50 = -0x50
  3102. 0D40110C var_4C = -0x4C
  3103. 0D40110C var_48 = -0x48
  3104. 0D40110C var_44 = -0x44
  3105. 0D40110C var_40 = -0x40
  3106. 0D40110C var_3C = -0x3C
  3107. 0D40110C var_38 = -0x38
  3108. 0D40110C
  3109. 0D40110C PUSH {R4-R7,LR}
  3110. 0D40110E MOV R7, R11
  3111. 0D401110 MOV R6, R10
  3112. 0D401112 MOV R5, R9
  3113. 0D401114 MOV R4, R8
  3114. 0D401116 PUSH {R4-R7}
  3115. 0D401118 SUB SP, SP, #0x2C
  3116. 0D40111A MOVS R2, #1
  3117. 0D40111C STR R1, [SP,#0x50+var_44]
  3118. 0D40111E MOVS R1, #0
  3119. 0D401120 NEGS R3, R2
  3120. 0D401122 STR R1, [SP,#0x50+var_48]
  3121. 0D401124 STR R1, [SP,#0x50+var_4C]
  3122. 0D401126 STR R0, [SP,#0x50+var_40]
  3123. 0D401128 ADD R1, SP, #0x50+var_3C
  3124. 0D40112A MOV R10, R3
  3125. 0D40112C MOV R11, R3
  3126. 0D40112E MOVS R7, #0
  3127. 0D401130 MOV R8, R1
  3128. 0D401132 MOVS R2, #0
  3129. 0D401132
  3130. 0D401134
  3131. 0D401134 loc_D401134
  3132. 0D401134 ADD R1, SP, #0x50+var_38
  3133. 0D401136 ADDS R3, R1, R2
  3134. 0D401138 CMP R7, #1
  3135. 0D40113A BHI loc_D401202
  3136. 0D40113A
  3137. 0D40113C MOVS R6, R2
  3138. 0D40113E ADDS R6, #0x48
  3139. 0D401140 LSRS R6, R6, #1
  3140. 0D401142 MOVS R5, #0
  3141. 0D401144 ADDS R4, R3, #0
  3142. 0D401144
  3143. 0D401146
  3144. 0D401146 loc_D401146
  3145. 0D401146 ADDS R0, R6, R5
  3146. 0D401148 MOV R1, R8
  3147. 0D40114A STR R2, [SP,#0x50+var_50]
  3148. 0D40114C BL seeprom_read
  3149. 0D40114C
  3150. 0D401150 LDR R3, [SP,#0x50+var_3C]
  3151. 0D401152 LDR R2, [SP,#0x50+var_50]
  3152. 0D401154 STRH R3, [R4]
  3153. 0D401156 ADDS R4, #2
  3154. 0D401158 CMP R0, #0
  3155. 0D40115A BNE loc_D4011F2
  3156. 0D40115A
  3157. 0D40115C ADDS R5, #1
  3158. 0D40115E CMP R5, #4
  3159. 0D401160 BLS loc_D401146
  3160. 0D401160
  3161. 0D401162 MOVS R1, #0
  3162. 0D401164 MOV R9, R1
  3163. 0D401164
  3164. 0D401166
  3165. 0D401166 loc_D401166
  3166. 0D401166 ADDS R7, #1
  3167. 0D401168 ADDS R2, #0xA
  3168. 0D40116A CMP R7, #1
  3169. 0D40116C BLS loc_D401134
  3170. 0D40116C
  3171. 0D40116E MOVS R7, #0
  3172. 0D401170 ADD R4, SP, #0x50+var_38
  3173. 0D401172 MOVS R6, #0
  3174. 0D401172
  3175. 0D401174
  3176. 0D401174 loc_D401174
  3177. 0D401174 ADD R2, SP, #0x50+var_38
  3178. 0D401176 ADDS R5, R2, R6
  3179. 0D401178 MOVS R0, R5
  3180. 0D40117A BL sub_D4010D4
  3181. 0D40117A
  3182. 0D40117E LDRB R2, [R4,#8]
  3183. 0D401180 LDRB R3, [R4,#9]
  3184. 0D401182 LSLS R2, R2, #8
  3185. 0D401184 ORRS R3, R2
  3186. 0D401186 CMP R3, R0
  3187. 0D401188 BEQ loc_D4011CA
  3188. 0D401188
  3189. 0D40118A MOVS R3, #0
  3190. 0D40118C MOV R11, R3
  3191. 0D40118E MOV R10, R7
  3192. 0D40118E
  3193. 0D401190
  3194. 0D401190 loc_D401190
  3195. 0D401190 sub_D40110C+E4j
  3196. 0D401190 ADDS R7, #1
  3197. 0D401192 ADDS R6, #0xA
  3198. 0D401194 ADDS R4, #0xA
  3199. 0D401196 CMP R7, #1
  3200. 0D401198 BLS loc_D401174
  3201. 0D401198
  3202. 0D40119A LDR R2, [SP,#0x50+var_4C]
  3203. 0D40119C CMP R2, #0
  3204. 0D40119E BEQ loc_D4011FA
  3205. 0D40119E
  3206. 0D4011A0 MOV R3, R10
  3207. 0D4011A2 CMP R3, #0
  3208. 0D4011A4 BLT loc_D4011FA
  3209. 0D4011A4
  3210. 0D4011A6 LDR R1, [SP,#0x50+var_4C]
  3211. 0D4011A8 LDR R0, [SP,#0x50+var_40]
  3212. 0D4011AA MOVS R2, #0xA
  3213. 0D4011AC BL memcpy
  3214. 0D4011AC
  3215. 0D4011B0 LDR R1, [SP,#0x50+var_44]
  3216. 0D4011B2 MOV R3, R10
  3217. 0D4011B4 STR R3, [R1]
  3218. 0D4011B4
  3219. 0D4011B6
  3220. 0D4011B6 loc_D4011B6
  3221. 0D4011B6 sub_D40110C+F4j ...
  3222. 0D4011B6 MOV R0, R9
  3223. 0D4011B8 ADD SP, SP, #0x2C
  3224. 0D4011BA POP {R3-R6}
  3225. 0D4011BC MOV R8, R3
  3226. 0D4011BE MOV R9, R4
  3227. 0D4011C0 MOV R10, R5
  3228. 0D4011C2 MOV R11, R6
  3229. 0D4011C4 POP {R4-R7}
  3230. 0D4011C6 POP {R1}
  3231. 0D4011C8 BX R1
  3232. 0D4011C8
  3233. 0D4011CA
  3234. 0D4011CA loc_D4011CA
  3235. 0D4011CA LDRB R3, [R4,#4]
  3236. 0D4011CC LDRB R2, [R4,#5]
  3237. 0D4011CE LSLS R3, R3, #0x18
  3238. 0D4011D0 LSLS R2, R2, #0x10
  3239. 0D4011D2 ORRS R2, R3
  3240. 0D4011D4 LDRB R3, [R4,#6]
  3241. 0D4011D6 LSLS R3, R3, #8
  3242. 0D4011D8 ORRS R3, R2
  3243. 0D4011DA LDRB R2, [R4,#7]
  3244. 0D4011DC LDR R1, [SP,#0x50+var_48]
  3245. 0D4011DE ORRS R2, R3
  3246. 0D4011E0 CMP R2, R1
  3247. 0D4011E2 BCC loc_D4011E8
  3248. 0D4011E2
  3249. 0D4011E4 STR R5, [SP,#0x50+var_4C]
  3250. 0D4011E6 STR R2, [SP,#0x50+var_48]
  3251. 0D4011E6
  3252. 0D4011E8
  3253. 0D4011E8 loc_D4011E8
  3254. 0D4011E8 CMP R2, R11
  3255. 0D4011EA BCS loc_D401190
  3256. 0D4011EA
  3257. 0D4011EC MOV R10, R7
  3258. 0D4011EE MOV R11, R2
  3259. 0D4011F0 B loc_D401190
  3260. 0D4011F0
  3261. 0D4011F2
  3262. 0D4011F2 loc_D4011F2
  3263. 0D4011F2 CMP R0, #0
  3264. 0D4011F4 MOV R9, R0
  3265. 0D4011F6 BEQ loc_D401166
  3266. 0D4011F6
  3267. 0D4011F8 B loc_D4011B6
  3268. 0D4011F8
  3269. 0D4011FA
  3270. 0D4011FA loc_D4011FA
  3271. 0D4011FA sub_D40110C+98j
  3272. 0D4011FA MOVS R1, #5
  3273. 0D4011FC NEGS R2, R1
  3274. 0D4011FE MOV R9, R2
  3275. 0D401200 B loc_D4011B6
  3276. 0D401200
  3277. 0D401202
  3278. 0D401202 loc_D401202
  3279. 0D401202 MOVS R2, #4
  3280. 0D401204 NEGS R3, R2
  3281. 0D401206 MOV R9, R3
  3282. 0D401208 B loc_D4011B6
  3283. 0D401208
  3284. 0D401208
  3285. 0D401208
  3286. 0D40120A ALIGN 4
  3287. 0D40120C
  3288. 0D40120C
  3289. 0D40120C
  3290. 0D40120C
  3291. 0D40120C sub_D40120C
  3292. 0D40120C sub_D401420+Ap
  3293. 0D40120C
  3294. 0D40120C var_50 = -0x50
  3295. 0D40120C var_4C = -0x4C
  3296. 0D40120C var_48 = -0x48
  3297. 0D40120C var_44 = -0x44
  3298. 0D40120C var_40 = -0x40
  3299. 0D40120C var_3C = -0x3C
  3300. 0D40120C var_38 = -0x38
  3301. 0D40120C
  3302. 0D40120C PUSH {R4-R7,LR}
  3303. 0D40120E MOV R7, R11
  3304. 0D401210 MOV R6, R10
  3305. 0D401212 MOV R5, R9
  3306. 0D401214 MOV R4, R8
  3307. 0D401216 PUSH {R4-R7}
  3308. 0D401218 SUB SP, SP, #0x2C
  3309. 0D40121A MOVS R2, #1
  3310. 0D40121C STR R1, [SP,#0x50+var_44]
  3311. 0D40121E MOVS R1, #0
  3312. 0D401220 NEGS R3, R2
  3313. 0D401222 STR R1, [SP,#0x50+var_48]
  3314. 0D401224 STR R1, [SP,#0x50+var_4C]
  3315. 0D401226 STR R0, [SP,#0x50+var_40]
  3316. 0D401228 ADD R1, SP, #0x50+var_3C
  3317. 0D40122A MOV R10, R3
  3318. 0D40122C MOV R11, R3
  3319. 0D40122E MOVS R7, #0
  3320. 0D401230 MOV R8, R1
  3321. 0D401232 MOVS R2, #0
  3322. 0D401232
  3323. 0D401234
  3324. 0D401234 loc_D401234
  3325. 0D401234 ADD R1, SP, #0x50+var_38
  3326. 0D401236 ADDS R3, R1, R2
  3327. 0D401238 CMP R7, #2
  3328. 0D40123A BHI loc_D401302
  3329. 0D40123A
  3330. 0D40123C MOVS R6, R2
  3331. 0D40123E ADDS R6, #0x5C
  3332. 0D401240 LSRS R6, R6, #1
  3333. 0D401242 MOVS R5, #0
  3334. 0D401244 ADDS R4, R3, #0
  3335. 0D401244
  3336. 0D401246
  3337. 0D401246 loc_D401246
  3338. 0D401246 ADDS R0, R6, R5
  3339. 0D401248 MOV R1, R8
  3340. 0D40124A STR R2, [SP,#0x50+var_50]
  3341. 0D40124C BL seeprom_read
  3342. 0D40124C
  3343. 0D401250 LDR R3, [SP,#0x50+var_3C]
  3344. 0D401252 LDR R2, [SP,#0x50+var_50]
  3345. 0D401254 STRH R3, [R4]
  3346. 0D401256 ADDS R4, #2
  3347. 0D401258 CMP R0, #0
  3348. 0D40125A BNE loc_D4012F2
  3349. 0D40125A
  3350. 0D40125C ADDS R5, #1
  3351. 0D40125E CMP R5, #2
  3352. 0D401260 BLS loc_D401246
  3353. 0D401260
  3354. 0D401262 MOVS R1, #0
  3355. 0D401264 MOV R9, R1
  3356. 0D401264
  3357. 0D401266
  3358. 0D401266 loc_D401266
  3359. 0D401266 ADDS R7, #1
  3360. 0D401268 ADDS R2, #6
  3361. 0D40126A CMP R7, #2
  3362. 0D40126C BLS loc_D401234
  3363. 0D40126C
  3364. 0D40126E MOVS R7, #0
  3365. 0D401270 ADD R4, SP, #0x50+var_38
  3366. 0D401272 MOVS R6, #0
  3367. 0D401272
  3368. 0D401274
  3369. 0D401274 loc_D401274
  3370. 0D401274 ADD R2, SP, #0x50+var_38
  3371. 0D401276 ADDS R5, R2, R6
  3372. 0D401278 MOVS R0, R5
  3373. 0D40127A BL sub_D4010F0
  3374. 0D40127A
  3375. 0D40127E LDRB R2, [R4,#4]
  3376. 0D401280 LDRB R3, [R4,#5]
  3377. 0D401282 LSLS R2, R2, #8
  3378. 0D401284 ORRS R3, R2
  3379. 0D401286 CMP R3, R0
  3380. 0D401288 BEQ loc_D4012CA
  3381. 0D401288
  3382. 0D40128A MOVS R3, #0
  3383. 0D40128C MOV R11, R3
  3384. 0D40128E MOV R10, R7
  3385. 0D40128E
  3386. 0D401290
  3387. 0D401290 loc_D401290
  3388. 0D401290 sub_D40120C+E4j
  3389. 0D401290 ADDS R7, #1
  3390. 0D401292 ADDS R6, #6
  3391. 0D401294 ADDS R4, #6
  3392. 0D401296 CMP R7, #2
  3393. 0D401298 BLS loc_D401274
  3394. 0D401298
  3395. 0D40129A LDR R2, [SP,#0x50+var_4C]
  3396. 0D40129C CMP R2, #0
  3397. 0D40129E BEQ loc_D4012FA
  3398. 0D40129E
  3399. 0D4012A0 MOV R3, R10
  3400. 0D4012A2 CMP R3, #0
  3401. 0D4012A4 BLT loc_D4012FA
  3402. 0D4012A4
  3403. 0D4012A6 LDR R1, [SP,#0x50+var_4C]
  3404. 0D4012A8 LDR R0, [SP,#0x50+var_40]
  3405. 0D4012AA MOVS R2, #6
  3406. 0D4012AC BL memcpy
  3407. 0D4012AC
  3408. 0D4012B0 LDR R1, [SP,#0x50+var_44]
  3409. 0D4012B2 MOV R3, R10
  3410. 0D4012B4 STR R3, [R1]
  3411. 0D4012B4
  3412. 0D4012B6
  3413. 0D4012B6 loc_D4012B6
  3414. 0D4012B6 sub_D40120C+F4j ...
  3415. 0D4012B6 MOV R0, R9
  3416. 0D4012B8 ADD SP, SP, #0x2C
  3417. 0D4012BA POP {R3-R6}
  3418. 0D4012BC MOV R8, R3
  3419. 0D4012BE MOV R9, R4
  3420. 0D4012C0 MOV R10, R5
  3421. 0D4012C2 MOV R11, R6
  3422. 0D4012C4 POP {R4-R7}
  3423. 0D4012C6 POP {R1}
  3424. 0D4012C8 BX R1
  3425. 0D4012C8
  3426. 0D4012CA
  3427. 0D4012CA loc_D4012CA
  3428. 0D4012CA LDRB R3, [R4]
  3429. 0D4012CC LDRB R2, [R4,#1]
  3430. 0D4012CE LSLS R3, R3, #0x18
  3431. 0D4012D0 LSLS R2, R2, #0x10
  3432. 0D4012D2 ORRS R2, R3
  3433. 0D4012D4 LDRB R3, [R4,#2]
  3434. 0D4012D6 LSLS R3, R3, #8
  3435. 0D4012D8 ORRS R3, R2
  3436. 0D4012DA LDRB R2, [R4,#3]
  3437. 0D4012DC LDR R1, [SP,#0x50+var_48]
  3438. 0D4012DE ORRS R2, R3
  3439. 0D4012E0 CMP R2, R1
  3440. 0D4012E2 BCC loc_D4012E8
  3441. 0D4012E2
  3442. 0D4012E4 STR R5, [SP,#0x50+var_4C]
  3443. 0D4012E6 STR R2, [SP,#0x50+var_48]
  3444. 0D4012E6
  3445. 0D4012E8
  3446. 0D4012E8 loc_D4012E8
  3447. 0D4012E8 CMP R2, R11
  3448. 0D4012EA BCS loc_D401290
  3449. 0D4012EA
  3450. 0D4012EC MOV R10, R7
  3451. 0D4012EE MOV R11, R2
  3452. 0D4012F0 B loc_D401290
  3453. 0D4012F0
  3454. 0D4012F2
  3455. 0D4012F2 loc_D4012F2
  3456. 0D4012F2 CMP R0, #0
  3457. 0D4012F4 MOV R9, R0
  3458. 0D4012F6 BEQ loc_D401266
  3459. 0D4012F6
  3460. 0D4012F8 B loc_D4012B6
  3461. 0D4012F8
  3462. 0D4012FA
  3463. 0D4012FA loc_D4012FA
  3464. 0D4012FA sub_D40120C+98j
  3465. 0D4012FA MOVS R1, #5
  3466. 0D4012FC NEGS R2, R1
  3467. 0D4012FE MOV R9, R2
  3468. 0D401300 B loc_D4012B6
  3469. 0D401300
  3470. 0D401302
  3471. 0D401302 loc_D401302
  3472. 0D401302 MOVS R2, #4
  3473. 0D401304 NEGS R3, R2
  3474. 0D401306 MOV R9, R3
  3475. 0D401308 B loc_D4012B6
  3476. 0D401308
  3477. 0D401308
  3478. 0D401308
  3479. 0D40130A ALIGN 4
  3480. 0D40130C
  3481. 0D40130C
  3482. 0D40130C
  3483. 0D40130C
  3484. 0D40130C sub_D40130C
  3485. 0D40130C
  3486. 0D40130C var_14 = -0x14
  3487. 0D40130C
  3488. 0D40130C PUSH {R4,LR}
  3489. 0D40130E SUB SP, SP, #0x10
  3490. 0D401310 ADD R4, SP, #0x18+var_14
  3491. 0D401312 MOVS R0, R4
  3492. 0D401314 MOV R1, SP
  3493. 0D401316 BL sub_D40110C
  3494. 0D401316
  3495. 0D40131A CMP R0, #0
  3496. 0D40131C BNE loc_D401320
  3497. 0D40131C
  3498. 0D40131E LDRB R0, [R4]
  3499. 0D40131E
  3500. 0D401320
  3501. 0D401320 loc_D401320
  3502. 0D401320 ADD SP, SP, #0x10
  3503. 0D401322 POP {R4}
  3504. 0D401324 POP {R1}
  3505. 0D401326 BX R1
  3506. 0D401326
  3507. 0D401326
  3508. 0D401326
  3509. 0D401328
  3510. 0D401328
  3511. 0D401328
  3512. 0D401328
  3513. 0D401328 sub_D401328
  3514. 0D401328
  3515. 0D401328 var_14 = -0x14
  3516. 0D401328
  3517. 0D401328 PUSH {R4,LR}
  3518. 0D40132A SUB SP, SP, #0x10
  3519. 0D40132C ADD R4, SP, #0x18+var_14
  3520. 0D40132E MOVS R0, R4
  3521. 0D401330 MOV R1, SP
  3522. 0D401332 BL sub_D40110C
  3523. 0D401332
  3524. 0D401336 CMP R0, #0
  3525. 0D401338 BNE loc_D40133C
  3526. 0D401338
  3527. 0D40133A LDRB R0, [R4,#1]
  3528. 0D40133A
  3529. 0D40133C
  3530. 0D40133C loc_D40133C
  3531. 0D40133C ADD SP, SP, #0x10
  3532. 0D40133E POP {R4}
  3533. 0D401340 POP {R1}
  3534. 0D401342 BX R1
  3535. 0D401342
  3536. 0D401342
  3537. 0D401342
  3538. 0D401344
  3539. 0D401344
  3540. 0D401344
  3541. 0D401344
  3542. 0D401344 sub_D401344
  3543. 0D401344
  3544. 0D401344 var_14 = -0x14
  3545. 0D401344
  3546. 0D401344 PUSH {R4,LR}
  3547. 0D401346 SUB SP, SP, #0x10
  3548. 0D401348 ADD R4, SP, #0x18+var_14
  3549. 0D40134A MOVS R0, R4
  3550. 0D40134C MOV R1, SP
  3551. 0D40134E BL sub_D40110C
  3552. 0D40134E
  3553. 0D401352 CMP R0, #0
  3554. 0D401354 BNE loc_D401358
  3555. 0D401354
  3556. 0D401356 LDRB R0, [R4,#2]
  3557. 0D401356
  3558. 0D401358
  3559. 0D401358 loc_D401358
  3560. 0D401358 ADD SP, SP, #0x10
  3561. 0D40135A POP {R4}
  3562. 0D40135C POP {R1}
  3563. 0D40135E BX R1
  3564. 0D40135E
  3565. 0D40135E
  3566. 0D40135E
  3567. 0D401360
  3568. 0D401360
  3569. 0D401360
  3570. 0D401360
  3571. 0D401360 sub_D401360
  3572. 0D401360
  3573. 0D401360 var_C = -0xC
  3574. 0D401360
  3575. 0D401360 PUSH {LR}
  3576. 0D401362 SUB SP, SP, #0xC
  3577. 0D401364 ADD R0, SP, #0x10+var_C
  3578. 0D401366 MOV R1, SP
  3579. 0D401368 BL sub_D40120C
  3580. 0D401368
  3581. 0D40136C CMP R0, #0
  3582. 0D40136E BNE loc_D401372
  3583. 0D40136E
  3584. 0D401370 LDR R0, [SP,#0x10+var_C]
  3585. 0D401370
  3586. 0D401372
  3587. 0D401372 loc_D401372
  3588. 0D401372 ADD SP, SP, #0xC
  3589. 0D401374 POP {R1}
  3590. 0D401376 BX R1
  3591. 0D401376
  3592. 0D401376
  3593. 0D401376
  3594. 0D401378
  3595. 0D401378
  3596. 0D401378
  3597. 0D401378
  3598. 0D401378 sub_D401378
  3599. 0D401378
  3600. 0D401378 var_18 = -0x18
  3601. 0D401378 var_14 = -0x14
  3602. 0D401378 var_10 = -0x10
  3603. 0D401378
  3604. 0D401378 PUSH {R4,LR}
  3605. 0D40137A SUB SP, SP, #0x10
  3606. 0D40137C ADD R4, SP, #0x18+var_14
  3607. 0D40137E MOVS R0, R4
  3608. 0D401380 MOV R1, SP
  3609. 0D401382 BL sub_D40110C
  3610. 0D401382
  3611. 0D401386 CMP R0, #0
  3612. 0D401388 BNE loc_D4013A6
  3613. 0D401388
  3614. 0D40138A LDRB R3, [R4]
  3615. 0D40138C ADDS R3, #1
  3616. 0D40138E STRB R3, [R4]
  3617. 0D401390 LDR R3, [SP,#0x18+var_10]
  3618. 0D401392 MOVS R0, R4
  3619. 0D401394 ADDS R3, #1
  3620. 0D401396 STR R3, [SP,#0x18+var_10]
  3621. 0D401398 BL sub_D4010D4
  3622. 0D401398
  3623. 0D40139C LDR R1, [SP,#0x18+var_18]
  3624. 0D40139E STRH R0, [R4,#8]
  3625. 0D4013A0 MOVS R0, R4
  3626. 0D4013A2 BL seeprom10
  3627. 0D4013A2
  3628. 0D4013A6
  3629. 0D4013A6 loc_D4013A6
  3630. 0D4013A6 ADD SP, SP, #0x10
  3631. 0D4013A8 POP {R4}
  3632. 0D4013AA POP {R1}
  3633. 0D4013AC BX R1
  3634. 0D4013AC
  3635. 0D4013AC
  3636. 0D4013AC
  3637. 0D4013AE ALIGN 0x10
  3638. 0D4013B0
  3639. 0D4013B0
  3640. 0D4013B0
  3641. 0D4013B0
  3642. 0D4013B0 sub_D4013B0
  3643. 0D4013B0
  3644. 0D4013B0 var_18 = -0x18
  3645. 0D4013B0 var_14 = -0x14
  3646. 0D4013B0 var_10 = -0x10
  3647. 0D4013B0
  3648. 0D4013B0 PUSH {R4,LR}
  3649. 0D4013B2 SUB SP, SP, #0x10
  3650. 0D4013B4 ADD R4, SP, #0x18+var_14
  3651. 0D4013B6 MOVS R0, R4
  3652. 0D4013B8 MOV R1, SP
  3653. 0D4013BA BL sub_D40110C
  3654. 0D4013BA
  3655. 0D4013BE CMP R0, #0
  3656. 0D4013C0 BNE loc_D4013DE
  3657. 0D4013C0
  3658. 0D4013C2 LDRB R3, [R4,#1]
  3659. 0D4013C4 ADDS R3, #1
  3660. 0D4013C6 STRB R3, [R4,#1]
  3661. 0D4013C8 LDR R3, [SP,#0x18+var_10]
  3662. 0D4013CA MOVS R0, R4
  3663. 0D4013CC ADDS R3, #1
  3664. 0D4013CE STR R3, [SP,#0x18+var_10]
  3665. 0D4013D0 BL sub_D4010D4
  3666. 0D4013D0
  3667. 0D4013D4 LDR R1, [SP,#0x18+var_18]
  3668. 0D4013D6 STRH R0, [R4,#8]
  3669. 0D4013D8 MOVS R0, R4
  3670. 0D4013DA BL seeprom10
  3671. 0D4013DA
  3672. 0D4013DE
  3673. 0D4013DE loc_D4013DE
  3674. 0D4013DE ADD SP, SP, #0x10
  3675. 0D4013E0 POP {R4}
  3676. 0D4013E2 POP {R1}
  3677. 0D4013E4 BX R1
  3678. 0D4013E4
  3679. 0D4013E4
  3680. 0D4013E4
  3681. 0D4013E6 ALIGN 4
  3682. 0D4013E8
  3683. 0D4013E8
  3684. 0D4013E8
  3685. 0D4013E8
  3686. 0D4013E8 sub_D4013E8
  3687. 0D4013E8
  3688. 0D4013E8 var_18 = -0x18
  3689. 0D4013E8 var_14 = -0x14
  3690. 0D4013E8 var_10 = -0x10
  3691. 0D4013E8
  3692. 0D4013E8 PUSH {R4,LR}
  3693. 0D4013EA SUB SP, SP, #0x10
  3694. 0D4013EC ADD R4, SP, #0x18+var_14
  3695. 0D4013EE MOVS R0, R4
  3696. 0D4013F0 MOV R1, SP
  3697. 0D4013F2 BL sub_D40110C
  3698. 0D4013F2
  3699. 0D4013F6 CMP R0, #0
  3700. 0D4013F8 BNE loc_D401416
  3701. 0D4013F8
  3702. 0D4013FA LDRB R3, [R4,#2]
  3703. 0D4013FC ADDS R3, #1
  3704. 0D4013FE STRB R3, [R4,#2]
  3705. 0D401400 LDR R3, [SP,#0x18+var_10]
  3706. 0D401402 MOVS R0, R4
  3707. 0D401404 ADDS R3, #1
  3708. 0D401406 STR R3, [SP,#0x18+var_10]
  3709. 0D401408 BL sub_D4010D4
  3710. 0D401408
  3711. 0D40140C LDR R1, [SP,#0x18+var_18]
  3712. 0D40140E STRH R0, [R4,#8]
  3713. 0D401410 MOVS R0, R4
  3714. 0D401412 BL seeprom10
  3715. 0D401412
  3716. 0D401416
  3717. 0D401416 loc_D401416
  3718. 0D401416 ADD SP, SP, #0x10
  3719. 0D401418 POP {R4}
  3720. 0D40141A POP {R1}
  3721. 0D40141C BX R1
  3722. 0D40141C
  3723. 0D40141C
  3724. 0D40141C
  3725. 0D40141E ALIGN 0x10
  3726. 0D401420
  3727. 0D401420
  3728. 0D401420
  3729. 0D401420
  3730. 0D401420 sub_D401420
  3731. 0D401420
  3732. 0D401420 var_20 = -0x20
  3733. 0D401420 var_1C = -0x1C
  3734. 0D401420
  3735. 0D401420 PUSH {R4-R7,LR}
  3736. 0D401422 SUB SP, SP, #0xC
  3737. 0D401424 ADD R4, SP, #0x20+var_1C
  3738. 0D401426 MOVS R0, R4
  3739. 0D401428 MOV R1, SP
  3740. 0D40142A BL sub_D40120C
  3741. 0D40142A
  3742. 0D40142E CMP R0, #0
  3743. 0D401430 BNE loc_D40144C
  3744. 0D401430
  3745. 0D401432 LDR R3, [SP,#0x20+var_1C]
  3746. 0D401434 MOVS R0, R4
  3747. 0D401436 ADDS R3, #1
  3748. 0D401438 STR R3, [SP,#0x20+var_1C]
  3749. 0D40143A BL sub_D4010F0
  3750. 0D40143A
  3751. 0D40143E LDR R2, [SP,#0x20+var_20]
  3752. 0D401440 STRH R0, [R4,#4]
  3753. 0D401442 CMP R2, #2
  3754. 0D401444 BLS loc_D401454
  3755. 0D401444
  3756. 0D401446 MOVS R5, #4
  3757. 0D401448 NEGS R5, R5
  3758. 0D401448
  3759. 0D40144A
  3760. 0D40144A loc_D40144A
  3761. 0D40144A ADDS R0, R5, #0
  3762. 0D40144A
  3763. 0D40144C
  3764. 0D40144C loc_D40144C
  3765. 0D40144C sub_D401420+66j
  3766. 0D40144C ADD SP, SP, #0xC
  3767. 0D40144E POP {R4-R7}
  3768. 0D401450 POP {R1}
  3769. 0D401452 BX R1
  3770. 0D401452
  3771. 0D401454
  3772. 0D401454 loc_D401454
  3773. 0D401454 MOVS R3, #6
  3774. 0D401456 MULS R3, R2
  3775. 0D401458 MOVS R7, R3
  3776. 0D40145A ADDS R7, #0x5C
  3777. 0D40145C LSRS R7, R7, #1
  3778. 0D40145E BL seeprom8
  3779. 0D40145E
  3780. 0D401462 SUBS R5, R0, #0
  3781. 0D401464 BNE loc_D40144A
  3782. 0D401464
  3783. 0D401466 MOVS R6, #0
  3784. 0D401466
  3785. 0D401468
  3786. 0D401468 loc_D401468
  3787. 0D401468 LDRH R1, [R4]
  3788. 0D40146A LSLS R1, R1, #0x10
  3789. 0D40146C ADDS R0, R7, R6
  3790. 0D40146E LSRS R1, R1, #0x10
  3791. 0D401470 ADDS R4, #2
  3792. 0D401472 BL seeprom4
  3793. 0D401472
  3794. 0D401476 SUBS R5, R0, #0
  3795. 0D401478 BNE loc_D401480
  3796. 0D401478
  3797. 0D40147A ADDS R6, #1
  3798. 0D40147C CMP R6, #2
  3799. 0D40147E BLS loc_D401468
  3800. 0D40147E
  3801. 0D401480
  3802. 0D401480 loc_D401480
  3803. 0D401480 BL seeprom9
  3804. 0D401480
  3805. 0D401484 MOVS R0, R5
  3806. 0D401486 B loc_D40144C
  3807. 0D401486
  3808. 0D401486
  3809. 0D401486
  3810. 0D401488
  3811. 0D401488
  3812. 0D401488
  3813. 0D401488
  3814. 0D401488 sub_D401488
  3815. 0D401488 call_init_dram+10p
  3816. 0D401488 LDR R3, =LT_ASICREV_ACR
  3817. 0D40148A LDR R2, [R3]
  3818. 0D40148C LSLS R3, R2, #0x18
  3819. 0D40148E LSRS R3, R3, #0x1C
  3820. 0D401490 STR R3, [R0]
  3821. 0D401492 MOVS R3, #0xF
  3822. 0D401494 ANDS R2, R3
  3823. 0D401496 STR R2, [R1]
  3824. 0D401498 BX LR
  3825. 0D401498
  3826. 0D401498
  3827. 0D401498
  3828. 0D40149A ALIGN 4
  3829. 0D40149C off_D40149C DCD LT_ASICREV_ACR
  3830. 0D4014A0
  3831. 0D4014A0
  3832. 0D4014A0
  3833. 0D4014A0
  3834. 0D4014A0 sub_D4014A0
  3835. 0D4014A0 sub_D4014EC+E0p ...
  3836. 0D4014A0 PUSH {R4,R5,LR}
  3837. 0D4014A2 LDR R1, =LT_ASICREV_ACR
  3838. 0D4014A4 LDR R3, [R1]
  3839. 0D4014A6 MOVS R5, #0xF0
  3840. 0D4014A8 MOVS R4, #0
  3841. 0D4014AA TST R3, R5
  3842. 0D4014AC BNE loc_D4014C4
  3843. 0D4014AC
  3844. 0D4014AE LDR R2, =LT_AHB_UNK11
  3845. 0D4014B0 MOVS R3, #0x80
  3846. 0D4014B2 LDR R4, [R2]
  3847. 0D4014B4 LSLS R3, R3, #3
  3848. 0D4014B6 ORRS R3, R4
  3849. 0D4014B8 STR R3, [R2]
  3850. 0D4014BA LDR R3, =LT_AHB_UNK13
  3851. 0D4014BC LDR R2, [R3]
  3852. 0D4014BE LDR R2, [R3]
  3853. 0D4014C0 LDR R2, [R3]
  3854. 0D4014C2 LDR R3, [R3]
  3855. 0D4014C2
  3856. 0D4014C4
  3857. 0D4014C4 loc_D4014C4
  3858. 0D4014C4 LDR R3, =dword_D8B0000
  3859. 0D4014C6 ORRS R3, R0
  3860. 0D4014C8 LDR R0, [R3]
  3861. 0D4014CA LDR R3, [R1]
  3862. 0D4014CC LDR R3, [R1]
  3863. 0D4014CE TST R3, R5
  3864. 0D4014D0 BNE loc_D4014D6
  3865. 0D4014D0
  3866. 0D4014D2 LDR R3, =LT_AHB_UNK11
  3867. 0D4014D4 STR R4, [R3]
  3868. 0D4014D4
  3869. 0D4014D6
  3870. 0D4014D6 loc_D4014D6
  3871. 0D4014D6 POP {R4,R5}
  3872. 0D4014D8 POP {R1}
  3873. 0D4014DA BX R1
  3874. 0D4014DA
  3875. 0D4014DA
  3876. 0D4014DA
  3877. 0D4014DC off_D4014DC DCD LT_ASICREV_ACR
  3878. 0D4014E0 off_D4014E0 DCD LT_AHB_UNK11
  3879. 0D4014E0 sub_D4014A0+32r
  3880. 0D4014E4 off_D4014E4 DCD LT_AHB_UNK13
  3881. 0D4014E8 off_D4014E8 DCD dword_D8B0000
  3882. 0D4014EC
  3883. 0D4014EC
  3884. 0D4014EC
  3885. 0D4014EC
  3886. 0D4014EC sub_D4014EC
  3887. 0D4014EC sub_D4017E8+Ap ...
  3888. 0D4014EC PUSH {R4-R7,LR}
  3889. 0D4014EE MOV R7, R11
  3890. 0D4014F0 MOV R6, R10
  3891. 0D4014F2 MOV R5, R9
  3892. 0D4014F4 MOV R4, R8
  3893. 0D4014F6 PUSH {R4-R7}
  3894. 0D4014F8 MOVS R4, R0
  3895. 0D4014FA CMP R0, #0xC
  3896. 0D4014FC BNE loc_D401500
  3897. 0D4014FC
  3898. 0D4014FE B loc_D401680
  3899. 0D4014FE
  3900. 0D401500
  3901. 0D401500 loc_D401500
  3902. 0D401500 CMP R0, #0xB
  3903. 0D401502 BNE loc_D401506
  3904. 0D401502
  3905. 0D401504 B loc_D4016A4
  3906. 0D401504
  3907. 0D401506
  3908. 0D401506 loc_D401506
  3909. 0D401506 CMP R0, #0
  3910. 0D401508 BEQ loc_D40150C
  3911. 0D401508
  3912. 0D40150A B loc_D401656
  3913. 0D40150A
  3914. 0D40150C
  3915. 0D40150C loc_D40150C
  3916. 0D40150C MOVS R7, #0x8000
  3917. 0D40150C
  3918. 0D401510
  3919. 0D401510 loc_D401510
  3920. 0D401510 sub_D4014EC+196j ...
  3921. 0D401510 MOVS R0, #8
  3922. 0D401512 BL sub_D4014A0
  3923. 0D401512
  3924. 0D401516 TST R0, R7
  3925. 0D401518 BEQ loc_D40151C
  3926. 0D401518
  3927. 0D40151A B loc_D401646
  3928. 0D40151A
  3929. 0D40151C
  3930. 0D40151C loc_D40151C
  3931. 0D40151C SUBS R3, R4, #2
  3932. 0D40151E CMP R3, #8
  3933. 0D401520 BLS loc_D401524
  3934. 0D401520
  3935. 0D401522 B loc_D401684
  3936. 0D401522
  3937. 0D401524
  3938. 0D401524 loc_D401524
  3939. 0D401524 LDR R4, =LT_BOOT0
  3940. 0D401526 LDR R3, [R4]
  3941. 0D401528 MOVS R2, #0xF
  3942. 0D40152A ANDS R3, R2
  3943. 0D40152C CMP R3, #9
  3944. 0D40152E BNE loc_D401532
  3945. 0D40152E
  3946. 0D401530 B loc_D4016AA
  3947. 0D401530
  3948. 0D401532
  3949. 0D401532 loc_D401532
  3950. 0D401532 sub_D4014EC+1D4j
  3951. 0D401532 LDR R1, =LT_COMPAT_UNK1
  3952. 0D401534 LDR R2, =0xFFFEFFFF
  3953. 0D401536 LDR R3, [R1]
  3954. 0D401538 ANDS R3, R2
  3955. 0D40153A STR R3, [R1]
  3956. 0D40153C MOVS R3, #0x80
  3957. 0D40153E LDR R2, [R1]
  3958. 0D401540 LSLS R3, R3, #0x12
  3959. 0D401542 ORRS R2, R3
  3960. 0D401544 STR R2, [R1]
  3961. 0D401546 SUBS R1, #0x64
  3962. 0D401548 LDR R2, [R1]
  3963. 0D40154A LDR R3, =0xFFFFF83F
  3964. 0D40154C ANDS R2, R3
  3965. 0D40154E MOVS R3, #0x280
  3966. 0D401552 ORRS R2, R3
  3967. 0D401554 STR R2, [R1]
  3968. 0D401556 ADDS R1, #0x10
  3969. 0D401558 LDR R2, [R1]
  3970. 0D40155A MOVS R3, #0x400
  3971. 0D40155E ORRS R2, R3
  3972. 0D401560 STR R2, [R1]
  3973. 0D401562 ADDS R1, #0x58
  3974. 0D401564 MOVS R2, #0xF
  3975. 0D401564
  3976. 0D401566
  3977. 0D401566 loc_D401566
  3978. 0D401566 LDR R3, [R1]
  3979. 0D401568 ANDS R3, R2
  3980. 0D40156A CMP R3, #9
  3981. 0D40156C BNE loc_D401566
  3982. 0D40156C
  3983. 0D40156E LDR R1, =LT_AHB_UNK1
  3984. 0D401570 MOVS R2, #0x80
  3985. 0D401572 LDR R3, [R1]
  3986. 0D401574 LSLS R2, R2, #3
  3987. 0D401576 ORRS R3, R2
  3988. 0D401578 STR R3, [R1]
  3989. 0D40157A ADDS R1, #4
  3990. 0D40157C LDR R3, [R1]
  3991. 0D40157E ORRS R3, R2
  3992. 0D401580 STR R3, [R1]
  3993. 0D401582 ADDS R1, #4
  3994. 0D401584 LDR R3, [R1]
  3995. 0D401586 ORRS R3, R2
  3996. 0D401588 STR R3, [R1]
  3997. 0D40158A LDR R3, =LT_AHB_UNK4
  3998. 0D40158C MOV R11, R3
  3999. 0D40158E LDR R3, [R3]
  4000. 0D401590 MOV R1, R11
  4001. 0D401592 ORRS R3, R2
  4002. 0D401594 STR R3, [R1]
  4003. 0D401596 LDR R3, =LT_AHB_UNK5
  4004. 0D401598 MOV R9, R3
  4005. 0D40159A LDR R3, [R3]
  4006. 0D40159C MOV R1, R9
  4007. 0D40159E ORRS R3, R2
  4008. 0D4015A0 STR R3, [R1]
  4009. 0D4015A2 LDR R3, =LT_AHB_UNK6
  4010. 0D4015A4 MOV R10, R3
  4011. 0D4015A6 LDR R3, [R3]
  4012. 0D4015A8 MOV R1, R10
  4013. 0D4015AA ORRS R3, R2
  4014. 0D4015AC STR R3, [R1]
  4015. 0D4015AE LDR R3, =LT_AHB_UNK7
  4016. 0D4015B0 MOV R8, R3
  4017. 0D4015B2 LDR R3, [R3]
  4018. 0D4015B4 MOV R1, R8
  4019. 0D4015B6 ORRS R3, R2
  4020. 0D4015B8 STR R3, [R1]
  4021. 0D4015BA LDR R6, =LT_AHB_UNK8
  4022. 0D4015BC LDR R3, [R6]
  4023. 0D4015BE ORRS R3, R2
  4024. 0D4015C0 LDR R5, =LT_AHB_UNK9
  4025. 0D4015C2 STR R3, [R6]
  4026. 0D4015C4 LDR R3, [R5]
  4027. 0D4015C6 ORRS R3, R2
  4028. 0D4015C8 STR R3, [R5]
  4029. 0D4015CA MOVS R0, #8
  4030. 0D4015CC BL sub_D4014A0
  4031. 0D4015CC
  4032. 0D4015D0 LDR R4, =dword_D8B0008
  4033. 0D4015D2 BICS R0, R7
  4034. 0D4015D4 STR R0, [R4]
  4035. 0D4015D6 MOVS R0, #8
  4036. 0D4015D8 BL sub_D4014A0
  4037. 0D4015D8
  4038. 0D4015DC ORRS R7, R0
  4039. 0D4015DE STR R7, [R4]
  4040. 0D4015E0 LDR R1, =LT_AHB_UNK12
  4041. 0D4015E2 LDR R2, =0xFFFFFBFF
  4042. 0D4015E4 LDR R3, [R1]
  4043. 0D4015E6 ANDS R3, R2
  4044. 0D4015E8 STR R3, [R1]
  4045. 0D4015EA SUBS R1, #0x34
  4046. 0D4015EC LDR R3, [R1]
  4047. 0D4015EE ANDS R3, R2
  4048. 0D4015F0 STR R3, [R1]
  4049. 0D4015F2 ADDS R1, #4
  4050. 0D4015F4 LDR R3, [R1]
  4051. 0D4015F6 ANDS R3, R2
  4052. 0D4015F8 STR R3, [R1]
  4053. 0D4015FA ADDS R1, #4
  4054. 0D4015FC LDR R3, [R1]
  4055. 0D4015FE ANDS R3, R2
  4056. 0D401600 STR R3, [R1]
  4057. 0D401602 MOV R1, R11
  4058. 0D401604 LDR R3, [R1]
  4059. 0D401606 ANDS R3, R2
  4060. 0D401608 STR R3, [R1]
  4061. 0D40160A MOV R1, R9
  4062. 0D40160C LDR R3, [R1]
  4063. 0D40160E ANDS R3, R2
  4064. 0D401610 STR R3, [R1]
  4065. 0D401612 MOV R1, R10
  4066. 0D401614 LDR R3, [R1]
  4067. 0D401616 ANDS R3, R2
  4068. 0D401618 STR R3, [R1]
  4069. 0D40161A MOV R1, R8
  4070. 0D40161C LDR R3, [R1]
  4071. 0D40161E ANDS R3, R2
  4072. 0D401620 STR R3, [R1]
  4073. 0D401622 LDR R3, [R6]
  4074. 0D401624 ANDS R3, R2
  4075. 0D401626 STR R3, [R6]
  4076. 0D401628 LDR R3, [R5]
  4077. 0D40162A ANDS R3, R2
  4078. 0D40162C STR R3, [R5]
  4079. 0D40162E ADDS R1, #0x70
  4080. 0D401630 LDR R3, [R1]
  4081. 0D401632 LDR R2, =0xFDFFFFFF
  4082. 0D401634 ANDS R3, R2
  4083. 0D401636 STR R3, [R1]
  4084. 0D401638 SUBS R1, #0x64
  4085. 0D40163A LDR R3, [R1]
  4086. 0D40163C LDR R2, =0xFFFFF83F
  4087. 0D40163E ANDS R3, R2
  4088. 0D401640 MOVS R2, #0xC0
  4089. 0D401642 ORRS R3, R2
  4090. 0D401644 STR R3, [R1]
  4091. 0D401644
  4092. 0D401646
  4093. 0D401646 loc_D401646
  4094. 0D401646 sub_D4014EC+1A2j ...
  4095. 0D401646 POP {R3-R6}
  4096. 0D401648 MOV R8, R3
  4097. 0D40164A MOV R9, R4
  4098. 0D40164C MOV R10, R5
  4099. 0D40164E MOV R11, R6
  4100. 0D401650 POP {R4-R7}
  4101. 0D401652 POP {R0}
  4102. 0D401654 BX R0
  4103. 0D401654
  4104. 0D401656
  4105. 0D401656 loc_D401656
  4106. 0D401656 CMP R0, #1
  4107. 0D401658 BEQ loc_D4016C2
  4108. 0D401658
  4109. 0D40165A CMP R0, #2
  4110. 0D40165C BEQ loc_D4016C8
  4111. 0D40165C
  4112. 0D40165E CMP R0, #3
  4113. 0D401660 BEQ loc_D4016D0
  4114. 0D401660
  4115. 0D401662 CMP R0, #4
  4116. 0D401664 BEQ loc_D4016D4
  4117. 0D401664
  4118. 0D401666 CMP R0, #5
  4119. 0D401668 BEQ loc_D4016CC
  4120. 0D401668
  4121. 0D40166A CMP R0, #6
  4122. 0D40166C BEQ loc_D4016D8
  4123. 0D40166C
  4124. 0D40166E CMP R0, #7
  4125. 0D401670 BEQ loc_D4016DC
  4126. 0D401670
  4127. 0D401672 CMP R0, #8
  4128. 0D401674 BEQ loc_D4016E0
  4129. 0D401674
  4130. 0D401676 CMP R0, #9
  4131. 0D401678 BEQ loc_D4016E4
  4132. 0D401678
  4133. 0D40167A MOVS R7, #0x100
  4134. 0D40167E B loc_D401510
  4135. 0D40167E
  4136. 0D401680
  4137. 0D401680 loc_D401680
  4138. 0D401680 MOVS R7, #0
  4139. 0D401682 B loc_D401510
  4140. 0D401682
  4141. 0D401684
  4142. 0D401684 loc_D401684
  4143. 0D401684 CMP R4, #0xB
  4144. 0D401686 BEQ loc_D401690
  4145. 0D401686
  4146. 0D401688 CMP R4, #0
  4147. 0D40168A BEQ loc_D401690
  4148. 0D40168A
  4149. 0D40168C CMP R4, #1
  4150. 0D40168E BNE loc_D401646
  4151. 0D40168E
  4152. 0D401690
  4153. 0D401690 loc_D401690
  4154. 0D401690 sub_D4014EC+19Ej
  4155. 0D401690 LDR R2, =dword_D8B0008
  4156. 0D401692 MOVS R3, R0
  4157. 0D401694 BICS R3, R7
  4158. 0D401696 STR R3, [R2]
  4159. 0D401698 MOVS R3, R0
  4160. 0D40169A ORRS R3, R7
  4161. 0D40169C STR R3, [R2]
  4162. 0D40169E STR R3, [R2]
  4163. 0D4016A0 STR R3, [R2]
  4164. 0D4016A2 B loc_D401646
  4165. 0D4016A2
  4166. 0D4016A4
  4167. 0D4016A4 loc_D4016A4
  4168. 0D4016A4 MOVS R7, #0x1000
  4169. 0D4016A8 B loc_D401510
  4170. 0D4016A8
  4171. 0D4016AA
  4172. 0D4016AA loc_D4016AA
  4173. 0D4016AA MOVS R2, #0x80
  4174. 0D4016AC LDR R1, =LT_COMPAT_UNK1
  4175. 0D4016AE LSLS R2, R2, #9
  4176. 0D4016B0 MOVS R0, #0xF
  4177. 0D4016B0
  4178. 0D4016B2
  4179. 0D4016B2 loc_D4016B2
  4180. 0D4016B2 LDR R3, [R1]
  4181. 0D4016B4 ORRS R3, R2
  4182. 0D4016B6 STR R3, [R1]
  4183. 0D4016B8 LDR R3, [R4]
  4184. 0D4016BA ANDS R3, R0
  4185. 0D4016BC CMP R3, #9
  4186. 0D4016BE BEQ loc_D4016B2
  4187. 0D4016BE
  4188. 0D4016C0 B loc_D401532
  4189. 0D4016C0
  4190. 0D4016C2
  4191. 0D4016C2 loc_D4016C2
  4192. 0D4016C2 MOVS R7, #0x4000
  4193. 0D4016C6 B loc_D401510
  4194. 0D4016C6
  4195. 0D4016C8
  4196. 0D4016C8 loc_D4016C8
  4197. 0D4016C8 MOVS R7, #1
  4198. 0D4016CA B loc_D401510
  4199. 0D4016CA
  4200. 0D4016CC
  4201. 0D4016CC loc_D4016CC
  4202. 0D4016CC MOVS R7, #8
  4203. 0D4016CE B loc_D401510
  4204. 0D4016CE
  4205. 0D4016D0
  4206. 0D4016D0 loc_D4016D0
  4207. 0D4016D0 MOVS R7, #2
  4208. 0D4016D2 B loc_D401510
  4209. 0D4016D2
  4210. 0D4016D4
  4211. 0D4016D4 loc_D4016D4
  4212. 0D4016D4 MOVS R7, #4
  4213. 0D4016D6 B loc_D401510
  4214. 0D4016D6
  4215. 0D4016D8
  4216. 0D4016D8 loc_D4016D8
  4217. 0D4016D8 MOVS R7, #0x10
  4218. 0D4016DA B loc_D401510
  4219. 0D4016DA
  4220. 0D4016DC
  4221. 0D4016DC loc_D4016DC
  4222. 0D4016DC MOVS R7, #0x20
  4223. 0D4016DE B loc_D401510
  4224. 0D4016DE
  4225. 0D4016E0
  4226. 0D4016E0 loc_D4016E0
  4227. 0D4016E0 MOVS R7, #0x40
  4228. 0D4016E2 B loc_D401510
  4229. 0D4016E2
  4230. 0D4016E4
  4231. 0D4016E4 loc_D4016E4
  4232. 0D4016E4 MOVS R7, #0x80
  4233. 0D4016E6 B loc_D401510
  4234. 0D4016E6
  4235. 0D4016E6
  4236. 0D4016E6
  4237. 0D4016E8 off_D4016E8 DCD LT_BOOT0
  4238. 0D4016EC off_D4016EC DCD LT_COMPAT_UNK1
  4239. 0D4016EC sub_D4014EC+1C0r
  4240. 0D4016F0 dword_D4016F0 DCD 0xFFFEFFFF
  4241. 0D4016F4 dword_D4016F4 DCD 0xFFFFF83F
  4242. 0D4016F4 sub_D4014EC+150r
  4243. 0D4016F8 off_D4016F8 DCD LT_AHB_UNK1
  4244. 0D4016FC off_D4016FC DCD LT_AHB_UNK4
  4245. 0D401700 off_D401700 DCD LT_AHB_UNK5
  4246. 0D401704 off_D401704 DCD LT_AHB_UNK6
  4247. 0D401708 off_D401708 DCD LT_AHB_UNK7
  4248. 0D40170C off_D40170C DCD LT_AHB_UNK8
  4249. 0D401710 off_D401710 DCD LT_AHB_UNK9
  4250. 0D401714 off_D401714 DCD dword_D8B0008
  4251. 0D401714 sub_D4014EC:loc_D401690r
  4252. 0D401718 off_D401718 DCD LT_AHB_UNK12
  4253. 0D40171C dword_D40171C DCD 0xFFFFFBFF
  4254. 0D401720 dword_D401720 DCD 0xFDFFFFFF
  4255. 0D401724
  4256. 0D401724
  4257. 0D401724
  4258. 0D401724
  4259. 0D401724 sub_D401724
  4260. 0D401724 PUSH {R4,LR}
  4261. 0D401726 LDR R3, =word_D8B4000
  4262. 0D401728 ORRS R3, R0
  4263. 0D40172A MOVS R0, #0
  4264. 0D40172C LDRH R4, [R3]
  4265. 0D40172E BL sub_D4014EC
  4266. 0D40172E
  4267. 0D401732 LSLS R4, R4, #0x10
  4268. 0D401734 LSRS R4, R4, #0x10
  4269. 0D401736 MOVS R0, R4
  4270. 0D401738 POP {R4}
  4271. 0D40173A POP {R1}
  4272. 0D40173C BX R1
  4273. 0D40173C
  4274. 0D40173C
  4275. 0D40173C
  4276. 0D40173E ALIGN 0x10
  4277. 0D401740 off_D401740 DCD word_D8B4000
  4278. 0D401744
  4279. 0D401744
  4280. 0D401744
  4281. 0D401744
  4282. 0D401744 call_ahbMemFlush
  4283. 0D401744 sha1+ECp ...
  4284. 0D401744 PUSH {R4-R6,LR}
  4285. 0D401746 MOVS R5, #0
  4286. 0D401748 CMP R0, #0xC
  4287. 0D40174A BHI def_D401752 jumptable 0D401752 default case
  4288. 0D40174A
  4289. 0D40174C LDR R2, =jpt_D401752
  4290. 0D40174E LSLS R3, R0, #2
  4291. 0D401750 LDR R3, [R3,R2]
  4292. 0D401752 MOV PC, R3
  4293. 0D401752
  4294. 0D401754
  4295. 0D401754 def_D401752
  4296. 0D401754 SUBS R0, #0xD jumptable 0D401752 default case
  4297. 0D401756 CMP R0, #4
  4298. 0D401758 BLS loc_D401792
  4299. 0D401758
  4300. 0D40175A
  4301. 0D40175A def_D401798
  4302. 0D40175A call_ahbMemFlush+5Cj ...
  4303. 0D40175A LDR R3, =MEM_FLUSH_MASK jumptable 0D401798 default case
  4304. 0D40175C STRH R5, [R3] Mask of the AHB connected client to flush memory to/from
  4305. 0D40175E MOVS R6, #0
  4306. 0D401760 MOVS R4, #0
  4307. 0D401760
  4308. 0D401762
  4309. 0D401762 loc_D401762
  4310. 0D401762 LDR R0, =byte_22A
  4311. 0D401764 BL sub_D401724
  4312. 0D401764
  4313. 0D401768 MOVS R3, R5
  4314. 0D40176A EORS R3, R0
  4315. 0D40176C LSLS R3, R3, #0x10
  4316. 0D40176E CMP R3, #0
  4317. 0D401770 BEQ loc_D4017BA
  4318. 0D401770
  4319. 0D401772 MOVS R0, #1
  4320. 0D401774 BL delay_0
  4321. 0D401774
  4322. 0D401778 LDR R3, =0xF423F
  4323. 0D40177A ADDS R4, #1
  4324. 0D40177C CMP R4, R3
  4325. 0D40177E BLS loc_D401762
  4326. 0D40177E
  4327. 0D401780 LDR R3, =MEM_FLUSH_MASK Mask of the AHB connected client to flush memory to/from
  4328. 0D401782 MOVS R2, #0
  4329. 0D401784 STRH R2, [R3] Mask of the AHB connected client to flush memory to/from
  4330. 0D401786 CMP R6, #0
  4331. 0D401788 BEQ loc_D4017C6
  4332. 0D401788
  4333. 0D40178A
  4334. 0D40178A loc_D40178A
  4335. 0D40178A call_ahbMemFlush+8Aj
  4336. 0D40178A POP {R4-R6}
  4337. 0D40178C POP {R0}
  4338. 0D40178E BX R0
  4339. 0D40178E
  4340. 0D401790
  4341. 0D401790 loc_D401790
  4342. 0D401790 DATA XREF: jpt_D401752o ...
  4343. 0D401790 MOVS R0, #0 jumptable 0D401752 cases 0,1,11
  4344. 0D401790
  4345. 0D401792
  4346. 0D401792 loc_D401792
  4347. 0D401792 call_ahbMemFlush+6Cj ...
  4348. 0D401792 LDR R2, =jpt_D401798
  4349. 0D401794 LSLS R3, R0, #2
  4350. 0D401796 LDR R3, [R3,R2]
  4351. 0D401798 MOV PC, R3
  4352. 0D401798
  4353. 0D40179A
  4354. 0D40179A loc_D40179A
  4355. 0D40179A DATA XREF: 0D40400Co
  4356. 0D40179A MOVS R5, #0xF jumptable 0D401798 case 17
  4357. 0D40179C B def_D401798 jumptable 0D401798 default case
  4358. 0D40179C
  4359. 0D40179E
  4360. 0D40179E loc_D40179E
  4361. 0D40179E DATA XREF: 0D404008o
  4362. 0D40179E MOVS R5, #8 jumptable 0D401798 case 16
  4363. 0D4017A0 B def_D401798 jumptable 0D401798 default case
  4364. 0D4017A0
  4365. 0D4017A2
  4366. 0D4017A2 loc_D4017A2
  4367. 0D4017A2 DATA XREF: 0D404004o
  4368. 0D4017A2 MOVS R5, #4 jumptable 0D401798 case 15
  4369. 0D4017A4 B def_D401798 jumptable 0D401798 default case
  4370. 0D4017A4
  4371. 0D4017A6
  4372. 0D4017A6 loc_D4017A6
  4373. 0D4017A6 DATA XREF: 0D404000o
  4374. 0D4017A6 MOVS R5, #2 jumptable 0D401798 case 14
  4375. 0D4017A8 B def_D401798 jumptable 0D401798 default case
  4376. 0D4017A8
  4377. 0D4017AA
  4378. 0D4017AA loc_D4017AA
  4379. 0D4017AA DATA XREF: jpt_D401798o
  4380. 0D4017AA MOVS R5, #1 jumptable 0D401798 case 13
  4381. 0D4017AC B def_D401798 jumptable 0D401798 default case
  4382. 0D4017AC
  4383. 0D4017AE
  4384. 0D4017AE loc_D4017AE
  4385. 0D4017AE DATA XREF: 0D403FD0o ...
  4386. 0D4017AE MOVS R0, #2 jumptable 0D401752 cases 2,6
  4387. 0D4017B0 B loc_D401792
  4388. 0D4017B0
  4389. 0D4017B2
  4390. 0D4017B2 loc_D4017B2
  4391. 0D4017B2 DATA XREF: 0D403FD4o ...
  4392. 0D4017B2 MOVS R0, #3 jumptable 0D401752 cases 3,7-10
  4393. 0D4017B4 B loc_D401792
  4394. 0D4017B4
  4395. 0D4017B6
  4396. 0D4017B6 loc_D4017B6
  4397. 0D4017B6 DATA XREF: 0D403FD8o ...
  4398. 0D4017B6 MOVS R0, #1 jumptable 0D401752 cases 4,5,12
  4399. 0D4017B8 B loc_D401792
  4400. 0D4017B8
  4401. 0D4017BA
  4402. 0D4017BA loc_D4017BA
  4403. 0D4017BA LDR R3, =MEM_FLUSH_MASK Mask of the AHB connected client to flush memory to/from
  4404. 0D4017BC MOVS R2, #0
  4405. 0D4017BE MOVS R6, #1
  4406. 0D4017C0 STRH R2, [R3] Mask of the AHB connected client to flush memory to/from
  4407. 0D4017C2 CMP R6, #0
  4408. 0D4017C4 BNE loc_D40178A
  4409. 0D4017C4
  4410. 0D4017C6
  4411. 0D4017C6 loc_D4017C6
  4412. 0D4017C6 MOVS R1, R5
  4413. 0D4017C8 LDR R0, =aErrorAhbmemflu "ERROR: ahbMemFlush(0x%x) did not ack!\n"
  4414. 0D4017CA BL do_debug_log
  4415. 0D4017CA
  4416. 0D4017CE B loc_D40178A
  4417. 0D4017CE
  4418. 0D4017CE
  4419. 0D4017CE
  4420. 0D4017D0 off_D4017D0 DCD jpt_D401752
  4421. 0D4017D4 off_D4017D4 DCD MEM_FLUSH_MASK
  4422. 0D4017D4 call_ahbMemFlush+3Cr ...
  4423. 0D4017D4 Mask of the AHB connected client to flush memory to/from
  4424. 0D4017D8 off_D4017D8 DCD byte_22A
  4425. 0D4017DC dword_D4017DC DCD 0xF423F
  4426. 0D4017E0 off_D4017E0 DCD jpt_D401798
  4427. 0D4017E4 off_D4017E4 DCD aErrorAhbmemflu
  4428. 0D4017E4 "ERROR: ahbMemFlush(0x%x) did not ack!\n"
  4429. 0D4017E8
  4430. 0D4017E8
  4431. 0D4017E8
  4432. 0D4017E8
  4433. 0D4017E8 sub_D4017E8
  4434. 0D4017E8 PUSH {R4,LR}
  4435. 0D4017EA BL sub_D4014A0
  4436. 0D4017EA
  4437. 0D4017EE MOVS R4, R0
  4438. 0D4017F0 MOVS R0, #0
  4439. 0D4017F2 BL sub_D4014EC
  4440. 0D4017F2
  4441. 0D4017F6 MOVS R0, R4
  4442. 0D4017F8 POP {R4}
  4443. 0D4017FA POP {R1}
  4444. 0D4017FC BX R1
  4445. 0D4017FC
  4446. 0D4017FC
  4447. 0D4017FC
  4448. 0D4017FE ALIGN 0x10
  4449. 0D401800
  4450. 0D401800
  4451. 0D401800
  4452. 0D401800
  4453. 0D401800 call_ahbMemFlush2
  4454. 0D401800 sha1+F2p ...
  4455. 0D401800 PUSH {R4,LR}
  4456. 0D401802 MOVS R4, R0
  4457. 0D401804 BL sub_D4014EC
  4458. 0D401804
  4459. 0D401808 CMP R4, #0
  4460. 0D40180A BNE loc_D401812
  4461. 0D40180A
  4462. 0D40180C
  4463. 0D40180C loc_D40180C
  4464. 0D40180C POP {R4}
  4465. 0D40180E POP {R0}
  4466. 0D401810 BX R0
  4467. 0D401810
  4468. 0D401812
  4469. 0D401812 loc_D401812
  4470. 0D401812 MOVS R0, #0
  4471. 0D401814 BL sub_D4014EC
  4472. 0D401814
  4473. 0D401818 B loc_D40180C
  4474. 0D401818
  4475. 0D401818
  4476. 0D401818
  4477. 0D40181A ALIGN 4
  4478. 0D40181C
  4479. 0D40181C
  4480. 0D40181C
  4481. 0D40181C
  4482. 0D40181C poke_f4
  4483. 0D40181C LDR R2, =LT_GPIO_INTMASK
  4484. 0D40181E LDR R3, [R2]
  4485. 0D401820 ORRS R3, R0
  4486. 0D401822 STR R3, [R2]
  4487. 0D401824 BX LR
  4488. 0D401824
  4489. 0D401824
  4490. 0D401824
  4491. 0D401826 ALIGN 4
  4492. 0D401828 off_D401828 DCD LT_GPIO_INTMASK
  4493. 0D40182C
  4494. 0D40182C
  4495. 0D40182C
  4496. 0D40182C
  4497. 0D40182C poke_ec
  4498. 0D40182C LDR R2, =LT_GPIO_INTLVL
  4499. 0D40182E LDR R3, [R2]
  4500. 0D401830 ORRS R3, R0
  4501. 0D401832 STR R3, [R2]
  4502. 0D401834 BX LR
  4503. 0D401834
  4504. 0D401834
  4505. 0D401834
  4506. 0D401836 ALIGN 4
  4507. 0D401838 off_D401838 DCD LT_GPIO_INTLVL
  4508. 0D40183C
  4509. 0D40183C
  4510. 0D40183C
  4511. 0D40183C
  4512. 0D40183C poke_fc
  4513. 0D40183C sub_D4018FC+Ep
  4514. 0D40183C LDR R3, =LT_GPIO_OWNER
  4515. 0D40183E STR R0, [R3]
  4516. 0D401840 BX LR
  4517. 0D401840
  4518. 0D401840
  4519. 0D401840
  4520. 0D401842 ALIGN 4
  4521. 0D401844 off_D401844 DCD LT_GPIO_OWNER
  4522. 0D401848
  4523. 0D401848
  4524. 0D401848
  4525. 0D401848
  4526. 0D401848 set_gpio2_bits
  4527. 0D401848 sub_D4018E8+Ap ...
  4528. 0D401848 LDR R2, =LT_GPIO_OUT
  4529. 0D40184A LDR R3, [R2]
  4530. 0D40184C BICS R3, R0
  4531. 0D40184E ORRS R3, R1
  4532. 0D401850 STR R3, [R2]
  4533. 0D401852 BX LR
  4534. 0D401852
  4535. 0D401852
  4536. 0D401852
  4537. 0D401854 off_D401854 DCD LT_GPIO_OUT
  4538. 0D401858
  4539. 0D401858
  4540. 0D401858
  4541. 0D401858
  4542. 0D401858 set_gpio2_dir
  4543. 0D401858 sub_D4018FC+14p
  4544. 0D401858 LDR R3, =LT_GPIO_DIR Boot1 sets this to 0xFFDF3E
  4545. 0D40185A STR R0, [R3]
  4546. 0D40185C BX LR
  4547. 0D40185C
  4548. 0D40185C
  4549. 0D40185C
  4550. 0D40185E ALIGN 0x10
  4551. 0D401860 off_D401860 DCD LT_GPIO_DIR
  4552. 0D401860 Boot1 sets this to 0xFFDF3E
  4553. 0D401864
  4554. 0D401864
  4555. 0D401864
  4556. 0D401864
  4557. 0D401864 set_gpio1_bits
  4558. 0D401864 LDR R2, =LT_GPIOE_OUT
  4559. 0D401866 LDR R3, [R2]
  4560. 0D401868 BICS R3, R0
  4561. 0D40186A ORRS R3, R1
  4562. 0D40186C STR R3, [R2]
  4563. 0D40186E BX LR
  4564. 0D40186E
  4565. 0D40186E
  4566. 0D40186E
  4567. 0D401870 off_D401870 DCD LT_GPIOE_OUT
  4568. 0D401874
  4569. 0D401874
  4570. 0D401874
  4571. 0D401874
  4572. 0D401874 set_gpio1_dir
  4573. 0D401874 LDR R3, =LT_GPIOE_DIR
  4574. 0D401876 STR R0, [R3]
  4575. 0D401878 BX LR
  4576. 0D401878
  4577. 0D401878
  4578. 0D401878
  4579. 0D40187A ALIGN 4
  4580. 0D40187C off_D40187C DCD LT_GPIOE_DIR
  4581. 0D401880
  4582. 0D401880
  4583. 0D401880
  4584. 0D401880
  4585. 0D401880 poke_dc
  4586. 0D401880 LDR R3, =LT_GPIO_ENABLE
  4587. 0D401882 STR R0, [R3]
  4588. 0D401884 BX LR
  4589. 0D401884
  4590. 0D401884
  4591. 0D401884
  4592. 0D401886 ALIGN 4
  4593. 0D401888 off_D401888 DCD LT_GPIO_ENABLE
  4594. 0D40188C
  4595. 0D40188C
  4596. 0D40188C
  4597. 0D40188C
  4598. 0D40188C gpio_stuff
  4599. 0D40188C PUSH {R4,LR}
  4600. 0D40188E LDR R4, =0xFF1C1E
  4601. 0D401890 LDR R0, =0xC3A0
  4602. 0D401892 BL poke_fc
  4603. 0D401892
  4604. 0D401896 MOVS R0, R4
  4605. 0D401898 MOVS R1, #0xC
  4606. 0D40189A BL set_gpio2_bits
  4607. 0D40189A
  4608. 0D40189E MOVS R0, R4
  4609. 0D4018A0 LDR R4, =0xC320
  4610. 0D4018A2 BL set_gpio2_dir
  4611. 0D4018A2
  4612. 0D4018A6 MOVS R1, #0
  4613. 0D4018A8 MOVS R0, R4
  4614. 0D4018AA BL set_gpio1_bits
  4615. 0D4018AA
  4616. 0D4018AE MOVS R0, R4
  4617. 0D4018B0 BL set_gpio1_dir
  4618. 0D4018B0
  4619. 0D4018B4 LDR R0, =0xFFFFFF
  4620. 0D4018B6 BL poke_dc
  4621. 0D4018B6
  4622. 0D4018BA MOVS R0, #0x7D0
  4623. 0D4018BE BL delay_0
  4624. 0D4018BE
  4625. 0D4018C2 MOVS R0, #1
  4626. 0D4018C4 BL poke_f4
  4627. 0D4018C4
  4628. 0D4018C8 MOVS R0, #1
  4629. 0D4018CA BL poke_ec
  4630. 0D4018CA
  4631. 0D4018CE POP {R4}
  4632. 0D4018D0 POP {R0}
  4633. 0D4018D2 BX R0
  4634. 0D4018D2
  4635. 0D4018D2
  4636. 0D4018D2
  4637. 0D4018D4 dword_D4018D4 DCD 0xFF1C1E
  4638. 0D4018D8 dword_D4018D8 DCD 0xC3A0
  4639. 0D4018DC dword_D4018DC DCD 0xC320
  4640. 0D4018E0 dword_D4018E0 DCD 0xFFFFFF
  4641. 0D4018E4
  4642. 0D4018E4
  4643. 0D4018E4
  4644. 0D4018E4
  4645. 0D4018E4 sub_D4018E4
  4646. 0D4018E4 MOVS R0, #0
  4647. 0D4018E6 BX LR
  4648. 0D4018E6
  4649. 0D4018E6
  4650. 0D4018E6
  4651. 0D4018E8
  4652. 0D4018E8
  4653. 0D4018E8
  4654. 0D4018E8
  4655. 0D4018E8 sub_D4018E8
  4656. 0D4018E8 PUSH {LR}
  4657. 0D4018EA LSLS R1, R0, #0x18
  4658. 0D4018EC MOVS R0, #0xFF0000
  4659. 0D4018F0 LSRS R1, R1, #8
  4660. 0D4018F2 BL set_gpio2_bits
  4661. 0D4018F2
  4662. 0D4018F6 POP {R0}
  4663. 0D4018F8 BX R0
  4664. 0D4018F8
  4665. 0D4018F8
  4666. 0D4018F8
  4667. 0D4018FA ALIGN 4
  4668. 0D4018FC
  4669. 0D4018FC
  4670. 0D4018FC
  4671. 0D4018FC
  4672. 0D4018FC sub_D4018FC
  4673. 0D4018FC PUSH {LR}
  4674. 0D4018FE LDR R3, =LT_GPIOE_OUT
  4675. 0D401900 LDR R0, =0xC120
  4676. 0D401902 LDR R1, [R3]
  4677. 0D401904 BL set_gpio2_bits
  4678. 0D401904
  4679. 0D401908 MOVS R0, #0
  4680. 0D40190A BL poke_fc
  4681. 0D40190A
  4682. 0D40190E LDR R0, =0xFFDF3E
  4683. 0D401910 BL set_gpio2_dir
  4684. 0D401910
  4685. 0D401914 POP {R0}
  4686. 0D401916 BX R0
  4687. 0D401916
  4688. 0D401916
  4689. 0D401916
  4690. 0D401918 off_D401918 DCD LT_GPIOE_OUT
  4691. 0D40191C dword_D40191C DCD 0xC120
  4692. 0D401920 dword_D401920 DCD 0xFFDF3E
  4693. 0D401924
  4694. 0D401924
  4695. 0D401924
  4696. 0D401924
  4697. 0D401924 init_dram
  4698. 0D401924
  4699. 0D401924 var_30 = -0x30
  4700. 0D401924 var_2C = -0x2C
  4701. 0D401924 var_28 = -0x28
  4702. 0D401924 arg_0 = 0
  4703. 0D401924
  4704. 0D401924 PUSH {R4-R7,LR}
  4705. 0D401926 MOV R7, R11
  4706. 0D401928 MOV R6, R10
  4707. 0D40192A MOV R5, R9
  4708. 0D40192C MOV R4, R8
  4709. 0D40192E PUSH {R4-R7}
  4710. 0D401930 LSLS R3, R3, #0x18
  4711. 0D401932 SUB SP, SP, #0xC
  4712. 0D401934 LSRS R3, R3, #0x18
  4713. 0D401936 STR R3, [SP,#0x30+var_2C]
  4714. 0D401938 LDR R7, =LT_RESETS_COMPAT
  4715. 0D40193A LDR R3, [SP,#0x30+arg_0]
  4716. 0D40193C STR R0, [SP,#0x30+var_28]
  4717. 0D40193E LSLS R1, R1, #0x10
  4718. 0D401940 LSLS R3, R3, #0x18
  4719. 0D401942 MOVS R0, #0x80
  4720. 0D401944 LDR R6, [R7]
  4721. 0D401946 LSRS R1, R1, #0x10
  4722. 0D401948 LSRS R3, R3, #0x18
  4723. 0D40194A LSLS R2, R0, #4
  4724. 0D40194C MOV R10, R1
  4725. 0D40194E STR R3, [SP,#0x30+var_30]
  4726. 0D401950 MOV R8, R2
  4727. 0D401952 TST R6, R2
  4728. 0D401954 BEQ sub_D40195A
  4729. 0D401954
  4730. 0D401956 BL sub_D402208
  4731. 0D401956
  4732. 0D401956
  4733. 0D401956
  4734. 0D40195A
  4735. 0D40195A
  4736. 0D40195A
  4737. 0D40195A
  4738. 0D40195A sub_D40195A
  4739. 0D40195A sub_D402208+1Ep
  4740. 0D40195A
  4741. 0D40195A var_38 = -0x38
  4742. 0D40195A var_34 = -0x34
  4743. 0D40195A var_30 = -0x30
  4744. 0D40195A arg_0 = 0
  4745. 0D40195A arg_4 = 4
  4746. 0D40195A arg_8 = 8
  4747. 0D40195A
  4748. 0D40195A
  4749. 0D40195A
  4750. 0D40195A LDR R6, [R7]
  4751. 0D40195C LDR R5, =0xFFFFF7FF
  4752. 0D40195E ANDS R6, R5
  4753. 0D401960 STR R6, [R7]
  4754. 0D401962 MOVS R0, #0x64
  4755. 0D401964 BL delay_0
  4756. 0D401964
  4757. 0D401968 LDR R2, =LT_DIFLAGS
  4758. 0D40196A LDR R6, [R2]
  4759. 0D40196C MOVS R3, #0x20
  4760. 0D40196E BICS R6, R3
  4761. 0D401970 STR R6, [R2]
  4762. 0D401972 LDR R4, =0xFFFFFEFF
  4763. 0D401974 LDR R6, [R7]
  4764. 0D401976 ANDS R6, R4
  4765. 0D401978 STR R6, [R7]
  4766. 0D40197A MOVS R0, #0xA
  4767. 0D40197C BL delay_0
  4768. 0D40197C
  4769. 0D401980 LDR R6, [R7]
  4770. 0D401982 MOV R3, R8
  4771. 0D401984 ANDS R5, R6
  4772. 0D401986 ORRS R5, R3
  4773. 0D401988 STR R5, [R7]
  4774. 0D40198A MOVS R0, #5
  4775. 0D40198C BL delay_0
  4776. 0D40198C
  4777. 0D401990 LDR R3, [R7]
  4778. 0D401992 MOVS R5, #0x80
  4779. 0D401994 ANDS R3, R4
  4780. 0D401996 LSLS R5, R5, #1
  4781. 0D401998 ORRS R3, R5
  4782. 0D40199A STR R3, [R7]
  4783. 0D40199C MOVS R0, #0xA
  4784. 0D40199E BL delay_0
  4785. 0D40199E
  4786. 0D4019A2 LDR R6, [R7]
  4787. 0D4019A4 ANDS R6, R4
  4788. 0D4019A6 ANDS R4, R6
  4789. 0D4019A8 MOVS R0, #0x64
  4790. 0D4019AA STR R6, [R7]
  4791. 0D4019AC ORRS R4, R5
  4792. 0D4019AE BL delay_0
  4793. 0D4019AE
  4794. 0D4019B2 MOVS R0, #5
  4795. 0D4019B4 STR R4, [R7]
  4796. 0D4019B6 BL delay_0
  4797. 0D4019B6
  4798. 0D4019BA MOV R0, R10
  4799. 0D4019BC MOVS R1, #0x1B
  4800. 0D4019BE BL sub_D403DC8
  4801. 0D4019BE
  4802. 0D4019C2 LSLS R0, R0, #0x10
  4803. 0D4019C4 LSRS R0, R0, #0x10
  4804. 0D4019C6 MOVS R3, #0x1B
  4805. 0D4019C8 MULS R3, R0
  4806. 0D4019CA CMP R3, R10
  4807. 0D4019CC BNE loc_D4019D2
  4808. 0D4019CC
  4809. 0D4019CE BL sub_D402280
  4810. 0D4019CE
  4811. 0D4019D2
  4812. 0D4019D2 loc_D4019D2
  4813. 0D4019D2 MOVS R3, #0x3E8
  4814. 0D4019D6 CMP R10, R3
  4815. 0D4019D8 BLS loc_D4019FC
  4816. 0D4019D8
  4817. 0D4019DA MOVS R0, #1
  4818. 0D4019DC MOVS R2, #0
  4819. 0D4019DE MOVS R3, #0x1A
  4820. 0D4019E0 MOV R7, R10
  4821. 0D4019E2 MOV R9, R0
  4822. 0D4019E4 MOV R8, R2
  4823. 0D4019E6 MOV R11, R3
  4824. 0D4019E8 SUBS R7, #1
  4825. 0D4019EA B loc_D401A0E
  4826. 0D4019EA
  4827. 0D4019EC off_D4019EC DCD LT_RESETS_COMPAT DATA XREF: init_dram+14r
  4828. 0D4019F0 dword_D4019F0 DCD 0xFFFFF7FF
  4829. 0D4019F4 off_D4019F4 DCD LT_DIFLAGS
  4830. 0D4019F8 dword_D4019F8 DCD 0xFFFFFEFF
  4831. 0D4019FC
  4832. 0D4019FC loc_D4019FC
  4833. 0D4019FC MOVS R0, #0
  4834. 0D4019FE MOVS R2, #4
  4835. 0D401A00 MOVS R3, #0x1A
  4836. 0D401A02 MOV R9, R0
  4837. 0D401A04 MOV R8, R2
  4838. 0D401A06 MOV R11, R3
  4839. 0D401A08 MOV R0, R10
  4840. 0D401A08
  4841. 0D401A0A
  4842. 0D401A0A loc_D401A0A
  4843. 0D401A0A LSLS R3, R0, #1
  4844. 0D401A0C SUBS R7, R3, #1
  4845. 0D401A0C
  4846. 0D401A0E
  4847. 0D401A0E loc_D401A0E
  4848. 0D401A0E sub_D402280+14p
  4849. 0D401A0E LDR R6, =dword_D8001C0
  4850. 0D401A10 LDR R5, =0x7FFFFFFF
  4851. 0D401A12 LDR R3, [R6]
  4852. 0D401A14 LDR R4, =0xBFFFFFFF
  4853. 0D401A16 ANDS R3, R5
  4854. 0D401A18 ANDS R3, R4
  4855. 0D401A1A STR R3, [R6]
  4856. 0D401A1C MOVS R0, #0x64
  4857. 0D401A1E BL delay_0
  4858. 0D401A1E
  4859. 0D401A22 LDR R1, =dword_D8001BC
  4860. 0D401A24 LDR R3, [R1]
  4861. 0D401A26 MOVS R2, #0x3F
  4862. 0D401A28 BICS R3, R2
  4863. 0D401A2A MOV R2, R11
  4864. 0D401A2C ORRS R3, R2
  4865. 0D401A2E LDR R2, =0xFFFC003F
  4866. 0D401A30 ANDS R3, R2
  4867. 0D401A32 LSLS R2, R7, #6
  4868. 0D401A34 ORRS R3, R2
  4869. 0D401A36 LDR R2, =0xF803FFFF
  4870. 0D401A38 MOV R0, R8
  4871. 0D401A3A ANDS R3, R2
  4872. 0D401A3C LSLS R2, R0, #0x12
  4873. 0D401A3E ORRS R3, R2
  4874. 0D401A40 LDR R2, =0xEFFFFFFF
  4875. 0D401A42 MOV R0, R9
  4876. 0D401A44 MOV R8, R2
  4877. 0D401A46 ANDS R3, R2
  4878. 0D401A48 LSLS R2, R0, #0x1C
  4879. 0D401A4A ORRS R3, R2
  4880. 0D401A4C STR R3, [R1]
  4881. 0D401A4E MOVS R0, #0x64
  4882. 0D401A50 BL delay_0
  4883. 0D401A50
  4884. 0D401A54 LDR R3, [R6]
  4885. 0D401A56 ANDS R3, R5
  4886. 0D401A58 ANDS R4, R3
  4887. 0D401A5A MOVS R3, #0x40000000
  4888. 0D401A5E MOV R2, R8
  4889. 0D401A60 ORRS R4, R3
  4890. 0D401A62 MOVS R3, #0x80
  4891. 0D401A64 ANDS R4, R2
  4892. 0D401A66 LSLS R3, R3, #0x15
  4893. 0D401A68 ORRS R4, R3
  4894. 0D401A6A LDR R3, =0xF7FFFFFF
  4895. 0D401A6C ANDS R4, R3
  4896. 0D401A6E MOVS R3, #0x8000000
  4897. 0D401A72 ORRS R4, R3
  4898. 0D401A74 MOVS R0, #0x3E8
  4899. 0D401A78 STR R4, [R6]
  4900. 0D401A7A BL delay_0
  4901. 0D401A7A
  4902. 0D401A7E LDR R3, [R6]
  4903. 0D401A80 ANDS R5, R3
  4904. 0D401A82 MOVS R3, #0x80000000
  4905. 0D401A86 ORRS R5, R3
  4906. 0D401A88 MOVS R0, #0x3E8
  4907. 0D401A8C STR R5, [R6]
  4908. 0D401A8E BL delay_0
  4909. 0D401A8E
  4910. 0D401A92 MOVS R0, #0x80
  4911. 0D401A94 MOVS R1, #0x24
  4912. 0D401A96 LSLS R0, R0, #1
  4913. 0D401A98 BL d8b4xxx_stuff_1
  4914. 0D401A98
  4915. 0D401A9C MOVS R0, #5
  4916. 0D401A9E BL delay_0
  4917. 0D401A9E
  4918. 0D401AA2 MOVS R0, #0x100
  4919. 0D401AA6 MOVS R1, #0x20
  4920. 0D401AA8 BL d8b4xxx_stuff_1
  4921. 0D401AA8
  4922. 0D401AAC MOVS R0, #0x4B
  4923. 0D401AAE MOVS R1, #0
  4924. 0D401AB0 BL d8b4xxx_stuff_3
  4925. 0D401AB0
  4926. 0D401AB4 LDR R3, [SP,#0x38+var_38]
  4927. 0D401AB6 CMP R3, #1
  4928. 0D401AB8 BNE loc_D401ABC
  4929. 0D401AB8
  4930. 0D401ABA B loc_D40222A
  4931. 0D401ABA
  4932. 0D401ABC
  4933. 0D401ABC loc_D401ABC
  4934. 0D401ABC MOVS R0, #0x48
  4935. 0D401ABE LDR R1, =0xD0B
  4936. 0D401AC0 BL d8b4xxx_stuff_3
  4937. 0D401AC0
  4938. 0D401AC4 MOVS R0, #0x32
  4939. 0D401AC6 BL delay_0
  4940. 0D401AC6
  4941. 0D401ACA LDR R0, [SP,#0x38+var_38]
  4942. 0D401ACC CMP R0, #1
  4943. 0D401ACE BNE loc_D401AD2
  4944. 0D401ACE
  4945. 0D401AD0 B loc_D402240
  4946. 0D401AD0
  4947. 0D401AD2
  4948. 0D401AD2 loc_D401AD2
  4949. 0D401AD2 sub_D402208+36j
  4950. 0D401AD2 LDR R1, =byte_50B
  4951. 0D401AD4 MOVS R0, #0x48
  4952. 0D401AD4
  4953. 0D401AD6
  4954. 0D401AD6 loc_D401AD6
  4955. 0D401AD6 BL d8b4xxx_stuff_3
  4956. 0D401AD6
  4957. 0D401ADA MOVS R0, #0x32
  4958. 0D401ADC BL delay_0
  4959. 0D401ADC
  4960. 0D401AE0 MOVS R0, #0x3E
  4961. 0D401AE2 LDR R1, =0xF0F0
  4962. 0D401AE4 BL d8b4xxx_stuff_3
  4963. 0D401AE4
  4964. 0D401AE8 MOVS R0, #0x3F
  4965. 0D401AEA LDR R1, =0xF0F0
  4966. 0D401AEC BL d8b4xxx_stuff_3
  4967. 0D401AEC
  4968. 0D401AF0 MOVS R0, #0x40
  4969. 0D401AF2 LDR R1, =0x1616
  4970. 0D401AF4 BL d8b4xxx_stuff_3
  4971. 0D401AF4
  4972. 0D401AF8 MOVS R0, #0x41
  4973. 0D401AFA LDR R1, =0x1616
  4974. 0D401AFC BL d8b4xxx_stuff_3
  4975. 0D401AFC
  4976. 0D401B00 MOVS R0, #0x42
  4977. 0D401B02 LDR R1, =0x1616
  4978. 0D401B04 BL d8b4xxx_stuff_3
  4979. 0D401B04
  4980. 0D401B08 MOVS R0, #0x43
  4981. 0D401B0A LDR R1, =0x1616
  4982. 0D401B0C BL d8b4xxx_stuff_3
  4983. 0D401B0C
  4984. 0D401B10 MOVS R0, #0x32
  4985. 0D401B12 BL delay_0
  4986. 0D401B12
  4987. 0D401B16 LDR R2, [SP,#0x38+var_38]
  4988. 0D401B18 CMP R2, #1
  4989. 0D401B1A BNE loc_D401B1E
  4990. 0D401B1A
  4991. 0D401B1C B loc_D4022D6
  4992. 0D401B1C
  4993. 0D401B1E
  4994. 0D401B1E loc_D401B1E
  4995. 0D401B1E LDR R1, =byte_10B
  4996. 0D401B20 MOVS R0, #0x48
  4997. 0D401B20
  4998. 0D401B22
  4999. 0D401B22 loc_D401B22
  5000. 0D401B22 BL d8b4xxx_stuff_3
  5001. 0D401B22
  5002. 0D401B26 MOVS R0, #0xA
  5003. 0D401B28 BL delay_0
  5004. 0D401B28
  5005. 0D401B2C MOVS R1, #0x80
  5006. 0D401B2E MOVS R0, #0x47
  5007. 0D401B30 LSLS R1, R1, #8
  5008. 0D401B32 BL d8b4xxx_stuff_3
  5009. 0D401B32
  5010. 0D401B36 MOVS R0, #0x27
  5011. 0D401B38 MOVS R1, #0
  5012. 0D401B3A BL d8b4xxx_stuff_3
  5013. 0D401B3A
  5014. 0D401B3E MOVS R0, #0x10C
  5015. 0D401B42 LDR R1, =byte_1FF
  5016. 0D401B44 BL d8b4xxx_stuff_1
  5017. 0D401B44
  5018. 0D401B48 LDR R0, =byte_10D
  5019. 0D401B4A LDR R1, =0xFFF
  5020. 0D401B4C BL d8b4xxx_stuff_1
  5021. 0D401B4C
  5022. 0D401B50 MOVS R0, #0x10E
  5023. 0D401B54 MOVS R1, #7
  5024. 0D401B56 BL d8b4xxx_stuff_1
  5025. 0D401B56
  5026. 0D401B5A LDR R0, =byte_10B
  5027. 0D401B5C MOVS R1, #1
  5028. 0D401B5E BL d8b4xxx_stuff_1
  5029. 0D401B5E
  5030. 0D401B62 LDR R0, =byte_109
  5031. 0D401B64 MOVS R1, #4
  5032. 0D401B66 BL d8b4xxx_stuff_1
  5033. 0D401B66
  5034. 0D401B6A MOVS R0, #0x108
  5035. 0D401B6E MOVS R1, #6
  5036. 0D401B70 BL d8b4xxx_stuff_1
  5037. 0D401B70
  5038. 0D401B74 MOVS R0, #0x10A
  5039. 0D401B78 MOVS R1, #2
  5040. 0D401B7A BL d8b4xxx_stuff_1
  5041. 0D401B7A
  5042. 0D401B7E LDR R0, =byte_15B
  5043. 0D401B80 LDR R1, =0xEFF
  5044. 0D401B82 BL d8b4xxx_stuff_1
  5045. 0D401B82
  5046. 0D401B86 MOVS R0, #0x134
  5047. 0D401B8A MOVS R1, #8
  5048. 0D401B8C BL d8b4xxx_stuff_1
  5049. 0D401B8C
  5050. 0D401B90 LDR R0, =byte_135
  5051. 0D401B92 MOVS R1, #0xC
  5052. 0D401B94 BL d8b4xxx_stuff_1
  5053. 0D401B94
  5054. 0D401B98 MOVS R0, #0x136
  5055. 0D401B9C MOVS R1, #0x18
  5056. 0D401B9E BL d8b4xxx_stuff_1
  5057. 0D401B9E
  5058. 0D401BA2 MOVS R0, #0x140
  5059. 0D401BA6 MOVS R1, #6
  5060. 0D401BA8 BL d8b4xxx_stuff_1
  5061. 0D401BA8
  5062. 0D401BAC MOVS R0, #0x15A
  5063. 0D401BB0 MOVS R1, #5
  5064. 0D401BB2 BL d8b4xxx_stuff_1
  5065. 0D401BB2
  5066. 0D401BB6 LDR R0, =byte_137
  5067. 0D401BB8 MOVS R1, #5
  5068. 0D401BBA BL d8b4xxx_stuff_1
  5069. 0D401BBA
  5070. 0D401BBE MOVS R0, #0x138
  5071. 0D401BC2 MOVS R1, #5
  5072. 0D401BC4 BL d8b4xxx_stuff_1
  5073. 0D401BC4
  5074. 0D401BC8 LDR R0, =byte_139
  5075. 0D401BCA MOVS R1, #5
  5076. 0D401BCC BL d8b4xxx_stuff_1
  5077. 0D401BCC
  5078. 0D401BD0 MOVS R0, #0x13A
  5079. 0D401BD4 MOVS R1, #5
  5080. 0D401BD6 BL d8b4xxx_stuff_1
  5081. 0D401BD6
  5082. 0D401BDA LDR R0, =byte_13B
  5083. 0D401BDC MOVS R1, #5
  5084. 0D401BDE BL d8b4xxx_stuff_1
  5085. 0D401BDE
  5086. 0D401BE2 MOVS R0, #0x13C
  5087. 0D401BE6 MOVS R1, #5
  5088. 0D401BE8 BL d8b4xxx_stuff_1
  5089. 0D401BE8
  5090. 0D401BEC LDR R0, =byte_13D
  5091. 0D401BEE MOVS R1, #5
  5092. 0D401BF0 BL d8b4xxx_stuff_1
  5093. 0D401BF0
  5094. 0D401BF4 MOVS R0, #0x13E
  5095. 0D401BF8 MOVS R1, #5
  5096. 0D401BFA BL d8b4xxx_stuff_1
  5097. 0D401BFA
  5098. 0D401BFE LDR R0, =byte_13F
  5099. 0D401C00 MOVS R1, #5
  5100. 0D401C02 BL d8b4xxx_stuff_1
  5101. 0D401C02
  5102. 0D401C06 MOVS R0, #0x1C
  5103. 0D401C08 MOVS R1, #0
  5104. 0D401C0A BL d8b4xxx_stuff_3
  5105. 0D401C0A
  5106. 0D401C0E MOVS R0, #0x1B
  5107. 0D401C10 MOVS R1, #0
  5108. 0D401C12 BL d8b4xxx_stuff_3
  5109. 0D401C12
  5110. 0D401C16 MOVS R0, #0
  5111. 0D401C18 MOVS R1, #0
  5112. 0D401C1A BL d8b4xxx_stuff_3
  5113. 0D401C1A
  5114. 0D401C1E MOVS R0, #0x15
  5115. 0D401C20 MOVS R1, #1
  5116. 0D401C22 BL d8b4xxx_stuff_3
  5117. 0D401C22
  5118. 0D401C26 MOVS R0, #0x16
  5119. 0D401C28 MOVS R1, #0
  5120. 0D401C2A BL d8b4xxx_stuff_3
  5121. 0D401C2A
  5122. 0D401C2E MOVS R0, #0x25
  5123. 0D401C30 MOVS R1, #1
  5124. 0D401C32 BL d8b4xxx_stuff_3
  5125. 0D401C32
  5126. 0D401C36 MOVS R0, #0x10
  5127. 0D401C38 MOVS R1, #0
  5128. 0D401C3A BL d8b4xxx_stuff_3
  5129. 0D401C3A
  5130. 0D401C3E MOVS R0, #0x23
  5131. 0D401C40 MOVS R1, #8
  5132. 0D401C42 BL d8b4xxx_stuff_3
  5133. 0D401C42
  5134. 0D401C46 MOVS R0, #1
  5135. 0D401C48 MOVS R1, #7
  5136. 0D401C4A BL d8b4xxx_stuff_3
  5137. 0D401C4A
  5138. 0D401C4E MOVS R0, #2
  5139. 0D401C50 MOVS R1, #4
  5140. 0D401C52 BL d8b4xxx_stuff_3
  5141. 0D401C52
  5142. 0D401C56 MOVS R0, #5
  5143. 0D401C58 MOVS R1, #7
  5144. 0D401C5A BL d8b4xxx_stuff_3
  5145. 0D401C5A
  5146. 0D401C5E MOVS R0, #8
  5147. 0D401C60 MOVS R1, #4
  5148. 0D401C62 BL d8b4xxx_stuff_3
  5149. 0D401C62
  5150. 0D401C66 MOVS R0, #9
  5151. 0D401C68 MOVS R1, #0x18
  5152. 0D401C6A BL d8b4xxx_stuff_3
  5153. 0D401C6A
  5154. 0D401C6E MOVS R0, #0xA
  5155. 0D401C70 MOVS R1, #0x1B
  5156. 0D401C72 BL d8b4xxx_stuff_3
  5157. 0D401C72
  5158. 0D401C76 MOVS R0, #4
  5159. 0D401C78 MOVS R1, #0x17
  5160. 0D401C7A BL d8b4xxx_stuff_3
  5161. 0D401C7A
  5162. 0D401C7E MOVS R0, #0x21
  5163. 0D401C80 MOVS R1, #0xB
  5164. 0D401C82 BL d8b4xxx_stuff_3
  5165. 0D401C82
  5166. 0D401C86 MOVS R0, #0xB
  5167. 0D401C88 MOVS R1, #9
  5168. 0D401C8A BL d8b4xxx_stuff_3
  5169. 0D401C8A
  5170. 0D401C8E MOVS R0, #0xC
  5171. 0D401C90 MOVS R1, #0xB
  5172. 0D401C92 BL d8b4xxx_stuff_3
  5173. 0D401C92
  5174. 0D401C96 MOVS R0, #0xD
  5175. 0D401C98 MOVS R1, #6
  5176. 0D401C9A BL d8b4xxx_stuff_3
  5177. 0D401C9A
  5178. 0D401C9E MOVS R0, #0xE
  5179. 0D401CA0 MOVS R1, #0xC
  5180. 0D401CA2 BL d8b4xxx_stuff_3
  5181. 0D401CA2
  5182. 0D401CA6 MOVS R0, #0xF
  5183. 0D401CA8 MOVS R1, #0x17
  5184. 0D401CAA BL d8b4xxx_stuff_3
  5185. 0D401CAA
  5186. 0D401CAE MOVS R1, #0xFC
  5187. 0D401CB0 MOVS R0, #0x11
  5188. 0D401CB2 LSLS R1, R1, #8
  5189. 0D401CB4 BL d8b4xxx_stuff_3
  5190. 0D401CB4
  5191. 0D401CB8 MOVS R0, #0x12
  5192. 0D401CBA MOVS R1, #0x1F
  5193. 0D401CBC BL d8b4xxx_stuff_3
  5194. 0D401CBC
  5195. 0D401CC0 MOVS R0, #0x13
  5196. 0D401CC2 MOVS R1, #0
  5197. 0D401CC4 BL d8b4xxx_stuff_3
  5198. 0D401CC4
  5199. 0D401CC8 MOVS R0, #0x14
  5200. 0D401CCA MOVS R1, #0
  5201. 0D401CCC BL d8b4xxx_stuff_3
  5202. 0D401CCC
  5203. 0D401CD0 MOVS R0, #6
  5204. 0D401CD2 MOVS R1, #2
  5205. 0D401CD4 BL d8b4xxx_stuff_3
  5206. 0D401CD4
  5207. 0D401CD8 MOVS R0, #7
  5208. 0D401CDA MOVS R1, #0xA
  5209. 0D401CDC BL d8b4xxx_stuff_3
  5210. 0D401CDC
  5211. 0D401CE0 MOVS R0, #0x22
  5212. 0D401CE2 MOVS R1, #8
  5213. 0D401CE4 BL d8b4xxx_stuff_3
  5214. 0D401CE4
  5215. 0D401CE8 MOVS R1, #0xFF
  5216. 0D401CEA MOVS R0, #0x1F
  5217. 0D401CEC LSLS R1, R1, #5
  5218. 0D401CEE BL d8b4xxx_stuff_3
  5219. 0D401CEE
  5220. 0D401CF2 MOVS R0, #0x20
  5221. 0D401CF4 MOVS R1, #0
  5222. 0D401CF6 BL d8b4xxx_stuff_3
  5223. 0D401CF6
  5224. 0D401CFA MOVS R0, #0x2C
  5225. 0D401CFC LDR R1, =0x7252
  5226. 0D401CFE BL d8b4xxx_stuff_3
  5227. 0D401CFE
  5228. 0D401D02 MOVS R0, #0x2D
  5229. 0D401D04 LDR R1, =0x4A5E
  5230. 0D401D06 BL d8b4xxx_stuff_3
  5231. 0D401D06
  5232. 0D401D0A MOVS R0, #0x2E
  5233. 0D401D0C LDR R1, =0x7BDE
  5234. 0D401D0E BL d8b4xxx_stuff_3
  5235. 0D401D0E
  5236. 0D401D12 MOVS R0, #0x2F
  5237. 0D401D14 MOVS R1, #0xDE
  5238. 0D401D16 BL d8b4xxx_stuff_3
  5239. 0D401D16
  5240. 0D401D1A MOVS R0, #0x30
  5241. 0D401D1C MOVS R1, #0xCC
  5242. 0D401D1E BL d8b4xxx_stuff_3
  5243. 0D401D1E
  5244. 0D401D22 MOVS R0, #0x31
  5245. 0D401D24 MOVS R1, #0
  5246. 0D401D26 BL d8b4xxx_stuff_3
  5247. 0D401D26
  5248. 0D401D2A MOVS R0, #0x32
  5249. 0D401D2C MOVS R1, #0xCC
  5250. 0D401D2E BL d8b4xxx_stuff_3
  5251. 0D401D2E
  5252. 0D401D32 MOVS R0, #0x33
  5253. 0D401D34 MOVS R1, #0
  5254. 0D401D36 BL d8b4xxx_stuff_3
  5255. 0D401D36
  5256. 0D401D3A MOVS R0, #0x34
  5257. 0D401D3C MOVS R1, #0xCC
  5258. 0D401D3E BL d8b4xxx_stuff_3
  5259. 0D401D3E
  5260. 0D401D42 MOVS R0, #0x35
  5261. 0D401D44 MOVS R1, #0
  5262. 0D401D46 BL d8b4xxx_stuff_3
  5263. 0D401D46
  5264. 0D401D4A MOVS R0, #0x36
  5265. 0D401D4C LDR R1, =byte_8EC
  5266. 0D401D4E BL d8b4xxx_stuff_3
  5267. 0D401D4E
  5268. 0D401D52 MOVS R0, #0x37
  5269. 0D401D54 MOVS R1, #0
  5270. 0D401D56 BL d8b4xxx_stuff_3
  5271. 0D401D56
  5272. 0D401D5A MOVS R0, #0x38
  5273. 0D401D5C LDR R1, =byte_476
  5274. 0D401D5E BL d8b4xxx_stuff_3
  5275. 0D401D5E
  5276. 0D401D62 MOVS R0, #0x39
  5277. 0D401D64 MOVS R1, #0
  5278. 0D401D66 BL d8b4xxx_stuff_3
  5279. 0D401D66
  5280. 0D401D6A LDR R3, [SP,#0x38+var_38]
  5281. 0D401D6C CMP R3, #1
  5282. 0D401D6E BNE loc_D401D72
  5283. 0D401D6E
  5284. 0D401D70 B loc_D4022B8
  5285. 0D401D70
  5286. 0D401D72
  5287. 0D401D72 loc_D401D72
  5288. 0D401D72 MOVS R0, #0x3A
  5289. 0D401D74 MOVS R1, #0
  5290. 0D401D76 BL d8b4xxx_stuff_3
  5291. 0D401D76
  5292. 0D401D7A MOVS R0, #0x3B
  5293. 0D401D7C MOVS R1, #0
  5294. 0D401D7E BL d8b4xxx_stuff_3
  5295. 0D401D7E
  5296. 0D401D82 MOVS R0, #0x3C
  5297. 0D401D84 MOVS R1, #0
  5298. 0D401D86 BL d8b4xxx_stuff_3
  5299. 0D401D86
  5300. 0D401D8A MOVS R0, #0x3D
  5301. 0D401D8C MOVS R1, #0
  5302. 0D401D8C
  5303. 0D401D8E
  5304. 0D401D8E loc_D401D8E
  5305. 0D401D8E BL d8b4xxx_stuff_3
  5306. 0D401D8E
  5307. 0D401D92 BL get_stack_ptr_maybe
  5308. 0D401D92
  5309. 0D401D96 MOVS R4, R0
  5310. 0D401D98 MOVS R0, #0x3A
  5311. 0D401D9A BL sub_D4024A0
  5312. 0D401D9A
  5313. 0D401D9E STR R0, [R4,#4]
  5314. 0D401DA0 MOVS R0, #0x3B
  5315. 0D401DA2 BL sub_D4024A0
  5316. 0D401DA2
  5317. 0D401DA6 STR R0, [R4,#8]
  5318. 0D401DA8 MOVS R0, #0x3C
  5319. 0D401DAA BL sub_D4024A0
  5320. 0D401DAA
  5321. 0D401DAE STR R0, [R4,#0xC]
  5322. 0D401DB0 MOVS R0, #0x3D
  5323. 0D401DB2 BL sub_D4024A0
  5324. 0D401DB2
  5325. 0D401DB6 LDR R3, =0xCAFEBABE
  5326. 0D401DB8 STR R0, [R4,#0x10]
  5327. 0D401DBA MOVS R1, #0
  5328. 0D401DBC STR R3, [R4,#0x14]
  5329. 0D401DBE MOVS R0, #0x45
  5330. 0D401DC0 BL d8b4xxx_stuff_3
  5331. 0D401DC0
  5332. 0D401DC4 MOVS R0, #0x80
  5333. 0D401DC6 MOVS R1, #0
  5334. 0D401DC8 LSLS R0, R0, #1
  5335. 0D401DCA BL d8b4xxx_stuff_1
  5336. 0D401DCA
  5337. 0D401DCE MOVS R0, #5
  5338. 0D401DD0 BL delay_0
  5339. 0D401DD0
  5340. 0D401DD4 MOVS R1, #1
  5341. 0D401DD6 MOVS R0, #0x18
  5342. 0D401DD8 BL d8b4xxx_stuff_3
  5343. 0D401DD8
  5344. 0D401DDC MOVS R0, #5
  5345. 0D401DDE BL delay_0
  5346. 0D401DDE
  5347. 0D401DE2 MOVS R1, #1
  5348. 0D401DE4 MOVS R0, #0x17
  5349. 0D401DE6 BL d8b4xxx_stuff_3
  5350. 0D401DE6
  5351. 0D401DEA MOVS R0, #0xC8
  5352. 0D401DEC BL delay_0
  5353. 0D401DEC
  5354. 0D401DF0 MOVS R0, #0x4B
  5355. 0D401DF2 MOVS R1, #0
  5356. 0D401DF4 BL d8b4xxx_stuff_3
  5357. 0D401DF4
  5358. 0D401DF8 MOVS R0, #0x4C
  5359. 0D401DFA MOVS R1, #1
  5360. 0D401DFC B loc_D401E7C
  5361. 0D401DFC
  5362. 0D401DFE ALIGN 0x10
  5363. 0D401E00 off_D401E00 DCD dword_D8001C0
  5364. 0D401E04 dword_D401E04 DCD 0x7FFFFFFF
  5365. 0D401E08 dword_D401E08 DCD 0xBFFFFFFF
  5366. 0D401E0C off_D401E0C DCD dword_D8001BC
  5367. 0D401E10 dword_D401E10 DCD 0xFFFC003F
  5368. 0D401E14 dword_D401E14 DCD 0xF803FFFF
  5369. 0D401E18 dword_D401E18 DCD 0xEFFFFFFF
  5370. 0D401E1C dword_D401E1C DCD 0xF7FFFFFF
  5371. 0D401E20 dword_D401E20 DCD 0xD0B
  5372. 0D401E24 off_D401E24 DCD byte_50B
  5373. 0D401E28 dword_D401E28 DCD 0xF0F0
  5374. 0D401E28 sub_D40195A+190r
  5375. 0D401E2C dword_D401E2C DCD 0x1616
  5376. 0D401E2C sub_D40195A+1A0r ...
  5377. 0D401E30 off_D401E30 DCD byte_10B
  5378. 0D401E30 sub_D40195A+200r
  5379. 0D401E34 off_D401E34 DCD byte_1FF
  5380. 0D401E38 off_D401E38 DCD byte_10D
  5381. 0D401E3C dword_D401E3C DCD 0xFFF
  5382. 0D401E40 off_D401E40 DCD byte_109
  5383. 0D401E44 off_D401E44 DCD byte_15B
  5384. 0D401E48 dword_D401E48 DCD 0xEFF
  5385. 0D401E4C off_D401E4C DCD byte_135
  5386. 0D401E50 off_D401E50 DCD byte_137
  5387. 0D401E54 off_D401E54 DCD byte_139
  5388. 0D401E58 off_D401E58 DCD byte_13B
  5389. 0D401E5C off_D401E5C DCD byte_13D
  5390. 0D401E60 off_D401E60 DCD byte_13F
  5391. 0D401E64 dword_D401E64 DCD 0x7252
  5392. 0D401E68 dword_D401E68 DCD 0x4A5E
  5393. 0D401E6C dword_D401E6C DCD 0x7BDE
  5394. 0D401E70 off_D401E70 DCD byte_8EC
  5395. 0D401E74 off_D401E74 DCD byte_476
  5396. 0D401E78 dword_D401E78 DCD 0xCAFEBABE
  5397. 0D401E7C
  5398. 0D401E7C loc_D401E7C
  5399. 0D401E7C BL d8b4xxx_stuff_3
  5400. 0D401E7C
  5401. 0D401E80 MOVS R0, #0x160
  5402. 0D401E84 LDR R1, =0xFFFF
  5403. 0D401E86 BL d8b4xxx_stuff_1
  5404. 0D401E86
  5405. 0D401E8A LDR R0, =byte_161
  5406. 0D401E8C MOVS R1, #0x20
  5407. 0D401E8E BL d8b4xxx_stuff_1
  5408. 0D401E8E
  5409. 0D401E92 LDR R0, =byte_161
  5410. 0D401E94 MOVS R1, #0x21
  5411. 0D401E96 BL d8b4xxx_stuff_1
  5412. 0D401E96
  5413. 0D401E9A MOVS R1, #0x20
  5414. 0D401E9C LDR R0, =byte_161
  5415. 0D401E9E BL d8b4xxx_stuff_1
  5416. 0D401E9E
  5417. 0D401EA2 MOVS R0, #1
  5418. 0D401EA4 BL delay_0
  5419. 0D401EA4
  5420. 0D401EA8 MOVS R0, #0x160
  5421. 0D401EAC LDR R1, =0x2882
  5422. 0D401EAE BL d8b4xxx_stuff_1
  5423. 0D401EAE
  5424. 0D401EB2 LDR R0, =byte_161
  5425. 0D401EB4 MOVS R1, #0x22
  5426. 0D401EB6 BL d8b4xxx_stuff_1
  5427. 0D401EB6
  5428. 0D401EBA LDR R0, =byte_161
  5429. 0D401EBC MOVS R1, #0x23
  5430. 0D401EBE BL d8b4xxx_stuff_1
  5431. 0D401EBE
  5432. 0D401EC2 MOVS R1, #0x22
  5433. 0D401EC4 LDR R0, =byte_161
  5434. 0D401EC6 BL d8b4xxx_stuff_1
  5435. 0D401EC6
  5436. 0D401ECA MOVS R0, #5
  5437. 0D401ECC BL delay_0
  5438. 0D401ECC
  5439. 0D401ED0 MOVS R0, #0x160
  5440. 0D401ED4 LDR R1, =0x2882
  5441. 0D401ED6 BL d8b4xxx_stuff_1
  5442. 0D401ED6
  5443. 0D401EDA LDR R0, =byte_161
  5444. 0D401EDC MOVS R1, #0x24
  5445. 0D401EDE BL d8b4xxx_stuff_1
  5446. 0D401EDE
  5447. 0D401EE2 LDR R0, =byte_161
  5448. 0D401EE4 MOVS R1, #0x25
  5449. 0D401EE6 BL d8b4xxx_stuff_1
  5450. 0D401EE6
  5451. 0D401EEA MOVS R1, #0x24
  5452. 0D401EEC LDR R0, =byte_161
  5453. 0D401EEE BL d8b4xxx_stuff_1
  5454. 0D401EEE
  5455. 0D401EF2 MOVS R0, #5
  5456. 0D401EF4 BL delay_0
  5457. 0D401EF4
  5458. 0D401EF8 MOVS R0, #0x160
  5459. 0D401EFC LDR R1, =0x2C82
  5460. 0D401EFE BL d8b4xxx_stuff_1
  5461. 0D401EFE
  5462. 0D401F02 LDR R0, =byte_161
  5463. 0D401F04 MOVS R1, #0x22
  5464. 0D401F06 BL d8b4xxx_stuff_1
  5465. 0D401F06
  5466. 0D401F0A LDR R0, =byte_161
  5467. 0D401F0C MOVS R1, #0x23
  5468. 0D401F0E BL d8b4xxx_stuff_1
  5469. 0D401F0E
  5470. 0D401F12 MOVS R1, #0x22
  5471. 0D401F14 LDR R0, =byte_161
  5472. 0D401F16 BL d8b4xxx_stuff_1
  5473. 0D401F16
  5474. 0D401F1A MOVS R0, #5
  5475. 0D401F1C BL delay_0
  5476. 0D401F1C
  5477. 0D401F20 MOVS R0, #0x29
  5478. 0D401F22 BL sub_D4024A0
  5479. 0D401F22
  5480. 0D401F26 LSLS R0, R0, #0x18
  5481. 0D401F28 LSRS R5, R0, #0x18
  5482. 0D401F2A MOVS R0, #0x160
  5483. 0D401F2E LDR R1, =0x2882
  5484. 0D401F30 BL d8b4xxx_stuff_1
  5485. 0D401F30
  5486. 0D401F34 LDR R0, =byte_161
  5487. 0D401F36 MOVS R1, #0x22
  5488. 0D401F38 BL d8b4xxx_stuff_1
  5489. 0D401F38
  5490. 0D401F3C LDR R0, =byte_161
  5491. 0D401F3E MOVS R1, #0x23
  5492. 0D401F40 BL d8b4xxx_stuff_1
  5493. 0D401F40
  5494. 0D401F44 MOVS R1, #0x22
  5495. 0D401F46 LDR R0, =byte_161
  5496. 0D401F48 BL d8b4xxx_stuff_1
  5497. 0D401F48
  5498. 0D401F4C MOVS R0, #5
  5499. 0D401F4E BL delay_0
  5500. 0D401F4E
  5501. 0D401F52 MOVS R0, #0x160
  5502. 0D401F56 LDR R1, =0x2C82
  5503. 0D401F58 BL d8b4xxx_stuff_1
  5504. 0D401F58
  5505. 0D401F5C LDR R0, =byte_161
  5506. 0D401F5E MOVS R1, #0x24
  5507. 0D401F60 BL d8b4xxx_stuff_1
  5508. 0D401F60
  5509. 0D401F64 LDR R0, =byte_161
  5510. 0D401F66 MOVS R1, #0x25
  5511. 0D401F68 BL d8b4xxx_stuff_1
  5512. 0D401F68
  5513. 0D401F6C MOVS R1, #0x24
  5514. 0D401F6E LDR R0, =byte_161
  5515. 0D401F70 BL d8b4xxx_stuff_1
  5516. 0D401F70
  5517. 0D401F74 MOVS R0, #5
  5518. 0D401F76 BL delay_0
  5519. 0D401F76
  5520. 0D401F7A MOVS R0, #0x29
  5521. 0D401F7C BL sub_D4024A0
  5522. 0D401F7C
  5523. 0D401F80 LSLS R0, R0, #0x10
  5524. 0D401F82 LSRS R4, R0, #0x18
  5525. 0D401F84 MOVS R0, #0x160
  5526. 0D401F88 LDR R1, =0x2882
  5527. 0D401F8A BL d8b4xxx_stuff_1
  5528. 0D401F8A
  5529. 0D401F8E LDR R0, =byte_161
  5530. 0D401F90 MOVS R1, #0x24
  5531. 0D401F92 BL d8b4xxx_stuff_1
  5532. 0D401F92
  5533. 0D401F96 LDR R0, =byte_161
  5534. 0D401F98 MOVS R1, #0x25
  5535. 0D401F9A BL d8b4xxx_stuff_1
  5536. 0D401F9A
  5537. 0D401F9E MOVS R1, #0x24
  5538. 0D401FA0 LDR R0, =byte_161
  5539. 0D401FA2 BL d8b4xxx_stuff_1
  5540. 0D401FA2
  5541. 0D401FA6 MOVS R0, #5
  5542. 0D401FA8 BL delay_0
  5543. 0D401FA8
  5544. 0D401FAC MOVS R0, #0x160
  5545. 0D401FB0 LDR R1, =byte_903
  5546. 0D401FB2 BL d8b4xxx_stuff_1
  5547. 0D401FB2
  5548. 0D401FB6 LDR R0, =byte_161
  5549. 0D401FB8 MOVS R1, #0x22
  5550. 0D401FBA BL d8b4xxx_stuff_1
  5551. 0D401FBA
  5552. 0D401FBE LDR R0, =byte_161
  5553. 0D401FC0 MOVS R1, #0x23
  5554. 0D401FC2 BL d8b4xxx_stuff_1
  5555. 0D401FC2
  5556. 0D401FC6 MOVS R1, #0x22
  5557. 0D401FC8 LDR R0, =byte_161
  5558. 0D401FCA BL d8b4xxx_stuff_1
  5559. 0D401FCA
  5560. 0D401FCE MOVS R0, #1
  5561. 0D401FD0 BL delay_0
  5562. 0D401FD0
  5563. 0D401FD4 MOVS R0, #0x160
  5564. 0D401FD8 LDR R1, =byte_903
  5565. 0D401FDA BL d8b4xxx_stuff_1
  5566. 0D401FDA
  5567. 0D401FDE LDR R0, =byte_161
  5568. 0D401FE0 MOVS R1, #0x24
  5569. 0D401FE2 BL d8b4xxx_stuff_1
  5570. 0D401FE2
  5571. 0D401FE6 LDR R0, =byte_161
  5572. 0D401FE8 MOVS R1, #0x25
  5573. 0D401FEA BL d8b4xxx_stuff_1
  5574. 0D401FEA
  5575. 0D401FEE MOVS R1, #0x24
  5576. 0D401FF0 LDR R0, =byte_161
  5577. 0D401FF2 BL d8b4xxx_stuff_1
  5578. 0D401FF2
  5579. 0D401FF6 MOVS R0, #1
  5580. 0D401FF8 BL delay_0
  5581. 0D401FF8
  5582. 0D401FFC MOVS R0, #0x4C
  5583. 0D401FFE MOVS R1, #0
  5584. 0D402000 BL d8b4xxx_stuff_3
  5585. 0D402000
  5586. 0D402004 MOVS R0, #0x18
  5587. 0D402006 MOVS R1, #0
  5588. 0D402008 BL d8b4xxx_stuff_3
  5589. 0D402008
  5590. 0D40200C MOVS R0, #0x17
  5591. 0D40200E MOVS R1, #0
  5592. 0D402010 BL d8b4xxx_stuff_3
  5593. 0D402010
  5594. 0D402014 MOVS R0, #0xC8
  5595. 0D402016 BL delay_0
  5596. 0D402016
  5597. 0D40201A CMP R5, R4
  5598. 0D40201C BNE loc_D402020
  5599. 0D40201C
  5600. 0D40201E B loc_D4022A6
  5601. 0D40201E
  5602. 0D402020
  5603. 0D402020 loc_D402020
  5604. 0D402020 MOVS R0, #0x17
  5605. 0D402022 MOVS R1, #1
  5606. 0D402024 BL d8b4xxx_stuff_3
  5607. 0D402024
  5608. 0D402028 MOVS R0, #5
  5609. 0D40202A BL delay_0
  5610. 0D40202A
  5611. 0D40202E MOVS R0, #0x18
  5612. 0D40202E
  5613. 0D402030
  5614. 0D402030 loc_D402030
  5615. 0D402030 MOVS R1, #1
  5616. 0D402032 BL d8b4xxx_stuff_3
  5617. 0D402032
  5618. 0D402036 MOVS R0, #0xC8
  5619. 0D402038 BL delay_0
  5620. 0D402038
  5621. 0D40203C MOVS R0, #0x4B
  5622. 0D40203E MOVS R1, #0
  5623. 0D402040 BL d8b4xxx_stuff_3
  5624. 0D402040
  5625. 0D402044 CMP R5, R4
  5626. 0D402046 BEQ loc_D402058
  5627. 0D402046
  5628. 0D402048 LDR R0, =byte_10B
  5629. 0D40204A MOVS R1, #7
  5630. 0D40204C BL d8b4xxx_stuff_1
  5631. 0D40204C
  5632. 0D402050 MOVS R0, #0x15
  5633. 0D402052 MOVS R1, #0
  5634. 0D402054 BL d8b4xxx_stuff_3
  5635. 0D402054
  5636. 0D402058
  5637. 0D402058 loc_D402058
  5638. 0D402058 MOVS R0, #0x160
  5639. 0D40205C LDR R1, =0xFFFF
  5640. 0D40205E BL d8b4xxx_stuff_1
  5641. 0D40205E
  5642. 0D402062 LDR R0, =byte_161
  5643. 0D402064 MOVS R1, #0x20
  5644. 0D402066 BL d8b4xxx_stuff_1
  5645. 0D402066
  5646. 0D40206A LDR R0, =byte_161
  5647. 0D40206C MOVS R1, #0x21
  5648. 0D40206E BL d8b4xxx_stuff_1
  5649. 0D40206E
  5650. 0D402072 LDR R0, =byte_161
  5651. 0D402074 MOVS R1, #0x20
  5652. 0D402076 BL d8b4xxx_stuff_1
  5653. 0D402076
  5654. 0D40207A MOVS R0, #2
  5655. 0D40207C BL delay_0
  5656. 0D40207C
  5657. 0D402080 CMP R5, R4
  5658. 0D402082 BNE loc_D402086
  5659. 0D402082
  5660. 0D402084 B loc_D40229E
  5661. 0D402084
  5662. 0D402086
  5663. 0D402086 loc_D402086
  5664. 0D402086 MOVS R0, #0xB0
  5665. 0D402088 LDR R1, =0x288A
  5666. 0D40208A LSLS R0, R0, #1
  5667. 0D40208A
  5668. 0D40208C
  5669. 0D40208C loc_D40208C
  5670. 0D40208C BL d8b4xxx_stuff_1
  5671. 0D40208C
  5672. 0D402090 LDR R0, =byte_161
  5673. 0D402092 MOVS R1, #0x22
  5674. 0D402094 BL d8b4xxx_stuff_1
  5675. 0D402094
  5676. 0D402098 LDR R0, =byte_161
  5677. 0D40209A MOVS R1, #0x23
  5678. 0D40209C BL d8b4xxx_stuff_1
  5679. 0D40209C
  5680. 0D4020A0 LDR R0, =byte_161
  5681. 0D4020A2 MOVS R1, #0x22
  5682. 0D4020A4 BL d8b4xxx_stuff_1
  5683. 0D4020A4
  5684. 0D4020A8 MOVS R0, #1
  5685. 0D4020AA BL delay_0
  5686. 0D4020AA
  5687. 0D4020AE CMP R5, R4
  5688. 0D4020B0 BNE loc_D4020B4
  5689. 0D4020B0
  5690. 0D4020B2 B loc_D402314
  5691. 0D4020B2
  5692. 0D4020B4
  5693. 0D4020B4 loc_D4020B4
  5694. 0D4020B4 sub_D40195A+9E2j
  5695. 0D4020B4 MOVS R0, #0x160
  5696. 0D4020B8 LDR R1, =byte_903
  5697. 0D4020BA BL d8b4xxx_stuff_1
  5698. 0D4020BA
  5699. 0D4020BE LDR R0, =byte_161
  5700. 0D4020C0 MOVS R1, #0x22
  5701. 0D4020C2 BL d8b4xxx_stuff_1
  5702. 0D4020C2
  5703. 0D4020C6 LDR R0, =byte_161
  5704. 0D4020C8 MOVS R1, #0x23
  5705. 0D4020CA BL d8b4xxx_stuff_1
  5706. 0D4020CA
  5707. 0D4020CE LDR R0, =byte_161
  5708. 0D4020D0 MOVS R1, #0x22
  5709. 0D4020D2 BL d8b4xxx_stuff_1
  5710. 0D4020D2
  5711. 0D4020D6 MOVS R0, #1
  5712. 0D4020D8 BL delay_0
  5713. 0D4020D8
  5714. 0D4020DC CMP R5, R4
  5715. 0D4020DE BNE loc_D4020E2
  5716. 0D4020DE
  5717. 0D4020E0 B loc_D4022EA
  5718. 0D4020E0
  5719. 0D4020E2
  5720. 0D4020E2 loc_D4020E2
  5721. 0D4020E2 sub_D402280+92j
  5722. 0D4020E2 MOVS R0, #0x46
  5723. 0D4020E4 BL delay_0
  5724. 0D4020E4
  5725. 0D4020E8 MOVS R0, #0x160
  5726. 0D4020EC LDR R1, =0xFFFF
  5727. 0D4020EE BL d8b4xxx_stuff_1
  5728. 0D4020EE
  5729. 0D4020F2 LDR R0, =byte_161
  5730. 0D4020F4 MOVS R1, #0x20
  5731. 0D4020F6 BL d8b4xxx_stuff_1
  5732. 0D4020F6
  5733. 0D4020FA LDR R0, =byte_161
  5734. 0D4020FC MOVS R1, #0x21
  5735. 0D4020FE BL d8b4xxx_stuff_1
  5736. 0D4020FE
  5737. 0D402102 MOVS R1, #0x20
  5738. 0D402104 LDR R0, =byte_161
  5739. 0D402106 BL d8b4xxx_stuff_1
  5740. 0D402106
  5741. 0D40210A MOVS R0, #2
  5742. 0D40210C BL delay_0
  5743. 0D40210C
  5744. 0D402110 MOVS R0, #0x160
  5745. 0D402114 LDR R1, =0xFFFF
  5746. 0D402116 BL d8b4xxx_stuff_1
  5747. 0D402116
  5748. 0D40211A LDR R0, =byte_161
  5749. 0D40211C MOVS R1, #2
  5750. 0D40211E BL d8b4xxx_stuff_1
  5751. 0D40211E
  5752. 0D402122 LDR R0, =byte_161
  5753. 0D402124 MOVS R1, #3
  5754. 0D402126 BL d8b4xxx_stuff_1
  5755. 0D402126
  5756. 0D40212A MOVS R1, #2
  5757. 0D40212C LDR R0, =byte_161
  5758. 0D40212E BL d8b4xxx_stuff_1
  5759. 0D40212E
  5760. 0D402132 MOVS R0, #5
  5761. 0D402134 BL delay_0
  5762. 0D402134
  5763. 0D402138 MOVS R0, #0x160
  5764. 0D40213C LDR R1, =0xFFFF
  5765. 0D40213E BL d8b4xxx_stuff_1
  5766. 0D40213E
  5767. 0D402142 LDR R0, =byte_161
  5768. 0D402144 MOVS R1, #2
  5769. 0D402146 BL d8b4xxx_stuff_1
  5770. 0D402146
  5771. 0D40214A LDR R0, =byte_161
  5772. 0D40214C MOVS R1, #3
  5773. 0D40214E BL d8b4xxx_stuff_1
  5774. 0D40214E
  5775. 0D402152 MOVS R1, #2
  5776. 0D402154 LDR R0, =byte_161
  5777. 0D402156 BL d8b4xxx_stuff_1
  5778. 0D402156
  5779. 0D40215A MOVS R0, #5
  5780. 0D40215C BL delay_0
  5781. 0D40215C
  5782. 0D402160 LDR R3, =word_D8B4000
  5783. 0D402162 MOVS R2, #0
  5784. 0D402164 STRH R2, [R3]
  5785. 0D402166 ADDS R3, #2
  5786. 0D402168 STRH R2, [R3]
  5787. 0D40216A ADDS R3, #2
  5788. 0D40216C STRH R2, [R3]
  5789. 0D40216E ADDS R3, #2
  5790. 0D402170 STRH R2, [R3]
  5791. 0D402172 ADDS R3, #2
  5792. 0D402174 STRH R2, [R3]
  5793. 0D402176 ADDS R3, #2
  5794. 0D402178 STRH R2, [R3]
  5795. 0D40217A ADDS R3, #2
  5796. 0D40217C STRH R2, [R3]
  5797. 0D40217E ADDS R3, #2
  5798. 0D402180 STRH R2, [R3]
  5799. 0D402182 LDR R2, [SP,#0x38+var_30]
  5800. 0D402184 MOVS R3, #0xFB0
  5801. 0D402188 MOVS R0, R2
  5802. 0D40218A MULS R0, R3
  5803. 0D40218C LDR R1, =0x2710
  5804. 0D40218E BL sub_D403DC8
  5805. 0D40218E
  5806. 0D402192 LDR R3, =word_D8B4026
  5807. 0D402194 SUBS R6, R0, #1
  5808. 0D402196 STRH R6, [R3]
  5809. 0D402198 LDR R3, [SP,#0x38+var_34]
  5810. 0D40219A CMP R3, #1
  5811. 0D40219C BNE loc_D4021A0
  5812. 0D40219C
  5813. 0D40219E B loc_D402298
  5814. 0D40219E
  5815. 0D4021A0
  5816. 0D4021A0 loc_D4021A0
  5817. 0D4021A0 MOVS R0, #0x18
  5818. 0D4021A2 MOVS R1, #0
  5819. 0D4021A4 BL d8b4xxx_stuff_3
  5820. 0D4021A4
  5821. 0D4021A8 MOVS R0, #0x19
  5822. 0D4021AA MOVS R1, #1
  5823. 0D4021AC BL d8b4xxx_stuff_3
  5824. 0D4021AC
  5825. 0D4021B0 LDR R2, [SP,#0x38+var_30]
  5826. 0D4021B2 MOVS R3, #0x27
  5827. 0D4021B4 MOVS R1, #0xA
  5828. 0D4021B6 MOVS R0, R2
  5829. 0D4021B8 MULS R0, R3
  5830. 0D4021BA BL sub_D403DC8
  5831. 0D4021BA
  5832. 0D4021BE MOVS R6, R0
  5833. 0D4021C0 MOVS R1, R6
  5834. 0D4021C2 LDR R0, =(dword_110+3)
  5835. 0D4021C4 BL d8b4xxx_stuff_1
  5836. 0D4021C4
  5837. 0D4021C8
  5838. 0D4021C8 loc_D4021C8
  5839. 0D4021C8 LDR R0, =byte_165
  5840. 0D4021CA MOVS R1, #0x29
  5841. 0D4021CC BL d8b4xxx_stuff_1
  5842. 0D4021CC
  5843. 0D4021D0 MOVS R0, #0xB2
  5844. 0D4021D2 MOVS R1, R5
  5845. 0D4021D4 LSLS R0, R0, #1
  5846. 0D4021D6 BL d8b4xxx_stuff_1
  5847. 0D4021D6
  5848. 0D4021DA LDR R0, =byte_165
  5849. 0D4021DC MOVS R1, #0x2B
  5850. 0D4021DE BL d8b4xxx_stuff_1
  5851. 0D4021DE
  5852. 0D4021E2 MOVS R0, #0xB2
  5853. 0D4021E4 MOVS R1, R4
  5854. 0D4021E6 LSLS R0, R0, #1
  5855. 0D4021E8 BL d8b4xxx_stuff_1
  5856. 0D4021E8
  5857. 0D4021EC BL get_stack_ptr_maybe
  5858. 0D4021EC
  5859. 0D4021F0 LSLS R3, R4, #8
  5860. 0D4021F2 ADDS R3, R3, R5
  5861. 0D4021F4 ADD SP, SP, #0xC
  5862. 0D4021F6 STR R3, [R0]
  5863. 0D4021F8 POP {R3-R6}
  5864. 0D4021FA MOV R8, R3
  5865. 0D4021FC MOV R9, R4
  5866. 0D4021FE MOV R10, R5
  5867. 0D402200 MOV R11, R6
  5868. 0D402202 POP {R4-R7}
  5869. 0D402204 POP {R0}
  5870. 0D402206 BX R0
  5871. 0D402206
  5872. 0D402206
  5873. 0D402206
  5874. 0D402208
  5875. 0D402208
  5876. 0D402208
  5877. 0D402208
  5878. 0D402208 sub_D402208
  5879. 0D402208
  5880. 0D402208 arg_0 = 0
  5881. 0D402208
  5882. 0D402208 MOVS R0, #0x18
  5883. 0D40220A MOVS R1, #0
  5884. 0D40220C BL d8b4xxx_stuff_3
  5885. 0D40220C
  5886. 0D402210 MOVS R0, #0x19
  5887. 0D402212 MOVS R1, #0
  5888. 0D402214 BL d8b4xxx_stuff_3
  5889. 0D402214
  5890. 0D402218 MOVS R0, #0x17
  5891. 0D40221A MOVS R1, #0
  5892. 0D40221C BL d8b4xxx_stuff_3
  5893. 0D40221C
  5894. 0D402220 MOVS R0, #0xA
  5895. 0D402222 BL delay_0
  5896. 0D402222
  5897. 0D402226 BL sub_D40195A
  5898. 0D402226
  5899. 0D40222A
  5900. 0D40222A loc_D40222A
  5901. 0D40222A MOVS R0, #0x48
  5902. 0D40222C LDR R1, =0xD09
  5903. 0D40222E BL d8b4xxx_stuff_3
  5904. 0D40222E
  5905. 0D402232 MOVS R0, #0x32
  5906. 0D402234 BL delay_0
  5907. 0D402234
  5908. 0D402238 LDR R0, [SP,#arg_0]
  5909. 0D40223A CMP R0, #1
  5910. 0D40223C BEQ loc_D402240
  5911. 0D40223C
  5912. 0D40223E B loc_D401AD2
  5913. 0D40223E
  5914. 0D402240
  5915. 0D402240 loc_D402240
  5916. 0D402240 sub_D402208+34j
  5917. 0D402240 LDR R1, =byte_509
  5918. 0D402242 MOVS R0, #0x48
  5919. 0D402244 B loc_D401AD6
  5920. 0D402244
  5921. 0D402244
  5922. 0D402244
  5923. 0D402246 ALIGN 4
  5924. 0D402248 dword_D402248 DCD 0xFFFF
  5925. 0D402248 sub_D40195A+702r ...
  5926. 0D40224C off_D40224C DCD byte_161
  5927. 0D40224C sub_D40195A+538r ...
  5928. 0D402250 dword_D402250 DCD 0x2882
  5929. 0D402250 sub_D40195A+57Ar ...
  5930. 0D402254 dword_D402254 DCD 0x2C82
  5931. 0D402254 sub_D40195A+5FCr
  5932. 0D402258 off_D402258 DCD byte_903
  5933. 0D402258 sub_D40195A+67Er ...
  5934. 0D40225C off_D40225C DCD byte_10B
  5935. 0D402260 dword_D402260 DCD 0x288A
  5936. 0D402264 off_D402264 DCD word_D8B4000
  5937. 0D402268 dword_D402268 DCD 0x2710
  5938. 0D40226C off_D40226C DCD word_D8B4026
  5939. 0D402270 off_D402270 DCD dword_110+3
  5940. 0D402274 off_D402274 DCD byte_165
  5941. 0D402274 sub_D40195A+880r
  5942. 0D402278 dword_D402278 DCD 0xD09
  5943. 0D40227C off_D40227C DCD byte_509
  5944. 0D402280
  5945. 0D402280
  5946. 0D402280
  5947. 0D402280
  5948. 0D402280 sub_D402280
  5949. 0D402280 MOVS R3, #0x3E8
  5950. 0D402284 CMP R10, R3
  5951. 0D402286 BLS loc_D4022DC
  5952. 0D402286
  5953. 0D402288 MOVS R3, #0
  5954. 0D40228A MOVS R2, #1
  5955. 0D40228C MOV R9, R2
  5956. 0D40228E MOV R8, R3
  5957. 0D402290 MOV R11, R3
  5958. 0D402292 SUBS R7, R0, #1
  5959. 0D402294 BL loc_D401A0E
  5960. 0D402294
  5961. 0D402298
  5962. 0D402298 loc_D402298
  5963. 0D402298 BL sub_D4023B0
  5964. 0D402298
  5965. 0D40229C B loc_D4021C8
  5966. 0D40229C
  5967. 0D40229E
  5968. 0D40229E loc_D40229E
  5969. 0D40229E MOVS R0, #0xB0
  5970. 0D4022A0 LDR R1, =0x288E
  5971. 0D4022A2 LSLS R0, R0, #1
  5972. 0D4022A4 B loc_D40208C
  5973. 0D4022A4
  5974. 0D4022A6
  5975. 0D4022A6 loc_D4022A6
  5976. 0D4022A6 MOVS R0, #0x18
  5977. 0D4022A8 MOVS R1, #1
  5978. 0D4022AA BL d8b4xxx_stuff_3
  5979. 0D4022AA
  5980. 0D4022AE MOVS R0, #5
  5981. 0D4022B0 BL delay_0
  5982. 0D4022B0
  5983. 0D4022B4 MOVS R0, #0x17
  5984. 0D4022B6 B loc_D402030
  5985. 0D4022B6
  5986. 0D4022B8
  5987. 0D4022B8 loc_D4022B8
  5988. 0D4022B8 MOVS R0, #0x3A
  5989. 0D4022BA LDR R1, =0x800F
  5990. 0D4022BC BL d8b4xxx_stuff_3
  5991. 0D4022BC
  5992. 0D4022C0 MOVS R0, #0x3B
  5993. 0D4022C2 MOVS R1, #7
  5994. 0D4022C4 BL d8b4xxx_stuff_3
  5995. 0D4022C4
  5996. 0D4022C8 MOVS R0, #0x3C
  5997. 0D4022CA LDR R1, =0x800F
  5998. 0D4022CC BL d8b4xxx_stuff_3
  5999. 0D4022CC
  6000. 0D4022D0 MOVS R0, #0x3D
  6001. 0D4022D2 MOVS R1, #7
  6002. 0D4022D4 B loc_D401D8E
  6003. 0D4022D4
  6004. 0D4022D6
  6005. 0D4022D6 loc_D4022D6
  6006. 0D4022D6 LDR R1, =byte_109
  6007. 0D4022D8 MOVS R0, #0x48
  6008. 0D4022DA B loc_D401B22
  6009. 0D4022DA
  6010. 0D4022DC
  6011. 0D4022DC loc_D4022DC
  6012. 0D4022DC MOVS R2, #0
  6013. 0D4022DE MOVS R3, #4
  6014. 0D4022E0 MOV R9, R2
  6015. 0D4022E2 MOV R8, R3
  6016. 0D4022E4 MOV R11, R2
  6017. 0D4022E6 BL loc_D401A0A
  6018. 0D4022E6
  6019. 0D4022EA
  6020. 0D4022EA loc_D4022EA
  6021. 0D4022EA MOVS R0, #0x160
  6022. 0D4022EE LDR R1, =byte_903
  6023. 0D4022F0 BL d8b4xxx_stuff_1
  6024. 0D4022F0
  6025. 0D4022F4 LDR R0, =byte_161
  6026. 0D4022F6 MOVS R1, #0x24
  6027. 0D4022F8 BL d8b4xxx_stuff_1
  6028. 0D4022F8
  6029. 0D4022FC LDR R0, =byte_161
  6030. 0D4022FE MOVS R1, #0x25
  6031. 0D402300 BL d8b4xxx_stuff_1
  6032. 0D402300
  6033. 0D402304 LDR R0, =byte_161
  6034. 0D402306 MOVS R1, #0x24
  6035. 0D402308 BL d8b4xxx_stuff_1
  6036. 0D402308
  6037. 0D40230C MOVS R0, #1
  6038. 0D40230E BL delay_0
  6039. 0D40230E
  6040. 0D402312 B loc_D4020E2
  6041. 0D402312
  6042. 0D402312
  6043. 0D402312
  6044. 0D402314
  6045. 0D402314
  6046. 0D402314 loc_D402314
  6047. 0D402314 MOVS R0, #0x160
  6048. 0D402318 LDR R1, =0x288E
  6049. 0D40231A BL d8b4xxx_stuff_1
  6050. 0D40231A
  6051. 0D40231E LDR R0, =byte_161
  6052. 0D402320 MOVS R1, #0x24
  6053. 0D402322 BL d8b4xxx_stuff_1
  6054. 0D402322
  6055. 0D402326 LDR R0, =byte_161
  6056. 0D402328 MOVS R1, #0x25
  6057. 0D40232A BL d8b4xxx_stuff_1
  6058. 0D40232A
  6059. 0D40232E LDR R0, =byte_161
  6060. 0D402330 MOVS R1, #0x24
  6061. 0D402332 BL d8b4xxx_stuff_1
  6062. 0D402332
  6063. 0D402336 MOVS R0, #1
  6064. 0D402338 BL delay_0
  6065. 0D402338
  6066. 0D40233C B loc_D4020B4
  6067. 0D40233C
  6068. 0D40233C
  6069. 0D40233E ALIGN 0x10
  6070. 0D402340 dword_D402340 DCD 0x288E
  6071. 0D402340 sub_D40195A+9BEr
  6072. 0D402344 dword_D402344 DCD 0x800F
  6073. 0D402344 sub_D402280+4Ar
  6074. 0D402348 off_D402348 DCD byte_109
  6075. 0D40234C off_D40234C DCD byte_903
  6076. 0D402350 off_D402350 DCD byte_161
  6077. 0D402350 sub_D402280+7Cr ...
  6078. 0D402354
  6079. 0D402354
  6080. 0D402354
  6081. 0D402354
  6082. 0D402354 call_init_dram
  6083. 0D402354
  6084. 0D402354 var_18 = -0x18
  6085. 0D402354 var_14 = -0x14
  6086. 0D402354 var_10 = -0x10
  6087. 0D402354
  6088. 0D402354 PUSH {R4,R5,LR}
  6089. 0D402356 SUB SP, SP, #0xC
  6090. 0D402358 LSLS R0, R0, #0x18
  6091. 0D40235A LSLS R1, R1, #0x18
  6092. 0D40235C LSRS R4, R0, #0x18
  6093. 0D40235E LSRS R5, R1, #0x18
  6094. 0D402360 ADD R0, SP, #0x18+var_10
  6095. 0D402362 ADD R1, SP, #0x18+var_14
  6096. 0D402364 BL sub_D401488
  6097. 0D402364
  6098. 0D402368 LDR R3, [SP,#0x18+var_10]
  6099. 0D40236A CMP R3, #0
  6100. 0D40236C BEQ loc_D40238C
  6101. 0D40236C
  6102. 0D40236E MOVS R0, #0
  6103. 0D402370 CMP R4, #1
  6104. 0D402372 BEQ loc_D402398
  6105. 0D402372
  6106. 0D402374
  6107. 0D402374 loc_D402374
  6108. 0D402374 MOVS R3, #0xF3
  6109. 0D402374
  6110. 0D402376
  6111. 0D402376 loc_D402376
  6112. 0D402376 STR R0, [SP,#0x18+var_18]
  6113. 0D402378 LDR R1, =byte_3E7
  6114. 0D40237A MOVS R0, R3
  6115. 0D40237C MOVS R2, R4
  6116. 0D40237E MOVS R3, R5
  6117. 0D402380 BL init_dram
  6118. 0D402380
  6119. 0D402384 ADD SP, SP, #0xC
  6120. 0D402386 POP {R4,R5}
  6121. 0D402388 POP {R0}
  6122. 0D40238A BX R0
  6123. 0D40238A
  6124. 0D40238C
  6125. 0D40238C loc_D40238C
  6126. 0D40238C BL read_d806024
  6127. 0D40238C
  6128. 0D402390 LSLS R0, R0, #0x1D
  6129. 0D402392 LSRS R0, R0, #0x1F
  6130. 0D402394 CMP R4, #1
  6131. 0D402396 BNE loc_D402374
  6132. 0D402396
  6133. 0D402398
  6134. 0D402398 loc_D402398
  6135. 0D402398 MOVS R3, #0xA2
  6136. 0D40239A B loc_D402376
  6137. 0D40239A
  6138. 0D40239A
  6139. 0D40239A
  6140. 0D40239C off_D40239C DCD byte_3E7
  6141. 0D4023A0
  6142. 0D4023A0
  6143. 0D4023A0
  6144. 0D4023A0
  6145. 0D4023A0 sub_D4023A0
  6146. 0D4023A0 PUSH {LR}
  6147. 0D4023A2 MOVS R0, #0x100
  6148. 0D4023A6 MOVS R1, #1
  6149. 0D4023A8 BL d8b4xxx_stuff_1
  6150. 0D4023A8
  6151. 0D4023AC POP {R0}
  6152. 0D4023AE BX R0
  6153. 0D4023AE
  6154. 0D4023AE
  6155. 0D4023AE
  6156. 0D4023B0
  6157. 0D4023B0
  6158. 0D4023B0
  6159. 0D4023B0
  6160. 0D4023B0 sub_D4023B0
  6161. 0D4023B0 PUSH {LR}
  6162. 0D4023B2 LDR R0, =byte_10B
  6163. 0D4023B4 MOVS R1, #7
  6164. 0D4023B6 BL d8b4xxx_stuff_1
  6165. 0D4023B6
  6166. 0D4023BA MOVS R0, #0x15
  6167. 0D4023BC MOVS R1, #0
  6168. 0D4023BE BL d8b4xxx_stuff_3
  6169. 0D4023BE
  6170. 0D4023C2 MOVS R0, #0x18
  6171. 0D4023C4 MOVS R1, #1
  6172. 0D4023C6 BL d8b4xxx_stuff_3
  6173. 0D4023C6
  6174. 0D4023CA MOVS R0, #0x19
  6175. 0D4023CC MOVS R1, #0
  6176. 0D4023CE BL d8b4xxx_stuff_3
  6177. 0D4023CE
  6178. 0D4023D2 MOVS R0, #0x4A
  6179. 0D4023D4 MOVS R1, #0xE
  6180. 0D4023D6 BL d8b4xxx_stuff_3
  6181. 0D4023D6
  6182. 0D4023DA MOVS R0, #0xF
  6183. 0D4023DC MOVS R1, #8
  6184. 0D4023DE BL d8b4xxx_stuff_3
  6185. 0D4023DE
  6186. 0D4023E2 MOVS R0, #3
  6187. 0D4023E4 MOVS R1, #0xE
  6188. 0D4023E6 BL d8b4xxx_stuff_3
  6189. 0D4023E6
  6190. 0D4023EA MOVS R1, #0xE
  6191. 0D4023EC MOVS R0, #0x49
  6192. 0D4023EE BL d8b4xxx_stuff_3
  6193. 0D4023EE
  6194. 0D4023F2 MOVS R0, #2
  6195. 0D4023F4 BL delay_0
  6196. 0D4023F4
  6197. 0D4023F8 MOVS R0, #0x49
  6198. 0D4023FA MOVS R1, #0xF
  6199. 0D4023FC BL d8b4xxx_stuff_3
  6200. 0D4023FC
  6201. 0D402400 MOVS R0, #2
  6202. 0D402402 BL delay_0
  6203. 0D402402
  6204. 0D402406 POP {R0}
  6205. 0D402408 BX R0
  6206. 0D402408
  6207. 0D402408
  6208. 0D402408
  6209. 0D40240A ALIGN 4
  6210. 0D40240C off_D40240C DCD byte_10B
  6211. 0D402410
  6212. 0D402410
  6213. 0D402410
  6214. 0D402410
  6215. 0D402410 write_to_d8b4xxx
  6216. 0D402410 d8b4xxx_stuff_1+18p ...
  6217. 0D402410 LDR R3, =word_D8B4000
  6218. 0D402412 LSLS R0, R0, #1
  6219. 0D402414 ADDS R0, R0, R3
  6220. 0D402416 STRH R1, [R0]
  6221. 0D402418 BX LR
  6222. 0D402418
  6223. 0D402418
  6224. 0D402418
  6225. 0D40241A ALIGN 4
  6226. 0D40241C off_D40241C DCD word_D8B4000
  6227. 0D402420
  6228. 0D402420
  6229. 0D402420
  6230. 0D402420
  6231. 0D402420 read_from_d8b4xxx
  6232. 0D402420 d8b4xxx_stuff_2+Cp ...
  6233. 0D402420 LDR R3, =word_D8B4000
  6234. 0D402422 LSLS R0, R0, #1
  6235. 0D402424 ADDS R0, R0, R3
  6236. 0D402426 LDRH R0, [R0]
  6237. 0D402428 LSLS R0, R0, #0x10
  6238. 0D40242A LSRS R0, R0, #0x10
  6239. 0D40242C BX LR
  6240. 0D40242C
  6241. 0D40242C
  6242. 0D40242C
  6243. 0D40242E ALIGN 0x10
  6244. 0D402430 off_D402430 DCD word_D8B4000
  6245. 0D402434
  6246. 0D402434
  6247. 0D402434
  6248. 0D402434
  6249. 0D402434 d8b4xxx_stuff_1
  6250. 0D402434 sub_D40195A+14Ep ...
  6251. 0D402434 PUSH {R4,LR}
  6252. 0D402436 MOVS R3, R0
  6253. 0D402438 MOVS R4, R1
  6254. 0D40243A MOVS R0, #0x3A
  6255. 0D40243C MOVS R1, R3
  6256. 0D40243E BL write_to_d8b4xxx
  6257. 0D40243E
  6258. 0D402442 MOVS R0, #0x3A
  6259. 0D402444 BL read_from_d8b4xxx
  6260. 0D402444
  6261. 0D402448 MOVS R0, #0x3B
  6262. 0D40244A MOVS R1, R4
  6263. 0D40244C BL write_to_d8b4xxx
  6264. 0D40244C
  6265. 0D402450 POP {R4}
  6266. 0D402452 POP {R0}
  6267. 0D402454 BX R0
  6268. 0D402454
  6269. 0D402454
  6270. 0D402454
  6271. 0D402456 ALIGN 4
  6272. 0D402458
  6273. 0D402458
  6274. 0D402458
  6275. 0D402458
  6276. 0D402458 d8b4xxx_stuff_2
  6277. 0D402458 sub_D4024A0+Ep ...
  6278. 0D402458 PUSH {LR}
  6279. 0D40245A MOVS R1, R0
  6280. 0D40245C MOVS R0, #0x3A
  6281. 0D40245E BL write_to_d8b4xxx
  6282. 0D40245E
  6283. 0D402462 MOVS R0, #0x3A
  6284. 0D402464 BL read_from_d8b4xxx
  6285. 0D402464
  6286. 0D402468 MOVS R0, #0x3B
  6287. 0D40246A BL read_from_d8b4xxx
  6288. 0D40246A
  6289. 0D40246E POP {R1}
  6290. 0D402470 BX R1
  6291. 0D402470
  6292. 0D402470
  6293. 0D402470
  6294. 0D402472 ALIGN 4
  6295. 0D402474
  6296. 0D402474
  6297. 0D402474
  6298. 0D402474
  6299. 0D402474 d8b4xxx_stuff_3
  6300. 0D402474 sub_D40195A+166p ...
  6301. 0D402474 PUSH {R4,R5,LR}
  6302. 0D402476 LDR R4, =byte_163
  6303. 0D402478 MOVS R3, R0
  6304. 0D40247A MOVS R5, R1
  6305. 0D40247C MOVS R0, R4
  6306. 0D40247E MOVS R1, R3
  6307. 0D402480 BL d8b4xxx_stuff_1
  6308. 0D402480
  6309. 0D402484 MOVS R0, R4
  6310. 0D402486 BL d8b4xxx_stuff_2
  6311. 0D402486
  6312. 0D40248A MOVS R0, #0xB1
  6313. 0D40248C MOVS R1, R5
  6314. 0D40248E LSLS R0, R0, #1
  6315. 0D402490 BL d8b4xxx_stuff_1
  6316. 0D402490
  6317. 0D402494 POP {R4,R5}
  6318. 0D402496 POP {R0}
  6319. 0D402498 BX R0
  6320. 0D402498
  6321. 0D402498
  6322. 0D402498
  6323. 0D40249A ALIGN 4
  6324. 0D40249C off_D40249C DCD byte_163
  6325. 0D4024A0
  6326. 0D4024A0
  6327. 0D4024A0
  6328. 0D4024A0
  6329. 0D4024A0 sub_D4024A0
  6330. 0D4024A0 sub_D40195A+448p ...
  6331. 0D4024A0 PUSH {R4,LR}
  6332. 0D4024A2 LDR R4, =byte_163
  6333. 0D4024A4 MOVS R1, R0
  6334. 0D4024A6 MOVS R0, R4
  6335. 0D4024A8 BL d8b4xxx_stuff_1
  6336. 0D4024A8
  6337. 0D4024AC MOVS R0, R4
  6338. 0D4024AE BL d8b4xxx_stuff_2
  6339. 0D4024AE
  6340. 0D4024B2 MOVS R0, #0x162
  6341. 0D4024B6 BL d8b4xxx_stuff_2
  6342. 0D4024B6
  6343. 0D4024BA POP {R4}
  6344. 0D4024BC POP {R1}
  6345. 0D4024BE BX R1
  6346. 0D4024BE
  6347. 0D4024BE
  6348. 0D4024BE
  6349. 0D4024C0 off_D4024C0 DCD byte_163
  6350. 0D4024C4
  6351. 0D4024C4
  6352. 0D4024C4
  6353. 0D4024C4
  6354. 0D4024C4 sub_D4024C4
  6355. 0D4024C4 MOVS R3, #0xD800000
  6356. 0D4024C8 ADDS R0, R0, R3
  6357. 0D4024CA LDR R0, [R0]
  6358. 0D4024CC BX LR
  6359. 0D4024CC
  6360. 0D4024CC
  6361. 0D4024CC
  6362. 0D4024CE ALIGN 0x10
  6363. 0D4024D0
  6364. 0D4024D0
  6365. 0D4024D0
  6366. 0D4024D0
  6367. 0D4024D0 sub_D4024D0
  6368. 0D4024D0 MOVS R3, #0xD800000
  6369. 0D4024D4 ADDS R0, R0, R3
  6370. 0D4024D6 STR R1, [R0]
  6371. 0D4024D8 BX LR
  6372. 0D4024D8
  6373. 0D4024D8
  6374. 0D4024D8
  6375. 0D4024DA ALIGN 4
  6376. 0D4024DC
  6377. 0D4024DC
  6378. 0D4024DC
  6379. 0D4024DC
  6380. 0D4024DC delay_0
  6381. 0D4024DC gpio_stuff+32p ...
  6382. 0D4024DC PUSH {LR}
  6383. 0D4024DE LDR R3, =dword_D404314
  6384. 0D4024E0 LDR R3, [R3]
  6385. 0D4024E2 CMP R3, #0
  6386. 0D4024E4 BNE loc_D402508
  6387. 0D4024E4
  6388. 0D4024E6 LSRS R3, R0, #2
  6389. 0D4024E8 ADDS R3, R3, R0
  6390. 0D4024EA LSRS R2, R0, #6
  6391. 0D4024EA
  6392. 0D4024EC
  6393. 0D4024EC loc_D4024EC
  6394. 0D4024EC ADDS R0, R3, R2
  6395. 0D4024EE CMP R0, #1
  6396. 0D4024F0 BHI loc_D4024F4
  6397. 0D4024F0
  6398. 0D4024F2 MOVS R0, #2
  6399. 0D4024F2
  6400. 0D4024F4
  6401. 0D4024F4 loc_D4024F4
  6402. 0D4024F4 LDR R1, =LT_TIMER
  6403. 0D4024F6 LDR R3, [R1]
  6404. 0D4024F8 ADDS R2, R3, R0
  6405. 0D4024FA CMP R2, R3
  6406. 0D4024FC BLS loc_D402528
  6407. 0D4024FC
  6408. 0D4024FE
  6409. 0D4024FE loc_D4024FE
  6410. 0D4024FE LDR R3, [R1]
  6411. 0D402500 CMP R3, R2
  6412. 0D402502 BCC loc_D4024FE
  6413. 0D402502
  6414. 0D402504
  6415. 0D402504 loc_D402504
  6416. 0D402504 POP {R0}
  6417. 0D402506 BX R0
  6418. 0D402506
  6419. 0D402508
  6420. 0D402508 loc_D402508
  6421. 0D402508 LSRS R3, R0, #1
  6422. 0D40250A LSRS R2, R0, #2
  6423. 0D40250C ADDS R3, R3, R0
  6424. 0D40250E ADDS R3, R3, R2
  6425. 0D402510 LSRS R2, R0, #3
  6426. 0D402512 ADDS R3, R3, R2
  6427. 0D402514 LSRS R2, R0, #6
  6428. 0D402516 ADDS R3, R3, R2
  6429. 0D402518 LSRS R2, R0, #8
  6430. 0D40251A ADDS R3, R3, R2
  6431. 0D40251C LSRS R2, R0, #9
  6432. 0D40251E ADDS R3, R3, R2
  6433. 0D402520 LSRS R2, R0, #0xA
  6434. 0D402522 ADDS R3, R3, R2
  6435. 0D402524 LSRS R2, R0, #0xC
  6436. 0D402526 B loc_D4024EC
  6437. 0D402526
  6438. 0D402528
  6439. 0D402528 loc_D402528
  6440. 0D402528 ADDS R3, R1, #0
  6441. 0D402528
  6442. 0D40252A
  6443. 0D40252A loc_D40252A
  6444. 0D40252A delay_0+56j
  6445. 0D40252A LDR R0, [R3]
  6446. 0D40252C CMP R0, #0
  6447. 0D40252E BLT loc_D40252A
  6448. 0D40252E
  6449. 0D402530 CMP R0, R2
  6450. 0D402532 BCC loc_D40252A
  6451. 0D402532
  6452. 0D402534 B loc_D402504
  6453. 0D402534
  6454. 0D402534
  6455. 0D402534
  6456. 0D402536 ALIGN 4
  6457. 0D402538 off_D402538 DCD dword_D404314
  6458. 0D40253C off_D40253C DCD LT_TIMER
  6459. 0D402540
  6460. 0D402540
  6461. 0D402540
  6462. 0D402540
  6463. 0D402540 read_d806024
  6464. 0D402540 LDR R3, =dword_D806024
  6465. 0D402542 LDR R0, [R3]
  6466. 0D402544 BX LR
  6467. 0D402544
  6468. 0D402544
  6469. 0D402544
  6470. 0D402546 ALIGN 4
  6471. 0D402548 off_D402548 DCD dword_D806024
  6472. 0D40254C
  6473. 0D40254C
  6474. 0D40254C
  6475. 0D40254C
  6476. 0D40254C get_stack_ptr_maybe CODE XREF: sub_D40195A+438p
  6477. 0D40254C sub_D40195A+892p
  6478. 0D40254C PUSH {LR}
  6479. 0D40254E LDR R3, =LT_MEMIRR
  6480. 0D402550 LDR R1, [R3]
  6481. 0D402552 LDR R3, =LT_ASICREV_ACR
  6482. 0D402554 LDR R2, [R3]
  6483. 0D402556 LSLS R2, R2, #0x18
  6484. 0D402558 SUBS R3, #0x88
  6485. 0D40255A LSLS R1, R1, #0x1A
  6486. 0D40255C LSRS R2, R2, #0x1C
  6487. 0D40255E LDR R3, [R3]
  6488. 0D402560 LSRS R1, R1, #0x1F
  6489. 0D402562 CMP R2, #0
  6490. 0D402564 BEQ loc_D40256C
  6491. 0D402564
  6492. 0D402566 MOVS R3, #0
  6493. 0D402568 CMP R3, #1
  6494. 0D40256A BEQ loc_D40257A
  6495. 0D40256A
  6496. 0D40256C
  6497. 0D40256C loc_D40256C
  6498. 0D40256C CMP R1, #0
  6499. 0D40256E BEQ loc_D402576
  6500. 0D40256E
  6501. 0D402570 LDR R0, =0xFFFFFF00
  6502. 0D402570
  6503. 0D402572
  6504. 0D402572 loc_D402572
  6505. 0D402572 get_stack_ptr_maybe+34j ...
  6506. 0D402572 POP {R1}
  6507. 0D402574 BX R1
  6508. 0D402574
  6509. 0D402576
  6510. 0D402576 loc_D402576
  6511. 0D402576 LDR R0, =(dword_D40F000+0xF00)
  6512. 0D402578 B loc_D402572
  6513. 0D402578
  6514. 0D40257A
  6515. 0D40257A loc_D40257A
  6516. 0D40257A CMP R1, #0
  6517. 0D40257C BNE loc_D402582
  6518. 0D40257C
  6519. 0D40257E LDR R0, =dword_D417F00
  6520. 0D402580 B loc_D402572
  6521. 0D402580
  6522. 0D402582
  6523. 0D402582 loc_D402582
  6524. 0D402582 LDR R0, =(dword_FFFF7DFC+0x104)
  6525. 0D402584 B loc_D402572
  6526. 0D402584
  6527. 0D402584
  6528. 0D402584
  6529. 0D402586 ALIGN 4
  6530. 0D402588 off_D402588 DCD LT_MEMIRR
  6531. 0D40258C off_D40258C DCD LT_ASICREV_ACR
  6532. 0D402590 dword_D402590 DCD 0xFFFFFF00
  6533. 0D402594 off_D402594 DCD dword_D40F000+0xF00 DATA XREF: get_stack_ptr_maybe:loc_D402576r
  6534. 0D402598 off_D402598 DCD dword_D417F00
  6535. 0D40259C off_D40259C DCD dword_FFFF7DFC+0x104 DATA XREF: get_stack_ptr_maybe:loc_D402582r
  6536. 0D4025A0
  6537. 0D4025A0
  6538. 0D4025A0
  6539. 0D4025A0
  6540. 0D4025A0 sub_D4025A0
  6541. 0D4025A0 LDR R3, =dword_D404314
  6542. 0D4025A2 STR R0, [R3]
  6543. 0D4025A4 BX LR
  6544. 0D4025A4
  6545. 0D4025A4
  6546. 0D4025A4
  6547. 0D4025A6 ALIGN 4
  6548. 0D4025A8 off_D4025A8 DCD dword_D404314
  6549. 0D4025AC
  6550. 0D4025AC
  6551. 0D4025AC
  6552. 0D4025AC
  6553. 0D4025AC
  6554. 0D4025AC verify_RSA_sig
  6555. 0D4025AC verify_sig_RSA4096+Ep
  6556. 0D4025AC
  6557. 0D4025AC var_A44 = -0xA44
  6558. 0D4025AC var_A40 = -0xA40
  6559. 0D4025AC var_A3C = -0xA3C
  6560. 0D4025AC var_834 = -0x834
  6561. 0D4025AC
  6562. 0D4025AC PUSH {R4-R7,LR}
  6563. 0D4025AE MOV R7, R11
  6564. 0D4025B0 MOV R6, R10
  6565. 0D4025B2 MOV R5, R9
  6566. 0D4025B4 MOV R4, R8
  6567. 0D4025B6 PUSH {R4-R7}
  6568. 0D4025B8 LDR R4, =0xFFFFF5E0
  6569. 0D4025BA ADD SP, R4
  6570. 0D4025BC STR R0, [SP,#0xA44+var_A3C]
  6571. 0D4025BE MOVS R4, R1
  6572. 0D4025C0 MOVS R5, R2
  6573. 0D4025C2 MOV R10, R3
  6574. 0D4025C4 LDR R3, =dword_A48
  6575. 0D4025C6 ADD R3, SP
  6576. 0D4025C8 LDR R6, [R3]
  6577. 0D4025CA MOVS R7, #0x618
  6578. 0D4025CE ADD R7, SP
  6579. 0D4025D0 MOV R11, R7
  6580. 0D4025D2 LSRS R3, R6, #2
  6581. 0D4025D4 MOV R8, R3
  6582. 0D4025D6 MOVS R0, R7
  6583. 0D4025D8 MOVS R1, R3
  6584. 0D4025DA MOVS R2, R4
  6585. 0D4025DC MOVS R3, R6
  6586. 0D4025DE LDR R4, =(rsa1+1)
  6587. 0D4025E0 BLX R4
  6588. 0D4025E0
  6589. 0D4025E2 LDR R7, =byte_414
  6590. 0D4025E4 ADD R7, SP
  6591. 0D4025E6 MOV R9, R7
  6592. 0D4025E8 MOVS R0, R7
  6593. 0D4025EA MOV R1, R8
  6594. 0D4025EC MOVS R2, R5
  6595. 0D4025EE MOVS R3, R6
  6596. 0D4025F0 BLX R4
  6597. 0D4025F0
  6598. 0D4025F2 ADD R5, SP, #0xA44+var_834
  6599. 0D4025F4 MOVS R0, R5
  6600. 0D4025F6 MOVS R1, #1
  6601. 0D4025F8 MOV R2, R10
  6602. 0D4025FA LDR R7, =byte_A44
  6603. 0D4025FC ADD R7, SP
  6604. 0D4025FE LDR R3, [R7]
  6605. 0D402600 BLX R4
  6606. 0D402600
  6607. 0D402602 MOVS R3, #0xC
  6608. 0D402604 ADD R3, SP
  6609. 0D402606 MOV R10, R3
  6610. 0D402608 MOV R7, R11
  6611. 0D40260A STR R7, [SP,#0xA44+var_A44]
  6612. 0D40260C MOV R3, R8
  6613. 0D40260E STR R3, [SP,#0xA44+var_A40]
  6614. 0D402610 MOV R0, R10
  6615. 0D402612 MOV R1, R9
  6616. 0D402614 MOVS R2, R5
  6617. 0D402616 MOVS R3, #1
  6618. 0D402618 LDR R4, =rsa2
  6619. 0D40261A BLX R4
  6620. 0D40261A
  6621. 0D40261C LSLS R1, R6, #3
  6622. 0D40261E LDR R5, =byte_81C
  6623. 0D402620 ADD R5, SP
  6624. 0D402622 MOVS R0, R5
  6625. 0D402624 LSRS R1, R1, #3
  6626. 0D402626 MOV R2, R10
  6627. 0D402628 MOV R3, R8
  6628. 0D40262A LDR R4, =(rsa3+1)
  6629. 0D40262C BLX R4
  6630. 0D40262C
  6631. 0D40262E ADDS R5, R5, R6
  6632. 0D402630 MOVS R0, R5
  6633. 0D402632 SUBS R0, #0x14
  6634. 0D402634 LDR R1, [SP,#0xA44+var_A3C]
  6635. 0D402636 MOVS R2, #0x14
  6636. 0D402638 LDR R3, =(strncmp+1) int strncmp(char *s1, char *s2, size_t num)
  6637. 0D40263A BLX R3
  6638. 0D40263A
  6639. 0D40263C CMP R0, #0
  6640. 0D40263E BEQ loc_D402642
  6641. 0D40263E
  6642. 0D402640 MOVS R0, #7
  6643. 0D402640
  6644. 0D402642
  6645. 0D402642 loc_D402642
  6646. 0D402642 MOVS R3, #0xA20
  6647. 0D402646 ADD SP, R3
  6648. 0D402648 POP {R3-R6}
  6649. 0D40264A MOV R8, R3
  6650. 0D40264C MOV R9, R4
  6651. 0D40264E MOV R10, R5
  6652. 0D402650 MOV R11, R6
  6653. 0D402652 POP {R4-R7}
  6654. 0D402654 POP {R1}
  6655. 0D402656 BX R1
  6656. 0D402656
  6657. 0D402656
  6658. 0D402656
  6659. 0D402658 dword_D402658 DCD 0xFFFFF5E0
  6660. 0D40265C off_D40265C DCD dword_A48
  6661. 0D402660 off_D402660 DCD rsa1+1
  6662. 0D402664 off_D402664 DCD byte_414
  6663. 0D402668 off_D402668 DCD byte_A44
  6664. 0D40266C off_D40266C DCD rsa2
  6665. 0D402670 off_D402670 DCD byte_81C
  6666. 0D402674 off_D402674 DCD rsa3+1
  6667. 0D402678 off_D402678 DCD strncmp+1
  6668. 0D402678 int strncmp(char *s1, char *s2, size_t num)
  6669. 0D40267C
  6670. 0D40267C
  6671. 0D40267C
  6672. 0D40267C
  6673. 0D40267C verify_sig_RSA2048
  6674. 0D40267C
  6675. 0D40267C var_10 = -0x10
  6676. 0D40267C var_C = -0xC
  6677. 0D40267C arg_0 = 0
  6678. 0D40267C
  6679. 0D40267C PUSH {R4,LR}
  6680. 0D40267E SUB SP, SP, #8
  6681. 0D402680 LDR R4, [SP,#0x10+arg_0]
  6682. 0D402682 STR R4, [SP,#0x10+var_10]
  6683. 0D402684 MOVS R4, #0x100
  6684. 0D402688 STR R4, [SP,#0x10+var_C]
  6685. 0D40268A BL verify_RSA_sig int __cdecl verify_RSA_sig(void *sig, int keylen)
  6686. 0D40268A
  6687. 0D40268E ADD SP, SP, #8
  6688. 0D402690 POP {R4}
  6689. 0D402692 POP {R1}
  6690. 0D402694 BX R1
  6691. 0D402694
  6692. 0D402694
  6693. 0D402694
  6694. 0D402696 ALIGN 4
  6695. 0D402698
  6696. 0D402698
  6697. 0D402698
  6698. 0D402698
  6699. 0D402698 verify_sig_RSA4096
  6700. 0D402698
  6701. 0D402698 var_10 = -0x10
  6702. 0D402698 var_C = -0xC
  6703. 0D402698 arg_0 = 0
  6704. 0D402698
  6705. 0D402698 PUSH {R4,LR}
  6706. 0D40269A SUB SP, SP, #8
  6707. 0D40269C LDR R4, [SP,#0x10+arg_0]
  6708. 0D40269E STR R4, [SP,#0x10+var_10]
  6709. 0D4026A0 MOVS R4, #0x200
  6710. 0D4026A4 STR R4, [SP,#0x10+var_C]
  6711. 0D4026A6 BL verify_RSA_sig int __cdecl verify_RSA_sig(void *sig, int keylen)
  6712. 0D4026A6
  6713. 0D4026AA ADD SP, SP, #8
  6714. 0D4026AC POP {R4}
  6715. 0D4026AE POP {R1}
  6716. 0D4026B0 BX R1
  6717. 0D4026B0
  6718. 0D4026B0
  6719. 0D4026B0
  6720. 0D4026B2 ALIGN 4
  6721. 0D4026B4
  6722. 0D4026B4
  6723. 0D4026B4
  6724. 0D4026B4
  6725. 0D4026B4 rsa4
  6726. 0D4026B4
  6727. 0D4026B4 var_83C = -0x83C
  6728. 0D4026B4 var_838 = -0x838
  6729. 0D4026B4
  6730. 0D4026B4 PUSH {R4-R7,LR}
  6731. 0D4026B6 MOV R7, R11
  6732. 0D4026B8 MOV R6, R10
  6733. 0D4026BA MOV R5, R9
  6734. 0D4026BC MOV R4, R8
  6735. 0D4026BE PUSH {R4-R7}
  6736. 0D4026C0 LDR R4, =0xFFFFF7E8
  6737. 0D4026C2 ADD SP, R4
  6738. 0D4026C4 MOVS R7, R0
  6739. 0D4026C6 MOV R8, R1
  6740. 0D4026C8 MOV R10, R3
  6741. 0D4026CA LDR R3, =byte_83C
  6742. 0D4026CC ADD R3, SP
  6743. 0D4026CE LDR R5, [R3]
  6744. 0D4026D0 LDR R3, =byte_614
  6745. 0D4026D2 ADD R3, SP
  6746. 0D4026D4 MOV R11, R3
  6747. 0D4026D6 LSRS R6, R5, #2
  6748. 0D4026D8 MOVS R0, R3
  6749. 0D4026DA MOVS R1, R6
  6750. 0D4026DC MOVS R3, R5
  6751. 0D4026DE LDR R4, =(rsa1+1)
  6752. 0D4026E0 BLX R4
  6753. 0D4026E0
  6754. 0D4026E2 MOVS R3, #0x410
  6755. 0D4026E6 ADD R3, SP
  6756. 0D4026E8 MOV R9, R3
  6757. 0D4026EA MOVS R0, R3
  6758. 0D4026EC MOVS R1, R6
  6759. 0D4026EE MOV R2, R8
  6760. 0D4026F0 MOVS R3, R5
  6761. 0D4026F2 BLX R4
  6762. 0D4026F2
  6763. 0D4026F4 MOVS R3, #0x20C
  6764. 0D4026F8 ADD R3, SP
  6765. 0D4026FA MOV R8, R3
  6766. 0D4026FC MOVS R0, R3
  6767. 0D4026FE MOVS R1, R6
  6768. 0D402700 MOV R2, R10
  6769. 0D402702 MOVS R3, R5
  6770. 0D402704 BLX R4
  6771. 0D402704
  6772. 0D402706 MOVS R3, #8
  6773. 0D402708 ADD R3, SP
  6774. 0D40270A MOV R10, R3
  6775. 0D40270C MOV R3, R11
  6776. 0D40270E STR R3, [SP,#0x83C+var_83C]
  6777. 0D402710 STR R6, [SP,#0x83C+var_838]
  6778. 0D402712 MOV R0, R10
  6779. 0D402714 MOV R1, R9
  6780. 0D402716 MOV R2, R8
  6781. 0D402718 MOVS R3, R6
  6782. 0D40271A LDR R4, =rsa2
  6783. 0D40271C BLX R4
  6784. 0D40271C
  6785. 0D40271E LSLS R5, R5, #3
  6786. 0D402720 MOVS R0, R7
  6787. 0D402722 LSRS R1, R5, #3
  6788. 0D402724 MOV R2, R10
  6789. 0D402726 MOVS R3, R6
  6790. 0D402728 LDR R4, =(rsa3+1)
  6791. 0D40272A BLX R4
  6792. 0D40272A
  6793. 0D40272C LDR R3, =byte_818
  6794. 0D40272E ADD SP, R3
  6795. 0D402730 POP {R3-R6}
  6796. 0D402732 MOV R8, R3
  6797. 0D402734 MOV R9, R4
  6798. 0D402736 MOV R10, R5
  6799. 0D402738 MOV R11, R6
  6800. 0D40273A POP {R4-R7}
  6801. 0D40273C POP {R0}
  6802. 0D40273E BX R0
  6803. 0D40273E
  6804. 0D40273E
  6805. 0D40273E
  6806. 0D402740 dword_D402740 DCD 0xFFFFF7E8
  6807. 0D402744 off_D402744 DCD byte_83C
  6808. 0D402748 off_D402748 DCD byte_614
  6809. 0D40274C off_D40274C DCD rsa1+1
  6810. 0D402750 off_D402750 DCD rsa2
  6811. 0D402754 off_D402754 DCD rsa3+1
  6812. 0D402758 off_D402758 DCD byte_818
  6813. 0D40275C CODE32
  6814. 0D40275C
  6815. 0D40275C
  6816. 0D40275C
  6817. 0D40275C
  6818. 0D40275C sub_D40275C
  6819. 0D40275C sub_D402810+48p
  6820. 0D40275C
  6821. 0D40275C var_4 = -4
  6822. 0D40275C
  6823. 0D40275C STR R4, [SP,#var_4]!
  6824. 0D402760 UMULL R4, R3, R1, R2
  6825. 0D402764 STR R4, [R0]
  6826. 0D402768 MOV R4, R3
  6827. 0D40276C STR R4, [R0,#4]
  6828. 0D402770 LDMFD SP!, {R4}
  6829. 0D402774 BX LR
  6830. 0D402774
  6831. 0D402774
  6832. 0D402774
  6833. 0D402778
  6834. 0D402778
  6835. 0D402778
  6836. 0D402778
  6837. 0D402778
  6838. 0D402778 sub_D402778
  6839. 0D402778
  6840. 0D402778 var_30 = -0x30
  6841. 0D402778 var_2C = -0x2C
  6842. 0D402778 arg_0 = 4
  6843. 0D402778
  6844. 0D402778 MOV R12, SP
  6845. 0D40277C STMFD SP!, {R4-R12,LR,PC}
  6846. 0D402780 SUB R11, R12, #4
  6847. 0D402784 SUB SP, SP, #8
  6848. 0D402788 MOV R6, R0
  6849. 0D40278C MOV R10, R1
  6850. 0D402790 MOV R8, R3
  6851. 0D402794 LDR R9, [R11,#arg_0]
  6852. 0D402798 SUBS R7, R2, #0
  6853. 0D40279C MOVEQ R0, R7
  6854. 0D4027A0 BEQ loc_D402804
  6855. 0D4027A0
  6856. 0D4027A4 MOV R5, #0
  6857. 0D4027A8 MOV R4, R5
  6858. 0D4027AC CMP R5, R9
  6859. 0D4027B0 BGE loc_D402800
  6860. 0D4027B0
  6861. 0D4027B4
  6862. 0D4027B4 loc_D4027B4
  6863. 0D4027B4 SUB R0, R11, #-var_30
  6864. 0D4027B8 MOV R1, R7
  6865. 0D4027BC LDR R2, [R8,R4,LSL#2]
  6866. 0D4027C0 BL sub_D40275C
  6867. 0D4027C0
  6868. 0D4027C4 LDR R3, [R10,R4,LSL#2]
  6869. 0D4027C8 ADD R3, R5, R3
  6870. 0D4027CC CMP R3, R5
  6871. 0D4027D0 MOVCS R5, #0
  6872. 0D4027D4 MOVCC R5, #1
  6873. 0D4027D8 LDR R2, [R11,#var_30]
  6874. 0D4027DC ADD R3, R3, R2
  6875. 0D4027E0 STR R3, [R6,R4,LSL#2]
  6876. 0D4027E4 CMP R3, R2
  6877. 0D4027E8 ADDCC R5, R5, #1
  6878. 0D4027EC LDR R3, [R11,#var_2C]
  6879. 0D4027F0 ADD R5, R5, R3
  6880. 0D4027F4 ADD R4, R4, #1
  6881. 0D4027F8 CMP R4, R9
  6882. 0D4027FC BLT loc_D4027B4
  6883. 0D4027FC
  6884. 0D402800
  6885. 0D402800 loc_D402800
  6886. 0D402800 MOV R0, R5
  6887. 0D402800
  6888. 0D402804
  6889. 0D402804 loc_D402804
  6890. 0D402804 SUB SP, R11, #0x28
  6891. 0D402808 LDMFD SP, {R4-R11,SP,LR}
  6892. 0D40280C BX LR
  6893. 0D40280C
  6894. 0D40280C
  6895. 0D40280C
  6896. 0D402810
  6897. 0D402810
  6898. 0D402810
  6899. 0D402810
  6900. 0D402810
  6901. 0D402810 sub_D402810
  6902. 0D402810
  6903. 0D402810 var_30 = -0x30
  6904. 0D402810 var_2C = -0x2C
  6905. 0D402810 arg_0 = 4
  6906. 0D402810
  6907. 0D402810 MOV R12, SP
  6908. 0D402814 STMFD SP!, {R4-R12,LR,PC}
  6909. 0D402818 SUB R11, R12, #4
  6910. 0D40281C SUB SP, SP, #8
  6911. 0D402820 MOV R6, R0
  6912. 0D402824 MOV R10, R1
  6913. 0D402828 MOV R8, R3
  6914. 0D40282C LDR R9, [R11,#arg_0]
  6915. 0D402830 SUBS R7, R2, #0
  6916. 0D402834 MOVEQ R0, R7
  6917. 0D402838 BEQ loc_D4028A8
  6918. 0D402838
  6919. 0D40283C MOV R5, #0
  6920. 0D402840 MOV R4, R5
  6921. 0D402844 CMP R5, R9
  6922. 0D402848 BGE loc_D4028A4
  6923. 0D402848
  6924. 0D40284C
  6925. 0D40284C loc_D40284C
  6926. 0D40284C SUB R0, R11, #-var_30
  6927. 0D402850 MOV R1, R7
  6928. 0D402854 LDR R2, [R8,R4,LSL#2]
  6929. 0D402858 BL sub_D40275C
  6930. 0D402858
  6931. 0D40285C LDR R3, [R10,R4,LSL#2]
  6932. 0D402860 RSB R3, R5, R3
  6933. 0D402864 MVN R2, R5
  6934. 0D402868 CMP R3, R2
  6935. 0D40286C MOVLS R5, #0
  6936. 0D402870 MOVHI R5, #1
  6937. 0D402874 MOV R2, R3
  6938. 0D402878 LDR R3, [R11,#var_30]
  6939. 0D40287C RSB R2, R3, R2
  6940. 0D402880 STR R2, [R6,R4,LSL#2]
  6941. 0D402884 MVN R3, R3
  6942. 0D402888 CMP R2, R3
  6943. 0D40288C ADDHI R5, R5, #1
  6944. 0D402890 LDR R3, [R11,#var_2C]
  6945. 0D402894 ADD R5, R5, R3
  6946. 0D402898 ADD R4, R4, #1
  6947. 0D40289C CMP R4, R9
  6948. 0D4028A0 BLT loc_D40284C
  6949. 0D4028A0
  6950. 0D4028A4
  6951. 0D4028A4 loc_D4028A4
  6952. 0D4028A4 MOV R0, R5
  6953. 0D4028A4
  6954. 0D4028A8
  6955. 0D4028A8 loc_D4028A8
  6956. 0D4028A8 SUB SP, R11, #0x28
  6957. 0D4028AC LDMFD SP, {R4-R11,SP,LR}
  6958. 0D4028B0 BX LR
  6959. 0D4028B0
  6960. 0D4028B0
  6961. 0D4028B0
  6962. 0D4028B4
  6963. 0D4028B4
  6964. 0D4028B4
  6965. 0D4028B4
  6966. 0D4028B4 sub_D4028B4
  6967. 0D4028B4 sub_D403288+28p
  6968. 0D4028B4 MOV R3, #0
  6969. 0D4028B4
  6970. 0D4028B8
  6971. 0D4028B8 loc_D4028B8
  6972. 0D4028B8 CMP R0, #0
  6973. 0D4028BC BEQ loc_D4028D0
  6974. 0D4028BC
  6975. 0D4028C0 ADD R3, R3, #1
  6976. 0D4028C4 MOV R0, R0,LSR#1
  6977. 0D4028C8 CMP R3, #0x1F
  6978. 0D4028CC BLE loc_D4028B8
  6979. 0D4028CC
  6980. 0D4028D0
  6981. 0D4028D0 loc_D4028D0
  6982. 0D4028D0 MOV R0, R3
  6983. 0D4028D4 BX LR
  6984. 0D4028D4
  6985. 0D4028D4
  6986. 0D4028D4
  6987. 0D4028D8
  6988. 0D4028D8
  6989. 0D4028D8
  6990. 0D4028D8
  6991. 0D4028D8
  6992. 0D4028D8 rsa6 CODE XREF: rsa5+128p
  6993. 0D4028D8 MOV R12, SP
  6994. 0D4028DC STMFD SP!, {R4-R12,LR,PC}
  6995. 0D4028E0 SUB R11, R12, #4
  6996. 0D4028E4 MOV R9, R0
  6997. 0D4028E8 MOV R8, R2
  6998. 0D4028EC MOV R6, R2,LSR#16
  6999. 0D4028F0 MOV R3, R2,LSL#16
  7000. 0D4028F4 MOV R10, R3,LSR#16
  7001. 0D4028F8 LDMIA R1, {R4,R5}
  7002. 0D4028FC MOV R3, #0xFFFF
  7003. 0D402904 CMP R6, R3
  7004. 0D402908 MOVEQ R7, R5,LSR#16
  7005. 0D40290C BEQ loc_D40292C
  7006. 0D40290C
  7007. 0D402910 MOV R0, R5
  7008. 0D402914 ADD R1, R6, #1
  7009. 0D402918 LDR R3, =(sub_D403DC8+1)
  7010. 0D40291C MOV LR, PC
  7011. 0D402920 BX R3
  7012. 0D402920
  7013. 0D402924 MOV R0, R0,LSL#16
  7014. 0D402928 MOV R7, R0,LSR#16
  7015. 0D402928
  7016. 0D40292C
  7017. 0D40292C loc_D40292C
  7018. 0D40292C MUL R2, R10, R7
  7019. 0D402930 MUL R1, R6, R7
  7020. 0D402934 MOV R3, R2,LSL#16
  7021. 0D402938 RSB R4, R3, R4
  7022. 0D40293C MVN R3, R3
  7023. 0D402940 CMP R3, R4
  7024. 0D402944 SUBCC R5, R5, #1
  7025. 0D402948 SUB R5, R5, R2,LSR#16
  7026. 0D40294C RSB R5, R1, R5
  7027. 0D402950 CMP R6, R5
  7028. 0D402954 BCC loc_D402968
  7029. 0D402954
  7030. 0D402958 BNE loc_D4029A0
  7031. 0D402958
  7032. 0D40295C MOV R3, R10,LSL#16
  7033. 0D402960 CMP R3, R4
  7034. 0D402964 BHI loc_D4029A0
  7035. 0D402964
  7036. 0D402968
  7037. 0D402968 loc_D402968
  7038. 0D402968 MOV R2, R10,LSL#16
  7039. 0D40296C MVN R1, R2
  7040. 0D40296C
  7041. 0D402970
  7042. 0D402970 loc_D402970
  7043. 0D402970 rsa6+C4j
  7044. 0D402970 RSB R4, R2, R4
  7045. 0D402974 CMP R1, R4
  7046. 0D402978 SUBCC R5, R5, #1
  7047. 0D40297C RSB R5, R6, R5
  7048. 0D402980 ADD R3, R7, #1
  7049. 0D402984 MOV R3, R3,LSL#16
  7050. 0D402988 MOV R7, R3,LSR#16
  7051. 0D40298C CMP R6, R5
  7052. 0D402990 BCC loc_D402970
  7053. 0D402990
  7054. 0D402994 BNE loc_D4029A0
  7055. 0D402994
  7056. 0D402998 CMP R2, R4
  7057. 0D40299C BLS loc_D402970
  7058. 0D40299C
  7059. 0D4029A0
  7060. 0D4029A0 loc_D4029A0
  7061. 0D4029A0 rsa6+8Cj ...
  7062. 0D4029A0 MOV R3, #0xFFFF
  7063. 0D4029A8 CMP R6, R3
  7064. 0D4029AC MOVEQ R3, R5,LSL#16
  7065. 0D4029B0 MOVEQ R0, R3,LSR#16
  7066. 0D4029B4 BEQ loc_D4029D8
  7067. 0D4029B4
  7068. 0D4029B8 MOV R0, R4,LSR#16
  7069. 0D4029BC ADD R0, R0, R5,LSL#16
  7070. 0D4029C0 ADD R1, R6, #1
  7071. 0D4029C4 LDR R3, =(sub_D403DC8+1)
  7072. 0D4029C8 MOV LR, PC
  7073. 0D4029CC BX R3
  7074. 0D4029CC
  7075. 0D4029D0 MOV R0, R0,LSL#16
  7076. 0D4029D4 MOV R0, R0,LSR#16
  7077. 0D4029D4
  7078. 0D4029D8
  7079. 0D4029D8 loc_D4029D8
  7080. 0D4029D8 MUL R2, R10, R0
  7081. 0D4029DC MUL R1, R6, R0
  7082. 0D4029E0 RSB R4, R2, R4
  7083. 0D4029E4 MVN R3, R2
  7084. 0D4029E8 CMP R3, R4
  7085. 0D4029EC SUBCC R5, R5, #1
  7086. 0D4029F0 MOV R3, R1,LSL#16
  7087. 0D4029F4 RSB R4, R3, R4
  7088. 0D4029F8 MVN R3, R3
  7089. 0D4029FC CMP R3, R4
  7090. 0D402A00 SUBCC R5, R5, #1
  7091. 0D402A04 SUB R3, R5, R1,LSR#16
  7092. 0D402A08 MOV R5, R3
  7093. 0D402A0C CMP R3, #0
  7094. 0D402A10 BNE loc_D402A1C
  7095. 0D402A10
  7096. 0D402A14 CMP R8, R4
  7097. 0D402A18 BHI loc_D402A48
  7098. 0D402A18
  7099. 0D402A1C
  7100. 0D402A1C loc_D402A1C
  7101. 0D402A1C MVN R2, R8
  7102. 0D402A1C
  7103. 0D402A20
  7104. 0D402A20 loc_D402A20
  7105. 0D402A20 rsa6+16Cj
  7106. 0D402A20 RSB R4, R8, R4
  7107. 0D402A24 CMP R2, R4
  7108. 0D402A28 SUBCC R5, R5, #1
  7109. 0D402A2C ADD R3, R0, #1
  7110. 0D402A30 MOV R3, R3,LSL#16
  7111. 0D402A34 MOV R0, R3,LSR#16
  7112. 0D402A38 CMP R5, #0
  7113. 0D402A3C BNE loc_D402A20
  7114. 0D402A3C
  7115. 0D402A40 CMP R8, R4
  7116. 0D402A44 BLS loc_D402A20
  7117. 0D402A44
  7118. 0D402A48
  7119. 0D402A48 loc_D402A48
  7120. 0D402A48 ADD R3, R0, R7,LSL#16
  7121. 0D402A4C STR R3, [R9]
  7122. 0D402A50 LDMFD SP, {R4-R11,SP,LR}
  7123. 0D402A54 BX LR
  7124. 0D402A54
  7125. 0D402A54
  7126. 0D402A54
  7127. 0D402A58 off_D402A58 DCD sub_D403DC8+1
  7128. 0D402A58 rsa6+ECr
  7129. 0D402A5C
  7130. 0D402A5C
  7131. 0D402A5C
  7132. 0D402A5C
  7133. 0D402A5C sub_D402A5C
  7134. 0D402A5C rsa2+9Cp ...
  7135. 0D402A5C MOV R12, #0
  7136. 0D402A60 CMP R12, R2
  7137. 0D402A64 BXGE LR
  7138. 0D402A64
  7139. 0D402A68
  7140. 0D402A68 loc_D402A68
  7141. 0D402A68 LDR R3, [R1,R12,LSL#2]
  7142. 0D402A6C STR R3, [R0,R12,LSL#2]
  7143. 0D402A70 ADD R12, R12, #1
  7144. 0D402A74 CMP R12, R2
  7145. 0D402A78 BLT loc_D402A68
  7146. 0D402A78
  7147. 0D402A7C BX LR
  7148. 0D402A7C
  7149. 0D402A7C
  7150. 0D402A7C
  7151. 0D402A80
  7152. 0D402A80
  7153. 0D402A80
  7154. 0D402A80
  7155. 0D402A80 sub_D402A80
  7156. 0D402A80 rsa5+68p ...
  7157. 0D402A80 MOV R3, #0
  7158. 0D402A84 CMP R3, R1
  7159. 0D402A88 BXGE LR
  7160. 0D402A88
  7161. 0D402A8C MOV R2, R3
  7162. 0D402A8C
  7163. 0D402A90
  7164. 0D402A90 loc_D402A90
  7165. 0D402A90 STR R2, [R0,R3,LSL#2]
  7166. 0D402A94 ADD R3, R3, #1
  7167. 0D402A98 CMP R3, R1
  7168. 0D402A9C BLT loc_D402A90
  7169. 0D402A9C
  7170. 0D402AA0 BX LR
  7171. 0D402AA0
  7172. 0D402AA0
  7173. 0D402AA0
  7174. 0D402AA4
  7175. 0D402AA4
  7176. 0D402AA4
  7177. 0D402AA4
  7178. 0D402AA4 sub_D402AA4
  7179. 0D402AA4 STMFD SP!, {R4,R5,LR}
  7180. 0D402AA8 MOV R5, R0
  7181. 0D402AAC MOV R4, R1
  7182. 0D402AB0 MOV R1, R2
  7183. 0D402AB4 MOV R2, R3
  7184. 0D402AB8 MOV R0, #0
  7185. 0D402ABC MOV LR, R0
  7186. 0D402AC0 CMP R0, R3
  7187. 0D402AC4 BGE loc_D402AF8
  7188. 0D402AC4
  7189. 0D402AC8
  7190. 0D402AC8 loc_D402AC8
  7191. 0D402AC8 LDR R3, [R4,LR,LSL#2]
  7192. 0D402ACC ADDS R12, R0, R3
  7193. 0D402AD0 LDRCS R12, [R1,LR,LSL#2]
  7194. 0D402AD4 BCS loc_D402AE8
  7195. 0D402AD4
  7196. 0D402AD8 LDR R3, [R1,LR,LSL#2]
  7197. 0D402ADC ADDS R12, R12, R3
  7198. 0D402AE0 MOVCC R0, #0
  7199. 0D402AE4 MOVCS R0, #1
  7200. 0D402AE4
  7201. 0D402AE8
  7202. 0D402AE8 loc_D402AE8
  7203. 0D402AE8 STR R12, [R5,LR,LSL#2]
  7204. 0D402AEC ADD LR, LR, #1
  7205. 0D402AF0 CMP LR, R2
  7206. 0D402AF4 BLT loc_D402AC8
  7207. 0D402AF4
  7208. 0D402AF8
  7209. 0D402AF8 loc_D402AF8
  7210. 0D402AF8 LDMFD SP!, {R4,R5,LR}
  7211. 0D402AFC BX LR
  7212. 0D402AFC
  7213. 0D402AFC
  7214. 0D402AFC
  7215. 0D402B00
  7216. 0D402B00
  7217. 0D402B00
  7218. 0D402B00
  7219. 0D402B00 sub_D402B00
  7220. 0D402B00 sub_D4032C4+130p
  7221. 0D402B00 STMFD SP!, {R4,R5,LR}
  7222. 0D402B04 MOV R5, R0
  7223. 0D402B08 MOV R4, R1
  7224. 0D402B0C MOV R1, R2
  7225. 0D402B10 MOV R2, R3
  7226. 0D402B14 MOV R0, #0
  7227. 0D402B18 MOV LR, R0
  7228. 0D402B1C CMP R0, R3
  7229. 0D402B20 BGE loc_D402B70
  7230. 0D402B20
  7231. 0D402B24
  7232. 0D402B24 loc_D402B24
  7233. 0D402B24 LDR R3, [R4,LR,LSL#2]
  7234. 0D402B28 RSB R12, R0, R3
  7235. 0D402B2C RSB R3, R0, #0xFF000000
  7236. 0D402B30 ADD R3, R3, #0x1000000
  7237. 0D402B34 SUB R3, R3, #1
  7238. 0D402B38 CMP R12, R3
  7239. 0D402B3C LDRHI R3, [R1,LR,LSL#2]
  7240. 0D402B40 MVNHI R12, R3
  7241. 0D402B44 BHI loc_D402B60
  7242. 0D402B44
  7243. 0D402B48 LDR R3, [R1,LR,LSL#2]
  7244. 0D402B4C RSB R12, R3, R12
  7245. 0D402B50 MVN R3, R3
  7246. 0D402B54 CMP R12, R3
  7247. 0D402B58 MOVLS R0, #0
  7248. 0D402B5C MOVHI R0, #1
  7249. 0D402B5C
  7250. 0D402B60
  7251. 0D402B60 loc_D402B60
  7252. 0D402B60 STR R12, [R5,LR,LSL#2]
  7253. 0D402B64 ADD LR, LR, #1
  7254. 0D402B68 CMP LR, R2
  7255. 0D402B6C BLT loc_D402B24
  7256. 0D402B6C
  7257. 0D402B70
  7258. 0D402B70 loc_D402B70
  7259. 0D402B70 LDMFD SP!, {R4,R5,LR}
  7260. 0D402B74 BX LR
  7261. 0D402B74
  7262. 0D402B74
  7263. 0D402B74
  7264. 0D402B78
  7265. 0D402B78
  7266. 0D402B78
  7267. 0D402B78
  7268. 0D402B78 sub_D402B78
  7269. 0D402B78 sub_D402BA0+50p ...
  7270. 0D402B78 MOV R2, R0
  7271. 0D402B7C SUBS R0, R1, #1
  7272. 0D402B80 BMI loc_D402B98
  7273. 0D402B80
  7274. 0D402B84
  7275. 0D402B84 loc_D402B84
  7276. 0D402B84 LDR R3, [R2,R0,LSL#2]
  7277. 0D402B88 CMP R3, #0
  7278. 0D402B8C BNE loc_D402B98
  7279. 0D402B8C
  7280. 0D402B90 SUBS R0, R0, #1
  7281. 0D402B94 BPL loc_D402B84
  7282. 0D402B94
  7283. 0D402B98
  7284. 0D402B98 loc_D402B98
  7285. 0D402B98 sub_D402B78+14j
  7286. 0D402B98 ADD R0, R0, #1
  7287. 0D402B9C BX LR
  7288. 0D402B9C
  7289. 0D402B9C
  7290. 0D402B9C
  7291. 0D402BA0
  7292. 0D402BA0
  7293. 0D402BA0
  7294. 0D402BA0
  7295. 0D402BA0
  7296. 0D402BA0 sub_D402BA0
  7297. 0D402BA0 sub_D4032C4+A0p
  7298. 0D402BA0
  7299. 0D402BA0 var_43C = -0x43C
  7300. 0D402BA0 var_438 = -0x438
  7301. 0D402BA0 var_434 = -0x434
  7302. 0D402BA0 var_420 = -0x420
  7303. 0D402BA0 var_28 = -0x28
  7304. 0D402BA0
  7305. 0D402BA0 MOV R12, SP
  7306. 0D402BA4 STMFD SP!, {R4-R12,LR,PC}
  7307. 0D402BA8 SUB R11, R12, #4
  7308. 0D402BAC SUB SP, SP, #0x410
  7309. 0D402BB0 SUB SP, SP, #4
  7310. 0D402BB4 STR R0, [R11,#var_434]
  7311. 0D402BB8 STR R1, [R11,#var_438]
  7312. 0D402BBC MOV R9, R2
  7313. 0D402BC0 MOV R10, R3
  7314. 0D402BC4 SUB R0, R11, #-var_420
  7315. 0D402BC8 SUB R0, R0, #8
  7316. 0D402BCC SUB R0, R0, #8
  7317. 0D402BD0 MOV R1, R3,LSL#1
  7318. 0D402BD4 BL sub_D402A80
  7319. 0D402BD4
  7320. 0D402BD8 LDR R0, [R11,#var_438]
  7321. 0D402BDC MOV R1, R10
  7322. 0D402BE0 BL sub_D402B78
  7323. 0D402BE0
  7324. 0D402BE4 MOV R8, R0
  7325. 0D402BE8 MOV R0, R9
  7326. 0D402BEC MOV R1, R10
  7327. 0D402BF0 BL sub_D402B78
  7328. 0D402BF0
  7329. 0D402BF4 MOV R7, R0
  7330. 0D402BF8 MOV R5, #0
  7331. 0D402BFC CMP R5, R8
  7332. 0D402C00 BGE loc_D402C54
  7333. 0D402C00
  7334. 0D402C04 MOV R6, #0xFFFFFBF8
  7335. 0D402C04
  7336. 0D402C0C
  7337. 0D402C0C loc_D402C0C
  7338. 0D402C0C ADD R3, R5, R7
  7339. 0D402C10 SUB R2, R11, #-var_28
  7340. 0D402C14 ADD R4, R2, R3,LSL#2
  7341. 0D402C18 SUB R3, R11, #-var_28
  7342. 0D402C1C ADD R1, R3, R6
  7343. 0D402C20 ADD R1, R1, R5,LSL#2
  7344. 0D402C24 LDR R3, [R11,#var_438]
  7345. 0D402C28 LDR R2, [R3,R5,LSL#2]
  7346. 0D402C2C STR R7, [SP,#0x43C+var_43C]
  7347. 0D402C30 MOV R0, R1
  7348. 0D402C34 MOV R3, R9
  7349. 0D402C38 BL sub_D402778
  7350. 0D402C38
  7351. 0D402C3C LDR R3, [R4,R6]
  7352. 0D402C40 ADD R0, R0, R3
  7353. 0D402C44 STR R0, [R4,R6]
  7354. 0D402C48 ADD R5, R5, #1
  7355. 0D402C4C CMP R5, R8
  7356. 0D402C50 BLT loc_D402C0C
  7357. 0D402C50
  7358. 0D402C54
  7359. 0D402C54 loc_D402C54
  7360. 0D402C54 LDR R0, [R11,#var_434]
  7361. 0D402C58 SUB R1, R11, #-var_420
  7362. 0D402C5C SUB R1, R1, #8
  7363. 0D402C60 SUB R1, R1, #8
  7364. 0D402C64 MOV R2, R10,LSL#1
  7365. 0D402C68 BL sub_D402A5C
  7366. 0D402C68
  7367. 0D402C6C SUB SP, R11, #0x28
  7368. 0D402C70 LDMFD SP, {R4-R11,SP,LR}
  7369. 0D402C74 BX LR
  7370. 0D402C74
  7371. 0D402C74
  7372. 0D402C74
  7373. 0D402C78
  7374. 0D402C78
  7375. 0D402C78
  7376. 0D402C78
  7377. 0D402C78 sub_D402C78
  7378. 0D402C78 rsa5+A0p
  7379. 0D402C78 STMFD SP!, {R4-R6,LR}
  7380. 0D402C7C MOV R5, R0
  7381. 0D402C80 MOV R4, R1
  7382. 0D402C84 MOV R1, R3
  7383. 0D402C88 CMP R2, #0x1F
  7384. 0D402C8C MOVGT R0, #0
  7385. 0D402C90 BGT loc_D402CCC
  7386. 0D402C90
  7387. 0D402C94 RSB R6, R2, #0x20
  7388. 0D402C98 MOV R0, #0
  7389. 0D402C9C MOV LR, R0
  7390. 0D402CA0 CMP R0, R3
  7391. 0D402CA4 BGE loc_D402CCC
  7392. 0D402CA4
  7393. 0D402CA8
  7394. 0D402CA8 loc_D402CA8
  7395. 0D402CA8 LDR R12, [R4,LR,LSL#2]
  7396. 0D402CAC ORR R3, R0, R12,LSL R2
  7397. 0D402CB0 STR R3, [R5,LR,LSL#2]
  7398. 0D402CB4 CMP R2, #0
  7399. 0D402CB8 MOVNE R0, R12,LSR R6
  7400. 0D402CBC MOVEQ R0, #0
  7401. 0D402CC0 ADD LR, LR, #1
  7402. 0D402CC4 CMP LR, R1
  7403. 0D402CC8 BLT loc_D402CA8
  7404. 0D402CC8
  7405. 0D402CCC
  7406. 0D402CCC loc_D402CCC
  7407. 0D402CCC sub_D402C78+2Cj
  7408. 0D402CCC LDMFD SP!, {R4-R6,LR}
  7409. 0D402CD0 BX LR
  7410. 0D402CD0
  7411. 0D402CD0
  7412. 0D402CD0
  7413. 0D402CD4
  7414. 0D402CD4
  7415. 0D402CD4
  7416. 0D402CD4
  7417. 0D402CD4 sub_D402CD4
  7418. 0D402CD4 STMFD SP!, {R4,R5,LR}
  7419. 0D402CD8 MOV R4, R0
  7420. 0D402CDC CMP R2, #0x1F
  7421. 0D402CE0 MOVGT R0, #0
  7422. 0D402CE4 BGT loc_D402D18
  7423. 0D402CE4
  7424. 0D402CE8 RSB R5, R2, #0x20
  7425. 0D402CEC MOV R0, #0
  7426. 0D402CF0 SUBS R12, R3, #1
  7427. 0D402CF4 BMI loc_D402D18
  7428. 0D402CF4
  7429. 0D402CF8
  7430. 0D402CF8 loc_D402CF8
  7431. 0D402CF8 LDR LR, [R1,R12,LSL#2]
  7432. 0D402CFC ORR R3, R0, LR,LSR R2
  7433. 0D402D00 STR R3, [R4,R12,LSL#2]
  7434. 0D402D04 CMP R2, #0
  7435. 0D402D08 MOVNE R0, LR,LSL R5
  7436. 0D402D0C MOVEQ R0, #0
  7437. 0D402D10 SUBS R12, R12, #1
  7438. 0D402D14 BPL loc_D402CF8
  7439. 0D402D14
  7440. 0D402D18
  7441. 0D402D18 loc_D402D18
  7442. 0D402D18 sub_D402CD4+20j
  7443. 0D402D18 LDMFD SP!, {R4,R5,LR}
  7444. 0D402D1C BX LR
  7445. 0D402D1C
  7446. 0D402D1C
  7447. 0D402D1C
  7448. 0D402D20
  7449. 0D402D20
  7450. 0D402D20
  7451. 0D402D20
  7452. 0D402D20 sub_D402D20
  7453. 0D402D20 SUBS R12, R2, #1
  7454. 0D402D24 BMI loc_D402D60
  7455. 0D402D24
  7456. 0D402D28
  7457. 0D402D28 loc_D402D28
  7458. 0D402D28 LDR R2, [R0,R12,LSL#2]
  7459. 0D402D2C LDR R3, [R1,R12,LSL#2]
  7460. 0D402D30 CMP R2, R3
  7461. 0D402D34 BLS loc_D402D40
  7462. 0D402D34
  7463. 0D402D38 MOV R0, #1
  7464. 0D402D3C BX LR
  7465. 0D402D3C
  7466. 0D402D40
  7467. 0D402D40 loc_D402D40
  7468. 0D402D40 LDR R2, [R0,R12,LSL#2]
  7469. 0D402D44 LDR R3, [R1,R12,LSL#2]
  7470. 0D402D48 CMP R2, R3
  7471. 0D402D4C BCS loc_D402D58
  7472. 0D402D4C
  7473. 0D402D50 MOV R0, #0xFFFFFFFF
  7474. 0D402D54 BX LR
  7475. 0D402D54
  7476. 0D402D58
  7477. 0D402D58 loc_D402D58
  7478. 0D402D58 SUBS R12, R12, #1
  7479. 0D402D5C BPL loc_D402D28
  7480. 0D402D5C
  7481. 0D402D60
  7482. 0D402D60 loc_D402D60
  7483. 0D402D60 MOV R0, #0
  7484. 0D402D64 BX LR
  7485. 0D402D64
  7486. 0D402D64
  7487. 0D402D64
  7488. 0D402D68
  7489. 0D402D68
  7490. 0D402D68
  7491. 0D402D68
  7492. 0D402D68
  7493. 0D402D68 rsa5 CODE XREF: sub_D402FA0+3Cp
  7494. 0D402D68 sub_D4032C4+84p
  7495. 0D402D68
  7496. 0D402D68 var_654 = -0x654
  7497. 0D402D68 var_650 = -0x650
  7498. 0D402D68 var_64C = -0x64C
  7499. 0D402D68 var_648 = -0x648
  7500. 0D402D68 var_644 = -0x644
  7501. 0D402D68 var_640 = -0x640
  7502. 0D402D68 var_63C = -0x63C
  7503. 0D402D68 var_630 = -0x630
  7504. 0D402D68 var_420 = -0x420
  7505. 0D402D68 var_28 = -0x28
  7506. 0D402D68 arg_0 = 4
  7507. 0D402D68 arg_4 = 8
  7508. 0D402D68
  7509. 0D402D68 MOV R12, SP
  7510. 0D402D6C STMFD SP!, {R4-R12,LR,PC}
  7511. 0D402D70 SUB R11, R12, #4
  7512. 0D402D74 SUB SP, SP, #0x620
  7513. 0D402D78 SUB SP, SP, #0xC
  7514. 0D402D7C STR R0, [R11,#var_640]
  7515. 0D402D80 STR R1, [R11,#var_644]
  7516. 0D402D84 MOV R9, R2
  7517. 0D402D88 MOV R8, R3
  7518. 0D402D8C LDR R10, [R11,#arg_0]
  7519. 0D402D90 MOV R0, R10
  7520. 0D402D94 LDR R1, [R11,#arg_4]
  7521. 0D402D98 BL sub_D402B78
  7522. 0D402D98
  7523. 0D402D9C SUBS R7, R0, #0
  7524. 0D402DA0 BEQ loc_D402F94
  7525. 0D402DA0
  7526. 0D402DA4 MOV R5, R7,LSL#2
  7527. 0D402DA8 ADD R3, R5, R10
  7528. 0D402DAC LDR R0, [R3,#-4]
  7529. 0D402DB0 BL sub_D4028B4
  7530. 0D402DB0
  7531. 0D402DB4 RSB R0, R0, #0x20
  7532. 0D402DB8 STR R0, [R11,#var_648]
  7533. 0D402DBC SUB R4, R11, #-var_420
  7534. 0D402DC0 SUB R4, R4, #8
  7535. 0D402DC4 SUB R4, R4, #0xC
  7536. 0D402DC8 MOV R0, R4
  7537. 0D402DCC MOV R1, R7
  7538. 0D402DD0 BL sub_D402A80
  7539. 0D402DD0
  7540. 0D402DD4 SUB R2, R11, #-var_28
  7541. 0D402DD8 ADD R6, R2, R8,LSL#2
  7542. 0D402DDC MOV R0, R4
  7543. 0D402DE0 MOV R1, R9
  7544. 0D402DE4 LDR R2, [R11,#var_648]
  7545. 0D402DE8 MOV R3, R8
  7546. 0D402DEC BL sub_D402C78
  7547. 0D402DEC
  7548. 0D402DF0 STR R0, [R6,#-0x40C]
  7549. 0D402DF4 SUB R0, R11, #-var_630
  7550. 0D402DF8 SUB R0, R0, #8
  7551. 0D402DFC MOV R1, R10
  7552. 0D402E00 LDR R2, [R11,#var_648]
  7553. 0D402E04 MOV R3, R7
  7554. 0D402E08 BL sub_D402C78
  7555. 0D402E08
  7556. 0D402E0C SUB R3, R11, #-var_28
  7557. 0D402E10 ADD R5, R5, R3
  7558. 0D402E14 LDR R9, [R5,#-0x614]
  7559. 0D402E18 LDR R0, [R11,#var_640]
  7560. 0D402E1C MOV R1, R8
  7561. 0D402E20 BL sub_D402A80
  7562. 0D402E20
  7563. 0D402E24 SUBS R6, R8, R7
  7564. 0D402E28 BMI loc_D402F6C
  7565. 0D402E28
  7566. 0D402E2C MOV R2, #0xFFFFFBF4
  7567. 0D402E34 STR R2, [R11,#var_64C]
  7568. 0D402E38 SUB R3, R11, #-var_28
  7569. 0D402E3C ADD R3, R3, R2
  7570. 0D402E40 STR R3, [R11,#var_650]
  7571. 0D402E44 MOV R10, #0xFFFFFBF4
  7572. 0D402E44
  7573. 0D402E4C
  7574. 0D402E4C loc_D402E4C
  7575. 0D402E4C CMN R9, #1
  7576. 0D402E50 BNE loc_D402E70
  7577. 0D402E50
  7578. 0D402E54 ADD R3, R6, R7
  7579. 0D402E58 SUB R2, R11, #-var_28
  7580. 0D402E5C ADD R3, R2, R3,LSL#2
  7581. 0D402E60 LDR R2, [R11,#var_64C]
  7582. 0D402E64 LDR R3, [R3,R2]
  7583. 0D402E68 STR R3, [R11,#var_63C]
  7584. 0D402E6C B loc_D402E94
  7585. 0D402E6C
  7586. 0D402E70
  7587. 0D402E70 loc_D402E70
  7588. 0D402E70 ADD R1, R6, R7
  7589. 0D402E74 LDR R3, [R11,#var_650]
  7590. 0D402E78 ADD R1, R3, R1,LSL#2
  7591. 0D402E7C SUB R0, R11, #-var_630
  7592. 0D402E80 SUB R0, R0, #8
  7593. 0D402E84 SUB R0, R0, #4
  7594. 0D402E88 SUB R1, R1, #4
  7595. 0D402E8C ADD R2, R9, #1
  7596. 0D402E90 BL rsa6
  7597. 0D402E90
  7598. 0D402E94
  7599. 0D402E94 loc_D402E94
  7600. 0D402E94 ADD R3, R6, R7
  7601. 0D402E98 SUB R2, R11, #-var_28
  7602. 0D402E9C ADD R4, R2, R3,LSL#2
  7603. 0D402EA0 SUB R1, R11, #-var_420
  7604. 0D402EA4 SUB R1, R1, #8
  7605. 0D402EA8 SUB R1, R1, #0xC
  7606. 0D402EAC ADD R1, R1, R6,LSL#2
  7607. 0D402EB0 STR R7, [SP,#0x654+var_654]
  7608. 0D402EB4 MOV R0, R1
  7609. 0D402EB8 LDR R2, [R11,#var_63C]
  7610. 0D402EBC SUB R3, R11, #-var_630
  7611. 0D402EC0 SUB R3, R3, #8
  7612. 0D402EC4 BL sub_D402810
  7613. 0D402EC4
  7614. 0D402EC8 LDR R3, [R4,R10]
  7615. 0D402ECC RSB R3, R0, R3
  7616. 0D402ED0 STR R3, [R4,R10]
  7617. 0D402ED4 ADD R3, R6, R7
  7618. 0D402ED8 MOV R5, #0xFFFFFBF4
  7619. 0D402EE0 SUB R2, R11, #-var_28
  7620. 0D402EE4 ADD R4, R2, R3,LSL#2
  7621. 0D402EE8 SUB R3, R11, #-var_28
  7622. 0D402EEC ADD R8, R3, R5
  7623. 0D402EF0 B loc_D402F30
  7624. 0D402EF0
  7625. 0D402EF4
  7626. 0D402EF4 loc_D402EF4
  7627. 0D402EF4 rsa5+1ECj
  7628. 0D402EF4 LDR R3, [R11,#var_63C]
  7629. 0D402EF8 ADD R3, R3, #1
  7630. 0D402EFC STR R3, [R11,#var_63C]
  7631. 0D402F00 SUB R1, R11, #-var_420
  7632. 0D402F04 SUB R1, R1, #8
  7633. 0D402F08 SUB R1, R1, #0xC
  7634. 0D402F0C ADD R1, R1, R6,LSL#2
  7635. 0D402F10 MOV R0, R1
  7636. 0D402F14 SUB R2, R11, #-var_630
  7637. 0D402F18 SUB R2, R2, #8
  7638. 0D402F1C MOV R3, R7
  7639. 0D402F20 BL sub_D402B00
  7640. 0D402F20
  7641. 0D402F24 LDR R3, [R4,R5]
  7642. 0D402F28 RSB R3, R0, R3
  7643. 0D402F2C STR R3, [R4,R5]
  7644. 0D402F2C
  7645. 0D402F30
  7646. 0D402F30 loc_D402F30
  7647. 0D402F30 LDR R3, [R4,R5]
  7648. 0D402F34 CMP R3, #0
  7649. 0D402F38 BNE loc_D402EF4
  7650. 0D402F38
  7651. 0D402F3C ADD R0, R8, R6,LSL#2
  7652. 0D402F40 SUB R1, R11, #-var_630
  7653. 0D402F44 SUB R1, R1, #8
  7654. 0D402F48 MOV R2, R7
  7655. 0D402F4C BL sub_D402D20
  7656. 0D402F4C
  7657. 0D402F50 CMP R0, #0
  7658. 0D402F54 BGE loc_D402EF4
  7659. 0D402F54
  7660. 0D402F58 SUB R2, R11, #-var_640
  7661. 0D402F5C LDMIA R2, {R2,R3}
  7662. 0D402F60 STR R3, [R2,R6,LSL#2]
  7663. 0D402F64 SUBS R6, R6, #1
  7664. 0D402F68 BPL loc_D402E4C
  7665. 0D402F68
  7666. 0D402F6C
  7667. 0D402F6C loc_D402F6C
  7668. 0D402F6C LDR R0, [R11,#var_644]
  7669. 0D402F70 LDR R1, [R11,#arg_4]
  7670. 0D402F74 BL sub_D402A80
  7671. 0D402F74
  7672. 0D402F78 LDR R0, [R11,#var_644]
  7673. 0D402F7C SUB R1, R11, #-var_420
  7674. 0D402F80 SUB R1, R1, #8
  7675. 0D402F84 SUB R1, R1, #0xC
  7676. 0D402F88 LDR R2, [R11,#var_648]
  7677. 0D402F8C MOV R3, R7
  7678. 0D402F90 BL sub_D402CD4
  7679. 0D402F90
  7680. 0D402F94
  7681. 0D402F94 loc_D402F94
  7682. 0D402F94 SUB SP, R11, #0x28
  7683. 0D402F98 LDMFD SP, {R4-R11,SP,LR}
  7684. 0D402F9C BX LR
  7685. 0D402F9C
  7686. 0D402F9C
  7687. 0D402F9C
  7688. 0D402FA0
  7689. 0D402FA0
  7690. 0D402FA0
  7691. 0D402FA0
  7692. 0D402FA0
  7693. 0D402FA0 sub_D402FA0
  7694. 0D402FA0
  7695. 0D402FA0 var_420 = -0x420
  7696. 0D402FA0 var_41C = -0x41C
  7697. 0D402FA0 var_410 = -0x410
  7698. 0D402FA0 arg_0 = 4
  7699. 0D402FA0
  7700. 0D402FA0 MOV R12, SP
  7701. 0D402FA4 STMFD SP!, {R4,R11,R12,LR,PC}
  7702. 0D402FA8 SUB R11, R12, #4
  7703. 0D402FAC SUB SP, SP, #0x410
  7704. 0D402FB0 MOV R12, R0
  7705. 0D402FB4 MOV LR, R1
  7706. 0D402FB8 MOV R4, R2
  7707. 0D402FBC STR R3, [SP,#0x420+var_420]
  7708. 0D402FC0 LDR R3, [R11,#arg_0]
  7709. 0D402FC4 STR R3, [SP,#0x420+var_41C]
  7710. 0D402FC8 SUB R0, R11, #-var_410
  7711. 0D402FCC SUB R0, R0, #8
  7712. 0D402FD0 MOV R1, R12
  7713. 0D402FD4 MOV R2, LR
  7714. 0D402FD8 MOV R3, R4
  7715. 0D402FDC BL rsa5
  7716. 0D402FDC
  7717. 0D402FE0 SUB SP, R11, #0x10
  7718. 0D402FE4 LDMFD SP, {R4,R11,SP,LR}
  7719. 0D402FE8 BX LR
  7720. 0D402FE8
  7721. 0D402FE8
  7722. 0D402FE8
  7723. 0D402FEC
  7724. 0D402FEC
  7725. 0D402FEC
  7726. 0D402FEC
  7727. 0D402FEC
  7728. 0D402FEC sub_D402FEC
  7729. 0D402FEC rsa2+ECp ...
  7730. 0D402FEC
  7731. 0D402FEC var_428 = -0x428
  7732. 0D402FEC var_410 = -0x410
  7733. 0D402FEC arg_0 = 4
  7734. 0D402FEC
  7735. 0D402FEC MOV R12, SP
  7736. 0D402FF0 STMFD SP!, {R4-R7,R11,R12,LR,PC}
  7737. 0D402FF4 SUB R11, R12, #4
  7738. 0D402FF8 SUB SP, SP, #0x400
  7739. 0D402FFC SUB SP, SP, #0xC
  7740. 0D403000 MOV R6, R0
  7741. 0D403004 MOV R7, R3
  7742. 0D403008 LDR R5, [R11,#arg_0]
  7743. 0D40300C SUB R4, R11, #-var_410
  7744. 0D403010 SUB R4, R4, #0xC
  7745. 0D403014 SUB R4, R4, #8
  7746. 0D403018 MOV R0, R4
  7747. 0D40301C MOV R3, R5
  7748. 0D403020 BL sub_D402BA0
  7749. 0D403020
  7750. 0D403024 STR R5, [SP,#0x428+var_428]
  7751. 0D403028 MOV R0, R6
  7752. 0D40302C MOV R1, R4
  7753. 0D403030 MOV R2, R5,LSL#1
  7754. 0D403034 MOV R3, R7
  7755. 0D403038 BL sub_D402FA0
  7756. 0D403038
  7757. 0D40303C SUB SP, R11, #0x1C
  7758. 0D403040 LDMFD SP, {R4-R7,R11,SP,LR}
  7759. 0D403044 BX LR
  7760. 0D403044
  7761. 0D403044
  7762. 0D403044
  7763. 0D403048
  7764. 0D403048
  7765. 0D403048
  7766. 0D403048
  7767. 0D403048
  7768. 0D403048 rsa2 CODE XREF: verify_RSA_sig+6Ep
  7769. 0D403048 rsa4+68p
  7770. 0D403048 DATA XREF: ...
  7771. 0D403048
  7772. 0D403048 var_85C = -0x85C
  7773. 0D403048 var_858 = -0x858
  7774. 0D403048 var_854 = -0x854
  7775. 0D403048 var_850 = -0x850
  7776. 0D403048 var_84C = -0x84C
  7777. 0D403048 var_848 = -0x848
  7778. 0D403048 var_844 = -0x844
  7779. 0D403048 var_840 = -0x840
  7780. 0D403048 var_83C = -0x83C
  7781. 0D403048 var_838 = -0x838
  7782. 0D403048 var_830 = -0x830
  7783. 0D403048 var_620 = -0x620
  7784. 0D403048 var_420 = -0x420
  7785. 0D403048 var_22C = -0x22C
  7786. 0D403048 var_28 = -0x28
  7787. 0D403048
  7788. 0D403048 MOV R12, SP
  7789. 0D40304C STMFD SP!, {R4-R12,LR,PC}
  7790. 0D403050 SUB R11, R12, #4
  7791. 0D403054 SUB SP, SP, #0x830
  7792. 0D403058 SUB SP, SP, #4
  7793. 0D40305C STR R0, [R11,#var_84C]
  7794. 0D403060 MOV R5, R1
  7795. 0D403064 STR R2, [R11,#var_850]
  7796. 0D403068 STR R3, [R11,#var_854]
  7797. 0D40306C LDMIB R11, {R9,R10}
  7798. 0D403070 MOV R2, #0
  7799. 0D403074 MOV R3, #1
  7800. 0D403078 STR R3, [R11,#var_848]
  7801. 0D40307C STR R3, [R11,#var_844]
  7802. 0D403080 STR R2, [R11,#var_840]
  7803. 0D403084 STR R2, [R11,#var_83C]
  7804. 0D403088 LDR R3, [R11,#var_850]
  7805. 0D40308C LDR R1, [R3]
  7806. 0D403090 MOV R7, R2
  7807. 0D403090
  7808. 0D403094
  7809. 0D403094 loc_D403094
  7810. 0D403094 AND R2, R1, #3
  7811. 0D403098 SUB R3, R11, #-var_28
  7812. 0D40309C ADD R2, R3, R2,LSL#2
  7813. 0D4030A0 LDR R3, [R2,#-0x820]
  7814. 0D4030A4 ADD R3, R3, #1
  7815. 0D4030A8 STR R3, [R2,#-0x820]
  7816. 0D4030AC MOV R1, R1,LSR#2
  7817. 0D4030B0 ADD R7, R7, #1
  7818. 0D4030B4 CMP R7, #0xF
  7819. 0D4030B8 BLE loc_D403094
  7820. 0D4030B8
  7821. 0D4030BC LDR R3, [R11,#var_83C]
  7822. 0D4030C0 CMP R3, #0
  7823. 0D4030C4 MOVNE R3, #1
  7824. 0D4030C8 STRNE R3, [R11,#var_840]
  7825. 0D4030CC SUB R4, R11, #-var_620
  7826. 0D4030D0 SUB R4, R4, #8
  7827. 0D4030D4 SUB R4, R4, #0xC
  7828. 0D4030D8 MOV R0, R4
  7829. 0D4030DC MOV R1, R5
  7830. 0D4030E0 MOV R2, R10
  7831. 0D4030E4 BL sub_D402A5C
  7832. 0D4030E4
  7833. 0D4030E8 LDR R3, [R11,#var_840]
  7834. 0D4030EC CMP R3, #0
  7835. 0D4030F0 BEQ loc_D40310C
  7836. 0D4030F0
  7837. 0D4030F4 STR R10, [SP,#0x85C+var_85C]
  7838. 0D4030F8 ADD R0, R4, #0x204
  7839. 0D4030FC MOV R1, R4
  7840. 0D403100 MOV R2, R5
  7841. 0D403104 MOV R3, R9
  7842. 0D403108 BL sub_D402FEC
  7843. 0D403108
  7844. 0D40310C
  7845. 0D40310C loc_D40310C
  7846. 0D40310C LDR R3, [R11,#var_83C]
  7847. 0D403110 CMP R3, #0
  7848. 0D403114 BEQ loc_D403138
  7849. 0D403114
  7850. 0D403118 STR R10, [SP,#0x85C+var_85C]
  7851. 0D40311C SUB R0, R11, #-var_22C
  7852. 0D403120 SUB R1, R11, #-var_420
  7853. 0D403124 SUB R1, R1, #8
  7854. 0D403128 SUB R1, R1, #8
  7855. 0D40312C MOV R2, R5
  7856. 0D403130 MOV R3, R9
  7857. 0D403134 BL sub_D402FEC
  7858. 0D403134
  7859. 0D403138
  7860. 0D403138 loc_D403138
  7861. 0D403138 SUB R0, R11, #-var_830
  7862. 0D40313C SUB R0, R0, #8
  7863. 0D403140 MOV R1, R10
  7864. 0D403144 BL sub_D402A80
  7865. 0D403144
  7866. 0D403148 MOV R3, #1
  7867. 0D40314C STR R3, [R11,#var_838]
  7868. 0D403150 LDR R0, [R11,#var_850]
  7869. 0D403154 LDR R1, [R11,#var_854]
  7870. 0D403158 BL sub_D402B78
  7871. 0D403158
  7872. 0D40315C STR R0, [R11,#var_854]
  7873. 0D403160 SUBS R7, R0, #1
  7874. 0D403164 BMI loc_D403234
  7875. 0D403164
  7876. 0D403168
  7877. 0D403168 loc_D403168
  7878. 0D403168 LDR R2, [R11,#var_850]
  7879. 0D40316C LDR R5, [R2,R7,LSL#2]
  7880. 0D403170 MOV R8, #0x20
  7881. 0D403174 LDR R2, [R11,#var_854]
  7882. 0D403178 SUB R3, R2, #1
  7883. 0D40317C CMP R3, R7
  7884. 0D403180 BNE loc_D40319C
  7885. 0D403180
  7886. 0D403184 MOVS R3, R5,LSR#30
  7887. 0D403188 BNE loc_D40319C
  7888. 0D403188
  7889. 0D40318C
  7890. 0D40318C loc_D40318C
  7891. 0D40318C MOV R5, R5,LSL#2
  7892. 0D403190 SUB R8, R8, #2
  7893. 0D403194 MOVS R2, R5,LSR#30
  7894. 0D403198 BEQ loc_D40318C
  7895. 0D403198
  7896. 0D40319C
  7897. 0D40319C loc_D40319C
  7898. 0D40319C rsa2+140j
  7899. 0D40319C MOV R6, #0
  7900. 0D4031A0 CMP R6, R8
  7901. 0D4031A4 BCS loc_D40322C
  7902. 0D4031A4
  7903. 0D4031A8 SUB R4, R11, #-var_830
  7904. 0D4031AC SUB R4, R4, #8
  7905. 0D4031B0 SUB R3, R11, #-var_620
  7906. 0D4031B4 SUB R3, R3, #8
  7907. 0D4031B8 SUB R3, R3, #0xC
  7908. 0D4031BC STR R3, [R11,#var_858]
  7909. 0D4031BC
  7910. 0D4031C0
  7911. 0D4031C0 loc_D4031C0
  7912. 0D4031C0 STR R10, [SP,#0x85C+var_85C]
  7913. 0D4031C4 MOV R0, R4
  7914. 0D4031C8 MOV R1, R4
  7915. 0D4031CC MOV R2, R4
  7916. 0D4031D0 MOV R3, R9
  7917. 0D4031D4 BL sub_D402FEC
  7918. 0D4031D4
  7919. 0D4031D8 STR R10, [SP,#0x85C+var_85C]
  7920. 0D4031DC MOV R0, R4
  7921. 0D4031E0 MOV R1, R4
  7922. 0D4031E4 MOV R2, R4
  7923. 0D4031E8 MOV R3, R9
  7924. 0D4031EC BL sub_D402FEC
  7925. 0D4031EC
  7926. 0D4031F0 MOVS R3, R5,LSR#30
  7927. 0D4031F4 BEQ loc_D40321C
  7928. 0D4031F4
  7929. 0D4031F8 ADD R2, R3, R3,LSL#7
  7930. 0D4031FC LDR R3, [R11,#var_858]
  7931. 0D403200 ADD R2, R3, R2,LSL#2
  7932. 0D403204 STR R10, [SP,#0x85C+var_85C]
  7933. 0D403208 MOV R0, R4
  7934. 0D40320C MOV R1, R4
  7935. 0D403210 SUB R2, R2, #0x204
  7936. 0D403214 MOV R3, R9
  7937. 0D403218 BL sub_D402FEC
  7938. 0D403218
  7939. 0D40321C
  7940. 0D40321C loc_D40321C
  7941. 0D40321C ADD R6, R6, #2
  7942. 0D403220 MOV R5, R5,LSL#2
  7943. 0D403224 CMP R6, R8
  7944. 0D403228 BCC loc_D4031C0
  7945. 0D403228
  7946. 0D40322C
  7947. 0D40322C loc_D40322C
  7948. 0D40322C SUBS R7, R7, #1
  7949. 0D403230 BPL loc_D403168
  7950. 0D403230
  7951. 0D403234
  7952. 0D403234 loc_D403234
  7953. 0D403234 LDR R0, [R11,#var_84C]
  7954. 0D403238 SUB R1, R11, #-var_830
  7955. 0D40323C SUB R1, R1, #8
  7956. 0D403240 MOV R2, R10
  7957. 0D403244 BL sub_D402A5C
  7958. 0D403244
  7959. 0D403248 SUB SP, R11, #0x28
  7960. 0D40324C LDMFD SP, {R4-R11,SP,LR}
  7961. 0D403250 BX LR
  7962. 0D403250
  7963. 0D403250
  7964. 0D403250
  7965. 0D403254
  7966. 0D403254
  7967. 0D403254
  7968. 0D403254
  7969. 0D403254 sub_D403254
  7970. 0D403254 MOV R2, #0
  7971. 0D403258 CMP R2, R1
  7972. 0D40325C BGE loc_D403280
  7973. 0D40325C
  7974. 0D403260
  7975. 0D403260 loc_D403260
  7976. 0D403260 LDR R3, [R0,R2,LSL#2]
  7977. 0D403264 CMP R3, #0
  7978. 0D403268 BEQ loc_D403274
  7979. 0D403268
  7980. 0D40326C MOV R0, #0
  7981. 0D403270 BX LR
  7982. 0D403270
  7983. 0D403274
  7984. 0D403274 loc_D403274
  7985. 0D403274 ADD R2, R2, #1
  7986. 0D403278 CMP R2, R1
  7987. 0D40327C BLT loc_D403260
  7988. 0D40327C
  7989. 0D403280
  7990. 0D403280 loc_D403280
  7991. 0D403280 MOV R0, #1
  7992. 0D403284 BX LR
  7993. 0D403284
  7994. 0D403284
  7995. 0D403284
  7996. 0D403288
  7997. 0D403288
  7998. 0D403288
  7999. 0D403288
  8000. 0D403288
  8001. 0D403288 sub_D403288
  8002. 0D403288 MOV R12, SP
  8003. 0D40328C STMFD SP!, {R4,R5,R11,R12,LR,PC}
  8004. 0D403290 SUB R11, R12, #4
  8005. 0D403294 MOV R5, R0
  8006. 0D403298 BL sub_D402B78
  8007. 0D403298
  8008. 0D40329C CMP R0, #0
  8009. 0D4032A0 BEQ loc_D4032BC
  8010. 0D4032A0
  8011. 0D4032A4 MOV R4, R0,LSL#5
  8012. 0D4032A8 ADD R3, R5, R0,LSL#2
  8013. 0D4032AC LDR R0, [R3,#-4]
  8014. 0D4032B0 BL sub_D4028B4
  8015. 0D4032B0
  8016. 0D4032B4 ADD R4, R4, R0
  8017. 0D4032B8 SUB R0, R4, #0x20
  8018. 0D4032B8
  8019. 0D4032BC
  8020. 0D4032BC loc_D4032BC
  8021. 0D4032BC LDMFD SP, {R4,R5,R11,SP,LR}
  8022. 0D4032C0 BX LR
  8023. 0D4032C0
  8024. 0D4032C0
  8025. 0D4032C0
  8026. 0D4032C4
  8027. 0D4032C4
  8028. 0D4032C4
  8029. 0D4032C4
  8030. 0D4032C4
  8031. 0D4032C4 sub_D4032C4
  8032. 0D4032C4
  8033. 0D4032C4 var_158 = -0x158
  8034. 0D4032C4 var_154 = -0x154
  8035. 0D4032C4 var_150 = -0x150
  8036. 0D4032C4 var_14C = -0x14C
  8037. 0D4032C4 var_148 = -0x148
  8038. 0D4032C4 var_108 = -0x108
  8039. 0D4032C4 var_E8 = -0xE8
  8040. 0D4032C4 var_C8 = -0xC8
  8041. 0D4032C4 var_A8 = -0xA8
  8042. 0D4032C4 var_88 = -0x88
  8043. 0D4032C4 var_68 = -0x68
  8044. 0D4032C4 var_48 = -0x48
  8045. 0D4032C4
  8046. 0D4032C4 MOV R12, SP
  8047. 0D4032C8 STMFD SP!, {R4-R12,LR,PC}
  8048. 0D4032CC SUB R11, R12, #4
  8049. 0D4032D0 SUB SP, SP, #0x130
  8050. 0D4032D4 STR R0, [R11,#var_14C]
  8051. 0D4032D8 MOV R5, R1
  8052. 0D4032DC STR R2, [R11,#var_150]
  8053. 0D4032E0 MOV R8, R3
  8054. 0D4032E4 SUB R0, R11, #-var_A8
  8055. 0D4032E8 MOV R1, R3
  8056. 0D4032EC BL sub_D402A80
  8057. 0D4032EC
  8058. 0D4032F0 MOV R4, #1
  8059. 0D4032F4 STR R4, [R11,#var_A8]
  8060. 0D4032F8 SUB R0, R11, #-var_E8
  8061. 0D4032FC MOV R1, R8
  8062. 0D403300 BL sub_D402A80
  8063. 0D403300
  8064. 0D403304 SUB R0, R11, #-var_C8
  8065. 0D403308 MOV R1, R5
  8066. 0D40330C MOV R2, R8
  8067. 0D403310 BL sub_D402A5C
  8068. 0D403310
  8069. 0D403314 SUB R0, R11, #-var_108
  8070. 0D403318 LDR R1, [R11,#var_150]
  8071. 0D40331C MOV R2, R8
  8072. 0D403320 BL sub_D402A5C
  8073. 0D403320
  8074. 0D403324 MOV R9, R4
  8075. 0D403328 SUB R10, R11, #-var_108
  8076. 0D40332C B loc_D4033C8
  8077. 0D40332C
  8078. 0D403330
  8079. 0D403330 loc_D403330
  8080. 0D403330 STR R10, [SP,#0x158+var_158]
  8081. 0D403334 STR R8, [SP,#0x158+var_154]
  8082. 0D403338 SUB R0, R11, #-var_48
  8083. 0D40333C SUB R1, R11, #-var_88
  8084. 0D403340 SUB R2, R11, #-var_C8
  8085. 0D403344 MOV R3, R8
  8086. 0D403348 BL rsa5
  8087. 0D403348
  8088. 0D40334C SUB R6, R11, #-var_148
  8089. 0D403350 SUB R5, R11, #-var_E8
  8090. 0D403354 MOV R0, R6
  8091. 0D403358 SUB R1, R11, #-var_48
  8092. 0D40335C MOV R2, R5
  8093. 0D403360 MOV R3, R8
  8094. 0D403364 BL sub_D402BA0
  8095. 0D403364
  8096. 0D403368 SUB R7, R11, #-var_68
  8097. 0D40336C SUB R4, R11, #-var_A8
  8098. 0D403370 MOV R0, R7
  8099. 0D403374 MOV R1, R4
  8100. 0D403378 MOV R2, R6
  8101. 0D40337C MOV R3, R8
  8102. 0D403380 BL sub_D402AA4
  8103. 0D403380
  8104. 0D403384 MOV R0, R4
  8105. 0D403388 MOV R1, R5
  8106. 0D40338C MOV R2, R8
  8107. 0D403390 BL sub_D402A5C
  8108. 0D403390
  8109. 0D403394 MOV R0, R5
  8110. 0D403398 MOV R1, R7
  8111. 0D40339C MOV R2, R8
  8112. 0D4033A0 BL sub_D402A5C
  8113. 0D4033A0
  8114. 0D4033A4 SUB R0, R11, #-var_C8
  8115. 0D4033A8 MOV R1, R10
  8116. 0D4033AC MOV R2, R8
  8117. 0D4033B0 BL sub_D402A5C
  8118. 0D4033B0
  8119. 0D4033B4 MOV R0, R10
  8120. 0D4033B8 SUB R1, R11, #-var_88
  8121. 0D4033BC MOV R2, R8
  8122. 0D4033C0 BL sub_D402A5C
  8123. 0D4033C0
  8124. 0D4033C4 RSB R9, R9, #0
  8125. 0D4033C4
  8126. 0D4033C8
  8127. 0D4033C8 loc_D4033C8
  8128. 0D4033C8 SUB R0, R11, #-var_108
  8129. 0D4033CC MOV R1, R8
  8130. 0D4033D0 BL sub_D403254
  8131. 0D4033D0
  8132. 0D4033D4 CMP R0, #0
  8133. 0D4033D8 BEQ loc_D403330
  8134. 0D4033D8
  8135. 0D4033DC CMP R9, #0
  8136. 0D4033E0 BGE loc_D4033FC
  8137. 0D4033E0
  8138. 0D4033E4 LDR R0, [R11,#var_14C]
  8139. 0D4033E8 LDR R1, [R11,#var_150]
  8140. 0D4033EC SUB R2, R11, #-var_A8
  8141. 0D4033F0 MOV R3, R8
  8142. 0D4033F4 BL sub_D402B00
  8143. 0D4033F4
  8144. 0D4033F8 B loc_D40340C
  8145. 0D4033F8
  8146. 0D4033FC
  8147. 0D4033FC loc_D4033FC
  8148. 0D4033FC LDR R0, [R11,#var_14C]
  8149. 0D403400 SUB R1, R11, #-var_A8
  8150. 0D403404 MOV R2, R8
  8151. 0D403408 BL sub_D402A5C
  8152. 0D403408
  8153. 0D40340C
  8154. 0D40340C loc_D40340C
  8155. 0D40340C SUB SP, R11, #0x28
  8156. 0D403410 LDMFD SP, {R4-R11,SP,LR}
  8157. 0D403414 BX LR
  8158. 0D403414
  8159. 0D403414
  8160. 0D403414
  8161. 0D403418 CODE16
  8162. 0D403418
  8163. 0D403418
  8164. 0D403418
  8165. 0D403418
  8166. 0D403418 rsa3 CODE XREF: verify_RSA_sig+80p
  8167. 0D403418 rsa4+76p
  8168. 0D403418 DATA XREF: ...
  8169. 0D403418 PUSH {R4-R7,LR}
  8170. 0D40341A MOVS R4, R0
  8171. 0D40341C MOVS R7, R2
  8172. 0D40341E MOVS R6, R3
  8173. 0D403420 MOVS R5, #0
  8174. 0D403422 SUBS R1, #1
  8175. 0D403424 CMP R3, R5
  8176. 0D403426 BLS loc_D403452
  8177. 0D403426
  8178. 0D403428 CMP R1, #0
  8179. 0D40342A BLT loc_D40345E
  8180. 0D40342A
  8181. 0D40342C
  8182. 0D40342C loc_D40342C
  8183. 0D40342C LSLS R3, R5, #2
  8184. 0D40342E LDR R0, [R3,R7]
  8185. 0D403430 MOVS R2, #0
  8186. 0D403432 CMP R1, #0
  8187. 0D403434 BLT loc_D403446
  8188. 0D403434
  8189. 0D403436
  8190. 0D403436 loc_D403436
  8191. 0D403436 MOVS R3, R0
  8192. 0D403438 LSRS R3, R2
  8193. 0D40343A STRB R3, [R4,R1]
  8194. 0D40343C ADDS R2, #8
  8195. 0D40343E SUBS R1, #1
  8196. 0D403440 BMI loc_D403446
  8197. 0D403440
  8198. 0D403442 CMP R2, #0x1F
  8199. 0D403444 BLS loc_D403436
  8200. 0D403444
  8201. 0D403446
  8202. 0D403446 loc_D403446
  8203. 0D403446 rsa3+28j
  8204. 0D403446 ADDS R5, #1
  8205. 0D403448 CMP R6, R5
  8206. 0D40344A BLS loc_D403452
  8207. 0D40344A
  8208. 0D40344C CMP R1, #0
  8209. 0D40344E BGE loc_D40342C
  8210. 0D40344E
  8211. 0D403450 B loc_D40345E
  8212. 0D403450
  8213. 0D403452
  8214. 0D403452 loc_D403452
  8215. 0D403452 rsa3+32j
  8216. 0D403452 CMP R1, #0
  8217. 0D403454 BLT loc_D40345E
  8218. 0D403454
  8219. 0D403456 MOVS R3, #0
  8220. 0D403456
  8221. 0D403458
  8222. 0D403458 loc_D403458
  8223. 0D403458 STRB R3, [R4,R1]
  8224. 0D40345A SUBS R1, #1
  8225. 0D40345C BPL loc_D403458
  8226. 0D40345C
  8227. 0D40345E
  8228. 0D40345E loc_D40345E
  8229. 0D40345E rsa3+38j ...
  8230. 0D40345E POP {R4-R7}
  8231. 0D403460 POP {R0}
  8232. 0D403462 BX R0
  8233. 0D403462
  8234. 0D403462
  8235. 0D403462
  8236. 0D403464
  8237. 0D403464
  8238. 0D403464
  8239. 0D403464
  8240. 0D403464 rsa1 CODE XREF: verify_RSA_sig+34p
  8241. 0D403464 verify_RSA_sig+44p ...
  8242. 0D403464 PUSH {R4-R7,LR}
  8243. 0D403466 MOVS R7, R0
  8244. 0D403468 MOVS R6, R1
  8245. 0D40346A MOVS R5, R2
  8246. 0D40346C MOVS R4, #0
  8247. 0D40346E SUBS R2, R3, #1
  8248. 0D403470 CMP R4, R6
  8249. 0D403472 BGE loc_D4034B0
  8250. 0D403472
  8251. 0D403474 CMP R2, #0
  8252. 0D403476 BLT loc_D40349E
  8253. 0D403476
  8254. 0D403478
  8255. 0D403478 loc_D403478
  8256. 0D403478 MOVS R0, #0
  8257. 0D40347A MOVS R1, #0
  8258. 0D40347C CMP R2, #0
  8259. 0D40347E BLT loc_D403490
  8260. 0D40347E
  8261. 0D403480
  8262. 0D403480 loc_D403480
  8263. 0D403480 LDRB R3, [R5,R2]
  8264. 0D403482 LSLS R3, R1
  8265. 0D403484 ORRS R0, R3
  8266. 0D403486 ADDS R1, #8
  8267. 0D403488 SUBS R2, #1
  8268. 0D40348A BMI loc_D403490
  8269. 0D40348A
  8270. 0D40348C CMP R1, #0x1F
  8271. 0D40348E BLE loc_D403480
  8272. 0D40348E
  8273. 0D403490
  8274. 0D403490 loc_D403490
  8275. 0D403490 rsa1+26j
  8276. 0D403490 LSLS R3, R4, #2
  8277. 0D403492 STR R0, [R3,R7]
  8278. 0D403494 ADDS R4, #1
  8279. 0D403496 CMP R4, R6
  8280. 0D403498 BGE loc_D4034B0
  8281. 0D403498
  8282. 0D40349A CMP R2, #0
  8283. 0D40349C BGE loc_D403478
  8284. 0D40349C
  8285. 0D40349E
  8286. 0D40349E loc_D40349E
  8287. 0D40349E CMP R4, R6
  8288. 0D4034A0 BGE loc_D4034B0
  8289. 0D4034A0
  8290. 0D4034A2 MOVS R2, #0
  8291. 0D4034A2
  8292. 0D4034A4
  8293. 0D4034A4 loc_D4034A4
  8294. 0D4034A4 LSLS R3, R4, #2
  8295. 0D4034A6 ADDS R3, R3, R7
  8296. 0D4034A8 STR R2, [R3]
  8297. 0D4034AA ADDS R4, #1
  8298. 0D4034AC CMP R4, R6
  8299. 0D4034AE BLT loc_D4034A4
  8300. 0D4034AE
  8301. 0D4034B0
  8302. 0D4034B0 loc_D4034B0
  8303. 0D4034B0 rsa1+34j ...
  8304. 0D4034B0 POP {R4-R7}
  8305. 0D4034B2 POP {R0}
  8306. 0D4034B4 BX R0
  8307. 0D4034B4
  8308. 0D4034B4
  8309. 0D4034B4
  8310. 0D4034B6 ALIGN 4
  8311. 0D4034B8
  8312. 0D4034B8
  8313. 0D4034B8
  8314. 0D4034B8
  8315. 0D4034B8 sub_D4034B8
  8316. 0D4034B8 off_D403520o
  8317. 0D4034B8 PUSH {LR}
  8318. 0D4034BA LDR R3, [R0,#0x18]
  8319. 0D4034BC CMP R3, #0
  8320. 0D4034BE BEQ loc_D4034D0
  8321. 0D4034BE
  8322. 0D4034C0 ADDS R3, R3, R0
  8323. 0D4034C2 MOVS R2, #0
  8324. 0D4034C4 STRB R2, [R3,#8]
  8325. 0D4034C6 MOVS R3, #0
  8326. 0D4034C8 STR R3, [R0,#0x18]
  8327. 0D4034CA ADDS R0, #8
  8328. 0D4034CC BL BOOT1__sys_write0
  8329. 0D4034CC
  8330. 0D4034D0
  8331. 0D4034D0 loc_D4034D0
  8332. 0D4034D0 POP {R0}
  8333. 0D4034D2 BX R0
  8334. 0D4034D2
  8335. 0D4034D2
  8336. 0D4034D2
  8337. 0D4034D4
  8338. 0D4034D4
  8339. 0D4034D4
  8340. 0D4034D4
  8341. 0D4034D4 sub_D4034D4
  8342. 0D4034D4 off_D40351Co
  8343. 0D4034D4 PUSH {LR}
  8344. 0D4034D6 LDR R2, [R0,#0x18]
  8345. 0D4034D8 ADDS R3, R2, R0
  8346. 0D4034DA STRB R1, [R3,#8]
  8347. 0D4034DC ADDS R2, #1
  8348. 0D4034DE STR R2, [R0,#0x18]
  8349. 0D4034E0 LDR R3, [R0,#0x1C]
  8350. 0D4034E2 ADDS R3, #1
  8351. 0D4034E4 STR R3, [R0,#0x1C]
  8352. 0D4034E6 CMP R2, #0xF
  8353. 0D4034E8 BNE loc_D4034EE
  8354. 0D4034E8
  8355. 0D4034EA LDR R3, [R0,#4]
  8356. 0D4034EC BLX R3
  8357. 0D4034EC
  8358. 0D4034EE
  8359. 0D4034EE loc_D4034EE
  8360. 0D4034EE POP {R0}
  8361. 0D4034F0 BX R0
  8362. 0D4034F0
  8363. 0D4034F0
  8364. 0D4034F0
  8365. 0D4034F2 ALIGN 4
  8366. 0D4034F4
  8367. 0D4034F4
  8368. 0D4034F4
  8369. 0D4034F4
  8370. 0D4034F4 call_printf
  8371. 0D4034F4
  8372. 0D4034F4 var_28 = -0x28
  8373. 0D4034F4 var_24 = -0x24
  8374. 0D4034F4 var_10 = -0x10
  8375. 0D4034F4 var_C = -0xC
  8376. 0D4034F4
  8377. 0D4034F4 PUSH {R4,LR}
  8378. 0D4034F6 SUB SP, SP, #0x20
  8379. 0D4034F8 MOVS R4, R0
  8380. 0D4034FA MOVS R2, R1
  8381. 0D4034FC MOVS R3, #0
  8382. 0D4034FE STR R3, [SP,#0x28+var_C]
  8383. 0D403500 STR R3, [SP,#0x28+var_10]
  8384. 0D403502 LDR R3, =(sub_D4034D4+1)
  8385. 0D403504 STR R3, [SP,#0x28+var_28]
  8386. 0D403506 LDR R3, =(sub_D4034B8+1)
  8387. 0D403508 STR R3, [SP,#0x28+var_24]
  8388. 0D40350A MOV R0, SP
  8389. 0D40350C MOVS R1, R4
  8390. 0D40350E BL printf
  8391. 0D40350E
  8392. 0D403512 LDR R0, [SP,#0x28+var_C]
  8393. 0D403514 ADD SP, SP, #0x20
  8394. 0D403516 POP {R4}
  8395. 0D403518 POP {R1}
  8396. 0D40351A BX R1
  8397. 0D40351A
  8398. 0D40351A
  8399. 0D40351A
  8400. 0D40351C off_D40351C DCD sub_D4034D4+1
  8401. 0D403520 off_D403520 DCD sub_D4034B8+1
  8402. 0D403524
  8403. 0D403524
  8404. 0D403524
  8405. 0D403524
  8406. 0D403524 do_debug_log
  8407. 0D403524
  8408. 0D403524 varg_r0 = -0x10
  8409. 0D403524 varg_r1 = -0xC
  8410. 0D403524 varg_r2 = -8
  8411. 0D403524 varg_r3 = -4
  8412. 0D403524
  8413. 0D403524 PUSH {R0-R3}
  8414. 0D403526 PUSH {LR}
  8415. 0D403528 ADD R1, SP, #0x14+varg_r0
  8416. 0D40352A LDMIA R1!, {R0}
  8417. 0D40352C BL call_printf
  8418. 0D40352C
  8419. 0D403530 POP {R3}
  8420. 0D403532 ADD SP, SP, #0x10
  8421. 0D403534 BX R3
  8422. 0D403534
  8423. 0D403534
  8424. 0D403534
  8425. 0D403536 ALIGN 4
  8426. 0D403538
  8427. 0D403538
  8428. 0D403538
  8429. 0D403538
  8430. 0D403538 sub_D403538
  8431. 0D403538 off_D4039BCo
  8432. 0D403538 PUSH {LR}
  8433. 0D40353A LDR R1, [R0,#0xC]
  8434. 0D40353C LDR R3, [R0,#0x10]
  8435. 0D40353E CMP R1, R3
  8436. 0D403540 BCS loc_D40354A
  8437. 0D403540
  8438. 0D403542 LDR R2, [R0,#8]
  8439. 0D403544 MOVS R3, #0
  8440. 0D403546 STRB R3, [R2,R1]
  8441. 0D403548 B loc_D403556
  8442. 0D403548
  8443. 0D40354A
  8444. 0D40354A loc_D40354A
  8445. 0D40354A LDR R3, [R0,#8]
  8446. 0D40354C LDR R2, [R0,#0x10]
  8447. 0D40354E ADDS R3, R3, R2
  8448. 0D403550 SUBS R3, #1
  8449. 0D403552 MOVS R2, #0
  8450. 0D403554 STRB R2, [R3]
  8451. 0D403554
  8452. 0D403556
  8453. 0D403556 loc_D403556
  8454. 0D403556 POP {R0}
  8455. 0D403558 BX R0
  8456. 0D403558
  8457. 0D403558
  8458. 0D403558
  8459. 0D40355A ALIGN 4
  8460. 0D40355C
  8461. 0D40355C
  8462. 0D40355C
  8463. 0D40355C
  8464. 0D40355C sub_D40355C
  8465. 0D40355C off_D4039B8o
  8466. 0D40355C PUSH {LR}
  8467. 0D40355E LSLS R1, R1, #0x18
  8468. 0D403560 LSRS R1, R1, #0x18
  8469. 0D403562 LDR R2, [R0,#0xC]
  8470. 0D403564 LDR R3, [R0,#0x10]
  8471. 0D403566 CMP R2, R3
  8472. 0D403568 BCS loc_D40356E
  8473. 0D403568
  8474. 0D40356A LDR R3, [R0,#8]
  8475. 0D40356C STRB R1, [R3,R2]
  8476. 0D40356C
  8477. 0D40356E
  8478. 0D40356E loc_D40356E
  8479. 0D40356E LDR R3, [R0,#0xC]
  8480. 0D403570 ADDS R3, #1
  8481. 0D403572 STR R3, [R0,#0xC]
  8482. 0D403574 POP {R0}
  8483. 0D403576 BX R0
  8484. 0D403576
  8485. 0D403576
  8486. 0D403576
  8487. 0D403578
  8488. 0D403578
  8489. 0D403578
  8490. 0D403578
  8491. 0D403578 sub_D403578
  8492. 0D403578 printf+292p ...
  8493. 0D403578 PUSH {R4,R5,LR}
  8494. 0D40357A MOVS R5, R0
  8495. 0D40357C MOVS R4, R1
  8496. 0D40357E LDRB R3, [R1]
  8497. 0D403580 CMP R3, #0
  8498. 0D403582 BEQ loc_D403594
  8499. 0D403582
  8500. 0D403584
  8501. 0D403584 loc_D403584
  8502. 0D403584 LDR R3, [R5]
  8503. 0D403586 MOVS R0, R5
  8504. 0D403588 LDRB R1, [R4]
  8505. 0D40358A BLX R3
  8506. 0D40358A
  8507. 0D40358C ADDS R4, #1
  8508. 0D40358E LDRB R3, [R4]
  8509. 0D403590 CMP R3, #0
  8510. 0D403592 BNE loc_D403584
  8511. 0D403592
  8512. 0D403594
  8513. 0D403594 loc_D403594
  8514. 0D403594 POP {R4,R5}
  8515. 0D403596 POP {R0}
  8516. 0D403598 BX R0
  8517. 0D403598
  8518. 0D403598
  8519. 0D403598
  8520. 0D40359A ALIGN 4
  8521. 0D40359C
  8522. 0D40359C
  8523. 0D40359C
  8524. 0D40359C
  8525. 0D40359C sub_D40359C
  8526. 0D40359C printf+F6p ...
  8527. 0D40359C PUSH {R4-R6,LR}
  8528. 0D40359E MOVS R5, R0
  8529. 0D4035A0 LSLS R2, R2, #0x18
  8530. 0D4035A2 LSRS R6, R2, #0x18
  8531. 0D4035A4 SUBS R4, R1, #1
  8532. 0D4035A6 BCC loc_D4035B4
  8533. 0D4035A6
  8534. 0D4035A8
  8535. 0D4035A8 loc_D4035A8
  8536. 0D4035A8 LDR R3, [R5]
  8537. 0D4035AA MOVS R0, R5
  8538. 0D4035AC MOVS R1, R6
  8539. 0D4035AE BLX R3
  8540. 0D4035AE
  8541. 0D4035B0 SUBS R4, #1
  8542. 0D4035B2 BCS loc_D4035A8
  8543. 0D4035B2
  8544. 0D4035B4
  8545. 0D4035B4 loc_D4035B4
  8546. 0D4035B4 POP {R4-R6}
  8547. 0D4035B6 POP {R0}
  8548. 0D4035B8 BX R0
  8549. 0D4035B8
  8550. 0D4035B8
  8551. 0D4035B8
  8552. 0D4035BA ALIGN 4
  8553. 0D4035BC
  8554. 0D4035BC
  8555. 0D4035BC
  8556. 0D4035BC
  8557. 0D4035BC printf
  8558. 0D4035BC call_printf2+1Ap
  8559. 0D4035BC
  8560. 0D4035BC var_4C = -0x4C
  8561. 0D4035BC var_48 = -0x48
  8562. 0D4035BC var_44 = -0x44
  8563. 0D4035BC var_40 = -0x40
  8564. 0D4035BC var_3C = -0x3C
  8565. 0D4035BC var_24 = -0x24
  8566. 0D4035BC
  8567. 0D4035BC PUSH {R4-R7,LR}
  8568. 0D4035BE MOV R7, R11
  8569. 0D4035C0 MOV R6, R10
  8570. 0D4035C2 MOV R5, R9
  8571. 0D4035C4 MOV R4, R8
  8572. 0D4035C6 PUSH {R4-R7}
  8573. 0D4035C8 SUB SP, SP, #0x28
  8574. 0D4035CA MOV R8, R0
  8575. 0D4035CC MOVS R5, R1
  8576. 0D4035CE MOV R11, R2
  8577. 0D4035D0 MOVS R1, #0
  8578. 0D4035D2 STR R1, [SP,#0x4C+var_40]
  8579. 0D4035D4 LDRB R4, [R5]
  8580. 0D4035D6 ADDS R5, #1
  8581. 0D4035D8 CMP R4, #0
  8582. 0D4035DA BNE loc_D4035DE
  8583. 0D4035DA
  8584. 0D4035DC B loc_D403974
  8585. 0D4035DC
  8586. 0D4035DE
  8587. 0D4035DE loc_D4035DE
  8588. 0D4035DE printf+3B6j
  8589. 0D4035DE CMP R4, #0x25
  8590. 0D4035E0 BEQ loc_D4035E4
  8591. 0D4035E0
  8592. 0D4035E2 B loc_D403960
  8593. 0D4035E2
  8594. 0D4035E4
  8595. 0D4035E4 loc_D4035E4
  8596. 0D4035E4 MOVS R2, #0
  8597. 0D4035E6 STR R2, [SP,#0x4C+var_44]
  8598. 0D4035E8 MOV R10, R2
  8599. 0D4035EA STR R2, [SP,#0x4C+var_48]
  8600. 0D4035EC STR R2, [SP,#0x4C+var_4C]
  8601. 0D4035EE MOVS R7, #0
  8602. 0D4035F0 LDRB R4, [R5]
  8603. 0D4035F2 ADDS R5, #1
  8604. 0D4035F4 CMP R4, #0
  8605. 0D4035F6 BEQ loc_D40362E
  8606. 0D4035F6
  8607. 0D4035F8
  8608. 0D4035F8 loc_D4035F8
  8609. 0D4035F8 CMP R4, #0x2D
  8610. 0D4035FA BEQ loc_D40361C
  8611. 0D4035FA
  8612. 0D4035FC CMP R4, #0x2D
  8613. 0D4035FE BGT loc_D40360A
  8614. 0D4035FE
  8615. 0D403600 CMP R4, #0x23
  8616. 0D403602 BEQ loc_D403610
  8617. 0D403602
  8618. 0D403604 CMP R4, #0x2B
  8619. 0D403606 BEQ loc_D403616
  8620. 0D403606
  8621. 0D403608 B loc_D40362E
  8622. 0D403608
  8623. 0D40360A
  8624. 0D40360A loc_D40360A
  8625. 0D40360A CMP R4, #0x30
  8626. 0D40360C BEQ loc_D403622
  8627. 0D40360C
  8628. 0D40360E B loc_D40362E
  8629. 0D40360E
  8630. 0D403610
  8631. 0D403610 loc_D403610
  8632. 0D403610 MOVS R3, #1
  8633. 0D403612 STR R3, [SP,#0x4C+var_4C]
  8634. 0D403614 B loc_D403626
  8635. 0D403614
  8636. 0D403616
  8637. 0D403616 loc_D403616
  8638. 0D403616 MOVS R1, #1
  8639. 0D403618 MOV R10, R1
  8640. 0D40361A B loc_D403626
  8641. 0D40361A
  8642. 0D40361C
  8643. 0D40361C loc_D40361C
  8644. 0D40361C MOVS R2, #1
  8645. 0D40361E STR R2, [SP,#0x4C+var_48]
  8646. 0D403620 B loc_D403626
  8647. 0D403620
  8648. 0D403622
  8649. 0D403622 loc_D403622
  8650. 0D403622 MOVS R3, #1
  8651. 0D403624 STR R3, [SP,#0x4C+var_44]
  8652. 0D403624
  8653. 0D403626
  8654. 0D403626 loc_D403626
  8655. 0D403626 printf+5Ej ...
  8656. 0D403626 LDRB R4, [R5]
  8657. 0D403628 ADDS R5, #1
  8658. 0D40362A CMP R4, #0
  8659. 0D40362C BNE loc_D4035F8
  8660. 0D40362C
  8661. 0D40362E
  8662. 0D40362E loc_D40362E
  8663. 0D40362E printf+4Cj ...
  8664. 0D40362E MOVS R3, R4
  8665. 0D403630 SUBS R3, #0x30
  8666. 0D403632 LSLS R3, R3, #0x18
  8667. 0D403634 LSRS R3, R3, #0x18
  8668. 0D403636 CMP R3, #9
  8669. 0D403638 BHI loc_D403656
  8670. 0D403638
  8671. 0D40363A MOVS R2, #0xA
  8672. 0D40363A
  8673. 0D40363C
  8674. 0D40363C loc_D40363C
  8675. 0D40363C MOVS R3, R7
  8676. 0D40363E MULS R3, R2
  8677. 0D403640 ADDS R3, R3, R4
  8678. 0D403642 MOVS R7, R3
  8679. 0D403644 SUBS R7, #0x30
  8680. 0D403646 LDRB R4, [R5]
  8681. 0D403648 ADDS R5, #1
  8682. 0D40364A MOVS R3, R4
  8683. 0D40364C SUBS R3, #0x30
  8684. 0D40364E LSLS R3, R3, #0x18
  8685. 0D403650 LSRS R3, R3, #0x18
  8686. 0D403652 CMP R3, #9
  8687. 0D403654 BLS loc_D40363C
  8688. 0D403654
  8689. 0D403656
  8690. 0D403656 loc_D403656
  8691. 0D403656 MOVS R1, #0
  8692. 0D403658 CMP R4, #0x6C
  8693. 0D40365A BNE loc_D403666
  8694. 0D40365A
  8695. 0D40365C
  8696. 0D40365C loc_D40365C
  8697. 0D40365C ADDS R1, #1
  8698. 0D40365E LDRB R4, [R5]
  8699. 0D403660 ADDS R5, #1
  8700. 0D403662 CMP R4, #0x6C
  8701. 0D403664 BEQ loc_D40365C
  8702. 0D403664
  8703. 0D403666
  8704. 0D403666 loc_D403666
  8705. 0D403666 MOVS R3, R4
  8706. 0D403668 SUBS R3, #0x58
  8707. 0D40366A CMP R3, #0x20
  8708. 0D40366C BLS loc_D403670
  8709. 0D40366C
  8710. 0D40366E B def_D403676 jumptable 0D403676 default case
  8711. 0D40366E
  8712. 0D403670
  8713. 0D403670 loc_D403670
  8714. 0D403670 LSLS R3, R3, #2
  8715. 0D403672 LDR R2, =jpt_D403676
  8716. 0D403674 LDR R3, [R3,R2]
  8717. 0D403676 MOV PC, R3
  8718. 0D403676
  8719. 0D403678
  8720. 0D403678 loc_D403678
  8721. 0D403678 DATA XREF: 0D40403Co
  8722. 0D403678 MOV R3, R11
  8723. 0D40367A MOVS R1, #4
  8724. 0D40367C ADD R11, R1
  8725. 0D40367E LDRB R4, [R3,#3]
  8726. 0D403680 CMP R7, #1
  8727. 0D403682 BLE loc_D403694
  8728. 0D403682
  8729. 0D403684 LDR R2, [SP,#0x4C+var_48]
  8730. 0D403686 CMP R2, #0
  8731. 0D403688 BNE loc_D403694
  8732. 0D403688
  8733. 0D40368A MOV R0, R8
  8734. 0D40368C SUBS R1, R7, #1
  8735. 0D40368E MOVS R2, #0x20
  8736. 0D403690 BL sub_D40359C
  8737. 0D403690
  8738. 0D403694
  8739. 0D403694 loc_D403694
  8740. 0D403694 printf+CCj
  8741. 0D403694 MOV R1, R8
  8742. 0D403696 LDR R3, [R1]
  8743. 0D403698 MOV R0, R8
  8744. 0D40369A MOVS R1, R4
  8745. 0D40369C BLX R3
  8746. 0D40369C
  8747. 0D40369E CMP R7, #1
  8748. 0D4036A0 BGT loc_D4036A4
  8749. 0D4036A0
  8750. 0D4036A2 B loc_D40396A
  8751. 0D4036A2
  8752. 0D4036A4
  8753. 0D4036A4 loc_D4036A4
  8754. 0D4036A4 LDR R2, [SP,#0x4C+var_48]
  8755. 0D4036A6 CMP R2, #0
  8756. 0D4036A8 BNE loc_D4036AC
  8757. 0D4036A8
  8758. 0D4036AA B loc_D40396A
  8759. 0D4036AA
  8760. 0D4036AC
  8761. 0D4036AC loc_D4036AC
  8762. 0D4036AC MOV R0, R8
  8763. 0D4036AE SUBS R1, R7, #1
  8764. 0D4036B0 MOVS R2, #0x20
  8765. 0D4036B2 BL sub_D40359C
  8766. 0D4036B2
  8767. 0D4036B6 B loc_D40396A
  8768. 0D4036B6
  8769. 0D4036B8
  8770. 0D4036B8 loc_D4036B8
  8771. 0D4036B8 DATA XREF: 0D40407Co
  8772. 0D4036B8 MOV R3, R11
  8773. 0D4036BA MOVS R1, #4
  8774. 0D4036BC ADD R11, R1
  8775. 0D4036BE LDR R4, [R3]
  8776. 0D4036C0 CMP R4, #0
  8777. 0D4036C2 BNE loc_D4036C6
  8778. 0D4036C2
  8779. 0D4036C4 LDR R4, =aNull_25 "(null)"
  8780. 0D4036C4
  8781. 0D4036C6
  8782. 0D4036C6 loc_D4036C6
  8783. 0D4036C6 printf+17Aj
  8784. 0D4036C6 MOVS R0, R4
  8785. 0D4036C8 MOVS R1, #0x400
  8786. 0D4036CC BL sub_D403CB4
  8787. 0D4036CC
  8788. 0D4036D0 MOV R10, R0
  8789. 0D4036D2 CMP R7, R10
  8790. 0D4036D4 BLE loc_D4036E8
  8791. 0D4036D4
  8792. 0D4036D6 LDR R2, [SP,#0x4C+var_48]
  8793. 0D4036D8 CMP R2, #0
  8794. 0D4036DA BNE loc_D4036E8
  8795. 0D4036DA
  8796. 0D4036DC MOV R0, R8
  8797. 0D4036DE MOV R3, R10
  8798. 0D4036E0 SUBS R1, R7, R3
  8799. 0D4036E2 MOVS R2, #0x20
  8800. 0D4036E4 BL sub_D40359C
  8801. 0D4036E4
  8802. 0D4036E8
  8803. 0D4036E8 loc_D4036E8
  8804. 0D4036E8 printf+11Ej
  8805. 0D4036E8 MOV R0, R8
  8806. 0D4036EA MOVS R1, R4
  8807. 0D4036EC BL sub_D403578
  8808. 0D4036EC
  8809. 0D4036F0 CMP R7, R10
  8810. 0D4036F2 BGT loc_D4036F6
  8811. 0D4036F2
  8812. 0D4036F4 B loc_D40396A
  8813. 0D4036F4
  8814. 0D4036F6
  8815. 0D4036F6 loc_D4036F6
  8816. 0D4036F6 LDR R1, [SP,#0x4C+var_48]
  8817. 0D4036F8 CMP R1, #0
  8818. 0D4036FA BNE loc_D4036FE
  8819. 0D4036FA
  8820. 0D4036FC B loc_D40396A
  8821. 0D4036FC
  8822. 0D4036FE
  8823. 0D4036FE loc_D4036FE
  8824. 0D4036FE MOV R0, R8
  8825. 0D403700 MOV R2, R10
  8826. 0D403702 SUBS R1, R7, R2
  8827. 0D403704 MOVS R2, #0x20
  8828. 0D403706 BL sub_D40359C
  8829. 0D403706
  8830. 0D40370A B loc_D40396A
  8831. 0D40370A
  8832. 0D40370C
  8833. 0D40370C loc_D40370C
  8834. 0D40370C DATA XREF: jpt_D403676o ...
  8835. 0D40370C MOV R3, R11
  8836. 0D40370E MOVS R2, #4
  8837. 0D403710 ADD R11, R2
  8838. 0D403712 LDR R3, [R3]
  8839. 0D403714 MOV R9, R3
  8840. 0D403716 CMP R1, #2
  8841. 0D403718 BNE loc_D403722
  8842. 0D403718
  8843. 0D40371A MOV R3, R11
  8844. 0D40371C ADD R11, R2
  8845. 0D40371E LDR R3, [R3]
  8846. 0D403720 STR R3, [SP,#0x4C+var_40]
  8847. 0D403720
  8848. 0D403722
  8849. 0D403722 loc_D403722
  8850. 0D403722 CMP R4, #0x70
  8851. 0D403724 BNE loc_D403738
  8852. 0D403724
  8853. 0D403726 MOV R3, R9
  8854. 0D403728 CMP R3, #0
  8855. 0D40372A BEQ loc_D403734
  8856. 0D40372A
  8857. 0D40372C MOVS R4, #0x78
  8858. 0D40372E MOVS R2, #1
  8859. 0D403730 STR R2, [SP,#0x4C+var_4C]
  8860. 0D403732 B loc_D403738
  8861. 0D403732
  8862. 0D403734
  8863. 0D403734 loc_D403734
  8864. 0D403734 LDR R4, =aNil_17 "(nil)"
  8865. 0D403736 B loc_D4036C6
  8866. 0D403736
  8867. 0D403738
  8868. 0D403738 loc_D403738
  8869. 0D403738 printf+176j
  8870. 0D403738 CMP R4, #0x78
  8871. 0D40373A BNE loc_D403742
  8872. 0D40373A
  8873. 0D40373C MOVS R3, #0x57
  8874. 0D40373E MOV R10, R3
  8875. 0D403740 B loc_D403746
  8876. 0D403740
  8877. 0D403742
  8878. 0D403742 loc_D403742
  8879. 0D403742 MOVS R2, #0x37
  8880. 0D403744 MOV R10, R2
  8881. 0D403744
  8882. 0D403746
  8883. 0D403746 loc_D403746
  8884. 0D403746 ADD R6, SP, #0x4C+var_3C
  8885. 0D403748 MOVS R0, #1
  8886. 0D40374A CMP R1, #2
  8887. 0D40374C BNE loc_D403752
  8888. 0D40374C
  8889. 0D40374E MOVS R2, #0x3C
  8890. 0D403750 B loc_D403754
  8891. 0D403750
  8892. 0D403752
  8893. 0D403752 loc_D403752
  8894. 0D403752 MOVS R2, #0x1C
  8895. 0D403752
  8896. 0D403754
  8897. 0D403754 loc_D403754
  8898. 0D403754 CMP R2, #0
  8899. 0D403756 BLT loc_D403796
  8900. 0D403756
  8901. 0D403758 MOVS R3, #0xF
  8902. 0D40375A MOV R12, R3
  8903. 0D40375A
  8904. 0D40375C
  8905. 0D40375C loc_D40375C
  8906. 0D40375C CMP R2, #0x1C
  8907. 0D40375E BLE loc_D403770
  8908. 0D40375E
  8909. 0D403760 MOVS R3, R2
  8910. 0D403762 SUBS R3, #0x20
  8911. 0D403764 LDR R1, [SP,#0x4C+var_40]
  8912. 0D403766 LSRS R1, R3
  8913. 0D403768 MOVS R3, R1
  8914. 0D40376A MOV R1, R12
  8915. 0D40376C ANDS R3, R1
  8916. 0D40376E B loc_D403778
  8917. 0D40376E
  8918. 0D403770
  8919. 0D403770 loc_D403770
  8920. 0D403770 MOV R3, R9
  8921. 0D403772 LSRS R3, R2
  8922. 0D403774 MOV R1, R12
  8923. 0D403776 ANDS R3, R1
  8924. 0D403776
  8925. 0D403778
  8926. 0D403778 loc_D403778
  8927. 0D403778 CMP R3, #0
  8928. 0D40377A BNE loc_D403780
  8929. 0D40377A
  8930. 0D40377C CMP R0, #0
  8931. 0D40377E BNE loc_D403792
  8932. 0D40377E
  8933. 0D403780
  8934. 0D403780 loc_D403780
  8935. 0D403780 MOVS R0, #0
  8936. 0D403782 MOVS R1, R6
  8937. 0D403784 ADDS R6, #1
  8938. 0D403786 CMP R3, #9
  8939. 0D403788 BHI loc_D40378E
  8940. 0D403788
  8941. 0D40378A ADDS R3, #0x30
  8942. 0D40378C B loc_D403790
  8943. 0D40378C
  8944. 0D40378E
  8945. 0D40378E loc_D40378E
  8946. 0D40378E ADD R3, R10
  8947. 0D40378E
  8948. 0D403790
  8949. 0D403790 loc_D403790
  8950. 0D403790 STRB R3, [R1]
  8951. 0D403790
  8952. 0D403792
  8953. 0D403792 loc_D403792
  8954. 0D403792 SUBS R2, #4
  8955. 0D403794 BPL loc_D40375C
  8956. 0D403794
  8957. 0D403796
  8958. 0D403796 loc_D403796
  8959. 0D403796 CMP R0, #0
  8960. 0D403798 BEQ loc_D4037A0
  8961. 0D403798
  8962. 0D40379A MOVS R3, #0x30
  8963. 0D40379C STRB R3, [R6]
  8964. 0D40379E ADDS R6, #1
  8965. 0D40379E
  8966. 0D4037A0
  8967. 0D4037A0 loc_D4037A0
  8968. 0D4037A0 MOVS R3, #0
  8969. 0D4037A2 STRB R3, [R6]
  8970. 0D4037A4 ADD R0, SP, #0x4C+var_3C
  8971. 0D4037A6 MOVS R1, #0x18
  8972. 0D4037A8 BL sub_D403CB4
  8973. 0D4037A8
  8974. 0D4037AC MOV R10, R0
  8975. 0D4037AE MOV R2, R9
  8976. 0D4037B0 CMP R2, #0
  8977. 0D4037B2 BEQ loc_D4037BE
  8978. 0D4037B2
  8979. 0D4037B4 LDR R3, [SP,#0x4C+var_4C]
  8980. 0D4037B6 CMP R3, #0
  8981. 0D4037B8 BEQ loc_D4037BE
  8982. 0D4037B8
  8983. 0D4037BA MOVS R1, #2
  8984. 0D4037BC ADD R10, R1
  8985. 0D4037BC
  8986. 0D4037BE
  8987. 0D4037BE loc_D4037BE
  8988. 0D4037BE printf+1FCj
  8989. 0D4037BE CMP R7, R10
  8990. 0D4037C0 BLE loc_D40382A
  8991. 0D4037C0
  8992. 0D4037C2 LDR R2, [SP,#0x4C+var_48]
  8993. 0D4037C4 CMP R2, #0
  8994. 0D4037C6 BNE loc_D40382A
  8995. 0D4037C6
  8996. 0D4037C8 LDR R3, [SP,#0x4C+var_44]
  8997. 0D4037CA CMP R3, #0
  8998. 0D4037CC BEQ loc_D4037FC
  8999. 0D4037CC
  9000. 0D4037CE MOV R1, R9
  9001. 0D4037D0 CMP R1, #0
  9002. 0D4037D2 BEQ loc_D4037EE
  9003. 0D4037D2
  9004. 0D4037D4 LDR R2, [SP,#0x4C+var_4C]
  9005. 0D4037D6 CMP R2, #0
  9006. 0D4037D8 BEQ loc_D4037EE
  9007. 0D4037D8
  9008. 0D4037DA MOV R0, R8
  9009. 0D4037DC MOVS R1, #1
  9010. 0D4037DE MOVS R2, #0x30
  9011. 0D4037E0 BL sub_D40359C
  9012. 0D4037E0
  9013. 0D4037E4 MOV R0, R8
  9014. 0D4037E6 MOVS R1, #1
  9015. 0D4037E8 MOVS R2, R4
  9016. 0D4037EA BL sub_D40359C
  9017. 0D4037EA
  9018. 0D4037EE
  9019. 0D4037EE loc_D4037EE
  9020. 0D4037EE printf+21Cj
  9021. 0D4037EE MOV R0, R8
  9022. 0D4037F0 MOV R3, R10
  9023. 0D4037F2 SUBS R1, R7, R3
  9024. 0D4037F4 MOVS R2, #0x30
  9025. 0D4037F6 BL sub_D40359C
  9026. 0D4037F6
  9027. 0D4037FA B loc_D40384A
  9028. 0D4037FA
  9029. 0D4037FC
  9030. 0D4037FC loc_D4037FC
  9031. 0D4037FC MOV R0, R8
  9032. 0D4037FE MOV R2, R10
  9033. 0D403800 SUBS R1, R7, R2
  9034. 0D403802 MOVS R2, #0x20
  9035. 0D403804 BL sub_D40359C
  9036. 0D403804
  9037. 0D403808 MOV R3, R9
  9038. 0D40380A CMP R3, #0
  9039. 0D40380C BEQ loc_D40384A
  9040. 0D40380C
  9041. 0D40380E LDR R1, [SP,#0x4C+var_4C]
  9042. 0D403810 CMP R1, #0
  9043. 0D403812 BEQ loc_D40384A
  9044. 0D403812
  9045. 0D403814 MOV R0, R8
  9046. 0D403816 MOVS R1, #1
  9047. 0D403818 MOVS R2, #0x30
  9048. 0D40381A BL sub_D40359C
  9049. 0D40381A
  9050. 0D40381E MOV R0, R8
  9051. 0D403820 MOVS R1, #1
  9052. 0D403822 MOVS R2, R4
  9053. 0D403824 BL sub_D40359C
  9054. 0D403824
  9055. 0D403828 B loc_D40384A
  9056. 0D403828
  9057. 0D40382A
  9058. 0D40382A loc_D40382A
  9059. 0D40382A printf+20Aj
  9060. 0D40382A MOV R2, R9
  9061. 0D40382C CMP R2, #0
  9062. 0D40382E BEQ loc_D40384A
  9063. 0D40382E
  9064. 0D403830 LDR R3, [SP,#0x4C+var_4C]
  9065. 0D403832 CMP R3, #0
  9066. 0D403834 BEQ loc_D40384A
  9067. 0D403834
  9068. 0D403836 MOV R0, R8
  9069. 0D403838 MOVS R1, #1
  9070. 0D40383A MOVS R2, #0x30
  9071. 0D40383C BL sub_D40359C
  9072. 0D40383C
  9073. 0D403840 MOV R0, R8
  9074. 0D403842 MOVS R1, #1
  9075. 0D403844 MOVS R2, R4
  9076. 0D403846 BL sub_D40359C
  9077. 0D403846
  9078. 0D40384A
  9079. 0D40384A loc_D40384A
  9080. 0D40384A printf+250j ...
  9081. 0D40384A MOV R0, R8
  9082. 0D40384C ADD R1, SP, #0x4C+var_3C
  9083. 0D40384E BL sub_D403578
  9084. 0D40384E
  9085. 0D403852 CMP R7, R10
  9086. 0D403854 BGT loc_D403858
  9087. 0D403854
  9088. 0D403856 B loc_D40396A
  9089. 0D403856
  9090. 0D403858
  9091. 0D403858 loc_D403858
  9092. 0D403858 LDR R1, [SP,#0x4C+var_48]
  9093. 0D40385A CMP R1, #0
  9094. 0D40385C BNE loc_D403860
  9095. 0D40385C
  9096. 0D40385E B loc_D40396A
  9097. 0D40385E
  9098. 0D403860
  9099. 0D403860 loc_D403860
  9100. 0D403860 MOV R0, R8
  9101. 0D403862 MOV R2, R10
  9102. 0D403864 SUBS R1, R7, R2
  9103. 0D403866 MOVS R2, #0x20
  9104. 0D403868 BL sub_D40359C
  9105. 0D403868
  9106. 0D40386C B loc_D40396A
  9107. 0D40386C
  9108. 0D40386E
  9109. 0D40386E loc_D40386E
  9110. 0D40386E DATA XREF: 0D404040o ...
  9111. 0D40386E MOV R3, R11
  9112. 0D403870 MOVS R1, #4
  9113. 0D403872 ADD R11, R1
  9114. 0D403874 LDR R4, [R3]
  9115. 0D403876 ADD R6, SP, #0x4C+var_24
  9116. 0D403878 MOVS R2, #0
  9117. 0D40387A MOV R9, R2
  9118. 0D40387C CMP R4, #0
  9119. 0D40387E BGE loc_D403886
  9120. 0D40387E
  9121. 0D403880 MOVS R3, #1
  9122. 0D403882 MOV R9, R3
  9123. 0D403884 NEGS R4, R4
  9124. 0D403884
  9125. 0D403886
  9126. 0D403886 loc_D403886
  9127. 0D403886 SUBS R6, #1
  9128. 0D403888 MOVS R3, #0
  9129. 0D40388A STRB R3, [R6]
  9130. 0D40388A
  9131. 0D40388C
  9132. 0D40388C loc_D40388C
  9133. 0D40388C SUBS R6, #1
  9134. 0D40388E MOVS R0, R4
  9135. 0D403890 MOVS R1, #0xA
  9136. 0D403892 BL sub_D403ED4
  9137. 0D403892
  9138. 0D403896 ADDS R0, #0x30
  9139. 0D403898 STRB R0, [R6]
  9140. 0D40389A MOVS R0, R4
  9141. 0D40389C MOVS R1, #0xA
  9142. 0D40389E BL sub_D403E40
  9143. 0D40389E
  9144. 0D4038A2 MOVS R4, R0
  9145. 0D4038A4 CMP R0, #0
  9146. 0D4038A6 BNE loc_D40388C
  9147. 0D4038A6
  9148. 0D4038A8 MOV R1, R9
  9149. 0D4038AA CMP R1, #0
  9150. 0D4038AC BEQ loc_D4038B2
  9151. 0D4038AC
  9152. 0D4038AE MOVS R4, #0x2D
  9153. 0D4038B0 B loc_D4038BE
  9154. 0D4038B0
  9155. 0D4038B2
  9156. 0D4038B2 loc_D4038B2
  9157. 0D4038B2 MOV R2, R10
  9158. 0D4038B4 CMP R2, #0
  9159. 0D4038B6 BEQ loc_D4038BC
  9160. 0D4038B6
  9161. 0D4038B8 MOVS R4, #0x2B
  9162. 0D4038BA B loc_D4038BE
  9163. 0D4038BA
  9164. 0D4038BC
  9165. 0D4038BC loc_D4038BC
  9166. 0D4038BC MOVS R4, #0
  9167. 0D4038BC
  9168. 0D4038BE
  9169. 0D4038BE loc_D4038BE
  9170. 0D4038BE printf+2FEj
  9171. 0D4038BE MOVS R0, R6
  9172. 0D4038C0 MOVS R1, #0x18
  9173. 0D4038C2 BL sub_D403CB4
  9174. 0D4038C2
  9175. 0D4038C6 MOV R10, R0
  9176. 0D4038C8 CMP R4, #0
  9177. 0D4038CA BEQ loc_D4038D0
  9178. 0D4038CA
  9179. 0D4038CC MOVS R3, #1
  9180. 0D4038CE ADD R10, R3
  9181. 0D4038CE
  9182. 0D4038D0
  9183. 0D4038D0 loc_D4038D0
  9184. 0D4038D0 CMP R7, R10
  9185. 0D4038D2 BLE loc_D403918
  9186. 0D4038D2
  9187. 0D4038D4 LDR R1, [SP,#0x4C+var_48]
  9188. 0D4038D6 CMP R1, #0
  9189. 0D4038D8 BNE loc_D403918
  9190. 0D4038D8
  9191. 0D4038DA LDR R2, [SP,#0x4C+var_44]
  9192. 0D4038DC CMP R2, #0
  9193. 0D4038DE BEQ loc_D4038FC
  9194. 0D4038DE
  9195. 0D4038E0 CMP R4, #0
  9196. 0D4038E2 BEQ loc_D4038EE
  9197. 0D4038E2
  9198. 0D4038E4 MOV R0, R8
  9199. 0D4038E6 MOVS R1, #1
  9200. 0D4038E8 MOVS R2, R4
  9201. 0D4038EA BL sub_D40359C
  9202. 0D4038EA
  9203. 0D4038EE
  9204. 0D4038EE loc_D4038EE
  9205. 0D4038EE MOV R0, R8
  9206. 0D4038F0 MOV R3, R10
  9207. 0D4038F2 SUBS R1, R7, R3
  9208. 0D4038F4 MOVS R2, #0x30
  9209. 0D4038F6 BL sub_D40359C
  9210. 0D4038F6
  9211. 0D4038FA B loc_D403926
  9212. 0D4038FA
  9213. 0D4038FC
  9214. 0D4038FC loc_D4038FC
  9215. 0D4038FC MOV R0, R8
  9216. 0D4038FE MOV R2, R10
  9217. 0D403900 SUBS R1, R7, R2
  9218. 0D403902 MOVS R2, #0x20
  9219. 0D403904 BL sub_D40359C
  9220. 0D403904
  9221. 0D403908 CMP R4, #0
  9222. 0D40390A BEQ loc_D403926
  9223. 0D40390A
  9224. 0D40390C MOV R0, R8
  9225. 0D40390E MOVS R1, #1
  9226. 0D403910 MOVS R2, R4
  9227. 0D403912 BL sub_D40359C
  9228. 0D403912
  9229. 0D403916 B loc_D403926
  9230. 0D403916
  9231. 0D403918
  9232. 0D403918 loc_D403918
  9233. 0D403918 printf+31Cj
  9234. 0D403918 CMP R4, #0
  9235. 0D40391A BEQ loc_D403926
  9236. 0D40391A
  9237. 0D40391C MOV R0, R8
  9238. 0D40391E MOVS R1, #1
  9239. 0D403920 MOVS R2, R4
  9240. 0D403922 BL sub_D40359C
  9241. 0D403922
  9242. 0D403926
  9243. 0D403926 loc_D403926
  9244. 0D403926 printf+34Ej ...
  9245. 0D403926 MOV R0, R8
  9246. 0D403928 MOVS R1, R6
  9247. 0D40392A BL sub_D403578
  9248. 0D40392A
  9249. 0D40392E CMP R7, R10
  9250. 0D403930 BLE loc_D40396A
  9251. 0D403930
  9252. 0D403932 LDR R3, [SP,#0x4C+var_48]
  9253. 0D403934 CMP R3, #0
  9254. 0D403936 BEQ loc_D40396A
  9255. 0D403936
  9256. 0D403938 MOV R0, R8
  9257. 0D40393A MOV R2, R10
  9258. 0D40393C SUBS R1, R7, R2
  9259. 0D40393E MOVS R2, #0x20
  9260. 0D403940 BL sub_D40359C
  9261. 0D403940
  9262. 0D403944 B loc_D40396A
  9263. 0D403944
  9264. 0D403946
  9265. 0D403946 def_D403676
  9266. 0D403946 printf+BAj
  9267. 0D403946 DATA XREF: ...
  9268. 0D403946 MOV R1, R8
  9269. 0D403948 LDR R3, [R1]
  9270. 0D40394A MOV R0, R8
  9271. 0D40394C MOVS R1, R4
  9272. 0D40394E BLX R3
  9273. 0D40394E
  9274. 0D403950 B loc_D40396A
  9275. 0D403950
  9276. 0D403952 ALIGN 4
  9277. 0D403954 off_D403954 DCD jpt_D403676
  9278. 0D403958 off_D403958 DCD aNull_25
  9279. 0D403958 "(null)"
  9280. 0D40395C off_D40395C DCD aNil_17
  9281. 0D40395C "(nil)"
  9282. 0D403960
  9283. 0D403960 loc_D403960
  9284. 0D403960 MOV R2, R8
  9285. 0D403962 LDR R3, [R2]
  9286. 0D403964 MOV R0, R8
  9287. 0D403966 MOVS R1, R4
  9288. 0D403968 BLX R3
  9289. 0D403968
  9290. 0D40396A
  9291. 0D40396A loc_D40396A
  9292. 0D40396A printf+EEj ...
  9293. 0D40396A LDRB R4, [R5]
  9294. 0D40396C ADDS R5, #1
  9295. 0D40396E CMP R4, #0
  9296. 0D403970 BEQ loc_D403974
  9297. 0D403970
  9298. 0D403972 B loc_D4035DE
  9299. 0D403972
  9300. 0D403974
  9301. 0D403974 loc_D403974
  9302. 0D403974 printf+3B4j
  9303. 0D403974 MOV R1, R8
  9304. 0D403976 LDR R3, [R1,#4]
  9305. 0D403978 MOV R0, R8
  9306. 0D40397A BLX R3
  9307. 0D40397A
  9308. 0D40397C ADD SP, SP, #0x28
  9309. 0D40397E POP {R3-R6}
  9310. 0D403980 MOV R8, R3
  9311. 0D403982 MOV R9, R4
  9312. 0D403984 MOV R10, R5
  9313. 0D403986 MOV R11, R6
  9314. 0D403988 POP {R4-R7}
  9315. 0D40398A POP {R0}
  9316. 0D40398C BX R0
  9317. 0D40398C
  9318. 0D40398C
  9319. 0D40398C
  9320. 0D40398E ALIGN 0x10
  9321. 0D403990
  9322. 0D403990
  9323. 0D403990
  9324. 0D403990
  9325. 0D403990 call_printf2
  9326. 0D403990
  9327. 0D403990 var_1C = -0x1C
  9328. 0D403990 var_18 = -0x18
  9329. 0D403990 var_14 = -0x14
  9330. 0D403990 var_10 = -0x10
  9331. 0D403990 var_C = -0xC
  9332. 0D403990
  9333. 0D403990 PUSH {R4,LR}
  9334. 0D403992 SUB SP, SP, #0x14
  9335. 0D403994 MOVS R4, #0
  9336. 0D403996 STR R4, [SP,#0x1C+var_10]
  9337. 0D403998 STR R0, [SP,#0x1C+var_14]
  9338. 0D40399A STR R1, [SP,#0x1C+var_C]
  9339. 0D40399C LDR R1, =(sub_D40355C+1)
  9340. 0D40399E STR R1, [SP,#0x1C+var_1C]
  9341. 0D4039A0 LDR R1, =(sub_D403538+1)
  9342. 0D4039A2 STR R1, [SP,#0x1C+var_18]
  9343. 0D4039A4 MOV R0, SP
  9344. 0D4039A6 MOVS R1, R2
  9345. 0D4039A8 MOVS R2, R3
  9346. 0D4039AA BL printf
  9347. 0D4039AA
  9348. 0D4039AE LDR R0, [SP,#0x1C+var_10]
  9349. 0D4039B0 ADD SP, SP, #0x14
  9350. 0D4039B2 POP {R4}
  9351. 0D4039B4 POP {R1}
  9352. 0D4039B6 BX R1
  9353. 0D4039B6
  9354. 0D4039B6
  9355. 0D4039B6
  9356. 0D4039B8 off_D4039B8 DCD sub_D40355C+1
  9357. 0D4039BC off_D4039BC DCD sub_D403538+1
  9358. 0D4039C0
  9359. 0D4039C0
  9360. 0D4039C0
  9361. 0D4039C0
  9362. 0D4039C0 sub_D4039C0
  9363. 0D4039C0
  9364. 0D4039C0 varg_r2 = -8
  9365. 0D4039C0 varg_r3 = -4
  9366. 0D4039C0
  9367. 0D4039C0 PUSH {R2,R3}
  9368. 0D4039C2 PUSH {LR}
  9369. 0D4039C4 ADD R3, SP, #0xC+varg_r2
  9370. 0D4039C6 LDMIA R3!, {R2}
  9371. 0D4039C8 BL call_printf2
  9372. 0D4039C8
  9373. 0D4039CC POP {R3}
  9374. 0D4039CE ADD SP, SP, #8
  9375. 0D4039D0 BX R3
  9376. 0D4039D0
  9377. 0D4039D0
  9378. 0D4039D0
  9379. 0D4039D2 ALIGN 4
  9380. 0D4039D4
  9381. 0D4039D4
  9382. 0D4039D4
  9383. 0D4039D4
  9384. 0D4039D4
  9385. 0D4039D4 memcmp
  9386. 0D4039D4 boot1_main+9Ep ...
  9387. 0D4039D4 PUSH {R4,LR}
  9388. 0D4039D6 MOVS R4, R1
  9389. 0D4039D8 SUBS R1, R2, #0
  9390. 0D4039DA BNE loc_D4039E0
  9391. 0D4039DA
  9392. 0D4039DC MOVS R0, #0
  9393. 0D4039DE B loc_D403A06
  9394. 0D4039DE
  9395. 0D4039E0
  9396. 0D4039E0 loc_D4039E0
  9397. 0D4039E0 SUBS R1, #1
  9398. 0D4039E2 CMP R1, #0
  9399. 0D4039E4 BEQ loc_D403A00
  9400. 0D4039E4
  9401. 0D4039E6 LDRB R2, [R0]
  9402. 0D4039E8 LDRB R3, [R4]
  9403. 0D4039EA CMP R2, R3
  9404. 0D4039EC BNE loc_D403A00
  9405. 0D4039EC
  9406. 0D4039EE
  9407. 0D4039EE loc_D4039EE
  9408. 0D4039EE ADDS R0, #1
  9409. 0D4039F0 ADDS R4, #1
  9410. 0D4039F2 SUBS R1, #1
  9411. 0D4039F4 CMP R1, #0
  9412. 0D4039F6 BEQ loc_D403A00
  9413. 0D4039F6
  9414. 0D4039F8 LDRB R2, [R0]
  9415. 0D4039FA LDRB R3, [R4]
  9416. 0D4039FC CMP R2, R3
  9417. 0D4039FE BEQ loc_D4039EE
  9418. 0D4039FE
  9419. 0D403A00
  9420. 0D403A00 loc_D403A00
  9421. 0D403A00 memcmp+18j ...
  9422. 0D403A00 LDRB R2, [R0]
  9423. 0D403A02 LDRB R3, [R4]
  9424. 0D403A04 SUBS R0, R2, R3
  9425. 0D403A04
  9426. 0D403A06
  9427. 0D403A06 loc_D403A06
  9428. 0D403A06 POP {R4}
  9429. 0D403A08 POP {R1}
  9430. 0D403A0A BX R1
  9431. 0D403A0A
  9432. 0D403A0A
  9433. 0D403A0A
  9434. 0D403A0C
  9435. 0D403A0C
  9436. 0D403A0C
  9437. 0D403A0C
  9438. 0D403A0C
  9439. 0D403A0C memmove_maybe
  9440. 0D403A0C boot1_main+40Cp
  9441. 0D403A0C PUSH {R4-R7,LR}
  9442. 0D403A0E MOV R7, R10
  9443. 0D403A10 MOV R6, R8
  9444. 0D403A12 PUSH {R6,R7}
  9445. 0D403A14 MOV R12, R0
  9446. 0D403A16 MOVS R4, R2
  9447. 0D403A18 MOVS R5, R0
  9448. 0D403A1A MOVS R6, R1
  9449. 0D403A1C LDR R3, =0x17FFFFF
  9450. 0D403A1E CMP R12, R3
  9451. 0D403A20 BHI loc_D403A84
  9452. 0D403A20
  9453. 0D403A22 CMP R2, #0
  9454. 0D403A24 BEQ loc_D403A5C
  9455. 0D403A24
  9456. 0D403A26 MOVS R0, #3
  9457. 0D403A28 MOV R10, R0
  9458. 0D403A2A MOVS R3, #0x18
  9459. 0D403A2C MOV R8, R3
  9460. 0D403A2E MOVS R7, #0xFF
  9461. 0D403A2E
  9462. 0D403A30
  9463. 0D403A30 loc_D403A30
  9464. 0D403A30 SUBS R4, #1
  9465. 0D403A32 MOV R2, R10
  9466. 0D403A34 ANDS R2, R5
  9467. 0D403A36 SUBS R0, R5, R2
  9468. 0D403A38 LDR R1, [R0]
  9469. 0D403A3A LSLS R2, R2, #3
  9470. 0D403A3C MOV R3, R8
  9471. 0D403A3E SUBS R2, R3, R2
  9472. 0D403A40 MOVS R3, R7
  9473. 0D403A42 LSLS R3, R2
  9474. 0D403A44 BICS R1, R3
  9475. 0D403A46 LDRB R3, [R6]
  9476. 0D403A48 LSLS R3, R2
  9477. 0D403A4A ORRS R1, R3
  9478. 0D403A4C STR R1, [R0]
  9479. 0D403A4E ADDS R5, #1
  9480. 0D403A50 LDRB R3, [R6]
  9481. 0D403A52 CMP R3, #0
  9482. 0D403A54 BEQ loc_D403A5C
  9483. 0D403A54
  9484. 0D403A56 ADDS R6, #1
  9485. 0D403A58 CMP R4, #0
  9486. 0D403A5A BNE loc_D403A30
  9487. 0D403A5A
  9488. 0D403A5C
  9489. 0D403A5C loc_D403A5C
  9490. 0D403A5C memmove_maybe+48j
  9491. 0D403A5C SUBS R4, #1
  9492. 0D403A5E BCC loc_D403AAA
  9493. 0D403A5E
  9494. 0D403A60 MOVS R7, #3
  9495. 0D403A62 MOVS R6, #0x18
  9496. 0D403A64 MOVS R0, #0xFF
  9497. 0D403A66 MOV R8, R0
  9498. 0D403A66
  9499. 0D403A68
  9500. 0D403A68 loc_D403A68
  9501. 0D403A68 MOVS R3, R5
  9502. 0D403A6A ANDS R3, R7
  9503. 0D403A6C SUBS R1, R5, R3
  9504. 0D403A6E LDR R2, [R1]
  9505. 0D403A70 LSLS R3, R3, #3
  9506. 0D403A72 SUBS R3, R6, R3
  9507. 0D403A74 MOV R0, R8
  9508. 0D403A76 LSLS R0, R3
  9509. 0D403A78 BICS R2, R0
  9510. 0D403A7A STR R2, [R1]
  9511. 0D403A7C ADDS R5, #1
  9512. 0D403A7E SUBS R4, #1
  9513. 0D403A80 BCS loc_D403A68
  9514. 0D403A80
  9515. 0D403A82 B loc_D403AAA
  9516. 0D403A82
  9517. 0D403A84
  9518. 0D403A84 loc_D403A84
  9519. 0D403A84 CMP R2, #0
  9520. 0D403A86 BEQ loc_D403A9C
  9521. 0D403A86
  9522. 0D403A88
  9523. 0D403A88 loc_D403A88
  9524. 0D403A88 SUBS R4, #1
  9525. 0D403A8A LDRB R3, [R6]
  9526. 0D403A8C ADDS R6, #1
  9527. 0D403A8E STRB R3, [R5]
  9528. 0D403A90 ADDS R5, #1
  9529. 0D403A92 LSLS R3, R3, #0x18
  9530. 0D403A94 CMP R3, #0
  9531. 0D403A96 BEQ loc_D403A9C
  9532. 0D403A96
  9533. 0D403A98 CMP R4, #0
  9534. 0D403A9A BNE loc_D403A88
  9535. 0D403A9A
  9536. 0D403A9C
  9537. 0D403A9C loc_D403A9C
  9538. 0D403A9C memmove_maybe+8Aj
  9539. 0D403A9C SUBS R4, #1
  9540. 0D403A9E BCC loc_D403AAA
  9541. 0D403A9E
  9542. 0D403AA0 MOVS R3, #0
  9543. 0D403AA0
  9544. 0D403AA2
  9545. 0D403AA2 loc_D403AA2
  9546. 0D403AA2 STRB R3, [R5]
  9547. 0D403AA4 ADDS R5, #1
  9548. 0D403AA6 SUBS R4, #1
  9549. 0D403AA8 BCS loc_D403AA2
  9550. 0D403AA8
  9551. 0D403AAA
  9552. 0D403AAA loc_D403AAA
  9553. 0D403AAA memmove_maybe+76j ...
  9554. 0D403AAA MOV R0, R12
  9555. 0D403AAC POP {R3,R4}
  9556. 0D403AAE MOV R8, R3
  9557. 0D403AB0 MOV R10, R4
  9558. 0D403AB2 POP {R4-R7}
  9559. 0D403AB4 POP {R1}
  9560. 0D403AB6 BX R1
  9561. 0D403AB6
  9562. 0D403AB6
  9563. 0D403AB6
  9564. 0D403AB8 dword_D403AB8 DCD 0x17FFFFF
  9565. 0D403ABC
  9566. 0D403ABC
  9567. 0D403ABC
  9568. 0D403ABC
  9569. 0D403ABC
  9570. 0D403ABC memcpy
  9571. 0D403ABC sha1+14Ap ...
  9572. 0D403ABC PUSH {R4-R7,LR}
  9573. 0D403ABE MOV R7, R10
  9574. 0D403AC0 MOV R6, R8
  9575. 0D403AC2 PUSH {R6,R7}
  9576. 0D403AC4 MOVS R7, R0
  9577. 0D403AC6 MOVS R4, R2
  9578. 0D403AC8 MOVS R5, R0
  9579. 0D403ACA MOVS R6, R1
  9580. 0D403ACC CMP R2, #3
  9581. 0D403ACE BLS loc_D403AE8
  9582. 0D403ACE
  9583. 0D403AD0 MOVS R2, R0
  9584. 0D403AD2 ORRS R2, R1
  9585. 0D403AD4 MOVS R3, #3
  9586. 0D403AD6 TST R2, R3
  9587. 0D403AD8 BNE loc_D403AE8
  9588. 0D403AD8
  9589. 0D403ADA
  9590. 0D403ADA loc_D403ADA
  9591. 0D403ADA LDMIA R1!, {R3}
  9592. 0D403ADC STMIA R0!, {R3}
  9593. 0D403ADE SUBS R4, #4
  9594. 0D403AE0 CMP R4, #3
  9595. 0D403AE2 BHI loc_D403ADA
  9596. 0D403AE2
  9597. 0D403AE4 MOVS R5, R0
  9598. 0D403AE6 ADDS R6, R1, #0
  9599. 0D403AE6
  9600. 0D403AE8
  9601. 0D403AE8 loc_D403AE8
  9602. 0D403AE8 memcpy+1Cj
  9603. 0D403AE8 LDR R3, =0x17FFFFF
  9604. 0D403AEA CMP R7, R3
  9605. 0D403AEC BHI loc_D403B24
  9606. 0D403AEC
  9607. 0D403AEE SUBS R4, #1
  9608. 0D403AF0 BCC loc_D403B34
  9609. 0D403AF0
  9610. 0D403AF2 MOVS R3, #3
  9611. 0D403AF4 MOV R10, R3
  9612. 0D403AF6 MOVS R3, #0x18
  9613. 0D403AF8 MOV R8, R3
  9614. 0D403AFA MOVS R3, #0xFF
  9615. 0D403AFC MOV R12, R3
  9616. 0D403AFC
  9617. 0D403AFE
  9618. 0D403AFE loc_D403AFE
  9619. 0D403AFE MOV R2, R10
  9620. 0D403B00 ANDS R2, R5
  9621. 0D403B02 SUBS R0, R5, R2
  9622. 0D403B04 LDR R1, [R0]
  9623. 0D403B06 LSLS R2, R2, #3
  9624. 0D403B08 MOV R3, R8
  9625. 0D403B0A SUBS R2, R3, R2
  9626. 0D403B0C MOV R3, R12
  9627. 0D403B0E LSLS R3, R2
  9628. 0D403B10 BICS R1, R3
  9629. 0D403B12 LDRB R3, [R6]
  9630. 0D403B14 LSLS R3, R2
  9631. 0D403B16 ORRS R1, R3
  9632. 0D403B18 STR R1, [R0]
  9633. 0D403B1A ADDS R5, #1
  9634. 0D403B1C ADDS R6, #1
  9635. 0D403B1E SUBS R4, #1
  9636. 0D403B20 BCS loc_D403AFE
  9637. 0D403B20
  9638. 0D403B22 B loc_D403B34
  9639. 0D403B22
  9640. 0D403B24
  9641. 0D403B24 loc_D403B24
  9642. 0D403B24 SUBS R4, #1
  9643. 0D403B26 BCC loc_D403B34
  9644. 0D403B26
  9645. 0D403B28
  9646. 0D403B28 loc_D403B28
  9647. 0D403B28 LDRB R3, [R6]
  9648. 0D403B2A ADDS R6, #1
  9649. 0D403B2C STRB R3, [R5]
  9650. 0D403B2E ADDS R5, #1
  9651. 0D403B30 SUBS R4, #1
  9652. 0D403B32 BCS loc_D403B28
  9653. 0D403B32
  9654. 0D403B34
  9655. 0D403B34 loc_D403B34
  9656. 0D403B34 memcpy+66j ...
  9657. 0D403B34 MOVS R0, R7
  9658. 0D403B36 POP {R3,R4}
  9659. 0D403B38 MOV R8, R3
  9660. 0D403B3A MOV R10, R4
  9661. 0D403B3C POP {R4-R7}
  9662. 0D403B3E POP {R1}
  9663. 0D403B40 BX R1
  9664. 0D403B40
  9665. 0D403B40
  9666. 0D403B40
  9667. 0D403B42 ALIGN 4
  9668. 0D403B44 dword_D403B44 DCD 0x17FFFFF
  9669. 0D403B48
  9670. 0D403B48
  9671. 0D403B48
  9672. 0D403B48
  9673. 0D403B48 memcmp_0
  9674. 0D403B48 boot1_main+310p ...
  9675. 0D403B48 PUSH {R4-R7,LR}
  9676. 0D403B4A MOV R7, R10
  9677. 0D403B4C MOV R6, R8
  9678. 0D403B4E PUSH {R6,R7}
  9679. 0D403B50 MOVS R7, R0
  9680. 0D403B52 MOVS R4, R2
  9681. 0D403B54 MOVS R5, R0
  9682. 0D403B56 LSLS R1, R1, #0x18
  9683. 0D403B58 LSRS R6, R1, #0x18
  9684. 0D403B5A CMP R2, #3
  9685. 0D403B5C BLS loc_D403B7A
  9686. 0D403B5C
  9687. 0D403B5E MOVS R3, #3
  9688. 0D403B60 TST R0, R3
  9689. 0D403B62 BNE loc_D403B7A
  9690. 0D403B62
  9691. 0D403B64 LSLS R3, R6, #8
  9692. 0D403B66 MOVS R2, R6
  9693. 0D403B68 ORRS R2, R3
  9694. 0D403B6A LSLS R3, R2, #0x10
  9695. 0D403B6C ORRS R2, R3
  9696. 0D403B6E ADDS R1, R0, #0
  9697. 0D403B6E
  9698. 0D403B70
  9699. 0D403B70 loc_D403B70
  9700. 0D403B70 STMIA R1!, {R2}
  9701. 0D403B72 SUBS R4, #4
  9702. 0D403B74 CMP R4, #3
  9703. 0D403B76 BHI loc_D403B70
  9704. 0D403B76
  9705. 0D403B78 ADDS R5, R1, #0
  9706. 0D403B78
  9707. 0D403B7A
  9708. 0D403B7A loc_D403B7A
  9709. 0D403B7A memcmp_0+1Aj
  9710. 0D403B7A LDR R3, =0x17FFFFF
  9711. 0D403B7C CMP R7, R3
  9712. 0D403B7E BHI loc_D403BBA
  9713. 0D403B7E
  9714. 0D403B80 SUBS R4, #1
  9715. 0D403B82 BCC loc_D403BC6
  9716. 0D403B82
  9717. 0D403B84 MOVS R0, #3
  9718. 0D403B86 MOV R10, R0
  9719. 0D403B88 MOVS R2, #0x18
  9720. 0D403B8A MOV R8, R2
  9721. 0D403B8C MOVS R3, #0xFF
  9722. 0D403B8E MOV R12, R3
  9723. 0D403B8E
  9724. 0D403B90
  9725. 0D403B90 loc_D403B90
  9726. 0D403B90 MOV R3, R10
  9727. 0D403B92 ANDS R3, R5
  9728. 0D403B94 SUBS R1, R5, R3
  9729. 0D403B96 LDR R0, [R1]
  9730. 0D403B98 LSLS R3, R3, #3
  9731. 0D403B9A MOV R2, R8
  9732. 0D403B9C SUBS R3, R2, R3
  9733. 0D403B9E MOV R2, R12
  9734. 0D403BA0 LSLS R2, R3
  9735. 0D403BA2 BICS R0, R2
  9736. 0D403BA4 MOVS R2, R0
  9737. 0D403BA6 MOVS R0, R6
  9738. 0D403BA8 LSLS R0, R3
  9739. 0D403BAA MOVS R3, R0
  9740. 0D403BAC MOVS R0, R2
  9741. 0D403BAE ORRS R0, R3
  9742. 0D403BB0 STR R0, [R1]
  9743. 0D403BB2 ADDS R5, #1
  9744. 0D403BB4 SUBS R4, #1
  9745. 0D403BB6 BCS loc_D403B90
  9746. 0D403BB6
  9747. 0D403BB8 B loc_D403BC6
  9748. 0D403BB8
  9749. 0D403BBA
  9750. 0D403BBA loc_D403BBA
  9751. 0D403BBA SUBS R4, #1
  9752. 0D403BBC BCC loc_D403BC6
  9753. 0D403BBC
  9754. 0D403BBE
  9755. 0D403BBE loc_D403BBE
  9756. 0D403BBE STRB R6, [R5]
  9757. 0D403BC0 ADDS R5, #1
  9758. 0D403BC2 SUBS R4, #1
  9759. 0D403BC4 BCS loc_D403BBE
  9760. 0D403BC4
  9761. 0D403BC6
  9762. 0D403BC6 loc_D403BC6
  9763. 0D403BC6 memcmp_0+70j ...
  9764. 0D403BC6 MOVS R0, R7
  9765. 0D403BC8 POP {R3,R4}
  9766. 0D403BCA MOV R8, R3
  9767. 0D403BCC MOV R10, R4
  9768. 0D403BCE POP {R4-R7}
  9769. 0D403BD0 POP {R1}
  9770. 0D403BD2 BX R1
  9771. 0D403BD2
  9772. 0D403BD2
  9773. 0D403BD2
  9774. 0D403BD4 dword_D403BD4 DCD 0x17FFFFF
  9775. 0D403BD8
  9776. 0D403BD8
  9777. 0D403BD8
  9778. 0D403BD8
  9779. 0D403BD8 memcpy_maybe
  9780. 0D403BD8 boot1_main+36Ep ...
  9781. 0D403BD8 PUSH {R4-R7,LR}
  9782. 0D403BDA MOV R7, R8
  9783. 0D403BDC PUSH {R7}
  9784. 0D403BDE MOVS R7, R0
  9785. 0D403BE0 MOVS R5, R2
  9786. 0D403BE2 MOVS R4, R0
  9787. 0D403BE4 MOVS R6, R1
  9788. 0D403BE6 LDRB R3, [R0]
  9789. 0D403BE8 CMP R3, #0
  9790. 0D403BEA BEQ loc_D403BF4
  9791. 0D403BEA
  9792. 0D403BEC
  9793. 0D403BEC loc_D403BEC
  9794. 0D403BEC ADDS R4, #1
  9795. 0D403BEE LDRB R3, [R4]
  9796. 0D403BF0 CMP R3, #0
  9797. 0D403BF2 BNE loc_D403BEC
  9798. 0D403BF2
  9799. 0D403BF4
  9800. 0D403BF4 loc_D403BF4
  9801. 0D403BF4 LDR R3, =0x17FFFFF
  9802. 0D403BF6 CMP R4, R3
  9803. 0D403BF8 BHI loc_D403C38
  9804. 0D403BF8
  9805. 0D403BFA SUBS R5, #1
  9806. 0D403BFC BCC loc_D403C62
  9807. 0D403BFC
  9808. 0D403BFE MOVS R3, #3
  9809. 0D403C00 MOV R8, R3
  9810. 0D403C02 MOVS R3, #0x18
  9811. 0D403C04 MOV R12, R3
  9812. 0D403C04
  9813. 0D403C06
  9814. 0D403C06 loc_D403C06
  9815. 0D403C06 MOV R2, R8
  9816. 0D403C08 ANDS R2, R4
  9817. 0D403C0A SUBS R0, R4, R2
  9818. 0D403C0C LDR R1, [R0]
  9819. 0D403C0E LSLS R2, R2, #3
  9820. 0D403C10 MOV R3, R12
  9821. 0D403C12 SUBS R2, R3, R2
  9822. 0D403C14 MOVS R3, #0xFF
  9823. 0D403C16 LSLS R3, R2
  9824. 0D403C18 BICS R1, R3
  9825. 0D403C1A LDRB R3, [R6]
  9826. 0D403C1C LSLS R3, R2
  9827. 0D403C1E ORRS R1, R3
  9828. 0D403C20 STR R1, [R0]
  9829. 0D403C22 ADDS R4, #1
  9830. 0D403C24 LDRB R3, [R6]
  9831. 0D403C26 CMP R3, #0
  9832. 0D403C28 BEQ loc_D403C62
  9833. 0D403C28
  9834. 0D403C2A CMP R5, #0
  9835. 0D403C2C BNE loc_D403C30
  9836. 0D403C2C
  9837. 0D403C2E STRB R5, [R4]
  9838. 0D403C2E
  9839. 0D403C30
  9840. 0D403C30 loc_D403C30
  9841. 0D403C30 ADDS R6, #1
  9842. 0D403C32 SUBS R5, #1
  9843. 0D403C34 BCS loc_D403C06
  9844. 0D403C34
  9845. 0D403C36 B loc_D403C62
  9846. 0D403C36
  9847. 0D403C38
  9848. 0D403C38 loc_D403C38
  9849. 0D403C38 SUBS R5, #1
  9850. 0D403C3A BCC loc_D403C62
  9851. 0D403C3A
  9852. 0D403C3C LDRB R3, [R6]
  9853. 0D403C3E ADDS R6, #1
  9854. 0D403C40 STRB R3, [R4]
  9855. 0D403C42 ADDS R4, #1
  9856. 0D403C44 LSLS R3, R3, #0x18
  9857. 0D403C46 CMP R3, #0
  9858. 0D403C48 BEQ loc_D403C62
  9859. 0D403C48
  9860. 0D403C4A
  9861. 0D403C4A loc_D403C4A
  9862. 0D403C4A CMP R5, #0
  9863. 0D403C4C BNE loc_D403C50
  9864. 0D403C4C
  9865. 0D403C4E STRB R5, [R4]
  9866. 0D403C4E
  9867. 0D403C50
  9868. 0D403C50 loc_D403C50
  9869. 0D403C50 SUBS R5, #1
  9870. 0D403C52 BCC loc_D403C62
  9871. 0D403C52
  9872. 0D403C54 LDRB R3, [R6]
  9873. 0D403C56 ADDS R6, #1
  9874. 0D403C58 STRB R3, [R4]
  9875. 0D403C5A ADDS R4, #1
  9876. 0D403C5C LSLS R3, R3, #0x18
  9877. 0D403C5E CMP R3, #0
  9878. 0D403C60 BNE loc_D403C4A
  9879. 0D403C60
  9880. 0D403C62
  9881. 0D403C62 loc_D403C62
  9882. 0D403C62 memcpy_maybe+50j ...
  9883. 0D403C62 MOVS R0, R7
  9884. 0D403C64 POP {R3}
  9885. 0D403C66 MOV R8, R3
  9886. 0D403C68 POP {R4-R7}
  9887. 0D403C6A POP {R1}
  9888. 0D403C6C BX R1
  9889. 0D403C6C
  9890. 0D403C6C
  9891. 0D403C6C
  9892. 0D403C6E ALIGN 0x10
  9893. 0D403C70 dword_D403C70 DCD 0x17FFFFF
  9894. 0D403C74
  9895. 0D403C74
  9896. 0D403C74
  9897. 0D403C74
  9898. 0D403C74
  9899. 0D403C74 strncmp
  9900. 0D403C74 DATA XREF: verify_RSA_sig+8Co ...
  9901. 0D403C74 PUSH {R4,R5,LR}
  9902. 0D403C76 MOVS R4, R0
  9903. 0D403C78 MOVS R5, R1
  9904. 0D403C7A SUBS R1, R2, #0
  9905. 0D403C7C BNE loc_D403C82
  9906. 0D403C7C
  9907. 0D403C7E MOVS R0, #0
  9908. 0D403C80 B loc_D403CAE
  9909. 0D403C80
  9910. 0D403C82
  9911. 0D403C82 loc_D403C82
  9912. 0D403C82 SUBS R1, #1
  9913. 0D403C84 BCC loc_D403CA8
  9914. 0D403C84
  9915. 0D403C86 LDRB R2, [R0]
  9916. 0D403C88 MOVS R0, R2
  9917. 0D403C8A LDRB R3, [R5]
  9918. 0D403C8C CMP R2, R3
  9919. 0D403C8E BNE loc_D403CA8
  9920. 0D403C8E
  9921. 0D403C90
  9922. 0D403C90 loc_D403C90
  9923. 0D403C90 CMP R1, #0
  9924. 0D403C92 BEQ loc_D403CA8
  9925. 0D403C92
  9926. 0D403C94 CMP R0, #0
  9927. 0D403C96 BEQ loc_D403CA8
  9928. 0D403C96
  9929. 0D403C98 ADDS R4, #1
  9930. 0D403C9A ADDS R5, #1
  9931. 0D403C9C SUBS R1, #1
  9932. 0D403C9E BCC loc_D403CA8
  9933. 0D403C9E
  9934. 0D403CA0 LDRB R0, [R4]
  9935. 0D403CA2 LDRB R3, [R5]
  9936. 0D403CA4 CMP R0, R3
  9937. 0D403CA6 BEQ loc_D403C90
  9938. 0D403CA6
  9939. 0D403CA8
  9940. 0D403CA8 loc_D403CA8
  9941. 0D403CA8 strncmp+1Aj ...
  9942. 0D403CA8 LDRB R2, [R4]
  9943. 0D403CAA LDRB R3, [R5]
  9944. 0D403CAC SUBS R0, R2, R3
  9945. 0D403CAC
  9946. 0D403CAE
  9947. 0D403CAE loc_D403CAE
  9948. 0D403CAE POP {R4,R5}
  9949. 0D403CB0 POP {R1}
  9950. 0D403CB2 BX R1
  9951. 0D403CB2
  9952. 0D403CB2
  9953. 0D403CB2
  9954. 0D403CB4
  9955. 0D403CB4
  9956. 0D403CB4
  9957. 0D403CB4
  9958. 0D403CB4 sub_D403CB4
  9959. 0D403CB4 printf+1ECp ...
  9960. 0D403CB4 PUSH {LR}
  9961. 0D403CB6 MOVS R2, R0
  9962. 0D403CB8 LDRB R3, [R2]
  9963. 0D403CBA CMP R3, #0
  9964. 0D403CBC BEQ loc_D403CCE
  9965. 0D403CBC
  9966. 0D403CBE SUBS R1, #1
  9967. 0D403CC0 BCC loc_D403CCE
  9968. 0D403CC0
  9969. 0D403CC2
  9970. 0D403CC2 loc_D403CC2
  9971. 0D403CC2 ADDS R0, #1
  9972. 0D403CC4 LDRB R3, [R0]
  9973. 0D403CC6 CMP R3, #0
  9974. 0D403CC8 BEQ loc_D403CCE
  9975. 0D403CC8
  9976. 0D403CCA SUBS R1, #1
  9977. 0D403CCC BCS loc_D403CC2
  9978. 0D403CCC
  9979. 0D403CCE
  9980. 0D403CCE loc_D403CCE
  9981. 0D403CCE sub_D403CB4+Cj ...
  9982. 0D403CCE SUBS R0, R0, R2
  9983. 0D403CD0 POP {R1}
  9984. 0D403CD2 BX R1
  9985. 0D403CD2
  9986. 0D403CD2
  9987. 0D403CD2
  9988. 0D403CD4
  9989. 0D403CD4
  9990. 0D403CD4
  9991. 0D403CD4
  9992. 0D403CD4 delay_1
  9993. 0D403CD4 boot1_main+14Ap ...
  9994. 0D403CD4 PUSH {LR}
  9995. 0D403CD6 MOVS R3, #0
  9996. 0D403CD8 SUBS R0, #4
  9997. 0D403CDA MOVS R2, R0
  9998. 0D403CDC CMP R3, R0
  9999. 0D403CDE BCS loc_D403CE6
  10000. 0D403CDE
  10001. 0D403CE0
  10002. 0D403CE0 loc_D403CE0
  10003. 0D403CE0 ADDS R3, #1
  10004. 0D403CE2 CMP R3, R2
  10005. 0D403CE4 BCC loc_D403CE0
  10006. 0D403CE4
  10007. 0D403CE6
  10008. 0D403CE6 loc_D403CE6
  10009. 0D403CE6 POP {R0}
  10010. 0D403CE8 BX R0
  10011. 0D403CE8
  10012. 0D403CE8
  10013. 0D403CE8
  10014. 0D403CEA ALIGN 4
  10015. 0D403CEC
  10016. 0D403CEC
  10017. 0D403CEC
  10018. 0D403CEC
  10019. 0D403CEC
  10020. 0D403CEC EXPORT BOOT1__sys_open
  10021. 0D403CEC BOOT1__sys_open
  10022. 0D403CEC MOV R2, LR
  10023. 0D403CEE MOVS R1, R0
  10024. 0D403CF0 MOVS R0, #1
  10025. 0D403CF2 SVC 0xAB
  10026. 0D403CF4 BX R2
  10027. 0D403CF4
  10028. 0D403CF4
  10029. 0D403CF4
  10030. 0D403CF6
  10031. 0D403CF6
  10032. 0D403CF6
  10033. 0D403CF6
  10034. 0D403CF6
  10035. 0D403CF6 EXPORT BOOT1__sys_close
  10036. 0D403CF6 BOOT1__sys_close
  10037. 0D403CF6 MOV R2, LR
  10038. 0D403CF8 MOVS R1, R0
  10039. 0D403CFA MOVS R0, #2
  10040. 0D403CFC SVC 0xAB
  10041. 0D403CFE BX R2
  10042. 0D403CFE
  10043. 0D403CFE
  10044. 0D403CFE
  10045. 0D403D00
  10046. 0D403D00
  10047. 0D403D00
  10048. 0D403D00
  10049. 0D403D00 EXPORT BOOT1__sys_writec
  10050. 0D403D00 BOOT1__sys_writec
  10051. 0D403D00 MOV R2, LR
  10052. 0D403D02 MOVS R1, R0
  10053. 0D403D04 MOVS R0, #3
  10054. 0D403D06 SVC 0xAB
  10055. 0D403D08 BX R2
  10056. 0D403D08
  10057. 0D403D08
  10058. 0D403D08
  10059. 0D403D0A
  10060. 0D403D0A
  10061. 0D403D0A
  10062. 0D403D0A
  10063. 0D403D0A EXPORT BOOT1__sys_write0
  10064. 0D403D0A BOOT1__sys_write0
  10065. 0D403D0A MOV R2, LR
  10066. 0D403D0C MOVS R1, R0
  10067. 0D403D0E MOVS R0, #4
  10068. 0D403D10 SVC 0xAB
  10069. 0D403D12 BX R2
  10070. 0D403D12
  10071. 0D403D12
  10072. 0D403D12
  10073. 0D403D14
  10074. 0D403D14
  10075. 0D403D14
  10076. 0D403D14
  10077. 0D403D14
  10078. 0D403D14 EXPORT BOOT1__sys_write
  10079. 0D403D14 BOOT1__sys_write
  10080. 0D403D14 MOV R2, LR
  10081. 0D403D16 MOVS R1, R0
  10082. 0D403D18 MOVS R0, #5
  10083. 0D403D1A SVC 0xAB
  10084. 0D403D1C BX R2
  10085. 0D403D1C
  10086. 0D403D1C
  10087. 0D403D1C
  10088. 0D403D1E
  10089. 0D403D1E
  10090. 0D403D1E
  10091. 0D403D1E
  10092. 0D403D1E
  10093. 0D403D1E EXPORT BOOT1__sys_read
  10094. 0D403D1E BOOT1__sys_read
  10095. 0D403D1E MOV R2, LR
  10096. 0D403D20 MOVS R1, R0
  10097. 0D403D22 MOVS R0, #6
  10098. 0D403D24 SVC 0xAB
  10099. 0D403D26 BX R2
  10100. 0D403D26
  10101. 0D403D26
  10102. 0D403D26
  10103. 0D403D28
  10104. 0D403D28
  10105. 0D403D28
  10106. 0D403D28
  10107. 0D403D28 EXPORT BOOT1__sys_readc
  10108. 0D403D28 BOOT1__sys_readc
  10109. 0D403D28 MOV R2, LR
  10110. 0D403D2A MOVS R1, R0
  10111. 0D403D2C MOVS R0, #7
  10112. 0D403D2E SVC 0xAB
  10113. 0D403D30 BX R2
  10114. 0D403D30
  10115. 0D403D30
  10116. 0D403D30
  10117. 0D403D32
  10118. 0D403D32
  10119. 0D403D32
  10120. 0D403D32
  10121. 0D403D32 EXPORT BOOT1__sys_iserror
  10122. 0D403D32 BOOT1__sys_iserror
  10123. 0D403D32 MOV R2, LR
  10124. 0D403D34 MOVS R1, R0
  10125. 0D403D36 MOVS R0, #8
  10126. 0D403D38 SVC 0xAB
  10127. 0D403D3A BX R2
  10128. 0D403D3A
  10129. 0D403D3A
  10130. 0D403D3A
  10131. 0D403D3C
  10132. 0D403D3C
  10133. 0D403D3C
  10134. 0D403D3C
  10135. 0D403D3C
  10136. 0D403D3C EXPORT BOOT1__sys_istty
  10137. 0D403D3C BOOT1__sys_istty
  10138. 0D403D3C MOV R2, LR
  10139. 0D403D3E MOVS R1, R0
  10140. 0D403D40 MOVS R0, #9
  10141. 0D403D42 SVC 0xAB
  10142. 0D403D44 BX R2
  10143. 0D403D44
  10144. 0D403D44
  10145. 0D403D44
  10146. 0D403D46
  10147. 0D403D46
  10148. 0D403D46
  10149. 0D403D46
  10150. 0D403D46
  10151. 0D403D46 EXPORT BOOT1__sys_seek
  10152. 0D403D46 BOOT1__sys_seek
  10153. 0D403D46 MOV R2, LR
  10154. 0D403D48 MOVS R1, R0
  10155. 0D403D4A MOVS R0, #0xA
  10156. 0D403D4C SVC 0xAB
  10157. 0D403D4E BX R2
  10158. 0D403D4E
  10159. 0D403D4E
  10160. 0D403D4E
  10161. 0D403D50
  10162. 0D403D50
  10163. 0D403D50
  10164. 0D403D50
  10165. 0D403D50
  10166. 0D403D50 EXPORT BOOT1__sys_flen
  10167. 0D403D50 BOOT1__sys_flen
  10168. 0D403D50 MOV R2, LR
  10169. 0D403D52 MOVS R1, R0
  10170. 0D403D54 MOVS R0, #0xC
  10171. 0D403D56 SVC 0xAB
  10172. 0D403D58 BX R2
  10173. 0D403D58
  10174. 0D403D58
  10175. 0D403D58
  10176. 0D403D5A
  10177. 0D403D5A
  10178. 0D403D5A
  10179. 0D403D5A
  10180. 0D403D5A
  10181. 0D403D5A EXPORT BOOT1__sys_tmpnam
  10182. 0D403D5A BOOT1__sys_tmpnam
  10183. 0D403D5A MOV R2, LR
  10184. 0D403D5C MOVS R1, R0
  10185. 0D403D5E MOVS R0, #0xD
  10186. 0D403D60 SVC 0xAB
  10187. 0D403D62 BX R2
  10188. 0D403D62
  10189. 0D403D62
  10190. 0D403D62
  10191. 0D403D64
  10192. 0D403D64
  10193. 0D403D64
  10194. 0D403D64
  10195. 0D403D64 EXPORT BOOT1__sys_remove
  10196. 0D403D64 BOOT1__sys_remove
  10197. 0D403D64 MOV R2, LR
  10198. 0D403D66 MOVS R1, R0
  10199. 0D403D68 MOVS R0, #0xE
  10200. 0D403D6A SVC 0xAB
  10201. 0D403D6C BX R2
  10202. 0D403D6C
  10203. 0D403D6C
  10204. 0D403D6C
  10205. 0D403D6E
  10206. 0D403D6E
  10207. 0D403D6E
  10208. 0D403D6E
  10209. 0D403D6E EXPORT BOOT1__sys_rename
  10210. 0D403D6E BOOT1__sys_rename
  10211. 0D403D6E MOV R2, LR
  10212. 0D403D70 MOVS R1, R0
  10213. 0D403D72 MOVS R0, #0xF
  10214. 0D403D74 SVC 0xAB
  10215. 0D403D76 BX R2
  10216. 0D403D76
  10217. 0D403D76
  10218. 0D403D76
  10219. 0D403D78
  10220. 0D403D78
  10221. 0D403D78
  10222. 0D403D78
  10223. 0D403D78 EXPORT BOOT1__sys_clocK
  10224. 0D403D78 BOOT1__sys_clocK
  10225. 0D403D78 MOV R2, LR
  10226. 0D403D7A MOVS R1, R0
  10227. 0D403D7C MOVS R0, #0x10
  10228. 0D403D7E SVC 0xAB
  10229. 0D403D80 BX R2
  10230. 0D403D80
  10231. 0D403D80
  10232. 0D403D80
  10233. 0D403D82
  10234. 0D403D82
  10235. 0D403D82
  10236. 0D403D82
  10237. 0D403D82 EXPORT BOOT1__sys_time
  10238. 0D403D82 BOOT1__sys_time
  10239. 0D403D82 MOV R2, LR
  10240. 0D403D84 MOVS R1, R0
  10241. 0D403D86 MOVS R0, #0x11
  10242. 0D403D88 SVC 0xAB
  10243. 0D403D8A BX R2
  10244. 0D403D8A
  10245. 0D403D8A
  10246. 0D403D8A
  10247. 0D403D8C
  10248. 0D403D8C
  10249. 0D403D8C
  10250. 0D403D8C
  10251. 0D403D8C EXPORT BOOT1__sys_system
  10252. 0D403D8C BOOT1__sys_system
  10253. 0D403D8C MOV R2, LR
  10254. 0D403D8E MOVS R1, R0
  10255. 0D403D90 MOVS R0, #0x12
  10256. 0D403D92 SVC 0xAB
  10257. 0D403D94 BX R2
  10258. 0D403D94
  10259. 0D403D94
  10260. 0D403D94
  10261. 0D403D96
  10262. 0D403D96
  10263. 0D403D96
  10264. 0D403D96
  10265. 0D403D96 EXPORT BOOT1__sys_errno
  10266. 0D403D96 BOOT1__sys_errno
  10267. 0D403D96 MOV R2, LR
  10268. 0D403D98 MOVS R1, R0
  10269. 0D403D9A MOVS R0, #0x13
  10270. 0D403D9C SVC 0xAB
  10271. 0D403D9E BX R2
  10272. 0D403D9E
  10273. 0D403D9E
  10274. 0D403D9E
  10275. 0D403DA0
  10276. 0D403DA0
  10277. 0D403DA0
  10278. 0D403DA0
  10279. 0D403DA0 EXPORT BOOT1__sys_get_cmdline
  10280. 0D403DA0 BOOT1__sys_get_cmdline
  10281. 0D403DA0 MOV R2, LR
  10282. 0D403DA2 MOVS R1, R0
  10283. 0D403DA4 MOVS R0, #0x15
  10284. 0D403DA6 SVC 0xAB
  10285. 0D403DA8 BX R2
  10286. 0D403DA8
  10287. 0D403DA8
  10288. 0D403DA8
  10289. 0D403DAA
  10290. 0D403DAA
  10291. 0D403DAA
  10292. 0D403DAA
  10293. 0D403DAA EXPORT BOOT1__sys_heapinfo
  10294. 0D403DAA BOOT1__sys_heapinfo
  10295. 0D403DAA MOV R2, LR
  10296. 0D403DAC MOVS R1, R0
  10297. 0D403DAE MOVS R0, #0x16
  10298. 0D403DB0 SVC 0xAB
  10299. 0D403DB2 BX R2
  10300. 0D403DB2
  10301. 0D403DB2
  10302. 0D403DB2
  10303. 0D403DB4
  10304. 0D403DB4
  10305. 0D403DB4
  10306. 0D403DB4
  10307. 0D403DB4 EXPORT BOOT1__sys_elapsed
  10308. 0D403DB4 BOOT1__sys_elapsed
  10309. 0D403DB4 MOV R2, LR
  10310. 0D403DB6 MOVS R1, R0
  10311. 0D403DB8 MOVS R0, #0x30
  10312. 0D403DBA SVC 0xAB
  10313. 0D403DBC BX R2
  10314. 0D403DBC
  10315. 0D403DBC
  10316. 0D403DBC
  10317. 0D403DBE
  10318. 0D403DBE
  10319. 0D403DBE
  10320. 0D403DBE
  10321. 0D403DBE EXPORT BOOT1__sys_tickfreq
  10322. 0D403DBE BOOT1__sys_tickfreq
  10323. 0D403DBE MOV R2, LR
  10324. 0D403DC0 MOVS R1, R0
  10325. 0D403DC2 MOVS R0, #0x31
  10326. 0D403DC4 SVC 0xAB
  10327. 0D403DC6 BX R2
  10328. 0D403DC6
  10329. 0D403DC6
  10330. 0D403DC6
  10331. 0D403DC8
  10332. 0D403DC8
  10333. 0D403DC8
  10334. 0D403DC8
  10335. 0D403DC8 sub_D403DC8
  10336. 0D403DC8 sub_D40195A+834p ...
  10337. 0D403DC8 CMP R1, #0
  10338. 0D403DCA BEQ loc_D403E36
  10339. 0D403DCA
  10340. 0D403DCC MOVS R3, #1
  10341. 0D403DCE MOVS R2, #0
  10342. 0D403DD0 PUSH {R4}
  10343. 0D403DD2 CMP R0, R1
  10344. 0D403DD4 BCC loc_D403E30
  10345. 0D403DD4
  10346. 0D403DD6 MOVS R4, #0x10000000
  10347. 0D403DD6
  10348. 0D403DDA
  10349. 0D403DDA loc_D403DDA
  10350. 0D403DDA CMP R1, R4
  10351. 0D403DDC BCS loc_D403DE8
  10352. 0D403DDC
  10353. 0D403DDE CMP R1, R0
  10354. 0D403DE0 BCS loc_D403DE8
  10355. 0D403DE0
  10356. 0D403DE2 LSLS R1, R1, #4
  10357. 0D403DE4 LSLS R3, R3, #4
  10358. 0D403DE6 B loc_D403DDA
  10359. 0D403DE6
  10360. 0D403DE8
  10361. 0D403DE8 loc_D403DE8
  10362. 0D403DE8 sub_D403DC8+18j
  10363. 0D403DE8 LSLS R4, R4, #3
  10364. 0D403DE8
  10365. 0D403DEA
  10366. 0D403DEA loc_D403DEA
  10367. 0D403DEA CMP R1, R4
  10368. 0D403DEC BCS loc_D403DF8
  10369. 0D403DEC
  10370. 0D403DEE CMP R1, R0
  10371. 0D403DF0 BCS loc_D403DF8
  10372. 0D403DF0
  10373. 0D403DF2 LSLS R1, R1, #1
  10374. 0D403DF4 LSLS R3, R3, #1
  10375. 0D403DF6 B loc_D403DEA
  10376. 0D403DF6
  10377. 0D403DF8
  10378. 0D403DF8 loc_D403DF8
  10379. 0D403DF8 sub_D403DC8+28j ...
  10380. 0D403DF8 CMP R0, R1
  10381. 0D403DFA BCC loc_D403E00
  10382. 0D403DFA
  10383. 0D403DFC SUBS R0, R0, R1
  10384. 0D403DFE ORRS R2, R3
  10385. 0D403DFE
  10386. 0D403E00
  10387. 0D403E00 loc_D403E00
  10388. 0D403E00 LSRS R4, R1, #1
  10389. 0D403E02 CMP R0, R4
  10390. 0D403E04 BCC loc_D403E0C
  10391. 0D403E04
  10392. 0D403E06 SUBS R0, R0, R4
  10393. 0D403E08 LSRS R4, R3, #1
  10394. 0D403E0A ORRS R2, R4
  10395. 0D403E0A
  10396. 0D403E0C
  10397. 0D403E0C loc_D403E0C
  10398. 0D403E0C LSRS R4, R1, #2
  10399. 0D403E0E CMP R0, R4
  10400. 0D403E10 BCC loc_D403E18
  10401. 0D403E10
  10402. 0D403E12 SUBS R0, R0, R4
  10403. 0D403E14 LSRS R4, R3, #2
  10404. 0D403E16 ORRS R2, R4
  10405. 0D403E16
  10406. 0D403E18
  10407. 0D403E18 loc_D403E18
  10408. 0D403E18 LSRS R4, R1, #3
  10409. 0D403E1A CMP R0, R4
  10410. 0D403E1C BCC loc_D403E24
  10411. 0D403E1C
  10412. 0D403E1E SUBS R0, R0, R4
  10413. 0D403E20 LSRS R4, R3, #3
  10414. 0D403E22 ORRS R2, R4
  10415. 0D403E22
  10416. 0D403E24
  10417. 0D403E24 loc_D403E24
  10418. 0D403E24 CMP R0, #0
  10419. 0D403E26 BEQ loc_D403E30
  10420. 0D403E26
  10421. 0D403E28 LSRS R3, R3, #4
  10422. 0D403E2A BEQ loc_D403E30
  10423. 0D403E2A
  10424. 0D403E2C LSRS R1, R1, #4
  10425. 0D403E2E B loc_D403DF8
  10426. 0D403E2E
  10427. 0D403E30
  10428. 0D403E30 loc_D403E30
  10429. 0D403E30 sub_D403DC8+5Ej ...
  10430. 0D403E30 MOVS R0, R2
  10431. 0D403E32 POP {R4}
  10432. 0D403E34 BX LR
  10433. 0D403E34
  10434. 0D403E36
  10435. 0D403E36 loc_D403E36
  10436. 0D403E36 PUSH {LR}
  10437. 0D403E38 BL sub_D403FAC
  10438. 0D403E38
  10439. 0D403E3C MOVS R0, #0
  10440. 0D403E3E POP {PC}
  10441. 0D403E3E
  10442. 0D403E3E
  10443. 0D403E3E
  10444. 0D403E40
  10445. 0D403E40
  10446. 0D403E40
  10447. 0D403E40
  10448. 0D403E40 sub_D403E40
  10449. 0D403E40 CMP R1, #0
  10450. 0D403E42 BEQ loc_D403EC8
  10451. 0D403E42
  10452. 0D403E44 PUSH {R4}
  10453. 0D403E46 MOVS R4, R0
  10454. 0D403E48 EORS R4, R1
  10455. 0D403E4A MOV R12, R4
  10456. 0D403E4C MOVS R3, #1
  10457. 0D403E4E MOVS R2, #0
  10458. 0D403E50 CMP R1, #0
  10459. 0D403E52 BPL loc_D403E56
  10460. 0D403E52
  10461. 0D403E54 NEGS R1, R1
  10462. 0D403E54
  10463. 0D403E56
  10464. 0D403E56 loc_D403E56
  10465. 0D403E56 CMP R0, #0
  10466. 0D403E58 BPL loc_D403E5C
  10467. 0D403E58
  10468. 0D403E5A NEGS R0, R0
  10469. 0D403E5A
  10470. 0D403E5C
  10471. 0D403E5C loc_D403E5C
  10472. 0D403E5C CMP R0, R1
  10473. 0D403E5E BCC loc_D403EBA
  10474. 0D403E5E
  10475. 0D403E60 MOVS R4, #0x10000000
  10476. 0D403E60
  10477. 0D403E64
  10478. 0D403E64 loc_D403E64
  10479. 0D403E64 CMP R1, R4
  10480. 0D403E66 BCS loc_D403E72
  10481. 0D403E66
  10482. 0D403E68 CMP R1, R0
  10483. 0D403E6A BCS loc_D403E72
  10484. 0D403E6A
  10485. 0D403E6C LSLS R1, R1, #4
  10486. 0D403E6E LSLS R3, R3, #4
  10487. 0D403E70 B loc_D403E64
  10488. 0D403E70
  10489. 0D403E72
  10490. 0D403E72 loc_D403E72
  10491. 0D403E72 sub_D403E40+2Aj
  10492. 0D403E72 LSLS R4, R4, #3
  10493. 0D403E72
  10494. 0D403E74
  10495. 0D403E74 loc_D403E74
  10496. 0D403E74 CMP R1, R4
  10497. 0D403E76 BCS loc_D403E82
  10498. 0D403E76
  10499. 0D403E78 CMP R1, R0
  10500. 0D403E7A BCS loc_D403E82
  10501. 0D403E7A
  10502. 0D403E7C LSLS R1, R1, #1
  10503. 0D403E7E LSLS R3, R3, #1
  10504. 0D403E80 B loc_D403E74
  10505. 0D403E80
  10506. 0D403E82
  10507. 0D403E82 loc_D403E82
  10508. 0D403E82 sub_D403E40+3Aj ...
  10509. 0D403E82 CMP R0, R1
  10510. 0D403E84 BCC loc_D403E8A
  10511. 0D403E84
  10512. 0D403E86 SUBS R0, R0, R1
  10513. 0D403E88 ORRS R2, R3
  10514. 0D403E88
  10515. 0D403E8A
  10516. 0D403E8A loc_D403E8A
  10517. 0D403E8A LSRS R4, R1, #1
  10518. 0D403E8C CMP R0, R4
  10519. 0D403E8E BCC loc_D403E96
  10520. 0D403E8E
  10521. 0D403E90 SUBS R0, R0, R4
  10522. 0D403E92 LSRS R4, R3, #1
  10523. 0D403E94 ORRS R2, R4
  10524. 0D403E94
  10525. 0D403E96
  10526. 0D403E96 loc_D403E96
  10527. 0D403E96 LSRS R4, R1, #2
  10528. 0D403E98 CMP R0, R4
  10529. 0D403E9A BCC loc_D403EA2
  10530. 0D403E9A
  10531. 0D403E9C SUBS R0, R0, R4
  10532. 0D403E9E LSRS R4, R3, #2
  10533. 0D403EA0 ORRS R2, R4
  10534. 0D403EA0
  10535. 0D403EA2
  10536. 0D403EA2 loc_D403EA2
  10537. 0D403EA2 LSRS R4, R1, #3
  10538. 0D403EA4 CMP R0, R4
  10539. 0D403EA6 BCC loc_D403EAE
  10540. 0D403EA6
  10541. 0D403EA8 SUBS R0, R0, R4
  10542. 0D403EAA LSRS R4, R3, #3
  10543. 0D403EAC ORRS R2, R4
  10544. 0D403EAC
  10545. 0D403EAE
  10546. 0D403EAE loc_D403EAE
  10547. 0D403EAE CMP R0, #0
  10548. 0D403EB0 BEQ loc_D403EBA
  10549. 0D403EB0
  10550. 0D403EB2 LSRS R3, R3, #4
  10551. 0D403EB4 BEQ loc_D403EBA
  10552. 0D403EB4
  10553. 0D403EB6 LSRS R1, R1, #4
  10554. 0D403EB8 B loc_D403E82
  10555. 0D403EB8
  10556. 0D403EBA
  10557. 0D403EBA loc_D403EBA
  10558. 0D403EBA sub_D403E40+70j ...
  10559. 0D403EBA MOVS R0, R2
  10560. 0D403EBC MOV R4, R12
  10561. 0D403EBE CMP R4, #0
  10562. 0D403EC0 BPL loc_D403EC4
  10563. 0D403EC0
  10564. 0D403EC2 NEGS R0, R0
  10565. 0D403EC2
  10566. 0D403EC4
  10567. 0D403EC4 loc_D403EC4
  10568. 0D403EC4 POP {R4}
  10569. 0D403EC6 BX LR
  10570. 0D403EC6
  10571. 0D403EC8
  10572. 0D403EC8 loc_D403EC8
  10573. 0D403EC8 PUSH {LR}
  10574. 0D403ECA BL sub_D403FAC
  10575. 0D403ECA
  10576. 0D403ECE MOVS R0, #0
  10577. 0D403ED0 POP {PC}
  10578. 0D403ED0
  10579. 0D403ED0
  10580. 0D403ED0
  10581. 0D403ED2 ALIGN 4
  10582. 0D403ED4
  10583. 0D403ED4
  10584. 0D403ED4
  10585. 0D403ED4
  10586. 0D403ED4 sub_D403ED4
  10587. 0D403ED4 MOVS R3, #1
  10588. 0D403ED6 CMP R1, #0
  10589. 0D403ED8 BEQ loc_D403FA0
  10590. 0D403ED8
  10591. 0D403EDA BPL loc_D403EDE
  10592. 0D403EDA
  10593. 0D403EDC NEGS R1, R1
  10594. 0D403EDC
  10595. 0D403EDE
  10596. 0D403EDE loc_D403EDE
  10597. 0D403EDE PUSH {R4}
  10598. 0D403EE0 PUSH {R0}
  10599. 0D403EE2 CMP R0, #0
  10600. 0D403EE4 BPL loc_D403EE8
  10601. 0D403EE4
  10602. 0D403EE6 NEGS R0, R0
  10603. 0D403EE6
  10604. 0D403EE8
  10605. 0D403EE8 loc_D403EE8
  10606. 0D403EE8 CMP R0, R1
  10607. 0D403EEA BCC loc_D403F94
  10608. 0D403EEA
  10609. 0D403EEC MOVS R4, #0x10000000
  10610. 0D403EEC
  10611. 0D403EF0
  10612. 0D403EF0 loc_D403EF0
  10613. 0D403EF0 CMP R1, R4
  10614. 0D403EF2 BCS loc_D403EFE
  10615. 0D403EF2
  10616. 0D403EF4 CMP R1, R0
  10617. 0D403EF6 BCS loc_D403EFE
  10618. 0D403EF6
  10619. 0D403EF8 LSLS R1, R1, #4
  10620. 0D403EFA LSLS R3, R3, #4
  10621. 0D403EFC B loc_D403EF0
  10622. 0D403EFC
  10623. 0D403EFE
  10624. 0D403EFE loc_D403EFE
  10625. 0D403EFE sub_D403ED4+22j
  10626. 0D403EFE LSLS R4, R4, #3
  10627. 0D403EFE
  10628. 0D403F00
  10629. 0D403F00 loc_D403F00
  10630. 0D403F00 CMP R1, R4
  10631. 0D403F02 BCS loc_D403F0E
  10632. 0D403F02
  10633. 0D403F04 CMP R1, R0
  10634. 0D403F06 BCS loc_D403F0E
  10635. 0D403F06
  10636. 0D403F08 LSLS R1, R1, #1
  10637. 0D403F0A LSLS R3, R3, #1
  10638. 0D403F0C B loc_D403F00
  10639. 0D403F0C
  10640. 0D403F0E
  10641. 0D403F0E loc_D403F0E
  10642. 0D403F0E sub_D403ED4+32j ...
  10643. 0D403F0E MOVS R2, #0
  10644. 0D403F10 CMP R0, R1
  10645. 0D403F12 BCC loc_D403F16
  10646. 0D403F12
  10647. 0D403F14 SUBS R0, R0, R1
  10648. 0D403F14
  10649. 0D403F16
  10650. 0D403F16 loc_D403F16
  10651. 0D403F16 LSRS R4, R1, #1
  10652. 0D403F18 CMP R0, R4
  10653. 0D403F1A BCC loc_D403F28
  10654. 0D403F1A
  10655. 0D403F1C SUBS R0, R0, R4
  10656. 0D403F1E MOV R12, R3
  10657. 0D403F20 MOVS R4, #1
  10658. 0D403F22 RORS R3, R4
  10659. 0D403F24 ORRS R2, R3
  10660. 0D403F26 MOV R3, R12
  10661. 0D403F26
  10662. 0D403F28
  10663. 0D403F28 loc_D403F28
  10664. 0D403F28 LSRS R4, R1, #2
  10665. 0D403F2A CMP R0, R4
  10666. 0D403F2C BCC loc_D403F3A
  10667. 0D403F2C
  10668. 0D403F2E SUBS R0, R0, R4
  10669. 0D403F30 MOV R12, R3
  10670. 0D403F32 MOVS R4, #2
  10671. 0D403F34 RORS R3, R4
  10672. 0D403F36 ORRS R2, R3
  10673. 0D403F38 MOV R3, R12
  10674. 0D403F38
  10675. 0D403F3A
  10676. 0D403F3A loc_D403F3A
  10677. 0D403F3A LSRS R4, R1, #3
  10678. 0D403F3C CMP R0, R4
  10679. 0D403F3E BCC loc_D403F4C
  10680. 0D403F3E
  10681. 0D403F40 SUBS R0, R0, R4
  10682. 0D403F42 MOV R12, R3
  10683. 0D403F44 MOVS R4, #3
  10684. 0D403F46 RORS R3, R4
  10685. 0D403F48 ORRS R2, R3
  10686. 0D403F4A MOV R3, R12
  10687. 0D403F4A
  10688. 0D403F4C
  10689. 0D403F4C loc_D403F4C
  10690. 0D403F4C MOV R12, R3
  10691. 0D403F4E CMP R0, #0
  10692. 0D403F50 BEQ loc_D403F5A
  10693. 0D403F50
  10694. 0D403F52 LSRS R3, R3, #4
  10695. 0D403F54 BEQ loc_D403F5A
  10696. 0D403F54
  10697. 0D403F56 LSRS R1, R1, #4
  10698. 0D403F58 B loc_D403F0E
  10699. 0D403F58
  10700. 0D403F5A
  10701. 0D403F5A loc_D403F5A
  10702. 0D403F5A sub_D403ED4+80j
  10703. 0D403F5A MOVS R4, #0xE0000000
  10704. 0D403F5E ANDS R2, R4
  10705. 0D403F60 BEQ loc_D403F94
  10706. 0D403F60
  10707. 0D403F62 MOV R3, R12
  10708. 0D403F64 MOVS R4, #7
  10709. 0D403F66 TST R3, R4
  10710. 0D403F68 BEQ loc_D403F94
  10711. 0D403F68
  10712. 0D403F6A MOV R3, R12
  10713. 0D403F6C MOVS R4, #3
  10714. 0D403F6E RORS R3, R4
  10715. 0D403F70 TST R2, R3
  10716. 0D403F72 BEQ loc_D403F78
  10717. 0D403F72
  10718. 0D403F74 LSRS R4, R1, #3
  10719. 0D403F76 ADDS R0, R0, R4
  10720. 0D403F76
  10721. 0D403F78
  10722. 0D403F78 loc_D403F78
  10723. 0D403F78 MOV R3, R12
  10724. 0D403F7A MOVS R4, #2
  10725. 0D403F7C RORS R3, R4
  10726. 0D403F7E TST R2, R3
  10727. 0D403F80 BEQ loc_D403F86
  10728. 0D403F80
  10729. 0D403F82 LSRS R4, R1, #2
  10730. 0D403F84 ADDS R0, R0, R4
  10731. 0D403F84
  10732. 0D403F86
  10733. 0D403F86 loc_D403F86
  10734. 0D403F86 MOV R3, R12
  10735. 0D403F88 MOVS R4, #1
  10736. 0D403F8A RORS R3, R4
  10737. 0D403F8C TST R2, R3
  10738. 0D403F8E BEQ loc_D403F94
  10739. 0D403F8E
  10740. 0D403F90 LSRS R4, R1, #1
  10741. 0D403F92 ADDS R0, R0, R4
  10742. 0D403F92
  10743. 0D403F94
  10744. 0D403F94 loc_D403F94
  10745. 0D403F94 sub_D403ED4+8Cj ...
  10746. 0D403F94 POP {R4}
  10747. 0D403F96 CMP R4, #0
  10748. 0D403F98 BPL loc_D403F9C
  10749. 0D403F98
  10750. 0D403F9A NEGS R0, R0
  10751. 0D403F9A
  10752. 0D403F9C
  10753. 0D403F9C loc_D403F9C
  10754. 0D403F9C POP {R4}
  10755. 0D403F9E BX LR
  10756. 0D403F9E
  10757. 0D403FA0
  10758. 0D403FA0 loc_D403FA0
  10759. 0D403FA0 PUSH {LR}
  10760. 0D403FA2 BL sub_D403FAC
  10761. 0D403FA2
  10762. 0D403FA6 MOVS R0, #0
  10763. 0D403FA8 POP {PC}
  10764. 0D403FA8
  10765. 0D403FA8
  10766. 0D403FA8
  10767. 0D403FAA ALIGN 4
  10768. 0D403FAC
  10769. 0D403FAC
  10770. 0D403FAC
  10771. 0D403FAC
  10772. 0D403FAC sub_D403FAC
  10773. 0D403FAC sub_D403E40+8Ap ...
  10774. 0D403FAC NOP
  10775. 0D403FAE NOP
  10776. 0D403FAE
  10777. 0D403FAE
  10778. 0D403FAE
  10779. 0D403FB0 CODE32
  10780. 0D403FB0
  10781. 0D403FB0
  10782. 0D403FB0
  10783. 0D403FB0
  10784. 0D403FB0 jump_to_main
  10785. 0D403FB0 LDR R12, =(boot1_main+1 - 0xD403FBC)
  10786. 0D403FB4 ADD R12, R12, PC
  10787. 0D403FB8 BX R12 int __cdecl boot1_main()
  10788. 0D403FB8
  10789. 0D403FB8
  10790. 0D403FB8
  10791. 0D403FBC off_D403FBC DCD boot1_main+1 - 0xD403FBC
  10792. 0D403FBC int __cdecl boot1_main()
  10793. 0D403FC0 boot2_magic DCD dword_26F29A40
  10794. 0D403FC0 boot1_main:off_D400748o
  10795. 0D403FC4 DCD byte_1EE684CF
  10796. 0D403FC8 jpt_D401752 DCD loc_D401790
  10797. 0D403FC8 off_D4017D0o
  10798. 0D403FC8 jump table for switch statement
  10799. 0D403FCC DCD loc_D401790
  10800. 0D403FD0 DCD loc_D4017AE
  10801. 0D403FD4 DCD loc_D4017B2
  10802. 0D403FD8 DCD loc_D4017B6
  10803. 0D403FDC DCD loc_D4017B6
  10804. 0D403FE0 DCD loc_D4017AE
  10805. 0D403FE4 DCD loc_D4017B2
  10806. 0D403FE8 DCD loc_D4017B2
  10807. 0D403FEC DCD loc_D4017B2
  10808. 0D403FF0 DCD loc_D4017B2
  10809. 0D403FF4 DCD loc_D401790
  10810. 0D403FF8 DCD loc_D4017B6
  10811. 0D403FFC jpt_D401798 DCD loc_D4017AA
  10812. 0D403FFC off_D4017E0o
  10813. 0D403FFC jump table for switch statement
  10814. 0D404000 DCD loc_D4017A6
  10815. 0D404004 DCD loc_D4017A2
  10816. 0D404008 DCD loc_D40179E
  10817. 0D40400C DCD loc_D40179A
  10818. 0D404010 jpt_D403676 DCD loc_D40370C
  10819. 0D404010 printf:off_D403954o
  10820. 0D404010 jump table for switch statement
  10821. 0D404014 DCD def_D403676
  10822. 0D404018 DCD def_D403676
  10823. 0D40401C DCD def_D403676
  10824. 0D404020 DCD def_D403676
  10825. 0D404024 DCD def_D403676
  10826. 0D404028 DCD def_D403676
  10827. 0D40402C DCD def_D403676
  10828. 0D404030 DCD def_D403676
  10829. 0D404034 DCD def_D403676
  10830. 0D404038 DCD def_D403676
  10831. 0D40403C DCD loc_D403678
  10832. 0D404040 DCD loc_D40386E
  10833. 0D404044 DCD def_D403676
  10834. 0D404048 DCD def_D403676
  10835. 0D40404C DCD def_D403676
  10836. 0D404050 DCD def_D403676
  10837. 0D404054 DCD def_D403676
  10838. 0D404058 DCD def_D403676
  10839. 0D40405C DCD def_D403676
  10840. 0D404060 DCD def_D403676
  10841. 0D404064 DCD def_D403676
  10842. 0D404068 DCD def_D403676
  10843. 0D40406C DCD def_D403676
  10844. 0D404070 DCD loc_D40370C
  10845. 0D404074 DCD def_D403676
  10846. 0D404078 DCD def_D403676
  10847. 0D40407C DCD loc_D4036B8
  10848. 0D404080 DCD def_D403676
  10849. 0D404084 DCD loc_D40386E
  10850. 0D404088 DCD def_D403676
  10851. 0D40408C DCD def_D403676
  10852. 0D404090 DCD loc_D40370C
  10853. 0D404094 aRoot_4 DCB "Root",0
  10854. 0D404094 boot1_main:off_D400A18o
  10855. 0D404099 DCB 0, 0, 0
  10856. 0D40409C aCa_0 DCB "CA",0
  10857. 0D40409C boot1_main:off_D400A28o
  10858. 0D40409F DCB 0
  10859. 0D4040A0 asc_D4040A0 DCB "-",0
  10860. 0D4040A0 boot1_main:off_D400A2Co
  10861. 0D4040A2 DCW 0
  10862. 0D4040A4 aCp_0 DCB "CP",0
  10863. 0D4040A4 boot1_main:off_D400A3Co
  10864. 0D4040A7 DCB 0
  10865. 0D4040A8 aXs_0 DCB "XS",0
  10866. 0D4040A8 boot1_main:off_D400A50o
  10867. 0D4040AB DCB 0
  10868. 0D4040AC aErrorAhbmemflu DCB "ERROR: ahbMemFlush(0x%x) did not ack!",0xA,0
  10869. 0D4040AC off_D4017E4o
  10870. 0D4040D3 DCB 0
  10871. 0D4040D4 aNull_25 DCB "(null)",0
  10872. 0D4040D4 printf:off_D403958o
  10873. 0D4040DB DCB 0
  10874. 0D4040DC aNil_17 DCB "(nil)",0
  10875. 0D4040DC printf:off_D40395Co
  10876. 0D4040E2 DCW 0
  10877. 0D4040E4 ALIGN 0x20
  10878. 0D404100 Common_Key DCD 0xEBE42A22, 0x5E8593E4, 0x48D9C545, 0x7381AAF7
  10879. 0D404100 DATA XREF: boot1_main+7F0o
  10880. 0D404100 off_D400DACo
  10881. 0D404110 BOOT1_root_exponent DCD 0x1000100
  10882. 0D404110 boot1_main:Key_Exponento
  10883. 0D404114 BOOT1_root_key DCD 0xF8246C58,0xBAE75003, 0x1FBB7C2,0xEBE00105,0x71DA9223,0x78F0514E,0xC0031DD0,0xD21ED3D0,0x7EFC8520,0x69B5DE9B,0xB951A8BC
  10884. 0D404114 DATA XREF: boot1_main+332o
  10885. 0D404114 boot1_main:Key_Typeo
  10886. 0D404114 DCD 0x90A24492,0x6D379295,0xAE9436AA,0xA6A30251, 0xC7B1DED,0xD5FB2086,0x9D7F3016,0xF6BE65D3,0x83A16DB3,0x321B9535,0x1890B170
  10887. 0D404114 DCD 0x2937EE1,0x93F57E99,0xA2474E9D,0x3824C7AE,0xE38541F5,0x67E7518C,0x7A0E38E7,0xEBAF4119,0x1BCFF17B,0x42A6B4ED,0xE6CE8DE7
  10888. 0D404114 DCD 0x318F7F52, 0x4B3990E,0x226745AF,0xD485B244,0x93008B08,0xC7F6B7E5,0x6B02B3E8,0xFE0C9D85,0x9CB8B682,0x23B8AB27,0xEE5F6538
  10889. 0D404114 DCD 0x78B2DB9,0x1E2A153E,0x85818072,0xA23B6DD9,0x3281054F,0x6FB0F6F5,0xAD283ECA, 0xB7AF354,0x55E03DA7,0xB68326F3,0xEC834AF3
  10890. 0D404114 DCD 0x14048AC6,0xDF20D285, 0x8673CAB,0x62A2C7BC,0x131A533E, 0xB66806B,0x1C30664B,0x372331BD,0xC4B0CAD8,0xD11EE7BB,0xD9285548
  10891. 0D404114 DCD 0xAAEC1F66,0xE821B3C8,0xA0476900,0xC5E688E8, 0xCCE3C61,0xD69CBBA1,0x37C6604F,0x7A72DD8C,0x7B3E3D51,0x290DAA6A,0x597B081F
  10892. 0D404114 DCD 0x9D3633A3,0x467A3561, 0x9ACA7DD,0x7D2E2FB2,0xC1AEB8E2, 0xF4892D8,0xB9F8B46F,0x4E3C11F4,0xF47D8B75,0x7DFEFEA3,0x899C3359
  10893. 0D404114 DCD 0x5C5EFDEB,0xCBABE841,0x3E3A9A80,0x3C69356E,0xB2B2AD5C,0xC4C85845,0x5EF5F7B3, 0x644B47C,0x64068CDF,0x809F7602,0x5A2DB446
  10894. 0D404114 DCD 0xE03D7CF6,0x2F34E702,0x457B02A4,0xCF5D9DD5,0x3CA53A7C,0xA629788C,0x67CA08BF,0xECCA43A9,0x57AD16C9,0x4E1CD875,0xCA107DCE
  10895. 0D404114 DCD 0x7E0118F0,0xDF6BFEE5,0x1DDBD991,0xC26E60CD,0x4858AA59,0x2C820075,0xF29F526C,0x917C6FE5,0x403EA7D4,0xA50CEC3B,0x7384DE88
  10896. 0D404114 DCD 0x6E82D2EB,0x4D4E42B5,0xF2B149A8,0x1EA7CE71,0x44DC2994,0xCFC44E1F,0x91CBD495
  10897. 0D404314 dword_D404314 DCD 1 DATA XREF: delay_0+2o
  10898. 0D404314 delay_0+4r ...
  10899. 0D404318 DCD 1, 0
  10900. 0D404320 boot1_buffer % 0xACDC
  10901. 0D404320 boot1_start+1Co ...
  10902. 0D40EFFC boot1_stack 4% DATA XREF: boot1_start+40o
  10903. 0D40EFFC off_D400078o
  10904. 0D40EFFC
  10905. 0D40EFFC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement