Advertisement
Guest User

asm

a guest
Apr 19th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.09 KB | None | 0 0
  1. ROM:0003974E DMR_ID_Lookup_3974E ; CODE XREF: sub_39890+1C↓p
  2. ROM:0003974E
  3. ROM:0003974E var_68 = -0x68
  4. ROM:0003974E var_64 = -0x64
  5. ROM:0003974E var_5C = -0x5C
  6. ROM:0003974E var_58 = -0x58
  7. ROM:0003974E var_48 = -0x48
  8. ROM:0003974E var_44 = -0x44
  9. ROM:0003974E var_34 = -0x34
  10. ROM:0003974E var_30 = -0x30
  11. ROM:0003974E
  12. ROM:0003974E 000 PUSH.W {R4-R10,LR}
  13. ROM:00039752 020 SUB SP, SP, #0x48
  14. ROM:00039754 068 MOV R4, R0
  15. ROM:00039756 068 MOV R5, R2
  16. ROM:00039758 068 LDRB R0, [R5,#4]
  17. ROM:0003975A 068 CMP R0, #1
  18. ROM:0003975C 068 BNE loc_397DE
  19. ROM:0003975E 068 MOVS R3, #8
  20. ROM:00039760 068 ADD R2, SP, #0x68+var_64
  21. ROM:00039762 068 MOVS R1, #0
  22. ROM:00039764 068 MOVS R0, #4
  23. ROM:00039766 068 BL Flash_read_area_2D1D8
  24. ROM:0003976A 068 LDRB.W R0, [SP,#0x68+var_64]
  25. ROM:0003976E 068 CMP R0, #0x49
  26. ROM:00039770 068 BNE loc_397DE
  27. ROM:00039772 068 ADD R0, SP, #0x68+var_64
  28. ROM:00039774 068 LDRB R1, [R0,#1]
  29. ROM:00039776 068 CMP R1, #0x44
  30. ROM:00039778 068 BNE loc_397DE
  31. ROM:0003977A 068 LDRB R7, [R0,#3]
  32. ROM:0003977C 068 SUBS R7, #0x4A
  33. ROM:0003977E 068 NOP
  34. ROM:00039780 068 NOP
  35. ROM:00039782 068 NOP
  36. ROM:00039784 068 NOP
  37. ROM:00039786 068 NOP
  38. ROM:00039788 068 NOP
  39. ROM:0003978A 068 MOVS R3, #4
  40. ROM:0003978C 068 MOV R2, SP
  41. ROM:0003978E 068 MOVS R1, #8
  42. ROM:00039790 068 MOV R0, R3
  43. ROM:00039792 068 BL Flash_read_area_2D1D8
  44. ROM:00039796 068 LDR R0, [SP,#0x68+var_68]
  45. ROM:00039798 068 CMP R0, #0
  46. ROM:0003979A 068 BEQ loc_397DE
  47. ROM:0003979C 068 LDRB R0, [R5]
  48. ROM:0003979E 068 LDRB R1, [R5,#1]
  49. ROM:000397A0 068 LSLS R1, R1, #0x10
  50. ROM:000397A2 068 ORR.W R0, R1, R0,LSL#24
  51. ROM:000397A6 068 LDRB R1, [R5,#2]
  52. ROM:000397A8 068 ORR.W R0, R0, R1,LSL#8
  53. ROM:000397AC 068 LDRB R1, [R5,#3]
  54. ROM:000397AE 068 ORR.W R5, R1, R0
  55. ROM:000397B2 068 MOVS R6, #0
  56. ROM:000397B4 068 LDR R0, [SP,#0x68+var_68]
  57. ROM:000397B6 068 SUB.W R9, R0, #1
  58. ROM:000397BA 068 UXTH.W R9, R9
  59. ROM:000397BE 068 MOV.W R10, R9,ASR#1
  60. ROM:000397C2 068 MOVS R3, #0xC
  61. ROM:000397C4 068 ADD R2, SP, #0x68+var_5C
  62. ROM:000397C6 068 MOV R1, R3
  63. ROM:000397C8 068 MOVS R0, #4
  64. ROM:000397CA 068 BL Flash_read_area_2D1D8
  65. ROM:000397CE 068 UXTH.W R10, R10
  66. ROM:000397D2 068 CMP.W R10, #0
  67. ROM:000397D6 068 BNE loc_397E6
  68. ROM:000397D8 068 LDR R0, [SP,#0x68+var_5C]
  69. ROM:000397DA 068 CMP R5, R0
  70. ROM:000397DC 068 BEQ loc_39824
  71. ROM:000397DE
  72. ROM:000397DE loc_397DE ; CODE XREF: DMR_ID_Lookup_3974E+E↑j
  73. ROM:000397DE ; DMR_ID_Lookup_3974E+22↑j ...
  74. ROM:000397DE 068 MOVS R0, #0
  75. ROM:000397E0
  76. ROM:000397E0 loc_397E0 ; CODE XREF: DMR_ID_Lookup_3974E+CE↓j
  77. ROM:000397E0 ; DMR_ID_Lookup_3974E+E2↓j ...
  78. ROM:000397E0 068 ADD SP, SP, #0x48
  79. ROM:000397E2 020 POP.W {R4-R10,PC}
  80. ROM:000397E6 ; ---------------------------------------------------------------------------
  81. ROM:000397E6
  82. ROM:000397E6 loc_397E6 ; CODE XREF: DMR_ID_Lookup_3974E+88↑j
  83. ROM:000397E6 068 NOP
  84. ROM:000397E8 068 MOV R3, R7
  85. ROM:000397EA 068 ADD R2, SP, #0x68+var_34
  86. ROM:000397EC 068 MUL.W R0, R7, R9
  87. ROM:000397F0 068 ADD.W R1, R0, #0xC
  88. ROM:000397F4 068 MOVS R0, #4
  89. ROM:000397F6 068 BL Flash_read_area_2D1D8
  90. ROM:000397FA 068 LDR R0, [SP,#0x68+var_5C]
  91. ROM:000397FC 068 CMP R5, R0
  92. ROM:000397FE 068 BCC loc_397DE
  93. ROM:00039800 068 ADD.W R8, SP, #0x68+var_5C
  94. ROM:00039804 068 LDR.W R0, [SP,#0x68+var_34]
  95. ROM:00039808 068 CMP R0, R5
  96. ROM:0003980A 068 BCC loc_397DE
  97. ROM:0003980C 068 CMP R5, R0
  98. ROM:0003980E 068 BNE loc_3981E
  99. ROM:00039810 068 MOVS R2, R7
  100. ROM:00039812 068 ADD R1, SP, #0x68+var_30
  101. ROM:00039814 068 MOV R0, R4
  102. ROM:00039816 068 BL memcpy_2454C
  103. ROM:0003981A 068 MOVS R0, #1
  104. ROM:0003981C 068 B loc_397E0
  105. ROM:0003981E ; ---------------------------------------------------------------------------
  106. ROM:0003981E
  107. ROM:0003981E loc_3981E ; CODE XREF: DMR_ID_Lookup_3974E+C0↑j
  108. ROM:0003981E 068 LDR R0, [SP,#0x68+var_5C]
  109. ROM:00039820 068 CMP R5, R0
  110. ROM:00039822 068 BNE loc_3983C
  111. ROM:00039824
  112. ROM:00039824 loc_39824 ; CODE XREF: DMR_ID_Lookup_3974E+8E↑j
  113. ROM:00039824 068 MOVS R2, #8
  114. ROM:00039826 068 ADD R1, SP, #0x68+var_58
  115. ROM:00039828 068 MOV R0, R4
  116. ROM:0003982A 068 BL memcpy_2454C
  117. ROM:0003982E 068 MOVS R0, #1
  118. ROM:00039830 068 B loc_397E0
  119. ROM:00039832 ; ---------------------------------------------------------------------------
  120. ROM:00039832
  121. ROM:00039832 loc_39832 ; CODE XREF: DMR_ID_Lookup_3974E+10E↓j
  122. ROM:00039832 068 MOV R9, R10
  123. ROM:00039834 068 ADD.W R0, R9, R6
  124. ROM:00039838 068 MOV.W R10, R0,ASR#1
  125. ROM:0003983C
  126. ROM:0003983C loc_3983C ; CODE XREF: DMR_ID_Lookup_3974E+D4↑j
  127. ROM:0003983C ; DMR_ID_Lookup_3974E+11E↓j ...
  128. ROM:0003983C 068 UXTH.W R10, R10
  129. ROM:00039840 068 MUL.W R0, R7, R10
  130. ROM:00039844 068 ADD.W R1, R0, #0xC
  131. ROM:00039848 068 CMP R10, R6
  132. ROM:0003984A 068 MOV R3, R7
  133. ROM:0003984C 068 ADD R2, SP, #0x68+var_48
  134. ROM:0003984E 068 BEQ loc_39874
  135. ROM:00039850 068 MOVS R0, #4
  136. ROM:00039852 068 BL Flash_read_area_2D1D8
  137. ROM:00039856 068 LDR.W R0, [SP,#0x68+var_48]
  138. ROM:0003985A 068 CMP R5, R0
  139. ROM:0003985C 068 BCC loc_39832
  140. ROM:0003985E 068 CMP R0, R5
  141. ROM:00039860 068 BCS loc_3986E
  142. ROM:00039862 068 MOV R6, R10
  143. ROM:00039864 068 ADD.W R0, R9, R6
  144. ROM:00039868 068 MOV.W R10, R0,ASR#1
  145. ROM:0003986C 068 B loc_3983C
  146. ROM:0003986E ; ---------------------------------------------------------------------------
  147. ROM:0003986E
  148. ROM:0003986E loc_3986E ; CODE XREF: DMR_ID_Lookup_3974E+112↑j
  149. ROM:0003986E 068 CMP R5, R0
  150. ROM:00039870 068 BNE loc_3983C
  151. ROM:00039872 068 B loc_39882
  152. ROM:00039874 ; ---------------------------------------------------------------------------
  153. ROM:00039874
  154. ROM:00039874 loc_39874 ; CODE XREF: DMR_ID_Lookup_3974E+100↑j
  155. ROM:00039874 068 MOVS R0, #4
  156. ROM:00039876 068 BL Flash_read_area_2D1D8
  157. ROM:0003987A 068 LDR.W R0, [SP,#0x68+var_48]
  158. ROM:0003987E 068 CMP R5, R0
  159. ROM:00039880 068 BNE loc_397DE
  160. ROM:00039882
  161. ROM:00039882 loc_39882 ; CODE XREF: DMR_ID_Lookup_3974E+124↑j
  162. ROM:00039882 068 MOVS R2, R7
  163. ROM:00039884 068 ADD R1, SP, #0x68+var_44
  164. ROM:00039886 068 MOV R0, R4
  165. ROM:00039888 068 BL memcpy_2454C
  166. ROM:0003988C 068 MOVS R0, #1
  167. ROM:0003988E 068 B loc_397E0
  168. ROM:0003988E ; End of function DMR_ID_Lookup_3974E
  169. ROM:0003988E
  170. ROM:00039890
  171. ROM:00039890 ; =============== S U B R O U T I N E =======================================
  172. ROM:00039890
  173. ROM:00039890
  174. ROM:00039890 sub_39890 ; CODE XREF: sub_30472+86↑p
  175. ROM:00039890 ; sub_337CA+D6↑p ...
  176. ROM:00039890
  177. ROM:00039890 var_24 = -0x24
  178. ROM:00039890
  179. ROM:00039890 000 PUSH.W {R4-R9,LR}
  180. ROM:00039894 01C SUB SP, SP, #0xC
  181. ROM:00039896 028 MOV R4, R0
  182. ROM:00039898 028 MOV R8, R1
  183. ROM:0003989A 028 MOV R5, R2
  184. ROM:0003989C 028 MOVS R7, #0
  185. ROM:0003989E 028 CMP.W R8, #0
  186. ROM:000398A2 028 BEQ loc_398AA
  187. ROM:000398A4 028 MOVS R0, #1
  188. ROM:000398A6 028 STRB.W R0, [R8]
  189. ROM:000398AA
  190. ROM:000398AA loc_398AA ; CODE XREF: sub_39890+12↑j
  191. ROM:000398AA 028 MOV R0, R4
  192. ROM:000398AC 028 BL DMR_ID_Lookup_3974E
  193. ROM:000398B0 028 CMP R0, #0
  194. ROM:000398B2 028 BEQ loc_398B8
  195. ROM:000398B4 028 MOVS R0, #1
  196. ROM:000398B6 028 B locret_39948
  197. ROM:000398B8 ; ---------------------------------------------------------------------------
  198. ROM:000398B8
  199. ROM:000398B8 loc_398B8 ; CODE XREF: sub_39890+22↑j
  200. ROM:000398B8 028 LDR.W R9, =0x17620
  201. ROM:000398BC 028 MOV R6, R7
  202. ROM:000398BE 028 B loc_398C6
  203. ROM:000398C0 ; ---------------------------------------------------------------------------
  204. ROM:000398C0
  205. ROM:000398C0 loc_398C0 ; CODE XREF: sub_39890+46↓j
  206. ROM:000398C0 ; sub_39890+62↓j
  207. ROM:000398C0 028 ADD.W R9, R9, #0x18
  208. ROM:000398C4 028 ADDS R6, R6, #1
  209. ROM:000398C6
  210. ROM:000398C6 loc_398C6 ; CODE XREF: sub_39890+2E↑j
  211. ROM:000398C6 028 UXTH R6, R6
  212. ROM:000398C8 028 CMP.W R6, #0x400
  213. ROM:000398CC 028 BGE loc_39926
  214. ROM:000398CE 028 MOV R0, R9
  215. ROM:000398D0 028 BL some_calibration_read_18F16
  216. ROM:000398D4 028 CMP R0, #0xFF
  217. ROM:000398D6 028 BEQ loc_398C0
  218. ROM:000398D8 028 MOVS R2, #5
  219. ROM:000398DA 028 MOV R1, SP
  220. ROM:000398DC 028 ADD.W R0, R9, #0x10
  221. ROM:000398E0 028 BL spi_flash_read_18F9C
  222. ROM:000398E4 028 MOVS R3, #5
  223. ROM:000398E6 028 MOV R2, R5
  224. ROM:000398E8 028 MOV R1, R3
  225. ROM:000398EA 028 MOV R0, SP
  226. ROM:000398EC 028 BL sub_2471A
  227. ROM:000398F0 028 CMP R0, #1
  228. ROM:000398F2 028 BNE loc_398C0
  229. ROM:000398F4 028 MOVS R2, #0xF
  230. ROM:000398F6 028 MOV R1, R4
  231. ROM:000398F8 028 MOV R0, R9
  232. ROM:000398FA 028 BL spi_flash_read_18F9C
  233. ROM:000398FE 028 CMP.W R8, #0
  234. ROM:00039902 028 BEQ loc_3990C
  235. ROM:00039904 028 LDRB.W R0, [SP,#0x28+var_24]
  236. ROM:00039908 028 STRB.W R0, [R8]
  237. ROM:0003990C
  238. ROM:0003990C loc_3990C ; CODE XREF: sub_39890+72↑j
  239. ROM:0003990C 028 MOV R0, R7
  240. ROM:0003990E 028 B loc_3991C
  241. ROM:00039910 ; ---------------------------------------------------------------------------
  242. ROM:00039910
  243. ROM:00039910 loc_39910 ; CODE XREF: sub_39890+8E↓j
  244. ROM:00039910 028 LDRB R1, [R0,R4]
  245. ROM:00039912 028 CMP R1, #0xFF
  246. ROM:00039914 028 BNE loc_3991A
  247. ROM:00039916 028 MOV R1, R7
  248. ROM:00039918 028 STRB R1, [R0,R4]
  249. ROM:0003991A
  250. ROM:0003991A loc_3991A ; CODE XREF: sub_39890+84↑j
  251. ROM:0003991A 028 ADDS R0, R0, #1
  252. ROM:0003991C
  253. ROM:0003991C loc_3991C ; CODE XREF: sub_39890+7E↑j
  254. ROM:0003991C 028 CMP R0, #0xF
  255. ROM:0003991E 028 BLT loc_39910
  256. ROM:00039920 028 ADDS R7, R6, #1
  257. ROM:00039922 028 MOVS R0, #0
  258. ROM:00039924 028 STRB R0, [R4,#0xF]
  259. ROM:00039926
  260. ROM:00039926 loc_39926 ; CODE XREF: sub_39890+3C↑j
  261. ROM:00039926 028 UXTH R7, R7
  262. ROM:00039928 028 CMP R7, #0
  263. ROM:0003992A 028 BNE loc_39930
  264. ROM:0003992C 028 MOVS R0, #0
  265. ROM:0003992E 028 STRB R0, [R4]
  266. ROM:00039930
  267. ROM:00039930 loc_39930 ; CODE XREF: sub_39890+9A↑j
  268. ROM:00039930 028 MOVS R2, #4
  269. ROM:00039932 028 MOV R1, R5
  270. ROM:00039934 028 MOV R0, R5
  271. ROM:00039936 028 BL sub_24776
  272. ROM:0003993A 028 MOVS R3, #0
  273. ROM:0003993C 028 MOVS R2, #8
  274. ROM:0003993E 028 MOV R1, R5
  275. ROM:00039940 028 MOV R0, R5
  276. ROM:00039942 028 BL sub_39688
  277. ROM:00039946 028 MOV R0, R7
  278. ROM:00039948
  279. ROM:00039948 locret_39948 ; CODE XREF: sub_39890+26↑j
  280. ROM:00039948 028 POP.W {R1-R9,PC}
  281. ROM:00039948 ; End of function sub_39890
  282. ROM:00039948
  283. ROM:0003994C
  284. ROM:0003994C ; =============== S U B R O U T I N E =======================================
  285. ROM:0003994C
  286. ROM:0003994C
  287. ROM:0003994C sub_3994C ; CODE XREF: sub_36398+CA↑p
  288. ROM:0003994C ; sub_36778+94↑p ...
  289. ROM:0003994C
  290. ROM:0003994C arg_0 = 0
  291. ROM:0003994C
  292. ROM:0003994C 000 PUSH {R4-R6,LR}
  293. ROM:0003994E 010 MOVS R4, #0
  294. ROM:00039950 010 MOV R5, R1
  295. ROM:00039952 010 B loc_39958
  296. ROM:00039954 ; ---------------------------------------------------------------------------
  297. ROM:00039954
  298. ROM:00039954 loc_39954 ; CODE XREF: sub_3994C+18↓j
  299. ROM:00039954 010 ADDS R4, R4, #1
  300. ROM:00039956 010 UXTH R4, R4
  301. ROM:00039958
  302. ROM:00039958 loc_39958 ; CODE XREF: sub_3994C+6↑j
  303. ROM:00039958 010 CMP R4, R5
  304. ROM:0003995A 010 BGE loc_39966
  305. ROM:0003995C 010 LDRB R6, [R4,R0]
  306. ROM:0003995E 010 CMP R3, R6
  307. ROM:00039960 010 BCC loc_39966
  308. ROM:00039962 010 CMP R6, R2
  309. ROM:00039964 010 BCS loc_39954
  310. ROM:00039966
  311. ROM:00039966 loc_39966 ; CODE XREF: sub_3994C+E↑j
  312. ROM:00039966 ; sub_3994C+14↑j
  313. ROM:00039966 010 CMP R4, R5
  314. ROM:00039968 010 BGE loc_39976
  315. ROM:0003996A 010 SUBS R2, R1, R4
  316. ROM:0003996C 010 UXTH R2, R2
  317. ROM:0003996E 010 LDR R1, [SP,#0x10+arg_0]
  318. ROM:00039970 010 ADDS R0, R4, R0
  319. ROM:00039972 010 BL sub_24562
  320. ROM:00039976
  321. ROM:00039976 loc_39976 ; CODE XREF: sub_3994C+1C↑j
  322. ROM:00039976 010 MOVS R0, #1
  323. ROM:00039978 010 POP {R4-R6,PC}
  324. ROM:00039978 ; End of function sub_3994C
  325. ROM:00039978
  326. ROM:0003997A
  327. ROM:0003997A ; =============== S U B R O U T I N E =======================================
  328. ROM:0003997A
  329. ROM:0003997A
  330. ROM:0003997A sub_3997A ; CODE XREF: sub_36778+A6↑p
  331. ROM:0003997A ; sub_368D4+6A↑p
  332. ROM:0003997A 000 PUSH {R4,R5}
  333. ROM:0003997C 008 MOVS R3, #0
  334. ROM:0003997E 008 MOV R4, R3
  335. ROM:00039980 008 B loc_39986
  336. ROM:00039982 ; ---------------------------------------------------------------------------
  337. ROM:00039982
  338. ROM:00039982 loc_39982 ; CODE XREF: sub_3997A+1C↓j
  339. ROM:00039982 008 ADDS R3, R3, #1
  340. ROM:00039984
  341. ROM:00039984 loc_39984 ; CODE XREF: sub_3997A+16↓j
  342. ROM:00039984 008 ADDS R4, R4, #1
  343. ROM:00039986
  344. ROM:00039986 loc_39986 ; CODE XREF: sub_3997A+6↑j
  345. ROM:00039986 008 UXTH R4, R4
  346. ROM:00039988 008 CMP R4, R2
  347. ROM:0003998A 008 BCS loc_3999C
  348. ROM:0003998C 008 LDRB R5, [R4,R0]
  349. ROM:0003998E 008 CMP R5, #0
  350. ROM:00039990 008 BEQ loc_39984
  351. ROM:00039992 008 UXTB R3, R3
  352. ROM:00039994 008 CMP R3, R1
  353. ROM:00039996 008 BNE loc_39982
  354. ROM:00039998 008 MOV R0, R3
  355. ROM:0003999A 008 B loc_399A0
  356. ROM:0003999C ; ---------------------------------------------------------------------------
  357. ROM:0003999C
  358. ROM:0003999C loc_3999C ; CODE XREF: sub_3997A+10↑j
  359. ROM:0003999C 008 MOVW R0, #0xFFFF
  360. ROM:000399A0
  361. ROM:000399A0 loc_399A0 ; CODE XREF: sub_3997A+20↑j
  362. ROM:000399A0 008 POP {R4,R5}
  363. ROM:000399A2 000 BX LR
  364. ROM:000399A2 ; End of function sub_3997A
  365. ROM:000399A2
  366. ROM:000399A4
  367. ROM:000399A4 ; =============== S U B R O U T I N E =======================================
  368. ROM:000399A4
  369. ROM:000399A4
  370. ROM:000399A4 sub_399A4 ; CODE XREF: sub_368D4+D0↑p
  371. ROM:000399A4 000 PUSH {R4}
  372. ROM:000399A6 004 MOVS R2, #0
  373. ROM:000399A8 004 MOV R3, R2
  374. ROM:000399AA 004 B loc_399B6
  375. ROM:000399AC ; ---------------------------------------------------------------------------
  376. ROM:000399AC
  377. ROM:000399AC loc_399AC ; CODE XREF: sub_399A4+16↓j
  378. ROM:000399AC 004 LDRB R4, [R3,R0]
  379. ROM:000399AE 004 CMP R4, #0
  380. ROM:000399B0 004 BEQ loc_399B4
  381. ROM:000399B2 004 ADDS R2, R2, #1
  382. ROM:000399B4
  383. ROM:000399B4 loc_399B4 ; CODE XREF: sub_399A4+C↑j
  384. ROM:000399B4 004 ADDS R3, R3, #1
  385. ROM:000399B6
  386. ROM:000399B6 loc_399B6 ; CODE XREF: sub_399A4+6↑j
  387. ROM:000399B6 004 UXTH R3, R3
  388. ROM:000399B8 004 CMP R3, R1
  389. ROM:000399BA 004 BCC loc_399AC
  390. ROM:000399BC 004 UXTB R2, R2
  391. ROM:000399BE 004 MOV R0, R2
  392. ROM:000399C0 004 POP {R4}
  393. ROM:000399C2 000 BX LR
  394. ROM:000399C2 ; End of function sub_399A4
  395. ROM:000399C2
  396. ROM:000399C4
  397. ROM:000399C4 ; =============== S U B R O U T I N E =======================================
  398. ROM:000399C4
  399. ROM:000399C4
  400. ROM:000399C4 sub_399C4 ; CODE XREF: sub_3024C+2↑j
  401. ROM:000399C4 ; sub_30276+26↑j ...
  402. ROM:000399C4 000 PUSH {R4,LR}
  403. ROM:000399C6 008 MOV R4, R0
  404. ROM:000399C8 008 BL sub_2B8CA
  405. ROM:000399CC 008 MOVW R1, #0x10B
  406. ROM:000399D0 008 SUBS R0, R0, R1
  407. ROM:000399D2 008 BEQ loc_399E0
  408. ROM:000399D4 008 SUBS R0, R0, #5
  409. ROM:000399D6 008 BNE locret_399EA
  410. ROM:000399D8 008 POP.W {R4,LR}
  411. ROM:000399DC 000 B.W sub_2B9F2
  412. ROM:000399E0 ; ---------------------------------------------------------------------------
  413. ROM:000399E0
  414. ROM:000399E0 loc_399E0 ; CODE XREF: sub_399C4+E↑j
  415. ROM:000399E0 008 MOV R0, R4
  416. ROM:000399E2 008 POP.W {R4,LR}
  417. ROM:000399E6 000 B.W sub_39158
  418. ROM:000399EA ; ---------------------------------------------------------------------------
  419. ROM:000399EA
  420. ROM:000399EA locret_399EA ; CODE XREF: sub_399C4+12↑j
  421. ROM:000399EA 008 POP {R4,PC}
  422. ROM:000399EA ; End of function sub_399C4
  423. ROM:000399EA
  424. ROM:000399EC
  425. ROM:000399EC ; =============== S U B R O U T I N E =======================================
  426. ROM:000399EC
  427. ROM:000399EC
  428. ROM:000399EC sub_399EC ; CODE XREF: sub_34F94+10↑p
  429. ROM:000399EC ; sub_39A82+10↓p
  430. ROM:000399EC 000 MOVS R1, #1
  431. ROM:000399EE 000 MOVS R2, #0xA
  432. ROM:000399F0 000 B loc_399F8
  433. ROM:000399F2 ; ---------------------------------------------------------------------------
  434. ROM:000399F2
  435. ROM:000399F2 loc_399F2 ; CODE XREF: sub_399EC+10↓j
  436. ROM:000399F2 000 SDIV.W R0, R0, R2
  437. ROM:000399F6 000 ADDS R1, R1, #1
  438. ROM:000399F8
  439. ROM:000399F8 loc_399F8 ; CODE XREF: sub_399EC+4↑j
  440. ROM:000399F8 000 UXTH R0, R0
  441. ROM:000399FA 000 CMP R0, #0xA
  442. ROM:000399FC 000 BGE loc_399F2
  443. ROM:000399FE 000 MOV R0, R1
  444. ROM:00039A00 000 UXTB R0, R0
  445. ROM:00039A02 000 BX LR
  446. ROM:00039A02 ; End of function sub_399EC
  447. ROM:00039A02
  448. ROM:00039A04
  449. ROM:00039A04 ; =============== S U B R O U T I N E =======================================
  450. ROM:00039A04
  451. ROM:00039A04
  452. ROM:00039A04 sub_39A04 ; CODE XREF: sub_30BC6+2↑p
  453. ROM:00039A04 ; sub_30C10+2↑p ...
  454. ROM:00039A04 000 PUSH {R3-R5,LR}
  455. ROM:00039A06 010 LDR.W R4, =byte_1FFF2200
  456. ROM:00039A0A 010 LDRB R0, [R4]
  457. ROM:00039A0C 010 CMP R0, #0xFF
  458. ROM:00039A0E 010 BEQ locret_39A80
  459. ROM:00039A10 010 MOV.W R0, #0x110
  460. ROM:00039A14 010 BL sub_2EA54
  461. ROM:00039A18 010 MOV R5, R0
  462. ROM:00039A1A 010 LDRH R0, [R4,#(word_1FFF2204 - byte_1FFF2200)]
  463. ROM:00039A1C 010 CMP R0, #0
  464. ROM:00039A1E 010 BEQ loc_39A70
  465. ROM:00039A20 010 MOV R0, R5
  466. ROM:00039A22 010 BL sub_45ABE
  467. ROM:00039A26 010 LDRH R1, [R4,#(word_1FFF2204 - byte_1FFF2200)]
  468. ROM:00039A28 010 SUBS R1, R1, #1
  469. ROM:00039A2A 010 CMP R0, R1
  470. ROM:00039A2C 010 BEQ loc_39A70
  471. ROM:00039A2E 010 BL sub_2B8DC
  472. ROM:00039A32 010 LDRB R1, [R4,#(byte_1FFF2202 - byte_1FFF2200)]
  473. ROM:00039A34 010 CMP R0, R1
  474. ROM:00039A36 010 BNE loc_39A70
  475. ROM:00039A38 010 MOV R0, R5
  476. ROM:00039A3A 010 BL sub_4C57C
  477. ROM:00039A3E 010 LDRH R1, [R4,#(word_1FFF2204 - byte_1FFF2200)]
  478. ROM:00039A40 010 UXTH R0, R0
  479. ROM:00039A42 010 CMP R0, R1
  480. ROM:00039A44 010 BLS loc_39A48
  481. ROM:00039A46 010 MOV R0, R1
  482. ROM:00039A48
  483. ROM:00039A48 loc_39A48 ; CODE XREF: sub_39A04+40↑j
  484. ROM:00039A48 010 STRH R0, [R4,#(word_1FFF2204 - byte_1FFF2200)]
  485. ROM:00039A4A 010 LDRH R0, [R4,#(word_1FFF2204 - byte_1FFF2200)]
  486. ROM:00039A4C 010 SUBS R1, R0, #1
  487. ROM:00039A4E 010 MOV R0, R5
  488. ROM:00039A50 010 BL sub_45A14
  489. ROM:00039A54 010 LDRH R0, [R4,#(word_1FFF2204 - byte_1FFF2200)]
  490. ROM:00039A56 010 SUBS R0, R0, #1
  491. ROM:00039A58 010 UXTB R0, R0
  492. ROM:00039A5A 010 BL sub_2B8EC
  493. ROM:00039A5E 010 BL sub_2B8DC
  494. ROM:00039A62 010 LDRH R1, [R4,#(word_1FFF2204 - byte_1FFF2200)]
  495. ROM:00039A64 010 SUBS R1, R1, #1
  496. ROM:00039A66 010 UXTH R1, R1
  497. ROM:00039A68 010 BL sub_2BC14
  498. ROM:00039A6C 010 BL sub_2B950
  499. ROM:00039A70
  500. ROM:00039A70 loc_39A70 ; CODE XREF: sub_39A04+1A↑j
  501. ROM:00039A70 ; sub_39A04+28↑j ...
  502. ROM:00039A70 010 MOVS R0, #0
  503. ROM:00039A72 010 STRB R0, [R4,#(byte_1FFF2201 - byte_1FFF2200)]
  504. ROM:00039A74 010 STRH R0, [R4,#(word_1FFF2204 - byte_1FFF2200)]
  505. ROM:00039A76 010 MOV R0, R4
  506. ROM:00039A78 010 POP.W {R1,R4,R5,LR}
  507. ROM:00039A7C 000 B.W sub_16348
  508. ROM:00039A80 ; ---------------------------------------------------------------------------
  509. ROM:00039A80
  510. ROM:00039A80 locret_39A80 ; CODE XREF: sub_39A04+A↑j
  511. ROM:00039A80 010 POP {R0,R4,R5,PC}
  512. ROM:00039A80 ; End of function sub_39A04
  513. ROM:00039A80
  514. ROM:00039A82
  515. ROM:00039A82 ; =============== S U B R O U T I N E =======================================
  516. ROM:00039A82
  517. ROM:00039A82
  518. ROM:00039A82 sub_39A82 ; CODE XREF: sub_39B06+26↓p
  519. ROM:00039A82 000 PUSH.W {R4-R8,LR}
  520. ROM:00039A86 018 MOV R6, R0
  521. ROM:00039A88 018 MOV R4, R1
  522. ROM:00039A8A 018 MOVW R5, #0xFFFF
  523. ROM:00039A8E 018 MOV R8, R5
  524. ROM:00039A90 018 MOV R0, R4
  525. ROM:00039A92 018 BL sub_399EC
  526. ROM:00039A96 018 SUB.W R1, R6, #0xFF
  527. ROM:00039A9A 018 CMP R1, #0xA
  528. ROM:00039A9C 018 BCS loc_39AFC
  529. ROM:00039A9E 018 LDR.W R7, =byte_1FFF2200
  530. ROM:00039AA2 018 LDRB R1, [R7,#(byte_1FFF2201 - byte_1FFF2200)]
  531. ROM:00039AA4 018 ADDS R1, R1, #1
  532. ROM:00039AA6 018 STRB R1, [R7,#(byte_1FFF2201 - byte_1FFF2200)]
  533. ROM:00039AA8 018 LDRH R2, [R7,#(word_1FFF2204 - byte_1FFF2200)]
  534. ROM:00039AAA 018 ADD.W R3, R2, R2,LSL#2
  535. ROM:00039AAE 018 ADD.W R2, R6, R3,LSL#1
  536. ROM:00039AB2 018 SUB.W R8, R2, #0xFF
  537. ROM:00039AB6 018 STRH.W R8, [R7,#(word_1FFF2204 - byte_1FFF2200)]
  538. ROM:00039ABA 018 UXTH.W R8, R8
  539. ROM:00039ABE 018 MOV R6, R4
  540. ROM:00039AC0 018 UXTB R1, R1
  541. ROM:00039AC2 018 CMP R1, R0
  542. ROM:00039AC4 018 BCC loc_39AD2
  543. ROM:00039AC6 018 BL sub_39A04
  544. ROM:00039ACA 018 CMP R6, R8
  545. ROM:00039ACC 018 BGE loc_39AFC
  546. ROM:00039ACE 018 MOV R8, R4
  547. ROM:00039AD0 018 B loc_39AFC
  548. ROM:00039AD2 ; ---------------------------------------------------------------------------
  549. ROM:00039AD2
  550. ROM:00039AD2 loc_39AD2 ; CODE XREF: sub_39A82+42↑j
  551. ROM:00039AD2 018 CMP R6, R8
  552. ROM:00039AD4 018 BGE loc_39AD8
  553. ROM:00039AD6 018 MOV R8, R4
  554. ROM:00039AD8
  555. ROM:00039AD8 loc_39AD8 ; CODE XREF: sub_39A82+52↑j
  556. ROM:00039AD8 018 CMP R1, #0
  557. ROM:00039ADA 018 BEQ loc_39AFC
  558. ROM:00039ADC 018 LDRB R0, [R7]
  559. ROM:00039ADE 018 CMP R0, #0xFF
  560. ROM:00039AE0 018 BNE loc_39AEA
  561. ROM:00039AE2 018 LDR R0, =(sub_39A04+1)
  562. ROM:00039AE4 018 BL sub_162DC
  563. ROM:00039AE8 018 STRB R0, [R7]
  564. ROM:00039AEA
  565. ROM:00039AEA loc_39AEA ; CODE XREF: sub_39A82+5E↑j
  566. ROM:00039AEA 018 BL sub_2B8DC
  567. ROM:00039AEE 018 STRB R0, [R7,#(byte_1FFF2202 - byte_1FFF2200)]
  568. ROM:00039AF0 018 MOVS R3, #1
  569. ROM:00039AF2 018 MOV R2, R3
  570. ROM:00039AF4 018 MOVS R1, #2
  571. ROM:00039AF6 018 LDRB R0, [R7]
  572. ROM:00039AF8 018 BL sub_16364
  573. ROM:00039AFC
  574. ROM:00039AFC loc_39AFC ; CODE XREF: sub_39A82+1A↑j
  575. ROM:00039AFC ; sub_39A82+4A↑j ...
  576. ROM:00039AFC 018 ADD.W R0, R5, R8
  577. ROM:00039B00 018 UXTH R0, R0
  578. ROM:00039B02 018 POP.W {R4-R8,PC}
  579. ROM:00039B02 ; End of function sub_39A82
  580. ROM:00039B02
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement