Advertisement
Bond697

Untitled

Sep 6th, 2014
537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 80.22 KB | None | 0 0
  1. ARM9:0201DE74             ; u32 __fastcall readPkmPartyData(PartyPkm *pPkm, PkmField field, u32 data)
  2. ARM9:0201DE74             readPkmPartyData                        ; CODE XREF: getPkmStat+12p
  3. ARM9:0201DE74 08 B5                       PUSH    {R3,LR}
  4. ARM9:0201DE76 0B 1C                       MOVS    R3, R1
  5. ARM9:0201DE78 9D 3B                       SUBS    R3, #0x9D ; '¥'
  6. ARM9:0201DE7A 0B 2B                       CMP     R3, #0xB
  7. ARM9:0201DE7C 37 D8                       BHI     box_data        ; jumptable 0201DE88 default case
  8. ARM9:0201DE7E DB 18                       ADDS    R3, R3, R3
  9. ARM9:0201DE80 7B 44                       ADD     R3, PC
  10. ARM9:0201DE82 DB 88                       LDRH    R3, [R3,#6]
  11. ARM9:0201DE84 1B 04                       LSLS    R3, R3, #0x10
  12. ARM9:0201DE86 1B 14                       ASRS    R3, R3, #0x10
  13. ARM9:0201DE88 9F 44                       ADD     PC, R3          ; switch 12 cases
  14. ARM9:0201DE88             ; ---------------------------------------------------------------------------
  15. ARM9:0201DE8A 16 00 1C 00+off_201DE8A     DCW poke_status_flags - (off_201DE8A+2) ; jump table for switch statement
  16. ARM9:0201DE8A 22 00 28 00+                DCW level - (off_201DE8A+2)
  17. ARM9:0201DE8A 2E 00 34 00+                DCW capsule_idx - (off_201DE8A+2)
  18. ARM9:0201DE8A 3A 00 40 00+                DCW curr_HP - (off_201DE8A+2)
  19. ARM9:0201DE8A 46 00 4C 00+                DCW max_HP - (off_201DE8A+2)
  20. ARM9:0201DE8A 52 00 5E 00                 DCW stat_ATK - (off_201DE8A+2)
  21. ARM9:0201DE8A                             DCW stat_DEF - (off_201DE8A+2)
  22. ARM9:0201DE8A                             DCW stat_SPE - (off_201DE8A+2)
  23. ARM9:0201DE8A                             DCW stat_SPA - (off_201DE8A+2)
  24. ARM9:0201DE8A                             DCW stat_SPD - (off_201DE8A+2)
  25. ARM9:0201DE8A                             DCW mail_msg - (off_201DE8A+2)
  26. ARM9:0201DE8A                             DCW too_high - (off_201DE8A+2)
  27. ARM9:0201DEA2             ; ---------------------------------------------------------------------------
  28. ARM9:0201DEA2
  29. ARM9:0201DEA2             poke_status_flags                       ; CODE XREF: readPkmPartyData+14j
  30. ARM9:0201DEA2 88 30                       ADDS    R0, #0x88 ; 'ê' ; jumptable 0201DE88 case 0
  31. ARM9:0201DEA4 00 68                       LDR     R0, [R0]
  32. ARM9:0201DEA6 08 BD                       POP     {R3,PC}
  33. ARM9:0201DEA8             ; ---------------------------------------------------------------------------
  34. ARM9:0201DEA8
  35. ARM9:0201DEA8             level                                   ; CODE XREF: readPkmPartyData+14j
  36. ARM9:0201DEA8 8C 30                       ADDS    R0, #0x8C ; 'î' ; jumptable 0201DE88 case 1
  37. ARM9:0201DEAA 00 78                       LDRB    R0, [R0]
  38. ARM9:0201DEAC 08 BD                       POP     {R3,PC}
  39. ARM9:0201DEAE             ; ---------------------------------------------------------------------------
  40. ARM9:0201DEAE
  41. ARM9:0201DEAE             capsule_idx                             ; CODE XREF: readPkmPartyData+14j
  42. ARM9:0201DEAE 8D 30                       ADDS    R0, #0x8D ; 'ì' ; jumptable 0201DE88 case 2
  43. ARM9:0201DEB0 00 78                       LDRB    R0, [R0]
  44. ARM9:0201DEB2 08 BD                       POP     {R3,PC}
  45. ARM9:0201DEB4             ; ---------------------------------------------------------------------------
  46. ARM9:0201DEB4
  47. ARM9:0201DEB4             curr_HP                                 ; CODE XREF: readPkmPartyData+14j
  48. ARM9:0201DEB4 8E 30                       ADDS    R0, #0x8E ; 'Ä' ; jumptable 0201DE88 case 3
  49. ARM9:0201DEB6 00 88                       LDRH    R0, [R0]
  50. ARM9:0201DEB8 08 BD                       POP     {R3,PC}
  51. ARM9:0201DEBA             ; ---------------------------------------------------------------------------
  52. ARM9:0201DEBA
  53. ARM9:0201DEBA             max_HP                                  ; CODE XREF: readPkmPartyData+14j
  54. ARM9:0201DEBA 90 30                       ADDS    R0, #0x90 ; 'É' ; jumptable 0201DE88 case 4
  55. ARM9:0201DEBC 00 88                       LDRH    R0, [R0]
  56. ARM9:0201DEBE 08 BD                       POP     {R3,PC}
  57. ARM9:0201DEC0             ; ---------------------------------------------------------------------------
  58. ARM9:0201DEC0
  59. ARM9:0201DEC0             stat_ATK                                ; CODE XREF: readPkmPartyData+14j
  60. ARM9:0201DEC0 92 30                       ADDS    R0, #0x92 ; 'Æ' ; jumptable 0201DE88 case 5
  61. ARM9:0201DEC2 00 88                       LDRH    R0, [R0]
  62. ARM9:0201DEC4 08 BD                       POP     {R3,PC}
  63. ARM9:0201DEC6             ; ---------------------------------------------------------------------------
  64. ARM9:0201DEC6
  65. ARM9:0201DEC6             stat_DEF                                ; CODE XREF: readPkmPartyData+14j
  66. ARM9:0201DEC6 94 30                       ADDS    R0, #0x94 ; 'ö' ; jumptable 0201DE88 case 6
  67. ARM9:0201DEC8 00 88                       LDRH    R0, [R0]
  68. ARM9:0201DECA 08 BD                       POP     {R3,PC}
  69. ARM9:0201DECC             ; ---------------------------------------------------------------------------
  70. ARM9:0201DECC
  71. ARM9:0201DECC             stat_SPE                                ; CODE XREF: readPkmPartyData+14j
  72. ARM9:0201DECC 96 30                       ADDS    R0, #0x96 ; 'û' ; jumptable 0201DE88 case 7
  73. ARM9:0201DECE 00 88                       LDRH    R0, [R0]
  74. ARM9:0201DED0 08 BD                       POP     {R3,PC}
  75. ARM9:0201DED2             ; ---------------------------------------------------------------------------
  76. ARM9:0201DED2
  77. ARM9:0201DED2             stat_SPA                                ; CODE XREF: readPkmPartyData+14j
  78. ARM9:0201DED2 98 30                       ADDS    R0, #0x98 ; 'ÿ' ; jumptable 0201DE88 case 8
  79. ARM9:0201DED4 00 88                       LDRH    R0, [R0]
  80. ARM9:0201DED6 08 BD                       POP     {R3,PC}
  81. ARM9:0201DED8             ; ---------------------------------------------------------------------------
  82. ARM9:0201DED8
  83. ARM9:0201DED8             stat_SPD                                ; CODE XREF: readPkmPartyData+14j
  84. ARM9:0201DED8 9A 30                       ADDS    R0, #0x9A ; 'Ü' ; jumptable 0201DE88 case 9
  85. ARM9:0201DEDA 00 88                       LDRH    R0, [R0]
  86. ARM9:0201DEDC 08 BD                       POP     {R3,PC}
  87. ARM9:0201DEDE             ; ---------------------------------------------------------------------------
  88. ARM9:0201DEDE
  89. ARM9:0201DEDE             mail_msg                                ; CODE XREF: readPkmPartyData+14j
  90. ARM9:0201DEDE 9C 30                       ADDS    R0, #0x9C ; '£' ; jumptable 0201DE88 case 10
  91. ARM9:0201DEE0 11 1C                       MOVS    R1, R2          ; pDst
  92. ARM9:0201DEE2 EB F7 03 FC                 BL      copyMailMsg
  93. ARM9:0201DEE6 01 20                       MOVS    R0, #1
  94. ARM9:0201DEE8 08 BD                       POP     {R3,PC}
  95. ARM9:0201DEEA             ; ---------------------------------------------------------------------------
  96. ARM9:0201DEEA
  97. ARM9:0201DEEA             too_high                                ; CODE XREF: readPkmPartyData+14j
  98. ARM9:0201DEEA 01 20                       MOVS    R0, #1          ; pPkm
  99. ARM9:0201DEEC 08 BD                       POP     {R3,PC}
  100. ARM9:0201DEEE             ; ---------------------------------------------------------------------------
  101. ARM9:0201DEEE
  102. ARM9:0201DEEE             box_data                                ; CODE XREF: readPkmPartyData+8j
  103. ARM9:0201DEEE 00 F0 01 F8                 BL      readPkmBoxData  ; jumptable 0201DE88 default case
  104. ARM9:0201DEF2 08 BD                       POP     {R3,PC}
  105. ARM9:0201DEF2             ; End of function readPkmPartyData
  106. ARM9:0201DEF2
  107. ARM9:0201DEF4
  108. ARM9:0201DEF4             ; =============== S U B R O U T I N E =======================================
  109. ARM9:0201DEF4
  110. ARM9:0201DEF4
  111. ARM9:0201DEF4             ; u32 __fastcall readPkmBoxData(BoxPkm *pPkm, PkmField field, void *pStrbuf)
  112. ARM9:0201DEF4             readPkmBoxData                          ; CODE XREF: getPkmBoxData+12p
  113. ARM9:0201DEF4                                                     ; readPkmPartyData:box_datap
  114. ARM9:0201DEF4
  115. ARM9:0201DEF4             field           = -0x28
  116. ARM9:0201DEF4             dest            = -0x24
  117. ARM9:0201DEF4             num             = -0x20
  118. ARM9:0201DEF4
  119. ARM9:0201DEF4 F8 B5                       PUSH    {R3-R7,LR}      ; for this function, in the switch:
  120. ARM9:0201DEF4                                                     ; r7 is the unencrypted data
  121. ARM9:0201DEF4                                                     ; r5 is the first block for the poke
  122. ARM9:0201DEF4                                                     ; r6 is the second block for the poke
  123. ARM9:0201DEF4                                                     ; SP + 12 is the third block for the poke
  124. ARM9:0201DEF4                                                     ; r1 is the fourth block for the poke
  125. ARM9:0201DEF6 84 B0                       SUB     SP, SP, #0x10
  126. ARM9:0201DEF8 07 1C                       MOVS    R7, R0
  127. ARM9:0201DEFA 00 91                       STR     R1, [SP,#0x28+field]
  128. ARM9:0201DEFC 01 92                       STR     R2, [SP,#0x28+dest]
  129. ARM9:0201DEFE 39 68                       LDR     R1, [R7]        ; pid
  130. ARM9:0201DF00 00 22                       MOVS    R2, #0          ; blk_num
  131. ARM9:0201DF02 00 24                       MOVS    R4, #0
  132. ARM9:0201DF04 00 F0 F4 FF                 BL      getPkmBlockShuffle
  133. ARM9:0201DF08 01 22                       MOVS    R2, #1
  134. ARM9:0201DF0A 05 1C                       MOVS    R5, R0
  135. ARM9:0201DF0C 02 92                       STR     R2, [SP,#8]
  136. ARM9:0201DF0E 39 68                       LDR     R1, [R7]        ; pid
  137. ARM9:0201DF10 38 1C                       MOVS    R0, R7          ; pPkm
  138. ARM9:0201DF12 01 22                       MOVS    R2, #1          ; blk_num
  139. ARM9:0201DF14 00 F0 EC FF                 BL      getPkmBlockShuffle
  140. ARM9:0201DF18 06 1C                       MOVS    R6, R0
  141. ARM9:0201DF1A 39 68                       LDR     R1, [R7]        ; pid
  142. ARM9:0201DF1C 38 1C                       MOVS    R0, R7          ; pPkm
  143. ARM9:0201DF1E 02 22                       MOVS    R2, #2          ; blk_num
  144. ARM9:0201DF20 00 F0 E6 FF                 BL      getPkmBlockShuffle
  145. ARM9:0201DF24 03 90                       STR     R0, [SP,#0xC]
  146. ARM9:0201DF26 39 68                       LDR     R1, [R7]        ; pid
  147. ARM9:0201DF28 38 1C                       MOVS    R0, R7          ; pPkm
  148. ARM9:0201DF2A 03 22                       MOVS    R2, #3          ; blk_num
  149. ARM9:0201DF2C 00 F0 E0 FF                 BL      getPkmBlockShuffle
  150. ARM9:0201DF30 00 9A                       LDR     R2, [SP,#0x28+field]
  151. ARM9:0201DF32 01 1C                       MOVS    R1, R0
  152. ARM9:0201DF34 B3 2A                       CMP     R2, #0xB3 ; '¦'
  153. ARM9:0201DF36 00 D9                       BLS     loc_201DF3A
  154. ARM9:0201DF38 B9 E0                       B       default_ret_0   ; jumptable 0201DF44 default case
  155. ARM9:0201DF3A             ; ---------------------------------------------------------------------------
  156. ARM9:0201DF3A
  157. ARM9:0201DF3A             loc_201DF3A                             ; CODE XREF: readPkmBoxData+42j
  158. ARM9:0201DF3A 92 18                       ADDS    R2, R2, R2
  159. ARM9:0201DF3C 7A 44                       ADD     R2, PC
  160. ARM9:0201DF3E D2 88                       LDRH    R2, [R2,#6]
  161. ARM9:0201DF40 12 04                       LSLS    R2, R2, #0x10
  162. ARM9:0201DF42 12 14                       ASRS    R2, R2, #0x10
  163. ARM9:0201DF44 97 44                       ADD     PC, R2          ; switch 180 cases
  164. ARM9:0201DF44             ; ---------------------------------------------------------------------------
  165. ARM9:0201DF46 6A 01 6E 01+off_201DF46     DCW pid - (off_201DF46+2), party_pkm_already_decrypted - (off_201DF46+2)
  166. ARM9:0201DF46 76 01 7A 01+                                        ; DATA XREF: readPkmBoxData:off_201DF46o
  167. ARM9:0201DF46 80 01 C8 01+                                        ; readPkmBoxData:off_201DF46+2o
  168. ARM9:0201DF46 D6 01 E0 01+                                        ; readPkmBoxData:off_201DF46+4o
  169. ARM9:0201DF46 E4 01 E8 01+                                        ; readPkmBoxData:off_201DF46+6o ...
  170. ARM9:0201DF46 EC 01 F0 01+                DCW box_pkm_already_decrypted - (off_201DF46+2), is_species_egg - (off_201DF46+2) ; jump table for switch statement
  171. ARM9:0201DF46 F4 01 F8 01+                DCW checksum - (off_201DF46+2), species - (off_201DF46+2)
  172. ARM9:0201DF46 FC 01 00 02+                DCW item - (off_201DF46+2), sid_tid - (off_201DF46+2)
  173. ARM9:0201DF46 04 02 08 02+                DCW exp - (off_201DF46+2), happiness - (off_201DF46+2)
  174. ARM9:0201DF46 0C 02 10 02+                DCW ability - (off_201DF46+2), markings - (off_201DF46+2)
  175. ARM9:0201DF46 14 02 18 02+                DCW region - (off_201DF46+2), HP_EV - (off_201DF46+2)
  176. ARM9:0201DF46 1C 02 20 02+                DCW ATK_EV - (off_201DF46+2), DEF_EV - (off_201DF46+2)
  177. ARM9:0201DF46 24 02 28 02+                DCW SPE_EV - (off_201DF46+2), SPA_EV - (off_201DF46+2)
  178. ARM9:0201DF46 28 02 28 02+                DCW SPD_EV - (off_201DF46+2), cool_contest - (off_201DF46+2)
  179. ARM9:0201DF46 28 02 28 02+                DCW beauty_contest - (off_201DF46+2), cute_contest - (off_201DF46+2)
  180. ARM9:0201DF46 28 02 28 02+                DCW smart_contest - (off_201DF46+2), tough_contest - (off_201DF46+2)
  181. ARM9:0201DF46 28 02 28 02+                DCW sheen_contest - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  182. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  183. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  184. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  185. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  186. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  187. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  188. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  189. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  190. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  191. ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  192. ARM9:0201DF46 50 02 50 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  193. ARM9:0201DF46 50 02 50 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  194. ARM9:0201DF46 5C 02 5C 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  195. ARM9:0201DF46 5C 02 5C 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
  196. ARM9:0201DF46 68 02 68 02+                DCW moves - (off_201DF46+2), moves - (off_201DF46+2), moves - (off_201DF46+2)
  197. ARM9:0201DF46 68 02 68 02+                DCW moves - (off_201DF46+2), move_cur_pp - (off_201DF46+2)
  198. ARM9:0201DF46 74 02 74 02+                DCW move_cur_pp - (off_201DF46+2), move_cur_pp - (off_201DF46+2)
  199. ARM9:0201DF46 74 02 74 02+                DCW move_cur_pp - (off_201DF46+2), move_ppup_count - (off_201DF46+2)
  200. ARM9:0201DF46 90 02 98 02+                DCW move_ppup_count - (off_201DF46+2), move_ppup_count - (off_201DF46+2)
  201. ARM9:0201DF46 9E 02 A4 02+                DCW move_ppup_count - (off_201DF46+2), move_max_pp - (off_201DF46+2)
  202. ARM9:0201DF46 AA 02 B0 02+                DCW move_max_pp - (off_201DF46+2), move_max_pp - (off_201DF46+2)
  203. ARM9:0201DF46 B6 02 CA 02+                DCW move_max_pp - (off_201DF46+2), hp_iv - (off_201DF46+2)
  204. ARM9:0201DF46 CA 02 CA 02+                DCW atk_iv - (off_201DF46+2), def_iv - (off_201DF46+2)
  205. ARM9:0201DF46 CA 02 CA 02+                DCW spe_iv - (off_201DF46+2), spa_iv - (off_201DF46+2)
  206. ARM9:0201DF46 CA 02 CA 02+                DCW spd_iv - (off_201DF46+2), is_egg - (off_201DF46+2)
  207. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  208. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  209. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  210. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  211. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  212. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  213. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  214. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  215. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  216. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  217. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  218. ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  219. ARM9:0201DF46 CA 02 F2 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  220. ARM9:0201DF46 F6 02 26 03+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  221. ARM9:0201DF46 2C 03 30 03+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  222. ARM9:0201DF46 3A 03 3E 03+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
  223. ARM9:0201DF46 5E 03 C6 02+                DCW fateful_encounter - (off_201DF46+2), gender - (off_201DF46+2)
  224. ARM9:0201DF46 82 03 88 03+                DCW get_form_bits - (off_201DF46+2), nature - (off_201DF46+2)
  225. ARM9:0201DF46 8E 03 8E 03+                DCW has_dw_abil - (off_201DF46+2), get_unused_word - (off_201DF46+2)
  226. ARM9:0201DF46 8E 03 8E 03+                DCW poke_curr_name - (off_201DF46+2), nickname - (off_201DF46+2)
  227. ARM9:0201DF46 8E 03 8E 03+                DCW is_nicknamed - (off_201DF46+2), loc_201E2CA - (off_201DF46+2)
  228. ARM9:0201DF46 8E 03 8E 03+                DCW origin_game - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  229. ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  230. ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  231. ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  232. ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  233. ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  234. ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  235. ARM9:0201DF46 8E 03 BA 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  236. ARM9:0201DF46 BE 03 C4 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  237. ARM9:0201DF46 C8 03 CC 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  238. ARM9:0201DF46 D0 03 D4 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
  239. ARM9:0201DF46 D8 03 DC 03+                DCW ot_name_in - (off_201DF46+2), ot_name_out - (off_201DF46+2)
  240. ARM9:0201DF46 E0 03 E4 03+                DCW met_year - (off_201DF46+2), met_month - (off_201DF46+2)
  241. ARM9:0201DF46 E8 03 EC 03+                DCW met_day - (off_201DF46+2), egg_year - (off_201DF46+2)
  242. ARM9:0201DF46 F4 03 FA 03+                DCW egg_month - (off_201DF46+2), egg_day - (off_201DF46+2)
  243. ARM9:0201DF46 FE 03 66 01+                DCW catch_location - (off_201DF46+2), loc_201E328 - (off_201DF46+2)
  244. ARM9:0201DF46 B8 01 66 01+                DCW pokerus - (off_201DF46+2), poke_ball - (off_201DF46+2)
  245. ARM9:0201DF46 66 01 66 01+                DCW met_level - (off_201DF46+2), ot_gender - (off_201DF46+2)
  246. ARM9:0201DF46 66 01 66 01+                DCW loc_201E342 - (off_201DF46+2), loc_201E346 - (off_201DF46+2)
  247. ARM9:0201DF46 66 01 66 01+                DCW default_ret_0 - (off_201DF46+2), level - (off_201DF46+2)
  248. ARM9:0201DF46 66 01 66 01+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
  249. ARM9:0201DF46 66 01 84 01+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
  250. ARM9:0201DF46 92 01 9C 01+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
  251. ARM9:0201DF46 02 04 34 04+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
  252. ARM9:0201DF46 4A 04 4A 04+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
  253. ARM9:0201DF46 66 01 66 01+                DCW is_slot_filled - (off_201DF46+2), is_egg_both_sanity_bits - (off_201DF46+2)
  254. ARM9:0201DF46 34 03 72 04                 DCW get_species_if_filled_slot_is_egg - (off_201DF46+2)
  255. ARM9:0201DF46                             DCW getIVsAsInt_no_isegg_no_isnick - (off_201DF46+2), is_species_NOT_nidoFM - (off_201DF46+2)
  256. ARM9:0201DF46                             DCW pkm_type - (off_201DF46+2), pkm_type - (off_201DF46+2)
  257. ARM9:0201DF46                             DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
  258. ARM9:0201DF46                             DCW N_poke - (off_201DF46+2), loc_201E3BA - (off_201DF46+2)
  259. ARM9:0201E0AE             ; ---------------------------------------------------------------------------
  260. ARM9:0201E0AE
  261. ARM9:0201E0AE             default_ret_0                           ; CODE XREF: readPkmBoxData+44j
  262. ARM9:0201E0AE                                                     ; readPkmBoxData+50j
  263. ARM9:0201E0AE                                                     ; readPkmBoxData+232j
  264. ARM9:0201E0AE                                                     ; readPkmBoxData+498j
  265. ARM9:0201E0AE                                                     ; DATA XREF: ...
  266. ARM9:0201E0AE 00 24                       MOVS    R4, #0          ; jumptable 0201DF44 cases 157,159-168,176,177
  267. ARM9:0201E0B0 84 E1                       B       ret
  268. ARM9:0201E0B2             ; ---------------------------------------------------------------------------
  269. ARM9:0201E0B2
  270. ARM9:0201E0B2             pid                                     ; CODE XREF: readPkmBoxData+50j
  271. ARM9:0201E0B2                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  272. ARM9:0201E0B2 3C 68                       LDR     R4, [R7]        ; jumptable 0201DF44 case 0
  273. ARM9:0201E0B4 82 E1                       B       ret
  274. ARM9:0201E0B6             ; ---------------------------------------------------------------------------
  275. ARM9:0201E0B6
  276. ARM9:0201E0B6             party_pkm_already_decrypted             ; CODE XREF: readPkmBoxData+50j
  277. ARM9:0201E0B6                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  278. ARM9:0201E0B6 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 1
  279. ARM9:0201E0B8
  280. ARM9:0201E0B8             loc_201E0B8                             ; CODE XREF: readPkmBoxData+348j
  281. ARM9:0201E0B8                                                     ; readPkmBoxData+386j
  282. ARM9:0201E0B8 C0 07                       LSLS    R0, R0, #0x1F
  283. ARM9:0201E0BA
  284. ARM9:0201E0BA             loc_201E0BA                             ; CODE XREF: readPkmBoxData+1D2j
  285. ARM9:0201E0BA                                                     ; readPkmBoxData+318j
  286. ARM9:0201E0BA                                                     ; readPkmBoxData+31Cj
  287. ARM9:0201E0BA                                                     ; readPkmBoxData+38Cj ...
  288. ARM9:0201E0BA C4 0F                       LSRS    R4, R0, #0x1F
  289. ARM9:0201E0BC 7E E1                       B       ret
  290. ARM9:0201E0BE             ; ---------------------------------------------------------------------------
  291. ARM9:0201E0BE
  292. ARM9:0201E0BE             box_pkm_already_decrypted               ; CODE XREF: readPkmBoxData+50j
  293. ARM9:0201E0BE                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  294. ARM9:0201E0BE B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 2
  295. ARM9:0201E0C0 DD E0                       B       loc_201E27E
  296. ARM9:0201E0C2             ; ---------------------------------------------------------------------------
  297. ARM9:0201E0C2
  298. ARM9:0201E0C2             is_species_egg                          ; CODE XREF: readPkmBoxData+50j
  299. ARM9:0201E0C2                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  300. ARM9:0201E0C2 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 3
  301. ARM9:0201E0C4 40 07                       LSLS    R0, R0, #0x1D
  302. ARM9:0201E0C6 F8 E7                       B       loc_201E0BA
  303. ARM9:0201E0C8             ; ---------------------------------------------------------------------------
  304. ARM9:0201E0C8
  305. ARM9:0201E0C8             checksum                                ; CODE XREF: readPkmBoxData+50j
  306. ARM9:0201E0C8                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  307. ARM9:0201E0C8 FC 88                       LDRH    R4, [R7,#6]     ; jumptable 0201DF44 case 4
  308. ARM9:0201E0CA 77 E1                       B       ret
  309. ARM9:0201E0CC             ; ---------------------------------------------------------------------------
  310. ARM9:0201E0CC
  311. ARM9:0201E0CC             is_slot_filled                          ; CODE XREF: readPkmBoxData+50j
  312. ARM9:0201E0CC                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  313. ARM9:0201E0CC 28 88                       LDRH    R0, [R5]        ; jumptable 0201DF44 case 169
  314. ARM9:0201E0CE 00 28                       CMP     R0, #0
  315. ARM9:0201E0D0 01 D1                       BNE     loc_201E0D6
  316. ARM9:0201E0D2 00 20                       MOVS    R0, #0
  317. ARM9:0201E0D4 02 90                       STR     R0, [SP,#0x28+num]
  318. ARM9:0201E0D6
  319. ARM9:0201E0D6             loc_201E0D6                             ; CODE XREF: readPkmBoxData+1DCj
  320. ARM9:0201E0D6                                                     ; readPkmBoxData:loc_201E196j
  321. ARM9:0201E0D6                                                     ; readPkmBoxData:loc_201E238j
  322. ARM9:0201E0D6                                                     ; readPkmBoxData:loc_201E300j
  323. ARM9:0201E0D6 02 9C                       LDR     R4, [SP,#0x28+num]
  324. ARM9:0201E0D8 70 E1                       B       ret
  325. ARM9:0201E0DA             ; ---------------------------------------------------------------------------
  326. ARM9:0201E0DA
  327. ARM9:0201E0DA             is_egg_both_sanity_bits                 ; CODE XREF: readPkmBoxData+50j
  328. ARM9:0201E0DA                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  329. ARM9:0201E0DA B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 170
  330. ARM9:0201E0DC 40 07                       LSLS    R0, R0, #0x1D
  331. ARM9:0201E0DE C4 0F                       LSRS    R4, R0, #0x1F   ; if bit 2(starting at 0) is not set, then the pokemon is not an egg.  if it is, return species 28A(egg).
  332. ARM9:0201E0E0 0B D1                       BNE     loc_201E0FA
  333. ARM9:0201E0E2 91 E0                       B       loc_201E208
  334. ARM9:0201E0E4             ; ---------------------------------------------------------------------------
  335. ARM9:0201E0E4
  336. ARM9:0201E0E4             get_species_if_filled_slot_is_egg       ; CODE XREF: readPkmBoxData+50j
  337. ARM9:0201E0E4                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  338. ARM9:0201E0E4 2C 88                       LDRH    R4, [R5]        ; jumptable 0201DF44 case 171
  339. ARM9:0201E0E6 00 2C                       CMP     R4, #0
  340. ARM9:0201E0E8 07 D0                       BEQ     loc_201E0FA
  341. ARM9:0201E0EA 30 69                       LDR     R0, [R6,#0x10]
  342. ARM9:0201E0EC 40 00                       LSLS    R0, R0, #1
  343. ARM9:0201E0EE C0 0F                       LSRS    R0, R0, #0x1F   ; this loads the isEgg bit
  344. ARM9:0201E0F0 04 D1                       BNE     egg_species
  345. ARM9:0201E0F2 B8 88                       LDRH    R0, [R7,#4]
  346. ARM9:0201E0F4 40 07                       LSLS    R0, R0, #0x1D
  347. ARM9:0201E0F6 C0 0F                       LSRS    R0, R0, #0x1F   ; if bit 2(starting at 0) is not set, then the pokemon is not an egg.  if it is, return species 28A(egg).
  348. ARM9:0201E0F8 00 D1                       BNE     egg_species
  349. ARM9:0201E0FA
  350. ARM9:0201E0FA             loc_201E0FA                             ; CODE XREF: readPkmBoxData+1ECj
  351. ARM9:0201E0FA                                                     ; readPkmBoxData+1F4j
  352. ARM9:0201E0FA 5F E1                       B       ret
  353. ARM9:0201E0FC             ; ---------------------------------------------------------------------------
  354. ARM9:0201E0FC
  355. ARM9:0201E0FC             egg_species                             ; CODE XREF: readPkmBoxData+1FCj
  356. ARM9:0201E0FC                                                     ; readPkmBoxData+204j
  357. ARM9:0201E0FC                                                     ; readPkmBoxData+224j
  358. ARM9:0201E0FC B1 4C                       LDR     R4, =0x28A
  359. ARM9:0201E0FE 5D E1                       B       ret
  360. ARM9:0201E100             ; ---------------------------------------------------------------------------
  361. ARM9:0201E100
  362. ARM9:0201E100             level                                   ; CODE XREF: readPkmBoxData+50j
  363. ARM9:0201E100                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  364. ARM9:0201E100 31 7E                       LDRB    R1, [R6,#0x18]  ; jumptable 0201DF44 case 158
  365. ARM9:0201E102 28 88                       LDRH    R0, [R5]        ; species
  366. ARM9:0201E104 AA 68                       LDR     R2, [R5,#8]     ; experience
  367. ARM9:0201E106 09 06                       LSLS    R1, R1, #0x18
  368. ARM9:0201E108 C9 0E                       LSRS    R1, R1, #0x1B
  369. ARM9:0201E10A FF F7 2D FA                 BL      getLvBasedOnExp
  370. ARM9:0201E10E 61 E0                       B       loc_201E1D4
  371. ARM9:0201E110             ; ---------------------------------------------------------------------------
  372. ARM9:0201E110
  373. ARM9:0201E110             species                                 ; CODE XREF: readPkmBoxData+50j
  374. ARM9:0201E110                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  375. ARM9:0201E110 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 5
  376. ARM9:0201E112 40 07                       LSLS    R0, R0, #0x1D   ; this is the species check for getPkmStat. +4 is the "unused" short
  377. ARM9:0201E114 C0 0F                       LSRS    R0, R0, #0x1F   ; if bit 2(starting at 0) is not set, then the pokemon is not an egg.  if it is, return species 28A(egg).
  378. ARM9:0201E116 00 D0                       BEQ     load_species
  379. ARM9:0201E118 F0 E7                       B       egg_species
  380. ARM9:0201E11A             ; ---------------------------------------------------------------------------
  381. ARM9:0201E11A
  382. ARM9:0201E11A             load_species                            ; CODE XREF: readPkmBoxData+222j
  383. ARM9:0201E11A 2C 88                       LDRH    R4, [R5]
  384. ARM9:0201E11C 4E E1                       B       ret
  385. ARM9:0201E11E             ; ---------------------------------------------------------------------------
  386. ARM9:0201E11E
  387. ARM9:0201E11E             item                                    ; CODE XREF: readPkmBoxData+50j
  388. ARM9:0201E11E                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  389. ARM9:0201E11E 6C 88                       LDRH    R4, [R5,#2]     ; jumptable 0201DF44 case 6
  390. ARM9:0201E120 A9 48                       LDR     R0, =0x27E      ; is reflecting glass, last item
  391. ARM9:0201E122 84 42                       CMP     R4, R0
  392. ARM9:0201E124 6F D9                       BLS     loc_201E206
  393. ARM9:0201E126 C2 E7                       B       default_ret_0   ; jumptable 0201DF44 cases 157,159-168,176,177
  394. ARM9:0201E128             ; ---------------------------------------------------------------------------
  395. ARM9:0201E128
  396. ARM9:0201E128             sid_tid                                 ; CODE XREF: readPkmBoxData+50j
  397. ARM9:0201E128                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  398. ARM9:0201E128 6C 68                       LDR     R4, [R5,#4]     ; jumptable 0201DF44 case 7
  399. ARM9:0201E12A 47 E1                       B       ret
  400. ARM9:0201E12C             ; ---------------------------------------------------------------------------
  401. ARM9:0201E12C
  402. ARM9:0201E12C             exp                                     ; CODE XREF: readPkmBoxData+50j
  403. ARM9:0201E12C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  404. ARM9:0201E12C AC 68                       LDR     R4, [R5,#8]     ; jumptable 0201DF44 case 8
  405. ARM9:0201E12E 45 E1                       B       ret
  406. ARM9:0201E130             ; ---------------------------------------------------------------------------
  407. ARM9:0201E130
  408. ARM9:0201E130             happiness                               ; CODE XREF: readPkmBoxData+50j
  409. ARM9:0201E130                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  410. ARM9:0201E130 2C 7B                       LDRB    R4, [R5,#0xC]   ; jumptable 0201DF44 case 9
  411. ARM9:0201E132 43 E1                       B       ret
  412. ARM9:0201E134             ; ---------------------------------------------------------------------------
  413. ARM9:0201E134
  414. ARM9:0201E134             ability                                 ; CODE XREF: readPkmBoxData+50j
  415. ARM9:0201E134                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  416. ARM9:0201E134 6C 7B                       LDRB    R4, [R5,#0xD]   ; jumptable 0201DF44 case 10
  417. ARM9:0201E136 41 E1                       B       ret
  418. ARM9:0201E138             ; ---------------------------------------------------------------------------
  419. ARM9:0201E138
  420. ARM9:0201E138             markings                                ; CODE XREF: readPkmBoxData+50j
  421. ARM9:0201E138                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  422. ARM9:0201E138 AC 7B                       LDRB    R4, [R5,#0xE]   ; jumptable 0201DF44 case 11
  423. ARM9:0201E13A 3F E1                       B       ret
  424. ARM9:0201E13C             ; ---------------------------------------------------------------------------
  425. ARM9:0201E13C
  426. ARM9:0201E13C             region                                  ; CODE XREF: readPkmBoxData+50j
  427. ARM9:0201E13C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  428. ARM9:0201E13C EC 7B                       LDRB    R4, [R5,#0xF]   ; jumptable 0201DF44 case 12
  429. ARM9:0201E13E 3D E1                       B       ret
  430. ARM9:0201E140             ; ---------------------------------------------------------------------------
  431. ARM9:0201E140
  432. ARM9:0201E140             HP_EV                                   ; CODE XREF: readPkmBoxData+50j
  433. ARM9:0201E140                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  434. ARM9:0201E140 2C 7C                       LDRB    R4, [R5,#0x10]  ; jumptable 0201DF44 case 13
  435. ARM9:0201E142 3B E1                       B       ret
  436. ARM9:0201E144             ; ---------------------------------------------------------------------------
  437. ARM9:0201E144
  438. ARM9:0201E144             ATK_EV                                  ; CODE XREF: readPkmBoxData+50j
  439. ARM9:0201E144                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  440. ARM9:0201E144 6C 7C                       LDRB    R4, [R5,#0x11]  ; jumptable 0201DF44 case 14
  441. ARM9:0201E146 39 E1                       B       ret
  442. ARM9:0201E148             ; ---------------------------------------------------------------------------
  443. ARM9:0201E148
  444. ARM9:0201E148             DEF_EV                                  ; CODE XREF: readPkmBoxData+50j
  445. ARM9:0201E148                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  446. ARM9:0201E148 AC 7C                       LDRB    R4, [R5,#0x12]  ; jumptable 0201DF44 case 15
  447. ARM9:0201E14A 37 E1                       B       ret
  448. ARM9:0201E14C             ; ---------------------------------------------------------------------------
  449. ARM9:0201E14C
  450. ARM9:0201E14C             SPE_EV                                  ; CODE XREF: readPkmBoxData+50j
  451. ARM9:0201E14C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  452. ARM9:0201E14C EC 7C                       LDRB    R4, [R5,#0x13]  ; jumptable 0201DF44 case 16
  453. ARM9:0201E14E 35 E1                       B       ret
  454. ARM9:0201E150             ; ---------------------------------------------------------------------------
  455. ARM9:0201E150
  456. ARM9:0201E150             SPA_EV                                  ; CODE XREF: readPkmBoxData+50j
  457. ARM9:0201E150                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  458. ARM9:0201E150 2C 7D                       LDRB    R4, [R5,#0x14]  ; jumptable 0201DF44 case 17
  459. ARM9:0201E152 33 E1                       B       ret
  460. ARM9:0201E154             ; ---------------------------------------------------------------------------
  461. ARM9:0201E154
  462. ARM9:0201E154             SPD_EV                                  ; CODE XREF: readPkmBoxData+50j
  463. ARM9:0201E154                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  464. ARM9:0201E154 6C 7D                       LDRB    R4, [R5,#0x15]  ; jumptable 0201DF44 case 18
  465. ARM9:0201E156 31 E1                       B       ret
  466. ARM9:0201E158             ; ---------------------------------------------------------------------------
  467. ARM9:0201E158
  468. ARM9:0201E158             cool_contest                            ; CODE XREF: readPkmBoxData+50j
  469. ARM9:0201E158                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  470. ARM9:0201E158 AC 7D                       LDRB    R4, [R5,#0x16]  ; jumptable 0201DF44 case 19
  471. ARM9:0201E15A 2F E1                       B       ret
  472. ARM9:0201E15C             ; ---------------------------------------------------------------------------
  473. ARM9:0201E15C
  474. ARM9:0201E15C             beauty_contest                          ; CODE XREF: readPkmBoxData+50j
  475. ARM9:0201E15C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  476. ARM9:0201E15C EC 7D                       LDRB    R4, [R5,#0x17]  ; jumptable 0201DF44 case 20
  477. ARM9:0201E15E 2D E1                       B       ret
  478. ARM9:0201E160             ; ---------------------------------------------------------------------------
  479. ARM9:0201E160
  480. ARM9:0201E160             cute_contest                            ; CODE XREF: readPkmBoxData+50j
  481. ARM9:0201E160                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  482. ARM9:0201E160 2C 7E                       LDRB    R4, [R5,#0x18]  ; jumptable 0201DF44 case 21
  483. ARM9:0201E162 2B E1                       B       ret
  484. ARM9:0201E164             ; ---------------------------------------------------------------------------
  485. ARM9:0201E164
  486. ARM9:0201E164             smart_contest                           ; CODE XREF: readPkmBoxData+50j
  487. ARM9:0201E164                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  488. ARM9:0201E164 6C 7E                       LDRB    R4, [R5,#0x19]  ; jumptable 0201DF44 case 22
  489. ARM9:0201E166 29 E1                       B       ret
  490. ARM9:0201E168             ; ---------------------------------------------------------------------------
  491. ARM9:0201E168
  492. ARM9:0201E168             tough_contest                           ; CODE XREF: readPkmBoxData+50j
  493. ARM9:0201E168                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  494. ARM9:0201E168 AC 7E                       LDRB    R4, [R5,#0x1A]  ; jumptable 0201DF44 case 23
  495. ARM9:0201E16A 27 E1                       B       ret
  496. ARM9:0201E16C             ; ---------------------------------------------------------------------------
  497. ARM9:0201E16C
  498. ARM9:0201E16C             sheen_contest                           ; CODE XREF: readPkmBoxData+50j
  499. ARM9:0201E16C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  500. ARM9:0201E16C EC 7E                       LDRB    R4, [R5,#0x1B]  ; jumptable 0201DF44 case 24
  501. ARM9:0201E16E 25 E1                       B       ret
  502. ARM9:0201E170             ; ---------------------------------------------------------------------------
  503. ARM9:0201E170
  504. ARM9:0201E170             sinnoh_ribbons                          ; CODE XREF: readPkmBoxData+50j
  505. ARM9:0201E170                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  506. ARM9:0201E170 00 9A                       LDR     R2, [SP,#0x28+field] ; jumptable 0201DF44 cases 25-53
  507. ARM9:0201E172 02 98                       LDR     R0, [SP,#0x28+num] ; num
  508. ARM9:0201E174 19 3A                       SUBS    R2, #0x19       ; shift
  509. ARM9:0201E176 00 21                       MOVS    R1, #0
  510. ARM9:0201E178 00 92                       STR     R2, [SP,#0x28+field]
  511. ARM9:0201E17A 6F F0 6E EA                 BLX     lshift64
  512. ARM9:0201E17E EB 69                       LDR     R3, [R5,#0x1C]
  513. ARM9:0201E180 00 22                       MOVS    R2, #0
  514. ARM9:0201E182 0A 40                       ANDS    R2, R1
  515. ARM9:0201E184 03 40                       ANDS    R3, R0
  516. ARM9:0201E186 00 21                       MOVS    R1, #0
  517. ARM9:0201E188 00 20                       MOVS    R0, #0
  518. ARM9:0201E18A 51 40                       EORS    R1, R2
  519. ARM9:0201E18C 58 40                       EORS    R0, R3
  520. ARM9:0201E18E 08 43                       ORRS    R0, R1
  521. ARM9:0201E190 01 D1                       BNE     loc_201E196
  522. ARM9:0201E192 00 20                       MOVS    R0, #0
  523. ARM9:0201E194 02 90                       STR     R0, [SP,#0x28+num]
  524. ARM9:0201E196
  525. ARM9:0201E196             loc_201E196                             ; CODE XREF: readPkmBoxData+29Cj
  526. ARM9:0201E196 9E E7                       B       loc_201E0D6
  527. ARM9:0201E198             ; ---------------------------------------------------------------------------
  528. ARM9:0201E198
  529. ARM9:0201E198             moves                                   ; CODE XREF: readPkmBoxData+50j
  530. ARM9:0201E198                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  531. ARM9:0201E198 00 98                       LDR     R0, [SP,#0x28+field] ; jumptable 0201DF44 cases 54-57
  532. ARM9:0201E19A 36 38                       SUBS    R0, #0x36 ; '6'
  533. ARM9:0201E19C 00 90                       STR     R0, [SP,#0x28+field]
  534. ARM9:0201E19E 40 00                       LSLS    R0, R0, #1
  535. ARM9:0201E1A0 34 5A                       LDRH    R4, [R6,R0]
  536. ARM9:0201E1A2 0B E1                       B       ret
  537. ARM9:0201E1A4             ; ---------------------------------------------------------------------------
  538. ARM9:0201E1A4
  539. ARM9:0201E1A4             move_cur_pp                             ; CODE XREF: readPkmBoxData+50j
  540. ARM9:0201E1A4                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  541. ARM9:0201E1A4 00 98                       LDR     R0, [SP,#0x28+field] ; jumptable 0201DF44 cases 58-61
  542. ARM9:0201E1A6 3A 38                       SUBS    R0, #0x3A ; ':'
  543. ARM9:0201E1A8 00 90                       STR     R0, [SP,#0x28+field]
  544. ARM9:0201E1AA 30 18                       ADDS    R0, R6, R0
  545. ARM9:0201E1AC 04 7A                       LDRB    R4, [R0,#8]
  546. ARM9:0201E1AE 05 E1                       B       ret
  547. ARM9:0201E1B0             ; ---------------------------------------------------------------------------
  548. ARM9:0201E1B0
  549. ARM9:0201E1B0             move_ppup_count                         ; CODE XREF: readPkmBoxData+50j
  550. ARM9:0201E1B0                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  551. ARM9:0201E1B0 00 98                       LDR     R0, [SP,#0x28+field] ; jumptable 0201DF44 cases 62-65
  552. ARM9:0201E1B2 3E 38                       SUBS    R0, #0x3E ; '>'
  553. ARM9:0201E1B4 00 90                       STR     R0, [SP,#0x28+field]
  554. ARM9:0201E1B6 30 18                       ADDS    R0, R6, R0
  555. ARM9:0201E1B8 04 7B                       LDRB    R4, [R0,#0xC]
  556. ARM9:0201E1BA FF E0                       B       ret
  557. ARM9:0201E1BC             ; ---------------------------------------------------------------------------
  558. ARM9:0201E1BC
  559. ARM9:0201E1BC             move_max_pp                             ; CODE XREF: readPkmBoxData+50j
  560. ARM9:0201E1BC                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  561. ARM9:0201E1BC 00 98                       LDR     R0, [SP,#0x28+field] ; jumptable 0201DF44 cases 66-69
  562. ARM9:0201E1BE 42 38                       SUBS    R0, #0x42 ; 'B'
  563. ARM9:0201E1C0 00 90                       STR     R0, [SP,#0x28+field]
  564. ARM9:0201E1C2 40 00                       LSLS    R0, R0, #1
  565. ARM9:0201E1C4 30 5A                       LDRH    R0, [R6,R0]
  566. ARM9:0201E1C6 00 28                       CMP     R0, #0
  567. ARM9:0201E1C8 1D D0                       BEQ     loc_201E206
  568. ARM9:0201E1CA 00 99                       LDR     R1, [SP,#0x28+field]
  569. ARM9:0201E1CC 71 18                       ADDS    R1, R6, R1
  570. ARM9:0201E1CE 09 7B                       LDRB    R1, [R1,#0xC]
  571. ARM9:0201E1D0 03 F0 84 FA                 BL      getMoveTotalPPWithPPUps
  572. ARM9:0201E1D4
  573. ARM9:0201E1D4             loc_201E1D4                             ; CODE XREF: readPkmBoxData+21Aj
  574. ARM9:0201E1D4                                                     ; readPkmBoxData+4B2j
  575. ARM9:0201E1D4                                                     ; readPkmBoxData+4C4j
  576. ARM9:0201E1D4 04 1C                       MOVS    R4, R0
  577. ARM9:0201E1D6 F1 E0                       B       ret
  578. ARM9:0201E1D8             ; ---------------------------------------------------------------------------
  579. ARM9:0201E1D8
  580. ARM9:0201E1D8             hp_iv                                   ; CODE XREF: readPkmBoxData+50j
  581. ARM9:0201E1D8                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  582. ARM9:0201E1D8 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 70
  583. ARM9:0201E1DA C0 06                       LSLS    R0, R0, #0x1B
  584. ARM9:0201E1DC
  585. ARM9:0201E1DC             loc_201E1DC                             ; CODE XREF: readPkmBoxData+2F0j
  586. ARM9:0201E1DC                                                     ; readPkmBoxData+2F6j
  587. ARM9:0201E1DC                                                     ; readPkmBoxData+2FCj
  588. ARM9:0201E1DC                                                     ; readPkmBoxData+302j ...
  589. ARM9:0201E1DC C4 0E                       LSRS    R4, R0, #0x1B
  590. ARM9:0201E1DE ED E0                       B       ret
  591. ARM9:0201E1E0             ; ---------------------------------------------------------------------------
  592. ARM9:0201E1E0
  593. ARM9:0201E1E0             atk_iv                                  ; CODE XREF: readPkmBoxData+50j
  594. ARM9:0201E1E0                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  595. ARM9:0201E1E0 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 71
  596. ARM9:0201E1E2 80 05                       LSLS    R0, R0, #0x16
  597. ARM9:0201E1E4 FA E7                       B       loc_201E1DC
  598. ARM9:0201E1E6             ; ---------------------------------------------------------------------------
  599. ARM9:0201E1E6
  600. ARM9:0201E1E6             def_iv                                  ; CODE XREF: readPkmBoxData+50j
  601. ARM9:0201E1E6                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  602. ARM9:0201E1E6 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 72
  603. ARM9:0201E1E8 40 04                       LSLS    R0, R0, #0x11
  604. ARM9:0201E1EA F7 E7                       B       loc_201E1DC
  605. ARM9:0201E1EC             ; ---------------------------------------------------------------------------
  606. ARM9:0201E1EC
  607. ARM9:0201E1EC             spe_iv                                  ; CODE XREF: readPkmBoxData+50j
  608. ARM9:0201E1EC                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  609. ARM9:0201E1EC 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 73
  610. ARM9:0201E1EE 00 03                       LSLS    R0, R0, #0xC
  611. ARM9:0201E1F0 F4 E7                       B       loc_201E1DC
  612. ARM9:0201E1F2             ; ---------------------------------------------------------------------------
  613. ARM9:0201E1F2
  614. ARM9:0201E1F2             spa_iv                                  ; CODE XREF: readPkmBoxData+50j
  615. ARM9:0201E1F2                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  616. ARM9:0201E1F2 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 74
  617. ARM9:0201E1F4 C0 01                       LSLS    R0, R0, #7
  618. ARM9:0201E1F6 F1 E7                       B       loc_201E1DC
  619. ARM9:0201E1F8             ; ---------------------------------------------------------------------------
  620. ARM9:0201E1F8
  621. ARM9:0201E1F8             spd_iv                                  ; CODE XREF: readPkmBoxData+50j
  622. ARM9:0201E1F8                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  623. ARM9:0201E1F8 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 75
  624. ARM9:0201E1FA 80 00                       LSLS    R0, R0, #2
  625. ARM9:0201E1FC EE E7                       B       loc_201E1DC
  626. ARM9:0201E1FE             ; ---------------------------------------------------------------------------
  627. ARM9:0201E1FE
  628. ARM9:0201E1FE             is_egg                                  ; CODE XREF: readPkmBoxData+50j
  629. ARM9:0201E1FE                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  630. ARM9:0201E1FE B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 76
  631. ARM9:0201E200 40 07                       LSLS    R0, R0, #0x1D
  632. ARM9:0201E202 C4 0F                       LSRS    R4, R0, #0x1F
  633. ARM9:0201E204 00 D0                       BEQ     loc_201E208
  634. ARM9:0201E206
  635. ARM9:0201E206             loc_201E206                             ; CODE XREF: readPkmBoxData+230j
  636. ARM9:0201E206                                                     ; readPkmBoxData+2D4j
  637. ARM9:0201E206 D9 E0                       B       ret
  638. ARM9:0201E208             ; ---------------------------------------------------------------------------
  639. ARM9:0201E208
  640. ARM9:0201E208             loc_201E208                             ; CODE XREF: readPkmBoxData+1EEj
  641. ARM9:0201E208                                                     ; readPkmBoxData+310j
  642. ARM9:0201E208 30 69                       LDR     R0, [R6,#0x10]
  643. ARM9:0201E20A 40 00                       LSLS    R0, R0, #1
  644. ARM9:0201E20C 55 E7                       B       loc_201E0BA
  645. ARM9:0201E20E             ; ---------------------------------------------------------------------------
  646. ARM9:0201E20E
  647. ARM9:0201E20E             is_nicknamed                            ; CODE XREF: readPkmBoxData+50j
  648. ARM9:0201E20E                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  649. ARM9:0201E20E 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 117
  650. ARM9:0201E210 53 E7                       B       loc_201E0BA
  651. ARM9:0201E212             ; ---------------------------------------------------------------------------
  652. ARM9:0201E212
  653. ARM9:0201E212             hoenn_unova_ribbons                     ; CODE XREF: readPkmBoxData+50j
  654. ARM9:0201E212                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  655. ARM9:0201E212 00 9A                       LDR     R2, [SP,#0x28+field] ; jumptable 0201DF44 cases 77-108
  656. ARM9:0201E214 02 98                       LDR     R0, [SP,#0x28+num] ; num
  657. ARM9:0201E216 4D 3A                       SUBS    R2, #0x4D ; 'M' ; shift
  658. ARM9:0201E218 00 21                       MOVS    R1, #0
  659. ARM9:0201E21A 00 92                       STR     R2, [SP,#0x28+field]
  660. ARM9:0201E21C 6F F0 1C EA                 BLX     lshift64
  661. ARM9:0201E220 73 69                       LDR     R3, [R6,#0x14]
  662. ARM9:0201E222 00 22                       MOVS    R2, #0
  663. ARM9:0201E224 0A 40                       ANDS    R2, R1
  664. ARM9:0201E226 03 40                       ANDS    R3, R0
  665. ARM9:0201E228 00 21                       MOVS    R1, #0
  666. ARM9:0201E22A 00 20                       MOVS    R0, #0
  667. ARM9:0201E22C 51 40                       EORS    R1, R2
  668. ARM9:0201E22E 58 40                       EORS    R0, R3
  669. ARM9:0201E230 08 43                       ORRS    R0, R1
  670. ARM9:0201E232 01 D1                       BNE     loc_201E238
  671. ARM9:0201E234 00 20                       MOVS    R0, #0
  672. ARM9:0201E236 02 90                       STR     R0, [SP,#0x28+num]
  673. ARM9:0201E238
  674. ARM9:0201E238             loc_201E238                             ; CODE XREF: readPkmBoxData+33Ej
  675. ARM9:0201E238 4D E7                       B       loc_201E0D6
  676. ARM9:0201E23A             ; ---------------------------------------------------------------------------
  677. ARM9:0201E23A
  678. ARM9:0201E23A             fateful_encounter                       ; CODE XREF: readPkmBoxData+50j
  679. ARM9:0201E23A                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  680. ARM9:0201E23A 30 7E                       LDRB    R0, [R6,#0x18]  ; jumptable 0201DF44 case 109
  681. ARM9:0201E23C 3C E7                       B       loc_201E0B8     ; lowest bit is form
  682. ARM9:0201E23E             ; ---------------------------------------------------------------------------
  683. ARM9:0201E23E
  684. ARM9:0201E23E             gender                                  ; CODE XREF: readPkmBoxData+50j
  685. ARM9:0201E23E                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  686. ARM9:0201E23E 31 7E                       LDRB    R1, [R6,#0x18]  ; jumptable 0201DF44 case 110
  687. ARM9:0201E240 28 88                       LDRH    R0, [R5]        ; species
  688. ARM9:0201E242 3A 68                       LDR     R2, [R7]        ; pid
  689. ARM9:0201E244 09 06                       LSLS    R1, R1, #0x18
  690. ARM9:0201E246 C9 0E                       LSRS    R1, R1, #0x1B
  691. ARM9:0201E248 FE F7 72 FE                 BL      reduceGenderType
  692. ARM9:0201E24C 04 1C                       MOVS    R4, R0
  693. ARM9:0201E24E 30 7E                       LDRB    R0, [R6,#0x18]
  694. ARM9:0201E250 06 21                       MOVS    R1, #6
  695. ARM9:0201E252 88 43                       BICS    R0, R1
  696. ARM9:0201E254 21 06                       LSLS    R1, R4, #0x18
  697. ARM9:0201E256 09 0E                       LSRS    R1, R1, #0x18
  698. ARM9:0201E258 89 07                       LSLS    R1, R1, #0x1E
  699. ARM9:0201E25A 49 0F                       LSRS    R1, R1, #0x1D
  700. ARM9:0201E25C 08 43                       ORRS    R0, R1
  701. ARM9:0201E25E 30 76                       STRB    R0, [R6,#0x18]
  702. ARM9:0201E260 38 1C                       MOVS    R0, R7
  703. ARM9:0201E262 08 30                       ADDS    R0, #8          ; pPkm
  704. ARM9:0201E264 80 21                       MOVS    R1, #0x80 ; 'Ç' ; length
  705. ARM9:0201E266 00 F0 75 FD                 BL      generatePkmChecksum
  706. ARM9:0201E26A F8 80                       STRH    R0, [R7,#6]
  707. ARM9:0201E26C A6 E0                       B       ret
  708. ARM9:0201E26E             ; ---------------------------------------------------------------------------
  709. ARM9:0201E26E
  710. ARM9:0201E26E             get_form_bits                           ; CODE XREF: readPkmBoxData+50j
  711. ARM9:0201E26E                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  712. ARM9:0201E26E 30 7E                       LDRB    R0, [R6,#0x18]  ; jumptable 0201DF44 case 111
  713. ARM9:0201E270 00 06                       LSLS    R0, R0, #0x18
  714. ARM9:0201E272 B3 E7                       B       loc_201E1DC
  715. ARM9:0201E274             ; ---------------------------------------------------------------------------
  716. ARM9:0201E274
  717. ARM9:0201E274             nature                                  ; CODE XREF: readPkmBoxData+50j
  718. ARM9:0201E274                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  719. ARM9:0201E274 74 7E                       LDRB    R4, [R6,#0x19]  ; jumptable 0201DF44 case 112
  720. ARM9:0201E276 A1 E0                       B       ret
  721. ARM9:0201E278             ; ---------------------------------------------------------------------------
  722. ARM9:0201E278
  723. ARM9:0201E278             has_dw_abil                             ; CODE XREF: readPkmBoxData+50j
  724. ARM9:0201E278                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  725. ARM9:0201E278 70 8B                       LDRH    R0, [R6,#0x1A]  ; jumptable 0201DF44 case 113
  726. ARM9:0201E27A 1D E7                       B       loc_201E0B8
  727. ARM9:0201E27C             ; ---------------------------------------------------------------------------
  728. ARM9:0201E27C
  729. ARM9:0201E27C             N_poke                                  ; CODE XREF: readPkmBoxData+50j
  730. ARM9:0201E27C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  731. ARM9:0201E27C 70 8B                       LDRH    R0, [R6,#0x1A]  ; jumptable 0201DF44 case 178
  732. ARM9:0201E27E
  733. ARM9:0201E27E             loc_201E27E                             ; CODE XREF: readPkmBoxData+1CCj
  734. ARM9:0201E27E 80 07                       LSLS    R0, R0, #0x1E
  735. ARM9:0201E280 1B E7                       B       loc_201E0BA
  736. ARM9:0201E282             ; ---------------------------------------------------------------------------
  737. ARM9:0201E282
  738. ARM9:0201E282             get_unused_word                         ; CODE XREF: readPkmBoxData+50j
  739. ARM9:0201E282                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  740. ARM9:0201E282 F4 69                       LDR     R4, [R6,#0x1C]  ; jumptable 0201DF44 case 114
  741. ARM9:0201E284 9A E0                       B       ret
  742. ARM9:0201E286             ; ---------------------------------------------------------------------------
  743. ARM9:0201E286
  744. ARM9:0201E286             poke_curr_name                          ; CODE XREF: readPkmBoxData+50j
  745. ARM9:0201E286                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  746. ARM9:0201E286 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 115
  747. ARM9:0201E288 40 07                       LSLS    R0, R0, #0x1D   ; check if species is egg
  748. ARM9:0201E28A C0 0F                       LSRS    R0, R0, #0x1F
  749. ARM9:0201E28C 06 D0                       BEQ     loc_201E29C     ; if species is not egg, jump past
  750. ARM9:0201E28E 4F 48                       LDR     R0, =currentMsgdata
  751. ARM9:0201E290 4F 49                       LDR     R1, =0x28B      ; msgID
  752. ARM9:0201E292 00 68                       LDR     R0, [R0]        ; msgdata
  753. ARM9:0201E294 01 9A                       LDR     R2, [SP,#0x28+dest] ; subStrBuf
  754. ARM9:0201E296 2A F0 E5 FA                 BL      getTextFillStrbuf
  755. ARM9:0201E29A 8F E0                       B       ret
  756. ARM9:0201E29C             ; ---------------------------------------------------------------------------
  757. ARM9:0201E29C
  758. ARM9:0201E29C             loc_201E29C                             ; CODE XREF: readPkmBoxData+398j
  759. ARM9:0201E29C 01 98                       LDR     R0, [SP,#0x28+dest] ; dest
  760. ARM9:0201E29E 03 99                       LDR     R1, [SP,#0x28+num+4] ; src
  761. ARM9:0201E2A0
  762. ARM9:0201E2A0             loc_201E2A0                             ; CODE XREF: readPkmBoxData+410j
  763. ARM9:0201E2A0 2A F0 CE F9                 BL      wcharscpy
  764. ARM9:0201E2A4 8A E0                       B       ret
  765. ARM9:0201E2A6             ; ---------------------------------------------------------------------------
  766. ARM9:0201E2A6
  767. ARM9:0201E2A6             nickname                                ; CODE XREF: readPkmBoxData+50j
  768. ARM9:0201E2A6                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  769. ARM9:0201E2A6 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 116
  770. ARM9:0201E2A8 40 07                       LSLS    R0, R0, #0x1D
  771. ARM9:0201E2AA C0 0F                       LSRS    R0, R0, #0x1F   ; check to see if the species is egg
  772. ARM9:0201E2AC 07 D0                       BEQ     loc_201E2BE
  773. ARM9:0201E2AE 47 48                       LDR     R0, =currentMsgdata
  774. ARM9:0201E2B0 47 49                       LDR     R1, =0x28B      ; msgID
  775. ARM9:0201E2B2 00 68                       LDR     R0, [R0]        ; pMsgdata
  776. ARM9:0201E2B4 01 9A                       LDR     R2, [SP,#0x28+dest] ; strbuf
  777. ARM9:0201E2B6 0B 23                       MOVS    R3, #0xB        ; length
  778. ARM9:0201E2B8 2A F0 B0 FB                 BL      fillStrbufFromFile
  779. ARM9:0201E2BC 7E E0                       B       ret
  780. ARM9:0201E2BE             ; ---------------------------------------------------------------------------
  781. ARM9:0201E2BE
  782. ARM9:0201E2BE             loc_201E2BE                             ; CODE XREF: readPkmBoxData+3B8j
  783. ARM9:0201E2BE 03 98                       LDR     R0, [SP,#0x28+num+4] ; if it's not, skip to here
  784. ARM9:0201E2C0 01 99                       LDR     R1, [SP,#0x28+dest] ; pDest
  785. ARM9:0201E2C2 0B 22                       MOVS    R2, #0xB        ; length
  786. ARM9:0201E2C4
  787. ARM9:0201E2C4             loc_201E2C4                             ; CODE XREF: readPkmBoxData+416j
  788. ARM9:0201E2C4 06 F0 1C FC                 BL      wcharsncpy
  789. ARM9:0201E2C8 78 E0                       B       ret
  790. ARM9:0201E2CA             ; ---------------------------------------------------------------------------
  791. ARM9:0201E2CA
  792. ARM9:0201E2CA             loc_201E2CA                             ; CODE XREF: readPkmBoxData+50j
  793. ARM9:0201E2CA                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  794. ARM9:0201E2CA 03 98                       LDR     R0, [SP,#0x28+num+4] ; jumptable 0201DF44 case 118
  795. ARM9:0201E2CC 84 7D                       LDRB    R4, [R0,#0x16]
  796. ARM9:0201E2CE 75 E0                       B       ret
  797. ARM9:0201E2D0             ; ---------------------------------------------------------------------------
  798. ARM9:0201E2D0
  799. ARM9:0201E2D0             origin_game                             ; CODE XREF: readPkmBoxData+50j
  800. ARM9:0201E2D0                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  801. ARM9:0201E2D0 03 98                       LDR     R0, [SP,#0x28+num+4]
  802. ARM9:0201E2D2 C4 7D                       LDRB    R4, [R0,#0x17]
  803. ARM9:0201E2D4 72 E0                       B       ret
  804. ARM9:0201E2D6             ; ---------------------------------------------------------------------------
  805. ARM9:0201E2D6
  806. ARM9:0201E2D6             sinnoh_contest_ribbons                  ; CODE XREF: readPkmBoxData+50j
  807. ARM9:0201E2D6                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  808. ARM9:0201E2D6 00 9A                       LDR     R2, [SP,#0x28+field] ; jumptable 0201DF44 cases 120-140
  809. ARM9:0201E2D8 02 98                       LDR     R0, [SP,#0x28+num]
  810. ARM9:0201E2DA 78 3A                       SUBS    R2, #0x78 ; 'x' ; shift
  811. ARM9:0201E2DC 00 21                       MOVS    R1, #0
  812. ARM9:0201E2DE 00 92                       STR     R2, [SP,#0x28+field]
  813. ARM9:0201E2E0 6F F0 BA E9                 BLX     lshift64
  814. ARM9:0201E2E4 03 9A                       LDR     R2, [SP,#0x28+num+4]
  815. ARM9:0201E2E6 94 69                       LDR     R4, [R2,#0x18]
  816. ARM9:0201E2E8 D2 69                       LDR     R2, [R2,#0x1C]
  817. ARM9:0201E2EA 23 1C                       MOVS    R3, R4
  818. ARM9:0201E2EC 0A 40                       ANDS    R2, R1
  819. ARM9:0201E2EE 03 40                       ANDS    R3, R0
  820. ARM9:0201E2F0 00 21                       MOVS    R1, #0
  821. ARM9:0201E2F2 00 20                       MOVS    R0, #0
  822. ARM9:0201E2F4 51 40                       EORS    R1, R2
  823. ARM9:0201E2F6 58 40                       EORS    R0, R3
  824. ARM9:0201E2F8 08 43                       ORRS    R0, R1
  825. ARM9:0201E2FA 01 D1                       BNE     loc_201E300
  826. ARM9:0201E2FC 00 20                       MOVS    R0, #0
  827. ARM9:0201E2FE 02 90                       STR     R0, [SP,#0x28+num]
  828. ARM9:0201E300
  829. ARM9:0201E300             loc_201E300                             ; CODE XREF: readPkmBoxData+406j
  830. ARM9:0201E300 E9 E6                       B       loc_201E0D6
  831. ARM9:0201E302             ; ---------------------------------------------------------------------------
  832. ARM9:0201E302
  833. ARM9:0201E302             ot_name_in                              ; CODE XREF: readPkmBoxData+50j
  834. ARM9:0201E302                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  835. ARM9:0201E302 01 98                       LDR     R0, [SP,#0x28+dest] ; jumptable 0201DF44 case 141
  836. ARM9:0201E304 CC E7                       B       loc_201E2A0     ; src
  837. ARM9:0201E306             ; ---------------------------------------------------------------------------
  838. ARM9:0201E306
  839. ARM9:0201E306             ot_name_out                             ; CODE XREF: readPkmBoxData+50j
  840. ARM9:0201E306                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  841. ARM9:0201E306 01 99                       LDR     R1, [SP,#0x28+dest] ; jumptable 0201DF44 case 142
  842. ARM9:0201E308 08 22                       MOVS    R2, #8
  843. ARM9:0201E30A DB E7                       B       loc_201E2C4
  844. ARM9:0201E30C             ; ---------------------------------------------------------------------------
  845. ARM9:0201E30C
  846. ARM9:0201E30C             met_year                                ; CODE XREF: readPkmBoxData+50j
  847. ARM9:0201E30C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  848. ARM9:0201E30C 0C 7C                       LDRB    R4, [R1,#0x10]  ; jumptable 0201DF44 case 143
  849. ARM9:0201E30E 55 E0                       B       ret
  850. ARM9:0201E310             ; ---------------------------------------------------------------------------
  851. ARM9:0201E310
  852. ARM9:0201E310             met_month                               ; CODE XREF: readPkmBoxData+50j
  853. ARM9:0201E310                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  854. ARM9:0201E310 4C 7C                       LDRB    R4, [R1,#0x11]  ; jumptable 0201DF44 case 144
  855. ARM9:0201E312 53 E0                       B       ret
  856. ARM9:0201E314             ; ---------------------------------------------------------------------------
  857. ARM9:0201E314
  858. ARM9:0201E314             met_day                                 ; CODE XREF: readPkmBoxData+50j
  859. ARM9:0201E314                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  860. ARM9:0201E314 8C 7C                       LDRB    R4, [R1,#0x12]  ; jumptable 0201DF44 case 145
  861. ARM9:0201E316 51 E0                       B       ret
  862. ARM9:0201E318             ; ---------------------------------------------------------------------------
  863. ARM9:0201E318
  864. ARM9:0201E318             egg_year                                ; CODE XREF: readPkmBoxData+50j
  865. ARM9:0201E318                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  866. ARM9:0201E318 CC 7C                       LDRB    R4, [R1,#0x13]  ; jumptable 0201DF44 case 146
  867. ARM9:0201E31A 4F E0                       B       ret
  868. ARM9:0201E31C             ; ---------------------------------------------------------------------------
  869. ARM9:0201E31C
  870. ARM9:0201E31C             egg_month                               ; CODE XREF: readPkmBoxData+50j
  871. ARM9:0201E31C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  872. ARM9:0201E31C 0C 7D                       LDRB    R4, [R1,#0x14]  ; jumptable 0201DF44 case 147
  873. ARM9:0201E31E 4D E0                       B       ret
  874. ARM9:0201E320             ; ---------------------------------------------------------------------------
  875. ARM9:0201E320
  876. ARM9:0201E320             egg_day                                 ; CODE XREF: readPkmBoxData+50j
  877. ARM9:0201E320                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  878. ARM9:0201E320 4C 7D                       LDRB    R4, [R1,#0x15]  ; jumptable 0201DF44 case 148
  879. ARM9:0201E322 4B E0                       B       ret
  880. ARM9:0201E324             ; ---------------------------------------------------------------------------
  881. ARM9:0201E324
  882. ARM9:0201E324             catch_location                          ; CODE XREF: readPkmBoxData+50j
  883. ARM9:0201E324                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  884. ARM9:0201E324 CC 8A                       LDRH    R4, [R1,#0x16]  ; jumptable 0201DF44 case 149
  885. ARM9:0201E326 49 E0                       B       ret
  886. ARM9:0201E328             ; ---------------------------------------------------------------------------
  887. ARM9:0201E328
  888. ARM9:0201E328             loc_201E328                             ; CODE XREF: readPkmBoxData+50j
  889. ARM9:0201E328                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  890. ARM9:0201E328 0C 8B                       LDRH    R4, [R1,#0x18]  ; jumptable 0201DF44 case 150
  891. ARM9:0201E32A 47 E0                       B       ret
  892. ARM9:0201E32C             ; ---------------------------------------------------------------------------
  893. ARM9:0201E32C
  894. ARM9:0201E32C             pokerus                                 ; CODE XREF: readPkmBoxData+50j
  895. ARM9:0201E32C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  896. ARM9:0201E32C 8C 7E                       LDRB    R4, [R1,#0x1A]  ; jumptable 0201DF44 case 151
  897. ARM9:0201E32E 45 E0                       B       ret
  898. ARM9:0201E330             ; ---------------------------------------------------------------------------
  899. ARM9:0201E330
  900. ARM9:0201E330             poke_ball                               ; CODE XREF: readPkmBoxData+50j
  901. ARM9:0201E330                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  902. ARM9:0201E330 CC 7E                       LDRB    R4, [R1,#0x1B]  ; jumptable 0201DF44 case 152
  903. ARM9:0201E332 43 E0                       B       ret
  904. ARM9:0201E334             ; ---------------------------------------------------------------------------
  905. ARM9:0201E334
  906. ARM9:0201E334             met_level                               ; CODE XREF: readPkmBoxData+50j
  907. ARM9:0201E334                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  908. ARM9:0201E334 08 7F                       LDRB    R0, [R1,#0x1C]  ; jumptable 0201DF44 case 153
  909. ARM9:0201E336 40 06                       LSLS    R0, R0, #0x19
  910. ARM9:0201E338 44 0E                       LSRS    R4, R0, #0x19
  911. ARM9:0201E33A 3F E0                       B       ret
  912. ARM9:0201E33C             ; ---------------------------------------------------------------------------
  913. ARM9:0201E33C
  914. ARM9:0201E33C             ot_gender                               ; CODE XREF: readPkmBoxData+50j
  915. ARM9:0201E33C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  916. ARM9:0201E33C 08 7F                       LDRB    R0, [R1,#0x1C]  ; jumptable 0201DF44 case 154
  917. ARM9:0201E33E 00 06                       LSLS    R0, R0, #0x18
  918. ARM9:0201E340 BB E6                       B       loc_201E0BA
  919. ARM9:0201E342             ; ---------------------------------------------------------------------------
  920. ARM9:0201E342
  921. ARM9:0201E342             loc_201E342                             ; CODE XREF: readPkmBoxData+50j
  922. ARM9:0201E342                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  923. ARM9:0201E342 4C 7F                       LDRB    R4, [R1,#0x1D]  ; jumptable 0201DF44 case 155
  924. ARM9:0201E344 3A E0                       B       ret
  925. ARM9:0201E346             ; ---------------------------------------------------------------------------
  926. ARM9:0201E346
  927. ARM9:0201E346             loc_201E346                             ; CODE XREF: readPkmBoxData+50j
  928. ARM9:0201E346                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  929. ARM9:0201E346 8C 7F                       LDRB    R4, [R1,#0x1E]  ; jumptable 0201DF44 case 156
  930. ARM9:0201E348 38 E0                       B       ret
  931. ARM9:0201E34A             ; ---------------------------------------------------------------------------
  932. ARM9:0201E34A
  933. ARM9:0201E34A             getIVsAsInt_no_isegg_no_isnick          ; CODE XREF: readPkmBoxData+50j
  934. ARM9:0201E34A                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  935. ARM9:0201E34A 34 69                       LDR     R4, [R6,#0x10]  ; jumptable 0201DF44 case 172
  936. ARM9:0201E34C A0 00                       LSLS    R0, R4, #2      ; trim off is_egg and is_nicknamed
  937. ARM9:0201E34E C0 0E                       LSRS    R0, R0, #0x1B   ; spd in r0
  938. ARM9:0201E350 45 06                       LSLS    R5, R0, #0x19   ; put spd back @ pos 25 in r5
  939. ARM9:0201E352 E0 01                       LSLS    R0, R4, #7      ; trim off is_egg, is_nicknamed, and spd iv
  940. ARM9:0201E354 C0 0E                       LSRS    R0, R0, #0x1B   ; spa in r0
  941. ARM9:0201E356 03 05                       LSLS    R3, R0, #0x14   ; put spa back @ pos 20 in r3
  942. ARM9:0201E358 20 03                       LSLS    R0, R4, #0xC    ; trim off is_egg, is_nicknamed, spd iv, and spa iv
  943. ARM9:0201E35A C0 0E                       LSRS    R0, R0, #0x1B   ; spe in r0
  944. ARM9:0201E35C C2 03                       LSLS    R2, R0, #0xF    ; put spe back @ pos 15 in r2
  945. ARM9:0201E35E 60 04                       LSLS    R0, R4, #0x11   ; trim off is_egg, is_nicknamed, spd iv, spa iv, and spe iv
  946. ARM9:0201E360 C0 0E                       LSRS    R0, R0, #0x1B   ; def in r0
  947. ARM9:0201E362 81 02                       LSLS    R1, R0, #0xA    ; put def back @ pos 10 in r1
  948. ARM9:0201E364 E0 06                       LSLS    R0, R4, #0x1B   ; trim off is_egg, is_nicknamed, spd iv, spa iv, spe iv,  def iv, and atk iv
  949. ARM9:0201E366 A4 05                       LSLS    R4, R4, #0x16   ; trim off is_egg, is_nicknamed, spd iv, spa iv, spe iv, and def iv
  950. ARM9:0201E368 E4 0E                       LSRS    R4, R4, #0x1B   ; atk in r4
  951. ARM9:0201E36A C0 0E                       LSRS    R0, R0, #0x1B   ; hp in r0
  952. ARM9:0201E36C 64 01                       LSLS    R4, R4, #5      ; put atk back @ pos 5 in r4
  953. ARM9:0201E36E 20 43                       ORRS    R0, R4          ; put IVs back together
  954. ARM9:0201E370 08 43                       ORRS    R0, R1
  955. ARM9:0201E372 10 43                       ORRS    R0, R2
  956. ARM9:0201E374 18 43                       ORRS    R0, R3
  957. ARM9:0201E376 2C 1C                       MOVS    R4, R5
  958. ARM9:0201E378 04 43                       ORRS    R4, R0
  959. ARM9:0201E37A 1F E0                       B       ret
  960. ARM9:0201E37C             ; ---------------------------------------------------------------------------
  961. ARM9:0201E37C
  962. ARM9:0201E37C             is_species_NOT_nidoFM                   ; CODE XREF: readPkmBoxData+50j
  963. ARM9:0201E37C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  964. ARM9:0201E37C 28 88                       LDRH    R0, [R5]        ; jumptable 0201DF44 case 173
  965. ARM9:0201E37E 1D 28                       CMP     R0, #0x1D       ; is species nidoF
  966. ARM9:0201E380 01 D0                       BEQ     loc_201E386
  967. ARM9:0201E382 20 28                       CMP     R0, #0x20 ; ' ' ; is species nidoM
  968. ARM9:0201E384 03 D1                       BNE     loc_201E38E
  969. ARM9:0201E386
  970. ARM9:0201E386             loc_201E386                             ; CODE XREF: readPkmBoxData+48Cj
  971. ARM9:0201E386 30 69                       LDR     R0, [R6,#0x10]
  972. ARM9:0201E388 C0 0F                       LSRS    R0, R0, #0x1F
  973. ARM9:0201E38A 00 D1                       BNE     loc_201E38E
  974. ARM9:0201E38C 8F E6                       B       default_ret_0   ; jumptable 0201DF44 cases 157,159-168,176,177
  975. ARM9:0201E38E             ; ---------------------------------------------------------------------------
  976. ARM9:0201E38E
  977. ARM9:0201E38E             loc_201E38E                             ; CODE XREF: readPkmBoxData+490j
  978. ARM9:0201E38E                                                     ; readPkmBoxData+496j
  979. ARM9:0201E38E 01 24                       MOVS    R4, #1
  980. ARM9:0201E390 14 E0                       B       ret
  981. ARM9:0201E392             ; ---------------------------------------------------------------------------
  982. ARM9:0201E392
  983. ARM9:0201E392             pkm_type                                ; CODE XREF: readPkmBoxData+50j
  984. ARM9:0201E392                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  985. ARM9:0201E392 28 88                       LDRH    R0, [R5]        ; jumptable 0201DF44 cases 174,175
  986. ARM9:0201E394 0F 49                       LDR     R1, =0x1ED      ; if arceus
  987. ARM9:0201E396 88 42                       CMP     R0, R1
  988. ARM9:0201E398 06 D1                       BNE     loc_201E3A8
  989. ARM9:0201E39A 69 7B                       LDRB    R1, [R5,#0xD]
  990. ARM9:0201E39C 79 29                       CMP     R1, #0x79 ; 'y' ; if ability is multitype
  991. ARM9:0201E39E 03 D1                       BNE     loc_201E3A8
  992. ARM9:0201E3A0 68 88                       LDRH    R0, [R5,#2]     ; get poke's item
  993. ARM9:0201E3A2 00 F0 67 FD                 BL      getTypeForPlate
  994. ARM9:0201E3A6 15 E7                       B       loc_201E1D4
  995. ARM9:0201E3A8             ; ---------------------------------------------------------------------------
  996. ARM9:0201E3A8
  997. ARM9:0201E3A8             loc_201E3A8                             ; CODE XREF: readPkmBoxData+4A4j
  998. ARM9:0201E3A8                                                     ; readPkmBoxData+4AAj
  999. ARM9:0201E3A8 31 7E                       LDRB    R1, [R6,#0x18]
  1000. ARM9:0201E3AA 00 9A                       LDR     R2, [SP,#0x28+field]
  1001. ARM9:0201E3AC 09 06                       LSLS    R1, R1, #0x18
  1002. ARM9:0201E3AE A8 3A                       SUBS    R2, #0xA8 ; '¿' ; field
  1003. ARM9:0201E3B0 C9 0E                       LSRS    R1, R1, #0x1B
  1004. ARM9:0201E3B2 00 92                       STR     R2, [SP,#0x28+field]
  1005. ARM9:0201E3B4 00 F0 C8 FD                 BL      getPersonalField
  1006. ARM9:0201E3B8 0C E7                       B       loc_201E1D4
  1007. ARM9:0201E3BA             ; ---------------------------------------------------------------------------
  1008. ARM9:0201E3BA
  1009. ARM9:0201E3BA             loc_201E3BA                             ; CODE XREF: readPkmBoxData+50j
  1010. ARM9:0201E3BA                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
  1011. ARM9:0201E3BA CC 7F                       LDRB    R4, [R1,#0x1F]  ; jumptable 0201DF44 case 179
  1012. ARM9:0201E3BC
  1013. ARM9:0201E3BC             ret                                     ; CODE XREF: readPkmBoxData+1BCj
  1014. ARM9:0201E3BC                                                     ; readPkmBoxData+1C0j
  1015. ARM9:0201E3BC                                                     ; readPkmBoxData+1C8j
  1016. ARM9:0201E3BC                                                     ; readPkmBoxData+1D6j ...
  1017. ARM9:0201E3BC 20 1C                       MOVS    R0, R4
  1018. ARM9:0201E3BE 04 B0                       ADD     SP, SP, #0x10
  1019. ARM9:0201E3C0 F8 BD                       POP     {R3-R7,PC}
  1020. ARM9:0201E3C0             ; End of function readPkmBoxData
  1021. ARM9:0201E3C0
  1022. ARM9:0201E3C0             ; ---------------------------------------------------------------------------
  1023. ARM9:0201E3C2 C0                          DCB 0xC0 ; +
  1024. ARM9:0201E3C3 46                          DCB 0x46 ; F
  1025. ARM9:0201E3C4 8A 02 00 00 dword_201E3C4   DCD 0x28A               ; DATA XREF: readPkmBoxData:egg_speciesr
  1026. ARM9:0201E3C8 7E 02 00 00 dword_201E3C8   DCD 0x27E               ; DATA XREF: readPkmBoxData+22Cr
  1027. ARM9:0201E3CC 74 A4 09 02 off_201E3CC     DCD currentMsgdata      ; DATA XREF: readPkmBoxData+39Ar
  1028. ARM9:0201E3CC                                                     ; readPkmBoxData+3BAr
  1029. ARM9:0201E3D0             ; int msgID
  1030. ARM9:0201E3D0 8B 02 00 00 msgID           DCD 0x28B               ; DATA XREF: readPkmBoxData+39Cr
  1031. ARM9:0201E3D0                                                     ; readPkmBoxData+3BCr
  1032. ARM9:0201E3D4 ED 01 00 00 dword_201E3D4   DCD 0x1ED               ; DATA XREF: readPkmBoxData+4A0r
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement