Advertisement
Guest User

Untitled

a guest
Sep 18th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 65.55 KB | None | 0 0
  1. .text:00046544 ; =============== S U B R O U T I N E =======================================
  2. .text:00046544
  3. .text:00046544
  4. .text:00046544 sub_46544                               ; CODE XREF: DatabaseManager_LoadService+EC↑p
  5. .text:00046544                                         ; DatabaseManager_LoadDefaultData+244↓p ...
  6. .text:00046544
  7. .text:00046544 var_58          = -0x58
  8. .text:00046544 var_54          = -0x54
  9. .text:00046544 var_4C          = -0x4C
  10. .text:00046544 var_48          = -0x48
  11. .text:00046544 var_44          = -0x44
  12. .text:00046544 var_40          = -0x40
  13. .text:00046544 var_3C          = -0x3C
  14. .text:00046544
  15. .text:00046544 ; __unwind {
  16. .text:00046544                 STMFD           SP!, {R4-R11,LR}
  17. .text:00046548                 SUB             SP, SP, #4
  18. .text:0004654C                 VPUSH           {D8-D9}
  19. .text:00046550                 SUB             SP, SP, #0x20
  20. .text:00046554                 MOV             R4, R1
  21. .text:00046558                 MOV             R5, R0
  22. .text:0004655C                 MOV             R8, #0x13
  23. .text:00046560                 CMP             R2, #0
  24. .text:00046564                 BEQ             loc_4679C
  25. .text:00046568                 LDRB            R1, [R5,#1]
  26. .text:0004656C                 LDRB            R0, [R5]
  27. .text:00046570                 LDRB            R2, [R5,#2]
  28. .text:00046574                 MOV             R1, R1,LSL#16
  29. .text:00046578                 LDRB            R3, [R5,#3]
  30. .text:0004657C                 ORR             R0, R1, R0,LSL#24
  31. .text:00046580                 ORR             R0, R0, R2,LSL#8
  32. .text:00046584                 ORR             R1, R0, R3
  33. .text:00046588                 ADD             R0, R1, #4
  34. .text:0004658C                 CMP             R0, R4
  35. .text:00046590                 BNE             loc_4661C
  36. .text:00046594                 LDRB            R2, [R5,#5]
  37. .text:00046598                 SUB             R1, R1, #4
  38. .text:0004659C                 LDRB            R0, [R5,#4]
  39. .text:000465A0                 LDRB            R3, [R5,#6]
  40. .text:000465A4                 MOV             R2, R2,LSL#16
  41. .text:000465A8                 LDRB            R7, [R5,#7]
  42. .text:000465AC                 ORR             R0, R2, R0,LSL#24
  43. .text:000465B0                 ORR             R0, R0, R3,LSL#8
  44. .text:000465B4                 ORR             R6, R0, R7
  45. .text:000465B8                 ADD             R0, R5, #8
  46. .text:000465BC                 BL              mpeg_crc32
  47. .text:000465C0                 CMP             R0, R6
  48. .text:000465C4                 BNE             loc_4663C
  49. .text:000465C8                 LDRB            R1, [R5,#9]
  50. .text:000465CC                 LDRB            R0, [R5,#8]
  51. .text:000465D0                 LDRB            R2, [R5,#0xA]
  52. .text:000465D4                 MOV             R1, R1,LSL#16
  53. .text:000465D8                 LDRB            R3, [R5,#0xB]
  54. .text:000465DC                 ORR             R0, R1, R0,LSL#24
  55. .text:000465E0                 ORR             R0, R0, R2,LSL#8
  56. .text:000465E4                 ORR             R8, R0, R3
  57. .text:000465E8                 SUB             R0, R8, #0xE
  58. .text:000465EC                 CMP             R0, #6
  59. .text:000465F0                 BCC             loc_46668
  60. .text:000465F4                 LDR             R1, =(aThDtv - 0x4660C)
  61. .text:000465F8                 MOV             R3, #0x13
  62. .text:000465FC                 LDR             R2, =(aSErrorDataVers_0 - 0x46614)
  63. .text:00046600                 LDR             R0, =(aConvertdatatos - 0x4661C)
  64. .text:00046604                 ADD             R1, PC, R1 ; "TH_DTV"
  65. .text:00046608                 STR             R8, [SP,#0x58+var_58]
  66. .text:0004660C                 ADD             R2, PC, R2 ; " [%s] :: error : data version not match"...
  67. .text:00046610                 STR             R3, [SP,#0x58+var_54]
  68. .text:00046614                 ADD             R3, PC, R0 ; "_ConvertDataToService"
  69. .text:00046618                 B               loc_46658
  70. .text:0004661C ; ---------------------------------------------------------------------------
  71. .text:0004661C
  72. .text:0004661C loc_4661C                               ; CODE XREF: sub_46544+4C↑j
  73. .text:0004661C                 LDR             R0, =(aConvertdatatos - 0x4663C)
  74. .text:00046620                 LDR             R2, =(aThDtv - 0x46634)
  75. .text:00046624                 LDR             R3, =(aSErrorDataLeng - 0x46638)
  76. .text:00046628                 STMEA           SP, {R1,R4}
  77. .text:0004662C                 ADD             R1, PC, R2 ; "TH_DTV"
  78. .text:00046630                 ADD             R2, PC, R3 ; " [%s] :: error : data length not matche"...
  79. .text:00046634                 ADD             R3, PC, R0 ; "_ConvertDataToService"
  80. .text:00046638                 B               loc_46658
  81. .text:0004663C ; ---------------------------------------------------------------------------
  82. .text:0004663C
  83. .text:0004663C loc_4663C                               ; CODE XREF: sub_46544+80↑j
  84. .text:0004663C                 LDR             R3, =(aConvertdatatos - 0x46650)
  85. .text:00046640                 LDR             R1, =(aThDtv - 0x46658)
  86. .text:00046644                 LDR             R2, =(aSErrorCrcNotMa - 0x4665C)
  87. .text:00046648                 ADD             R3, PC, R3 ; "_ConvertDataToService"
  88. .text:0004664C                 STMEA           SP, {R0,R6}
  89. .text:00046650                 ADD             R1, PC, R1 ; "TH_DTV"
  90. .text:00046654                 ADD             R2, PC, R2 ; " [%s] :: error : crc not matched %u / %"...
  91. .text:00046658
  92. .text:00046658 loc_46658                               ; CODE XREF: sub_46544+D4↑j
  93. .text:00046658                                         ; sub_46544+F4↑j ...
  94. .text:00046658                 MOV             R0, #6
  95. .text:0004665C                 BL              __android_log_print
  96. .text:00046660                 MOV             R4, #0
  97. .text:00046664                 B               loc_4734C
  98. .text:00046668 ; ---------------------------------------------------------------------------
  99. .text:00046668
  100. .text:00046668 loc_46668                               ; CODE XREF: sub_46544+AC↑j
  101. .text:00046668                 CMP             R8, #0x12
  102. .text:0004666C                 BCC             loc_46754
  103. .text:00046670                 CMP             R4, #0xC
  104. .text:00046674                 BEQ             loc_4675C
  105. .text:00046678                 SUB             R0, R4, #0xC
  106. .text:0004667C                 MOV             R2, #0
  107. .text:00046680                 CMP             R0, #0x10
  108. .text:00046684                 BCC             loc_466C8
  109. .text:00046688                 MOV             R1, R0
  110. .text:0004668C                 BFC             R1, #0, #4
  111. .text:00046690                 CMP             R1, #0
  112. .text:00046694                 BEQ             loc_466C8
  113. .text:00046698                 MOV             R3, R0
  114. .text:0004669C                 ADD             R2, R5, #0xC
  115. .text:000466A0                 VDUP.8          Q8, R4
  116. .text:000466A4                 BFC             R3, #0, #4
  117. .text:000466A8
  118. .text:000466A8 loc_466A8                               ; CODE XREF: sub_46544+174↓j
  119. .text:000466A8                 VLD1.8          {D18-D19}, [R2]
  120. .text:000466AC                 SUBS            R3, R3, #0x10
  121. .text:000466B0                 VEOR            Q9, Q9, Q8
  122. .text:000466B4                 VST1.8          {D18-D19}, [R2]!
  123. .text:000466B8                 BNE             loc_466A8
  124. .text:000466BC                 MOV             R2, R1
  125. .text:000466C0                 CMP             R0, R1
  126. .text:000466C4                 BEQ             loc_466E8
  127. .text:000466C8
  128. .text:000466C8 loc_466C8                               ; CODE XREF: sub_46544+140↑j
  129. .text:000466C8                                         ; sub_46544+150↑j
  130. .text:000466C8                 SUB             R1, R0, R2
  131. .text:000466CC                 ADD             R2, R2, R5
  132. .text:000466D0                 ADD             R2, R2, #0xC
  133. .text:000466D4
  134. .text:000466D4 loc_466D4                               ; CODE XREF: sub_46544+1A0↓j
  135. .text:000466D4                 LDRB            R3, [R2]
  136. .text:000466D8                 SUBS            R1, R1, #1
  137. .text:000466DC                 EOR             R3, R3, R4
  138. .text:000466E0                 STRB            R3, [R2],#1
  139. .text:000466E4                 BNE             loc_466D4
  140. .text:000466E8
  141. .text:000466E8 loc_466E8                               ; CODE XREF: sub_46544+180↑j
  142. .text:000466E8                 MOV             R2, #0
  143. .text:000466EC                 CMP             R0, #0x10
  144. .text:000466F0                 BCC             loc_46734
  145. .text:000466F4                 MOV             R1, R0
  146. .text:000466F8                 BFC             R1, #0, #4
  147. .text:000466FC                 CMP             R1, #0
  148. .text:00046700                 BEQ             loc_46734
  149. .text:00046704                 MOV             R3, R0
  150. .text:00046708                 VMOV.I8         Q8, #0xD6
  151. .text:0004670C                 ADD             R2, R5, #0xC
  152. .text:00046710                 BFC             R3, #0, #4
  153. .text:00046714
  154. .text:00046714 loc_46714                               ; CODE XREF: sub_46544+1E0↓j
  155. .text:00046714                 VLD1.8          {D18-D19}, [R2]
  156. .text:00046718                 SUBS            R3, R3, #0x10
  157. .text:0004671C                 VEOR            Q9, Q9, Q8
  158. .text:00046720                 VST1.8          {D18-D19}, [R2]!
  159. .text:00046724                 BNE             loc_46714
  160. .text:00046728                 MOV             R2, R1
  161. .text:0004672C                 CMP             R0, R1
  162. .text:00046730                 BEQ             loc_46754
  163. .text:00046734
  164. .text:00046734 loc_46734                               ; CODE XREF: sub_46544+1AC↑j
  165. .text:00046734                                         ; sub_46544+1BC↑j
  166. .text:00046734                 ADD             R1, R2, R5
  167. .text:00046738                 SUB             R0, R0, R2
  168. .text:0004673C                 ADD             R1, R1, #0xC
  169. .text:00046740
  170. .text:00046740 loc_46740                               ; CODE XREF: sub_46544+20C↓j
  171. .text:00046740                 LDRB            R2, [R1]
  172. .text:00046744                 SUBS            R0, R0, #1
  173. .text:00046748                 EOR             R2, R2, #0xD6
  174. .text:0004674C                 STRB            R2, [R1],#1
  175. .text:00046750                 BNE             loc_46740
  176. .text:00046754
  177. .text:00046754 loc_46754                               ; CODE XREF: sub_46544+128↑j
  178. .text:00046754                                         ; sub_46544+1EC↑j
  179. .text:00046754                 CMP             R8, #0x10
  180. .text:00046758                 BCC             loc_46798
  181. .text:0004675C
  182. .text:0004675C loc_4675C                               ; CODE XREF: sub_46544+130↑j
  183. .text:0004675C                 LDR             R0, =(off_B0EE4 - 0x46770)
  184. .text:00046760                 LDRB            R2, [R5,#0xD]
  185. .text:00046764                 LDRB            R1, [R5,#0xC]
  186. .text:00046768                 LDR             R6, [PC,R0] ; off_B0EE4
  187. .text:0004676C                 LDRB            R3, [R5,#0xE]
  188. .text:00046770                 MOV             R0, R2,LSL#16
  189. .text:00046774                 ORR             R0, R0, R1,LSL#24
  190. .text:00046778                 LDRB            R7, [R5,#0xF]
  191. .text:0004677C                 LDR             R1, [R6,#0x18]
  192. .text:00046780                 ORR             R0, R0, R3,LSL#8
  193. .text:00046784                 ORR             R0, R0, R7
  194. .text:00046788                 CMP             R0, R1
  195. .text:0004678C                 BNE             loc_47360
  196. .text:00046790                 ADD             R5, R5, #0x10
  197. .text:00046794                 B               loc_4679C
  198. .text:00046798 ; ---------------------------------------------------------------------------
  199. .text:00046798
  200. .text:00046798 loc_46798                               ; CODE XREF: sub_46544+214↑j
  201. .text:00046798                 ADD             R5, R5, #0xC
  202. .text:0004679C
  203. .text:0004679C loc_4679C                               ; CODE XREF: sub_46544+20↑j
  204. .text:0004679C                                         ; sub_46544+250↑j
  205. .text:0004679C                 LDR             R0, =(off_B0EAC - 0x467B8)
  206. .text:000467A0                 MOV             R4, #1
  207. .text:000467A4                 LDRB            R2, [R5,#1]
  208. .text:000467A8                 LDRB            R1, [R5]
  209. .text:000467AC                 LDRB            R3, [R5,#2]
  210. .text:000467B0                 LDR             R6, [PC,R0] ; off_B0EAC
  211. .text:000467B4                 MOV             R0, R2,LSL#16
  212. .text:000467B8                 ORR             R0, R0, R1,LSL#24
  213. .text:000467BC                 LDRB            R7, [R5,#3]
  214. .text:000467C0                 ORR             R0, R0, R3,LSL#8
  215. .text:000467C4                 STR             R8, [SP,#0x58+var_44]
  216. .text:000467C8                 ORRS            R0, R0, R7
  217. .text:000467CC                 STR             R0, [R6]
  218. .text:000467D0                 BEQ             loc_4734C
  219. .text:000467D4                 ADD             R0, R0, R0,LSL#2
  220. .text:000467D8                 MOV             R0, R0,LSL#5
  221. .text:000467DC                 BL              _MemAlloc
  222. .text:000467E0                 LDR             R1, =(off_B0EAC - 0x467F0)
  223. .text:000467E4                 CMP             R0, #0
  224. .text:000467E8                 LDR             R1, [PC,R1] ; off_B0EAC
  225. .text:000467EC                 STR             R0, [R1,#4]
  226. .text:000467F0                 BEQ             loc_4733C
  227. .text:000467F4                 LDR             R0, =(off_B0EAC - 0x46800)
  228. .text:000467F8                 LDR             R0, [PC,R0] ; off_B0EAC
  229. .text:000467FC                 LDR             R0, [R0]
  230. .text:00046800                 CMP             R0, #0
  231. .text:00046804                 BEQ             loc_4734C
  232. .text:00046808                 LDR             R0, =(off_B0EAC - 0x46820)
  233. .text:0004680C                 VMOV.I8         Q4, #0x37
  234. .text:00046810                 ADD             R4, R5, #4
  235. .text:00046814                 MOV             R5, #0
  236. .text:00046818                 LDR             R0, [PC,R0] ; off_B0EAC
  237. .text:0004681C                 STR             R0, [SP,#0x58+var_48]
  238. .text:00046820                 LDR             R0, =(off_B0EAC - 0x4682C)
  239. .text:00046824                 LDR             R0, [PC,R0] ; off_B0EAC
  240. .text:00046828                 STR             R0, [SP,#0x58+var_4C]
  241. .text:0004682C
  242. .text:0004682C loc_4682C                               ; CODE XREF: sub_46544+DEC↓j
  243. .text:0004682C                 LDR             R0, [SP,#0x58+var_48]
  244. .text:00046830                 ADD             R1, R5, R5,LSL#2
  245. .text:00046834                 LDR             R0, [R0,#4]
  246. .text:00046838                 ADD             R11, R0, R1,LSL#5
  247. .text:0004683C                 MOV             R10, R11
  248. .text:00046840                 LDR             R1, [R10,#0x40]!
  249. .text:00046844                 LDRB            R0, [R4],#1
  250. .text:00046848                 BFC             R1, #0xD, #8
  251. .text:0004684C                 CMP             R0, #0
  252. .text:00046850                 ORR             R1, R1, R0,LSL#13
  253. .text:00046854                 STR             R1, [R10]
  254. .text:00046858                 BEQ             loc_469B4
  255. .text:0004685C                 ADD             R0, R0, R0,LSL#1
  256. .text:00046860                 MOV             R0, R0,LSL#2
  257. .text:00046864                 BL              _MemAlloc
  258. .text:00046868                 STR             R0, [R11]
  259. .text:0004686C                 MOV             R2, #0xE000
  260. .text:00046870                 LDR             R1, [R10]
  261. .text:00046874                 MOVT            R2, #0x1F
  262. .text:00046878                 CMP             R0, #0
  263. .text:0004687C                 AND             R2, R1, R2
  264. .text:00046880                 BEQ             loc_469BC
  265. .text:00046884                 CMP             R2, #0
  266. .text:00046888                 BEQ             loc_469F0
  267. .text:0004688C                 MOV             R7, #0
  268. .text:00046890                 STR             R5, [SP,#0x58+var_40]
  269. .text:00046894
  270. .text:00046894 loc_46894                               ; CODE XREF: sub_46544+468↓j
  271. .text:00046894                 ADD             R5, R7, R7,LSL#1
  272. .text:00046898                 MOV             R6, R4
  273. .text:0004689C                 LDRB            R1, [R6],#4
  274. .text:000468A0                 MOV             R2, #3
  275. .text:000468A4                 ADD             R0, R0, R5,LSL#2
  276. .text:000468A8                 STRB            R1, [R0,#8]
  277. .text:000468AC                 ADD             R1, R4, #1
  278. .text:000468B0                 BL              _MemCpy
  279. .text:000468B4                 LDR             R0, [R11]
  280. .text:000468B8                 ADD             R1, R0, R5,LSL#2
  281. .text:000468BC                 LDRB            R1, [R1,#8]
  282. .text:000468C0                 CMP             R1, #0
  283. .text:000468C4                 BEQ             loc_46988
  284. .text:000468C8                 MOV             R0, R1
  285. .text:000468CC                 BL              _MemAlloc
  286. .text:000468D0                 MOV             R1, R0
  287. .text:000468D4                 LDR             R0, [R11]
  288. .text:000468D8                 CMP             R1, #0
  289. .text:000468DC                 ADD             R3, R0, R5,LSL#2
  290. .text:000468E0                 STR             R1, [R3,#4]
  291. .text:000468E4                 LDRB            R2, [R3,#8]!
  292. .text:000468E8                 BEQ             loc_46990
  293. .text:000468EC                 MOV             R0, R1
  294. .text:000468F0                 MOV             R1, R6
  295. .text:000468F4                 BL              _MemCpy
  296. .text:000468F8                 CMP             R8, #0x10
  297. .text:000468FC                 BCC             loc_46974
  298. .text:00046900                 LDR             R0, [R11]
  299. .text:00046904                 ADD             R1, R0, R5,LSL#2
  300. .text:00046908                 LDRB            R0, [R1,#8]
  301. .text:0004690C                 CMP             R0, #0
  302. .text:00046910                 BEQ             loc_46974
  303. .text:00046914                 LDR             R12, [R1,#4]
  304. .text:00046918                 MOV             R2, #0
  305. .text:0004691C                 CMP             R0, #0x10
  306. .text:00046920                 BCC             loc_46958
  307. .text:00046924                 AND             R3, R0, #0xF
  308. .text:00046928                 CMP             R0, R3
  309. .text:0004692C                 BEQ             loc_46958
  310. .text:00046930                 SUB             R2, R0, R3
  311. .text:00046934                 SUB             R4, R0, R3
  312. .text:00046938                 MOV             R1, R12
  313. .text:0004693C
  314. .text:0004693C loc_4693C                               ; CODE XREF: sub_46544+408↓j
  315. .text:0004693C                 VLD1.8          {D16-D17}, [R1]
  316. .text:00046940                 SUBS            R4, R4, #0x10
  317. .text:00046944                 VEOR            Q8, Q8, Q4
  318. .text:00046948                 VST1.8          {D16-D17}, [R1]!
  319. .text:0004694C                 BNE             loc_4693C
  320. .text:00046950                 TST             R3, #0xFF
  321. .text:00046954                 BEQ             loc_46974
  322. .text:00046958
  323. .text:00046958 loc_46958                               ; CODE XREF: sub_46544+3DC↑j
  324. .text:00046958                                         ; sub_46544+3E8↑j
  325. .text:00046958                 ADD             R1, R12, R2
  326. .text:0004695C                 SUB             R0, R0, R2
  327. .text:00046960
  328. .text:00046960 loc_46960                               ; CODE XREF: sub_46544+42C↓j
  329. .text:00046960                 LDRB            R2, [R1]
  330. .text:00046964                 SUBS            R0, R0, #1
  331. .text:00046968                 EOR             R2, R2, #0x37
  332. .text:0004696C                 STRB            R2, [R1],#1
  333. .text:00046970                 BNE             loc_46960
  334. .text:00046974
  335. .text:00046974 loc_46974                               ; CODE XREF: sub_46544+3B8↑j
  336. .text:00046974                                         ; sub_46544+3CC↑j ...
  337. .text:00046974                 LDR             R0, [R11]
  338. .text:00046978                 ADD             R1, R0, R5,LSL#2
  339. .text:0004697C                 LDRB            R1, [R1,#8]
  340. .text:00046980                 ADD             R4, R6, R1
  341. .text:00046984                 B               loc_4699C
  342. .text:00046988 ; ---------------------------------------------------------------------------
  343. .text:00046988
  344. .text:00046988 loc_46988                               ; CODE XREF: sub_46544+380↑j
  345. .text:00046988                 MOV             R4, R6
  346. .text:0004698C                 B               loc_4699C
  347. .text:00046990 ; ---------------------------------------------------------------------------
  348. .text:00046990
  349. .text:00046990 loc_46990                               ; CODE XREF: sub_46544+3A4↑j
  350. .text:00046990                 ADD             R4, R6, R2
  351. .text:00046994                 MOV             R1, #0
  352. .text:00046998                 STRB            R1, [R3]
  353. .text:0004699C
  354. .text:0004699C loc_4699C                               ; CODE XREF: sub_46544+440↑j
  355. .text:0004699C                                         ; sub_46544+448↑j
  356. .text:0004699C                 LDR             R1, [R10]
  357. .text:000469A0                 ADD             R7, R7, #1
  358. .text:000469A4                 UBFX            R1, R1, #0xD, #8
  359. .text:000469A8                 CMP             R7, R1
  360. .text:000469AC                 BCC             loc_46894
  361. .text:000469B0                 B               loc_46A04
  362. .text:000469B4 ; ---------------------------------------------------------------------------
  363. .text:000469B4
  364. .text:000469B4 loc_469B4                               ; CODE XREF: sub_46544+314↑j
  365. .text:000469B4                 STR             R5, [SP,#0x58+var_40]
  366. .text:000469B8                 B               loc_46A04
  367. .text:000469BC ; ---------------------------------------------------------------------------
  368. .text:000469BC
  369. .text:000469BC loc_469BC                               ; CODE XREF: sub_46544+33C↑j
  370. .text:000469BC                 CMP             R2, #0
  371. .text:000469C0                 BEQ             loc_469F8
  372. .text:000469C4                 STR             R5, [SP,#0x58+var_40]
  373. .text:000469C8                 ADD             R0, R0, #8
  374. .text:000469CC                 UBFX            R2, R1, #0xD, #8
  375. .text:000469D0                 MOV             R3, #0
  376. .text:000469D4
  377. .text:000469D4 loc_469D4                               ; CODE XREF: sub_46544+4A4↓j
  378. .text:000469D4                 LDRB            R7, [R0],#0xC
  379. .text:000469D8                 ADD             R3, R3, #1
  380. .text:000469DC                 CMP             R3, R2
  381. .text:000469E0                 ADD             R7, R7, R4
  382. .text:000469E4                 ADD             R4, R7, #4
  383. .text:000469E8                 BCC             loc_469D4
  384. .text:000469EC                 B               loc_469FC
  385. .text:000469F0 ; ---------------------------------------------------------------------------
  386. .text:000469F0
  387. .text:000469F0 loc_469F0                               ; CODE XREF: sub_46544+344↑j
  388. .text:000469F0                 STR             R5, [SP,#0x58+var_40]
  389. .text:000469F4                 B               loc_46A04
  390. .text:000469F8 ; ---------------------------------------------------------------------------
  391. .text:000469F8
  392. .text:000469F8 loc_469F8                               ; CODE XREF: sub_46544+47C↑j
  393. .text:000469F8                 STR             R5, [SP,#0x58+var_40]
  394. .text:000469FC
  395. .text:000469FC loc_469FC                               ; CODE XREF: sub_46544+4A8↑j
  396. .text:000469FC                 BFC             R1, #0xD, #8
  397. .text:00046A00                 STR             R1, [R10]
  398. .text:00046A04
  399. .text:00046A04 loc_46A04                               ; CODE XREF: sub_46544+46C↑j
  400. .text:00046A04                                         ; sub_46544+474↑j ...
  401. .text:00046A04                 LDRB            R0, [R4]
  402. .text:00046A08                 ADD             R9, R4, #4
  403. .text:00046A0C                 LDRB            R1, [R4,#1]
  404. .text:00046A10                 ORR             R0, R1, R0,LSL#8
  405. .text:00046A14                 STRH            R0, [R11,#8]
  406. .text:00046A18                 LDRB            R0, [R4,#2]
  407. .text:00046A1C                 STRB            R0, [R11,#0xA]
  408. .text:00046A20                 LDRB            R0, [R4,#3]
  409. .text:00046A24                 STRB            R0, [R11,#0xB]
  410. .text:00046A28                 CMP             R0, #0
  411. .text:00046A2C                 BEQ             loc_46A98
  412. .text:00046A30                 MOV             R0, R0,LSL#2
  413. .text:00046A34                 ADD             R4, R11, #0xB
  414. .text:00046A38                 BL              _MemAlloc
  415. .text:00046A3C                 STR             R0, [R11,#0xC]
  416. .text:00046A40                 CMP             R0, #0
  417. .text:00046A44                 LDRB            R1, [R4]
  418. .text:00046A48                 BEQ             loc_46AA0
  419. .text:00046A4C                 CMP             R1, #0
  420. .text:00046A50                 BEQ             loc_46AB4
  421. .text:00046A54                 ADD             R0, R0, #2
  422. .text:00046A58                 MOV             R2, #0
  423. .text:00046A5C                 STR             R10, [SP,#0x58+var_3C]
  424. .text:00046A60
  425. .text:00046A60 loc_46A60                               ; CODE XREF: sub_46544+54C↓j
  426. .text:00046A60                 LDRB            R3, [R9]
  427. .text:00046A64                 ADD             R2, R2, #1
  428. .text:00046A68                 LDRB            R7, [R9,#1]
  429. .text:00046A6C                 CMP             R2, R1
  430. .text:00046A70                 ORR             R3, R7, R3,LSL#8
  431. .text:00046A74                 STRH            R3, [R0,#-2]
  432. .text:00046A78                 LDRB            R3, [R9,#2]
  433. .text:00046A7C                 LDRB            R7, [R9,#3]
  434. .text:00046A80                 ADD             R9, R9, #4
  435. .text:00046A84                 ORR             R3, R7, R3,LSL#8
  436. .text:00046A88                 STRH            R3, [R0]
  437. .text:00046A8C                 ADD             R0, R0, #4
  438. .text:00046A90                 BCC             loc_46A60
  439. .text:00046A94                 B               loc_46AB8
  440. .text:00046A98 ; ---------------------------------------------------------------------------
  441. .text:00046A98
  442. .text:00046A98 loc_46A98                               ; CODE XREF: sub_46544+4E8↑j
  443. .text:00046A98                 STR             R10, [SP,#0x58+var_3C]
  444. .text:00046A9C                 B               loc_46AB8
  445. .text:00046AA0 ; ---------------------------------------------------------------------------
  446. .text:00046AA0
  447. .text:00046AA0 loc_46AA0                               ; CODE XREF: sub_46544+504↑j
  448. .text:00046AA0                 ADD             R9, R9, R1,LSL#2
  449. .text:00046AA4                 MOV             R0, #0
  450. .text:00046AA8                 STR             R10, [SP,#0x58+var_3C]
  451. .text:00046AAC                 STRB            R0, [R4]
  452. .text:00046AB0                 B               loc_46AB8
  453. .text:00046AB4 ; ---------------------------------------------------------------------------
  454. .text:00046AB4
  455. .text:00046AB4 loc_46AB4                               ; CODE XREF: sub_46544+50C↑j
  456. .text:00046AB4                 STR             R10, [SP,#0x58+var_3C]
  457. .text:00046AB8
  458. .text:00046AB8 loc_46AB8                               ; CODE XREF: sub_46544+550↑j
  459. .text:00046AB8                                         ; sub_46544+558↑j ...
  460. .text:00046AB8                 MOV             R10, R11
  461. .text:00046ABC                 LDR             R2, [R10,#0x38]!
  462. .text:00046AC0                 LDRB            R0, [R9],#1
  463. .text:00046AC4                 LDR             R1, [R10,#4]
  464. .text:00046AC8                 BFC             R2, #8, #8
  465. .text:00046ACC                 CMP             R0, #0
  466. .text:00046AD0                 ORR             R2, R2, R0,LSL#8
  467. .text:00046AD4                 STR             R2, [R10]
  468. .text:00046AD8                 STR             R1, [R10,#4]
  469. .text:00046ADC                 BEQ             loc_46C28
  470. .text:00046AE0                 ADD             R0, R0, R0,LSL#1
  471. .text:00046AE4                 MOV             R0, R0,LSL#2
  472. .text:00046AE8                 BL              _MemAlloc
  473. .text:00046AEC                 MOV             R4, R11
  474. .text:00046AF0                 CMP             R0, #0
  475. .text:00046AF4                 STR             R0, [R4,#0x10]!
  476. .text:00046AF8                 LDR             R2, [R10]
  477. .text:00046AFC                 LDR             R1, [R10,#4]
  478. .text:00046B00                 AND             R3, R2, #0xFF00
  479. .text:00046B04                 BEQ             loc_46BF0
  480. .text:00046B08                 CMP             R3, #0
  481. .text:00046B0C                 BEQ             loc_46C28
  482. .text:00046B10                 MOV             R7, #0
  483. .text:00046B14
  484. .text:00046B14 loc_46B14                               ; CODE XREF: sub_46544+6A0↓j
  485. .text:00046B14                 ADD             R5, R7, R7,LSL#1
  486. .text:00046B18                 LDRB            R1, [R9]
  487. .text:00046B1C                 LDRB            R2, [R9,#1]
  488. .text:00046B20                 ADD             R0, R0, R5,LSL#2
  489. .text:00046B24                 ORR             R1, R2, R1,LSL#8
  490. .text:00046B28                 MOV             R2, #3
  491. .text:00046B2C                 STRH            R1, [R0,#4]
  492. .text:00046B30                 LDRB            R1, [R9,#2]
  493. .text:00046B34                 STRB            R1, [R0,#6]
  494. .text:00046B38                 ADD             R1, R9, #3
  495. .text:00046B3C                 BL              _MemCpy
  496. .text:00046B40                 LDR             R0, [R4]
  497. .text:00046B44                 LDRB            R1, [R9,#6]
  498. .text:00046B48                 ADD             R9, R9, #7
  499. .text:00046B4C                 ADD             R2, R0, R5,LSL#2
  500. .text:00046B50                 CMP             R1, #0
  501. .text:00046B54                 STRB            R1, [R2,#7]
  502. .text:00046B58                 BEQ             loc_46BD4
  503. .text:00046B5C                 MOV             R0, R1,LSL#2
  504. .text:00046B60                 BL              _MemAlloc
  505. .text:00046B64                 MOV             R1, R0
  506. .text:00046B68                 LDR             R0, [R4]
  507. .text:00046B6C                 CMP             R1, #0
  508. .text:00046B70                 ADD             R3, R0, R5,LSL#2
  509. .text:00046B74                 STR             R1, [R3,#8]
  510. .text:00046B78                 LDRB            R2, [R3,#7]!
  511. .text:00046B7C                 BEQ             loc_46BC8
  512. .text:00046B80                 CMP             R2, #0
  513. .text:00046B84                 BEQ             loc_46BD4
  514. .text:00046B88                 ADD             R1, R1, #2
  515. .text:00046B8C                 MOV             R3, #0
  516. .text:00046B90
  517. .text:00046B90 loc_46B90                               ; CODE XREF: sub_46544+67C↓j
  518. .text:00046B90                 LDRB            R6, [R9]
  519. .text:00046B94                 ADD             R3, R3, #1
  520. .text:00046B98                 LDRB            R5, [R9,#1]
  521. .text:00046B9C                 CMP             R3, R2
  522. .text:00046BA0                 ORR             R6, R5, R6,LSL#8
  523. .text:00046BA4                 STRH            R6, [R1,#-2]
  524. .text:00046BA8                 LDRB            R6, [R9,#2]
  525. .text:00046BAC                 LDRB            R5, [R9,#3]
  526. .text:00046BB0                 ADD             R9, R9, #4
  527. .text:00046BB4                 ORR             R6, R5, R6,LSL#8
  528. .text:00046BB8                 STRH            R6, [R1]
  529. .text:00046BBC                 ADD             R1, R1, #4
  530. .text:00046BC0                 BCC             loc_46B90
  531. .text:00046BC4                 B               loc_46BD4
  532. .text:00046BC8 ; ---------------------------------------------------------------------------
  533. .text:00046BC8
  534. .text:00046BC8 loc_46BC8                               ; CODE XREF: sub_46544+638↑j
  535. .text:00046BC8                 ADD             R9, R9, R2,LSL#2
  536. .text:00046BCC                 MOV             R1, #0
  537. .text:00046BD0                 STRB            R1, [R3]
  538. .text:00046BD4
  539. .text:00046BD4 loc_46BD4                               ; CODE XREF: sub_46544+614↑j
  540. .text:00046BD4                                         ; sub_46544+640↑j ...
  541. .text:00046BD4                 LDR             R2, [R10]
  542. .text:00046BD8                 ADD             R7, R7, #1
  543. .text:00046BDC                 UBFX            R1, R2, #8, #8
  544. .text:00046BE0                 CMP             R7, R1
  545. .text:00046BE4                 BCC             loc_46B14
  546. .text:00046BE8                 LDR             R1, [R10,#4]
  547. .text:00046BEC                 B               loc_46C28
  548. .text:00046BF0 ; ---------------------------------------------------------------------------
  549. .text:00046BF0
  550. .text:00046BF0 loc_46BF0                               ; CODE XREF: sub_46544+5C0↑j
  551. .text:00046BF0                 CMP             R3, #0
  552. .text:00046BF4                 BEQ             loc_46C1C
  553. .text:00046BF8                 ADD             R0, R0, #7
  554. .text:00046BFC                 UBFX            R3, R2, #8, #8
  555. .text:00046C00                 MOV             R7, #0
  556. .text:00046C04
  557. .text:00046C04 loc_46C04                               ; CODE XREF: sub_46544+6D4↓j
  558. .text:00046C04                 LDRB            R6, [R0],#0xC
  559. .text:00046C08                 ADD             R7, R7, #1
  560. .text:00046C0C                 CMP             R7, R3
  561. .text:00046C10                 ADD             R6, R9, R6,LSL#2
  562. .text:00046C14                 ADD             R9, R6, #7
  563. .text:00046C18                 BCC             loc_46C04
  564. .text:00046C1C
  565. .text:00046C1C loc_46C1C                               ; CODE XREF: sub_46544+6B0↑j
  566. .text:00046C1C                 BFC             R2, #8, #8
  567. .text:00046C20                 STR             R2, [R10]
  568. .text:00046C24                 STR             R1, [R10,#4]
  569. .text:00046C28
  570. .text:00046C28 loc_46C28                               ; CODE XREF: sub_46544+598↑j
  571. .text:00046C28                                         ; sub_46544+5C8↑j ...
  572. .text:00046C28                 LDRB            R0, [R9],#1
  573. .text:00046C2C                 STR             R2, [R10]
  574. .text:00046C30                 BFI             R1, R0, #0, #8
  575. .text:00046C34                 STR             R1, [R10,#4]
  576. .text:00046C38                 CMP             R0, #0
  577. .text:00046C3C                 BEQ             loc_46CC8
  578. .text:00046C40                 MOV             R0, R0,LSL#2
  579. .text:00046C44                 BL              _MemAlloc
  580. .text:00046C48                 STR             R0, [R11,#0x14]
  581. .text:00046C4C                 CMP             R0, #0
  582. .text:00046C50                 LDR             R2, [R10]
  583. .text:00046C54                 LDR             R1, [R10,#4]
  584. .text:00046C58                 BEQ             loc_46CB0
  585. .text:00046C5C                 TST             R1, #0xFF
  586. .text:00046C60                 BEQ             loc_46CC8
  587. .text:00046C64                 ADD             R0, R0, #2
  588. .text:00046C68                 MOV             R2, #0
  589. .text:00046C6C
  590. .text:00046C6C loc_46C6C                               ; CODE XREF: sub_46544+760↓j
  591. .text:00046C6C                 LDRB            R1, [R9]
  592. .text:00046C70                 ADD             R2, R2, #1
  593. .text:00046C74                 LDRB            R3, [R9,#1]
  594. .text:00046C78                 ORR             R1, R3, R1,LSL#8
  595. .text:00046C7C                 STRH            R1, [R0,#-2]
  596. .text:00046C80                 LDRB            R1, [R9,#2]
  597. .text:00046C84                 LDRB            R3, [R9,#3]
  598. .text:00046C88                 ADD             R9, R9, #4
  599. .text:00046C8C                 ORR             R1, R3, R1,LSL#8
  600. .text:00046C90                 STRH            R1, [R0]
  601. .text:00046C94                 LDR             R1, [R10,#4]
  602. .text:00046C98                 ADD             R0, R0, #4
  603. .text:00046C9C                 UXTB            R3, R1
  604. .text:00046CA0                 CMP             R2, R3
  605. .text:00046CA4                 BCC             loc_46C6C
  606. .text:00046CA8                 LDR             R2, [R10]
  607. .text:00046CAC                 B               loc_46CC8
  608. .text:00046CB0 ; ---------------------------------------------------------------------------
  609. .text:00046CB0
  610. .text:00046CB0 loc_46CB0                               ; CODE XREF: sub_46544+714↑j
  611. .text:00046CB0                 MOV             R0, #0x3FC
  612. .text:00046CB4                 STR             R2, [R10]
  613. .text:00046CB8                 AND             R0, R0, R1,LSL#2
  614. .text:00046CBC                 BFC             R1, #0, #8
  615. .text:00046CC0                 ADD             R9, R9, R0
  616. .text:00046CC4                 STR             R1, [R10,#4]
  617. .text:00046CC8
  618. .text:00046CC8 loc_46CC8                               ; CODE XREF: sub_46544+6F8↑j
  619. .text:00046CC8                                         ; sub_46544+71C↑j ...
  620. .text:00046CC8                 MOV             R7, R9
  621. .text:00046CCC                 BFC             R2, #0x10, #8
  622. .text:00046CD0                 LDRB            R0, [R7],#1
  623. .text:00046CD4                 CMP             R0, #0
  624. .text:00046CD8                 ORR             R2, R2, R0,LSL#16
  625. .text:00046CDC                 STR             R2, [R10]
  626. .text:00046CE0                 STR             R1, [R10,#4]
  627. .text:00046CE4                 BEQ             loc_46DD4
  628. .text:00046CE8                 MOV             R0, R0,LSL#3
  629. .text:00046CEC                 BL              _MemAlloc
  630. .text:00046CF0                 MOV             R4, R11
  631. .text:00046CF4                 CMP             R0, #0
  632. .text:00046CF8                 STR             R0, [R4,#0x18]!
  633. .text:00046CFC                 LDR             R2, [R10]
  634. .text:00046D00                 LDR             R1, [R10,#4]
  635. .text:00046D04                 BEQ             loc_46DBC
  636. .text:00046D08                 TST             R2, #0xFF0000
  637. .text:00046D0C                 BEQ             loc_46DD4
  638. .text:00046D10                 MOV             R5, #0
  639. .text:00046D14                 MOV             R6, #1
  640. .text:00046D18                 B               loc_46D28
  641. .text:00046D1C ; ---------------------------------------------------------------------------
  642. .text:00046D1C
  643. .text:00046D1C loc_46D1C                               ; CODE XREF: sub_46544+868↓j
  644. .text:00046D1C                 ADD             R6, R6, #1
  645. .text:00046D20                 LDR             R0, [R4]
  646. .text:00046D24                 ADD             R5, R5, #8
  647. .text:00046D28
  648. .text:00046D28 loc_46D28                               ; CODE XREF: sub_46544+7D4↑j
  649. .text:00046D28                 ADD             R7, R9, R5
  650. .text:00046D2C                 ADD             R0, R0, R5
  651. .text:00046D30                 ADD             R1, R7, #1
  652. .text:00046D34                 MOV             R2, #3
  653. .text:00046D38                 BL              _MemCpy
  654. .text:00046D3C                 LDR             R0, [R4]
  655. .text:00046D40                 LDRB            R2, [R7,#4]
  656. .text:00046D44                 ADD             R0, R0, R5
  657. .text:00046D48                 LDR             R1, [R0,#3]
  658. .text:00046D4C                 BFI             R1, R2, #0, #5
  659. .text:00046D50                 STR             R1, [R0,#3]
  660. .text:00046D54                 LDR             R0, [R4]
  661. .text:00046D58                 LDRB            R2, [R7,#5]
  662. .text:00046D5C                 ADD             R0, R0, R5
  663. .text:00046D60                 LDR             R1, [R0,#3]
  664. .text:00046D64                 BFI             R1, R2, #5, #3
  665. .text:00046D68                 STR             R1, [R0,#3]
  666. .text:00046D6C                 LDR             R0, [R4]
  667. .text:00046D70                 LDRB            R1, [R7,#6]
  668. .text:00046D74                 ADD             R0, R0, R5
  669. .text:00046D78                 STRB            R1, [R0,#4]
  670. .text:00046D7C                 LDR             R0, [R4]
  671. .text:00046D80                 LDRB            R2, [R7,#8]
  672. .text:00046D84                 ADD             R0, R0, R5
  673. .text:00046D88                 LDRB            R1, [R7,#7]
  674. .text:00046D8C                 LDR             R3, [R0,#3]
  675. .text:00046D90                 BFI             R2, R1, #8, #5
  676. .text:00046D94                 BFC             R3, #0x10, #0xD
  677. .text:00046D98                 ORR             R1, R3, R2,LSL#16
  678. .text:00046D9C                 STR             R1, [R0,#3]
  679. .text:00046DA0                 LDR             R2, [R10]
  680. .text:00046DA4                 UBFX            R0, R2, #0x10, #8
  681. .text:00046DA8                 CMP             R6, R0
  682. .text:00046DAC                 BCC             loc_46D1C
  683. .text:00046DB0                 LDR             R1, [R10,#4]
  684. .text:00046DB4                 ADD             R7, R7, #9
  685. .text:00046DB8                 B               loc_46DD4
  686. .text:00046DBC ; ---------------------------------------------------------------------------
  687. .text:00046DBC
  688. .text:00046DBC loc_46DBC                               ; CODE XREF: sub_46544+7C0↑j
  689. .text:00046DBC                 MOV             R0, #0x7F8
  690. .text:00046DC0                 AND             R0, R0, R2,LSR#13
  691. .text:00046DC4                 BFC             R2, #0x10, #8
  692. .text:00046DC8                 STR             R2, [R10]
  693. .text:00046DCC                 ADD             R7, R7, R0
  694. .text:00046DD0                 STR             R1, [R10,#4]
  695. .text:00046DD4
  696. .text:00046DD4 loc_46DD4                               ; CODE XREF: sub_46544+7A0↑j
  697. .text:00046DD4                                         ; sub_46544+7C8↑j ...
  698. .text:00046DD4                 MOV             R4, R7
  699. .text:00046DD8                 BFC             R2, #0x18, #8
  700. .text:00046DDC                 LDRB            R0, [R4],#1
  701. .text:00046DE0                 CMP             R0, #0
  702. .text:00046DE4                 ORR             R2, R2, R0,LSL#24
  703. .text:00046DE8                 STR             R2, [R10]
  704. .text:00046DEC                 STR             R1, [R10,#4]
  705. .text:00046DF0                 BEQ             loc_46F08
  706. .text:00046DF4                 ADD             R0, R0, R0,LSL#1
  707. .text:00046DF8                 MOV             R0, R0,LSL#2
  708. .text:00046DFC                 BL              _MemAlloc
  709. .text:00046E00                 MOV             R9, R11
  710. .text:00046E04                 CMP             R0, #0
  711. .text:00046E08                 STR             R0, [R9,#0x1C]!
  712. .text:00046E0C                 LDR             R2, [R10]
  713. .text:00046E10                 LDR             R1, [R10,#4]
  714. .text:00046E14                 MOV             R3, R2,LSR#24
  715. .text:00046E18                 BEQ             loc_46EF4
  716. .text:00046E1C                 CMP             R3, #0
  717. .text:00046E20                 BEQ             loc_46F08
  718. .text:00046E24                 ADD             R4, R7, #0xB
  719. .text:00046E28                 MOV             R7, #0
  720. .text:00046E2C                 MOV             R6, #3
  721. .text:00046E30                 B               loc_46E40
  722. .text:00046E34 ; ---------------------------------------------------------------------------
  723. .text:00046E34
  724. .text:00046E34 loc_46E34                               ; CODE XREF: sub_46544+9A4↓j
  725. .text:00046E34                 ADD             R6, R6, #0xC
  726. .text:00046E38                 ADD             R4, R4, #0xA
  727. .text:00046E3C                 LDR             R0, [R9]
  728. .text:00046E40
  729. .text:00046E40 loc_46E40                               ; CODE XREF: sub_46544+8EC↑j
  730. .text:00046E40                 ADD             R0, R0, R6
  731. .text:00046E44                 SUB             R1, R4, #0xA
  732. .text:00046E48                 SUB             R0, R0, #3
  733. .text:00046E4C                 MOV             R2, #3
  734. .text:00046E50                 BL              _MemCpy
  735. .text:00046E54                 LDR             R0, [R9]
  736. .text:00046E58                 ADD             R7, R7, #1
  737. .text:00046E5C                 LDRB            R1, [R4,#-7]
  738. .text:00046E60                 STRB            R1, [R0,R6]
  739. .text:00046E64                 LDR             R0, [R9]
  740. .text:00046E68                 LDR             R1, [R0,R6]!
  741. .text:00046E6C                 LDRB            R2, [R4,#-6]
  742. .text:00046E70                 LDRB            R3, [R4,#-5]
  743. .text:00046E74                 LDR             R5, [R0,#4]
  744. .text:00046E78                 BFC             R1, #8, #0x10
  745. .text:00046E7C                 ORR             R2, R3, R2,LSL#8
  746. .text:00046E80                 STR             R5, [R0,#4]
  747. .text:00046E84                 ORR             R1, R1, R2,LSL#8
  748. .text:00046E88                 STR             R1, [R0]
  749. .text:00046E8C                 LDR             R0, [R9]
  750. .text:00046E90                 LDRB            R1, [R4,#-4]
  751. .text:00046E94                 LDRB            R2, [R4,#-3]
  752. .text:00046E98                 LDR             R3, [R0,R6]!
  753. .text:00046E9C                 ORR             R1, R2, R1,LSL#8
  754. .text:00046EA0                 LDR             R5, [R0,#4]
  755. .text:00046EA4                 BFC             R3, #0x18, #8
  756. .text:00046EA8                 ORR             R2, R3, R1,LSL#24
  757. .text:00046EAC                 STR             R2, [R0]
  758. .text:00046EB0                 BFC             R5, #0, #8
  759. .text:00046EB4                 ORR             R1, R5, R1,LSR#8
  760. .text:00046EB8                 STR             R1, [R0,#4]
  761. .text:00046EBC                 LDR             R0, [R9]
  762. .text:00046EC0                 LDR             R1, [R0,R6]!
  763. .text:00046EC4                 LDRB            R2, [R4,#-2]
  764. .text:00046EC8                 LDRB            R3, [R4,#-1]
  765. .text:00046ECC                 LDR             R5, [R0,#4]
  766. .text:00046ED0                 ORR             R2, R3, R2,LSL#8
  767. .text:00046ED4                 BFI             R5, R2, #8, #0xD
  768. .text:00046ED8                 STR             R5, [R0,#4]
  769. .text:00046EDC                 STR             R1, [R0]
  770. .text:00046EE0                 LDR             R2, [R10]
  771. .text:00046EE4                 CMP             R7, R2,LSR#24
  772. .text:00046EE8                 BCC             loc_46E34
  773. .text:00046EEC                 LDR             R1, [R10,#4]
  774. .text:00046EF0                 B               loc_46F08
  775. .text:00046EF4 ; ---------------------------------------------------------------------------
  776. .text:00046EF4
  777. .text:00046EF4 loc_46EF4                               ; CODE XREF: sub_46544+8D4↑j
  778. .text:00046EF4                 ADD             R0, R3, R3,LSL#2
  779. .text:00046EF8                 BFC             R2, #0x18, #8
  780. .text:00046EFC                 STR             R2, [R10]
  781. .text:00046F00                 ADD             R4, R4, R0,LSL#1
  782. .text:00046F04                 STR             R1, [R10,#4]
  783. .text:00046F08
  784. .text:00046F08 loc_46F08                               ; CODE XREF: sub_46544+8AC↑j
  785. .text:00046F08                                         ; sub_46544+8DC↑j ...
  786. .text:00046F08                 MOV             R6, R11
  787. .text:00046F0C                 LDRH            R3, [R6,#0x30]!
  788. .text:00046F10                 LDRB            R12, [R4]
  789. .text:00046F14                 MOV             R9, R6
  790. .text:00046F18                 LDRB            R7, [R4,#1]
  791. .text:00046F1C                 LDR             R0, [R9,#-8]!
  792. .text:00046F20                 LDRB            R5, [R6,#2]
  793. .text:00046F24                 ORR             R7, R7, R12,LSL#8
  794. .text:00046F28                 LDR             LR, [R6,#-4]
  795. .text:00046F2C                 BFC             R0, #0, #0x10
  796. .text:00046F30                 STR             LR, [R6,#-4]
  797. .text:00046F34                 ORR             R5, R3, R5,LSL#16
  798. .text:00046F38                 ORR             R0, R7, R0
  799. .text:00046F3C                 STR             R0, [R9]
  800. .text:00046F40                 MOV             R7, R5,LSR#16
  801. .text:00046F44                 UXTB            R5, R5
  802. .text:00046F48                 STRB            R7, [R6,#2]
  803. .text:00046F4C                 STRH            R3, [R6]
  804. .text:00046F50                 LDRB            R12, [R4,#2]
  805. .text:00046F54                 LDRB            R8, [R4,#3]
  806. .text:00046F58                 STRB            R7, [R6,#2]
  807. .text:00046F5C                 ORR             R7, R8, R12,LSL#8
  808. .text:00046F60                 STR             LR, [R6,#-4]
  809. .text:00046F64                 PKHBT           R12, R0, R7,LSL#16
  810. .text:00046F68                 STR             R12, [R9]
  811. .text:00046F6C                 STRH            R3, [R6]
  812. .text:00046F70                 LDRB            R3, [R4,#5]
  813. .text:00046F74                 LDRB            R8, [R4,#4]
  814. .text:00046F78                 LDRB            R7, [R4,#6]
  815. .text:00046F7C                 MOV             R3, R3,LSL#16
  816. .text:00046F80                 LDRB            R0, [R4,#7]
  817. .text:00046F84                 ORR             R3, R3, R8,LSL#24
  818. .text:00046F88                 ORR             R3, R3, R7,LSL#8
  819. .text:00046F8C                 ORR             R0, R3, R0
  820. .text:00046F90                 STR             R0, [R6,#-0xC]
  821. .text:00046F94                 LDRB            R0, [R4,#8]
  822. .text:00046F98                 LDRB            R3, [R4,#9]
  823. .text:00046F9C                 STRB            R0, [R6,#2]
  824. .text:00046FA0                 ORR             R0, R3, R0,LSL#8
  825. .text:00046FA4                 STR             LR, [R6,#-4]
  826. .text:00046FA8                 STR             R12, [R9]
  827. .text:00046FAC                 ORR             R3, R5, R0,LSL#8
  828. .text:00046FB0                 STRH            R3, [R6]
  829. .text:00046FB4                 LDRB            R0, [R4,#0xA]
  830. .text:00046FB8                 LDRB            R5, [R4,#0xB]
  831. .text:00046FBC                 LDR             R7, [R6,#4]!
  832. .text:00046FC0                 ORR             R0, R5, R0,LSL#8
  833. .text:00046FC4                 LDR             R8, [SP,#0x58+var_44]
  834. .text:00046FC8                 BFC             R7, #0, #0x10
  835. .text:00046FCC                 CMP             R8, #0xF
  836. .text:00046FD0                 ORR             R0, R0, R7
  837. .text:00046FD4                 STR             R0, [R6]
  838. .text:00046FD8                 LDRB            R5, [R4,#0xC]
  839. .text:00046FDC                 BFC             R0, #0x10, #8
  840. .text:00046FE0                 ORR             R5, R0, R5,LSL#16
  841. .text:00046FE4                 STR             R5, [R6]
  842. .text:00046FE8                 BCC             loc_47014
  843. .text:00046FEC                 LDRB            R0, [R4,#0xD]
  844. .text:00046FF0                 BFC             R2, #0, #8
  845. .text:00046FF4                 BFI             R5, R0, #0x18, #3
  846. .text:00046FF8                 STR             R5, [R6]
  847. .text:00046FFC                 LDRB            R0, [R4,#0xE]
  848. .text:00047000                 ADD             R6, R4, #0xF
  849. .text:00047004                 ORR             R2, R2, R0
  850. .text:00047008                 STR             R2, [R10]
  851. .text:0004700C                 STR             R1, [R10,#4]
  852. .text:00047010                 B               loc_47018
  853. .text:00047014 ; ---------------------------------------------------------------------------
  854. .text:00047014
  855. .text:00047014 loc_47014                               ; CODE XREF: sub_46544+AA4↑j
  856. .text:00047014                 ADD             R6, R4, #0xD
  857. .text:00047018
  858. .text:00047018 loc_47018                               ; CODE XREF: sub_46544+ACC↑j
  859. .text:00047018                 LDRB            R0, [R6]
  860. .text:0004701C                 BFC             R3, #0x18, #8
  861. .text:00047020                 LDRB            R4, [R6,#1]
  862. .text:00047024                 CMP             R8, #0x11
  863. .text:00047028                 LDR             R7, [SP,#0x58+var_3C]
  864. .text:0004702C                 ORR             R0, R4, R0,LSL#8
  865. .text:00047030                 STR             R2, [R10]
  866. .text:00047034                 BFI             R1, R0, #8, #0xD
  867. .text:00047038                 STR             R1, [R10,#4]
  868. .text:0004703C                 LDR             R2, [R7]
  869. .text:00047040                 LDRB            R1, [R6,#3]
  870. .text:00047044                 LDRB            R0, [R6,#2]
  871. .text:00047048                 BFC             R2, #0, #0xD
  872. .text:0004704C                 BFI             R1, R0, #8, #5
  873. .text:00047050                 ORR             R2, R1, R2
  874. .text:00047054                 STR             R2, [R7]
  875. .text:00047058                 LDRB            R0, [R6,#4]
  876. .text:0004705C                 BFI             R2, R0, #0x15, #1
  877. .text:00047060                 STR             R2, [R7]
  878. .text:00047064                 LDRB            R5, [R6,#5]
  879. .text:00047068                 BFI             R2, R5, #0x16, #2
  880. .text:0004706C                 STR             R2, [R7]
  881. .text:00047070                 BCC             loc_470CC
  882. .text:00047074                 LDRB            R0, [R6,#6]
  883. .text:00047078                 MOV             R4, R9
  884. .text:0004707C                 LDRB            R1, [R6,#7]
  885. .text:00047080                 MOV             R5, R3,LSR#16
  886. .text:00047084                 STR             R12, [R9]
  887. .text:00047088                 BFC             LR, #0, #0x10
  888. .text:0004708C                 STRH            R3, [R4,#8]!
  889. .text:00047090                 ORR             R0, R1, R0,LSL#8
  890. .text:00047094                 ORR             R0, R0, LR
  891. .text:00047098                 STRB            R5, [R4,#2]
  892. .text:0004709C                 STR             R0, [R9,#4]
  893. .text:000470A0                 LDRB            LR, [R6,#8]
  894. .text:000470A4                 LDRB            R1, [R6,#9]
  895. .text:000470A8                 STRB            R5, [R4,#2]
  896. .text:000470AC                 ORR             R1, R1, LR,LSL#8
  897. .text:000470B0                 STRH            R3, [R4]
  898. .text:000470B4                 STR             R12, [R9]
  899. .text:000470B8                 PKHBT           R0, R0, R1,LSL#16
  900. .text:000470BC                 STR             R0, [R9,#4]
  901. .text:000470C0                 ADD             R1, R6, #0xA
  902. .text:000470C4                 LDR             R5, [SP,#0x58+var_40]
  903. .text:000470C8                 B               loc_4713C
  904. .text:000470CC ; ---------------------------------------------------------------------------
  905. .text:000470CC
  906. .text:000470CC loc_470CC                               ; CODE XREF: sub_46544+B2C↑j
  907. .text:000470CC                 AND             R0, R5, #3
  908. .text:000470D0                 ADD             R1, R6, #6
  909. .text:000470D4                 CMP             R0, #1
  910. .text:000470D8                 BHI             loc_47100
  911. .text:000470DC                 MOV             R0, #0x2D0
  912. .text:000470E0                 STR             R12, [R9]
  913. .text:000470E4                 MOVT            R0, #0x240
  914. .text:000470E8                 LDR             R5, [SP,#0x58+var_40]
  915. .text:000470EC                 STR             R0, [R9,#4]
  916. .text:000470F0                 MOV             R0, R3,LSR#16
  917. .text:000470F4                 STRH            R3, [R9,#8]
  918. .text:000470F8                 STRB            R0, [R9,#0xA]
  919. .text:000470FC                 B               loc_4713C
  920. .text:00047100 ; ---------------------------------------------------------------------------
  921. .text:00047100
  922. .text:00047100 loc_47100                               ; CODE XREF: sub_46544+B94↑j
  923. .text:00047100                 LDR             R5, [SP,#0x58+var_40]
  924. .text:00047104                 BFC             R3, #0x18, #8
  925. .text:00047108                 CMP             R0, #2
  926. .text:0004710C                 BNE             loc_47120
  927. .text:00047110                 MOV             R0, #0x780
  928. .text:00047114                 STR             R12, [R9]
  929. .text:00047118                 MOVT            R0, #0x438
  930. .text:0004711C                 B               loc_4712C
  931. .text:00047120 ; ---------------------------------------------------------------------------
  932. .text:00047120
  933. .text:00047120 loc_47120                               ; CODE XREF: sub_46544+BC8↑j
  934. .text:00047120                 MOV             R0, #0xF00
  935. .text:00047124                 STR             R12, [R9]
  936. .text:00047128                 MOVT            R0, #0x870
  937. .text:0004712C
  938. .text:0004712C loc_4712C                               ; CODE XREF: sub_46544+BD8↑j
  939. .text:0004712C                 STR             R0, [R9,#4]
  940. .text:00047130                 MOV             R0, R3,LSR#16
  941. .text:00047134                 STRH            R3, [R9,#8]
  942. .text:00047138                 STRB            R0, [R9,#0xA]
  943. .text:0004713C
  944. .text:0004713C loc_4713C                               ; CODE XREF: sub_46544+B84↑j
  945. .text:0004713C                                         ; sub_46544+BB8↑j
  946. .text:0004713C                 LDRB            R0, [R1]
  947. .text:00047140                 BFI             R2, R0, #0x18, #1
  948. .text:00047144                 STR             R2, [R7]
  949. .text:00047148                 LDRB            R0, [R1,#1]
  950. .text:0004714C                 BFI             R2, R0, #0x19, #1
  951. .text:00047150                 STR             R2, [R7]
  952. .text:00047154                 LDRB            R0, [R1,#2]
  953. .text:00047158                 BFI             R2, R0, #0x1A, #1
  954. .text:0004715C                 STR             R2, [R7]
  955. .text:00047160                 LDRB            R3, [R1,#4]
  956. .text:00047164                 LDRB            R0, [R1,#3]
  957. .text:00047168                 LDRB            R4, [R1,#5]
  958. .text:0004716C                 MOV             R3, R3,LSL#16
  959. .text:00047170                 LDRB            R6, [R1,#6]
  960. .text:00047174                 ORR             R0, R3, R0,LSL#24
  961. .text:00047178                 ORR             R0, R0, R4,LSL#8
  962. .text:0004717C                 ORR             R0, R0, R6
  963. .text:00047180                 STR             R0, [R11,#0x20]
  964. .text:00047184                 LDRB            R0, [R1,#7]
  965. .text:00047188                 BFI             R2, R0, #0x1B, #1
  966. .text:0004718C                 STR             R2, [R7]
  967. .text:00047190                 LDRB            R0, [R1,#8]
  968. .text:00047194                 BFI             R2, R0, #0x1C, #1
  969. .text:00047198                 STR             R2, [R7]
  970. .text:0004719C                 LDR             R2, [R11,#0x44]
  971. .text:000471A0                 LDRB            R0, [R1,#9]
  972. .text:000471A4                 BFI             R2, R0, #0, #3
  973. .text:000471A8                 STR             R2, [R11,#0x44]
  974. .text:000471AC                 LDRB            R3, [R1,#0xA]
  975. .text:000471B0                 AND             R0, R0, #7
  976. .text:000471B4                 CMP             R0, #4
  977. .text:000471B8                 BFI             R2, R3, #3, #4
  978. .text:000471BC                 STR             R2, [R11,#0x44]
  979. .text:000471C0                 LDRB            R3, [R1,#0xB]
  980. .text:000471C4                 BFC             R2, #7, #8
  981. .text:000471C8                 ORR             R2, R2, R3,LSL#7
  982. .text:000471CC                 STR             R2, [R11,#0x44]
  983. .text:000471D0                 LDRB            R3, [R1,#0xC]
  984. .text:000471D4                 BFC             R2, #0xF, #8
  985. .text:000471D8                 ORR             R2, R2, R3,LSL#15
  986. .text:000471DC                 STR             R2, [R11,#0x44]
  987. .text:000471E0                 LDRB            R3, [R1,#0xE]
  988. .text:000471E4                 LDR             R7, [R11,#0x48]
  989. .text:000471E8                 LDRB            R2, [R1,#0xD]
  990. .text:000471EC                 BFI             R3, R2, #8, #6
  991. .text:000471F0                 BFC             R7, #0xE, #0xE
  992. .text:000471F4                 ORR             R2, R7, R3,LSL#14
  993. .text:000471F8                 STR             R2, [R11,#0x48]
  994. .text:000471FC                 LDRB            R2, [R1,#0xF]
  995. .text:00047200                 STRB            R2, [R11,#0x4C]
  996. .text:00047204                 LDRB            R3, [R1,#0x10]
  997. .text:00047208                 ORR             R2, R2, R3,LSL#8
  998. .text:0004720C                 STRH            R2, [R11,#0x4C]
  999. .text:00047210                 BNE             loc_47294
  1000. .text:00047214                 LDRB            R2, [R1,#0x12]
  1001. .text:00047218                 MOV             R4, R11
  1002. .text:0004721C                 LDRB            R0, [R1,#0x11]
  1003. .text:00047220                 ADD             R6, R1, #0x16
  1004. .text:00047224                 LDR             R3, [R4,#0x54]!
  1005. .text:00047228                 BFI             R2, R0, #8, #2
  1006. .text:0004722C                 BFC             R3, #8, #0xA
  1007. .text:00047230                 ORR             R0, R3, R2,LSL#8
  1008. .text:00047234                 STR             R0, [R4]
  1009. .text:00047238                 LDRB            R3, [R1,#0x14]
  1010. .text:0004723C                 LDRB            R2, [R1,#0x13]
  1011. .text:00047240                 BFC             R0, #0x12, #0xA
  1012. .text:00047244                 BFI             R3, R2, #8, #2
  1013. .text:00047248                 ORR             R2, R0, R3,LSL#18
  1014. .text:0004724C                 STR             R2, [R4]
  1015. .text:00047250                 LDRB            R0, [R1,#0x15]
  1016. .text:00047254                 BFC             R2, #0, #8
  1017. .text:00047258                 ORR             R2, R2, R0
  1018. .text:0004725C                 STR             R2, [R4]
  1019. .text:00047260                 CMP             R0, #0
  1020. .text:00047264                 BEQ             loc_472F4
  1021. .text:00047268                 BL              _MemAlloc
  1022. .text:0004726C                 STR             R0, [R11,#0x50]
  1023. .text:00047270                 CMP             R0, #0
  1024. .text:00047274                 LDR             R1, [R4]
  1025. .text:00047278                 BEQ             loc_472E8
  1026. .text:0004727C                 UXTB            R2, R1
  1027. .text:00047280                 MOV             R1, R6
  1028. .text:00047284                 BL              _MemCpy
  1029. .text:00047288                 LDRB            R1, [R4]
  1030. .text:0004728C                 UXTAB           R6, R6, R1
  1031. .text:00047290                 B               loc_472F4
  1032. .text:00047294 ; ---------------------------------------------------------------------------
  1033. .text:00047294
  1034. .text:00047294 loc_47294                               ; CODE XREF: sub_46544+CCC↑j
  1035. .text:00047294                 ADD             R6, R1, #0x11
  1036. .text:00047298                 CMP             R8, #0x13
  1037. .text:0004729C                 BCC             loc_472F4
  1038. .text:000472A0                 CMP             R0, #1
  1039. .text:000472A4                 BNE             loc_472F4
  1040. .text:000472A8                 LDRB            R2, [R1,#0x12]
  1041. .text:000472AC                 ADD             R6, R1, #0x16
  1042. .text:000472B0                 LDRB            R0, [R1,#0x11]
  1043. .text:000472B4                 LDRB            R3, [R1,#0x13]
  1044. .text:000472B8                 LDR             R7, [R11,#0x58]
  1045. .text:000472BC                 MOV             R2, R2,LSL#8
  1046. .text:000472C0                 ORR             R0, R2, R0,LSL#16
  1047. .text:000472C4                 ORR             R0, R0, R3
  1048. .text:000472C8                 AND             R2, R7, #0xFF000000
  1049. .text:000472CC                 ORR             R0, R0, R2
  1050. .text:000472D0                 STR             R0, [R11,#0x58]
  1051. .text:000472D4                 LDRB            R0, [R1,#0x14]
  1052. .text:000472D8                 LDRB            R2, [R1,#0x15]
  1053. .text:000472DC                 ORR             R0, R2, R0,LSL#8
  1054. .text:000472E0                 STRH            R0, [R11,#0x5C]
  1055. .text:000472E4                 B               loc_472F4
  1056. .text:000472E8 ; ---------------------------------------------------------------------------
  1057. .text:000472E8
  1058. .text:000472E8 loc_472E8                               ; CODE XREF: sub_46544+D34↑j
  1059. .text:000472E8                 BFC             R1, #0, #8
  1060. .text:000472EC                 STR             R1, [R4]
  1061. .text:000472F0                 UXTAB           R6, R6, R1
  1062. .text:000472F4
  1063. .text:000472F4 loc_472F4                               ; CODE XREF: sub_46544+D20↑j
  1064. .text:000472F4                                         ; sub_46544+D4C↑j ...
  1065. .text:000472F4                 ADD             R0, R11, #0x5E
  1066. .text:000472F8                 MOV             R1, R6
  1067. .text:000472FC                 MOV             R2, #0x40
  1068. .text:00047300                 BL              _MemCpy
  1069. .text:00047304                 LDRB            R0, [R6,#0x40]
  1070. .text:00047308                 LDRB            R1, [R6,#0x41]
  1071. .text:0004730C                 ORR             R0, R1, R0,LSL#8
  1072. .text:00047310                 STRH            R0, [R11,#0x9E]
  1073. .text:00047314                 MOV             R0, R11
  1074. .text:00047318                 BL              j_DatabaseManager_RefreshISO639ServiceName
  1075. .text:0004731C                 LDR             R0, [SP,#0x58+var_4C]
  1076. .text:00047320                 ADD             R5, R5, #1
  1077. .text:00047324                 ADD             R4, R6, #0x42
  1078. .text:00047328                 LDR             R0, [R0]
  1079. .text:0004732C                 CMP             R5, R0
  1080. .text:00047330                 BCC             loc_4682C
  1081. .text:00047334                 MOV             R4, #1
  1082. .text:00047338                 B               loc_4734C
  1083. .text:0004733C ; ---------------------------------------------------------------------------
  1084. .text:0004733C
  1085. .text:0004733C loc_4733C                               ; CODE XREF: sub_46544+2AC↑j
  1086. .text:0004733C                 LDR             R0, =(off_B0EAC - 0x4734C)
  1087. .text:00047340                 MOV             R1, #0
  1088. .text:00047344                 LDR             R0, [PC,R0] ; off_B0EAC
  1089. .text:00047348                 STR             R1, [R0]
  1090. .text:0004734C
  1091. .text:0004734C loc_4734C                               ; CODE XREF: sub_46544+120↑j
  1092. .text:0004734C                                         ; sub_46544+28C↑j ...
  1093. .text:0004734C                 MOV             R0, R4
  1094. .text:00047350                 ADD             SP, SP, #0x20
  1095. .text:00047354                 VPOP            {D8-D9}
  1096. .text:00047358                 ADD             SP, SP, #4
  1097. .text:0004735C                 LDMFD           SP!, {R4-R11,PC}
  1098. .text:00047360 ; ---------------------------------------------------------------------------
  1099. .text:00047360
  1100. .text:00047360 loc_47360                               ; CODE XREF: sub_46544+248↑j
  1101. .text:00047360                 LDR             R3, =(aConvertdatatos - 0x47374)
  1102. .text:00047364                 LDR             R2, =(aThDtv - 0x4737C)
  1103. .text:00047368                 LDR             R7, =(aSErrorProjectI - 0x47380)
  1104. .text:0004736C                 ADD             R3, PC, R3 ; "_ConvertDataToService"
  1105. .text:00047370                 STMEA           SP, {R0,R1}
  1106. .text:00047374                 ADD             R1, PC, R2 ; "TH_DTV"
  1107. .text:00047378                 ADD             R2, PC, R7 ; " [%s] :: error : project id not matched"...
  1108. .text:0004737C                 B               loc_46658
  1109. .text:0004737C ; End of function sub_46544
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement