Bond697 icon

Untitled

Bond697 | PRO | 09/07/14 03:04:12 AM UTC | 0 ⭐ | 11160 👁️ | Never ⏰ | []
ARM |

80.22 KB

|

None

|

0 👍

/

0 👎

ARM9:0201DE74             ; u32 __fastcall readPkmPartyData(PartyPkm *pPkm, PkmField field, u32 data)
ARM9:0201DE74             readPkmPartyData                        ; CODE XREF: getPkmStat+12p
ARM9:0201DE74 08 B5                       PUSH    {R3,LR}
ARM9:0201DE76 0B 1C                       MOVS    R3, R1
ARM9:0201DE78 9D 3B                       SUBS    R3, #0x9D ; '¥'
ARM9:0201DE7A 0B 2B                       CMP     R3, #0xB
ARM9:0201DE7C 37 D8                       BHI     box_data        ; jumptable 0201DE88 default case
ARM9:0201DE7E DB 18                       ADDS    R3, R3, R3
ARM9:0201DE80 7B 44                       ADD     R3, PC
ARM9:0201DE82 DB 88                       LDRH    R3, [R3,#6]
ARM9:0201DE84 1B 04                       LSLS    R3, R3, #0x10
ARM9:0201DE86 1B 14                       ASRS    R3, R3, #0x10
ARM9:0201DE88 9F 44                       ADD     PC, R3          ; switch 12 cases
ARM9:0201DE88             ; ---------------------------------------------------------------------------
ARM9:0201DE8A 16 00 1C 00+off_201DE8A     DCW poke_status_flags - (off_201DE8A+2) ; jump table for switch statement
ARM9:0201DE8A 22 00 28 00+                DCW level - (off_201DE8A+2)
ARM9:0201DE8A 2E 00 34 00+                DCW capsule_idx - (off_201DE8A+2)
ARM9:0201DE8A 3A 00 40 00+                DCW curr_HP - (off_201DE8A+2)
ARM9:0201DE8A 46 00 4C 00+                DCW max_HP - (off_201DE8A+2)
ARM9:0201DE8A 52 00 5E 00                 DCW stat_ATK - (off_201DE8A+2)
ARM9:0201DE8A                             DCW stat_DEF - (off_201DE8A+2)
ARM9:0201DE8A                             DCW stat_SPE - (off_201DE8A+2)
ARM9:0201DE8A                             DCW stat_SPA - (off_201DE8A+2)
ARM9:0201DE8A                             DCW stat_SPD - (off_201DE8A+2)
ARM9:0201DE8A                             DCW mail_msg - (off_201DE8A+2)
ARM9:0201DE8A                             DCW too_high - (off_201DE8A+2)
ARM9:0201DEA2             ; ---------------------------------------------------------------------------
ARM9:0201DEA2
ARM9:0201DEA2             poke_status_flags                       ; CODE XREF: readPkmPartyData+14j
ARM9:0201DEA2 88 30                       ADDS    R0, #0x88 ; 'ê' ; jumptable 0201DE88 case 0
ARM9:0201DEA4 00 68                       LDR     R0, [R0]
ARM9:0201DEA6 08 BD                       POP     {R3,PC}
ARM9:0201DEA8             ; ---------------------------------------------------------------------------
ARM9:0201DEA8
ARM9:0201DEA8             level                                   ; CODE XREF: readPkmPartyData+14j
ARM9:0201DEA8 8C 30                       ADDS    R0, #0x8C ; 'î' ; jumptable 0201DE88 case 1
ARM9:0201DEAA 00 78                       LDRB    R0, [R0]
ARM9:0201DEAC 08 BD                       POP     {R3,PC}
ARM9:0201DEAE             ; ---------------------------------------------------------------------------
ARM9:0201DEAE
ARM9:0201DEAE             capsule_idx                             ; CODE XREF: readPkmPartyData+14j
ARM9:0201DEAE 8D 30                       ADDS    R0, #0x8D ; 'ì' ; jumptable 0201DE88 case 2
ARM9:0201DEB0 00 78                       LDRB    R0, [R0]
ARM9:0201DEB2 08 BD                       POP     {R3,PC}
ARM9:0201DEB4             ; ---------------------------------------------------------------------------
ARM9:0201DEB4
ARM9:0201DEB4             curr_HP                                 ; CODE XREF: readPkmPartyData+14j
ARM9:0201DEB4 8E 30                       ADDS    R0, #0x8E ; 'Ä' ; jumptable 0201DE88 case 3
ARM9:0201DEB6 00 88                       LDRH    R0, [R0]
ARM9:0201DEB8 08 BD                       POP     {R3,PC}
ARM9:0201DEBA             ; ---------------------------------------------------------------------------
ARM9:0201DEBA
ARM9:0201DEBA             max_HP                                  ; CODE XREF: readPkmPartyData+14j
ARM9:0201DEBA 90 30                       ADDS    R0, #0x90 ; 'É' ; jumptable 0201DE88 case 4
ARM9:0201DEBC 00 88                       LDRH    R0, [R0]
ARM9:0201DEBE 08 BD                       POP     {R3,PC}
ARM9:0201DEC0             ; ---------------------------------------------------------------------------
ARM9:0201DEC0
ARM9:0201DEC0             stat_ATK                                ; CODE XREF: readPkmPartyData+14j
ARM9:0201DEC0 92 30                       ADDS    R0, #0x92 ; 'Æ' ; jumptable 0201DE88 case 5
ARM9:0201DEC2 00 88                       LDRH    R0, [R0]
ARM9:0201DEC4 08 BD                       POP     {R3,PC}
ARM9:0201DEC6             ; ---------------------------------------------------------------------------
ARM9:0201DEC6
ARM9:0201DEC6             stat_DEF                                ; CODE XREF: readPkmPartyData+14j
ARM9:0201DEC6 94 30                       ADDS    R0, #0x94 ; 'ö' ; jumptable 0201DE88 case 6
ARM9:0201DEC8 00 88                       LDRH    R0, [R0]
ARM9:0201DECA 08 BD                       POP     {R3,PC}
ARM9:0201DECC             ; ---------------------------------------------------------------------------
ARM9:0201DECC
ARM9:0201DECC             stat_SPE                                ; CODE XREF: readPkmPartyData+14j
ARM9:0201DECC 96 30                       ADDS    R0, #0x96 ; 'û' ; jumptable 0201DE88 case 7
ARM9:0201DECE 00 88                       LDRH    R0, [R0]
ARM9:0201DED0 08 BD                       POP     {R3,PC}
ARM9:0201DED2             ; ---------------------------------------------------------------------------
ARM9:0201DED2
ARM9:0201DED2             stat_SPA                                ; CODE XREF: readPkmPartyData+14j
ARM9:0201DED2 98 30                       ADDS    R0, #0x98 ; 'ÿ' ; jumptable 0201DE88 case 8
ARM9:0201DED4 00 88                       LDRH    R0, [R0]
ARM9:0201DED6 08 BD                       POP     {R3,PC}
ARM9:0201DED8             ; ---------------------------------------------------------------------------
ARM9:0201DED8
ARM9:0201DED8             stat_SPD                                ; CODE XREF: readPkmPartyData+14j
ARM9:0201DED8 9A 30                       ADDS    R0, #0x9A ; 'Ü' ; jumptable 0201DE88 case 9
ARM9:0201DEDA 00 88                       LDRH    R0, [R0]
ARM9:0201DEDC 08 BD                       POP     {R3,PC}
ARM9:0201DEDE             ; ---------------------------------------------------------------------------
ARM9:0201DEDE
ARM9:0201DEDE             mail_msg                                ; CODE XREF: readPkmPartyData+14j
ARM9:0201DEDE 9C 30                       ADDS    R0, #0x9C ; '£' ; jumptable 0201DE88 case 10
ARM9:0201DEE0 11 1C                       MOVS    R1, R2          ; pDst
ARM9:0201DEE2 EB F7 03 FC                 BL      copyMailMsg
ARM9:0201DEE6 01 20                       MOVS    R0, #1
ARM9:0201DEE8 08 BD                       POP     {R3,PC}
ARM9:0201DEEA             ; ---------------------------------------------------------------------------
ARM9:0201DEEA
ARM9:0201DEEA             too_high                                ; CODE XREF: readPkmPartyData+14j
ARM9:0201DEEA 01 20                       MOVS    R0, #1          ; pPkm
ARM9:0201DEEC 08 BD                       POP     {R3,PC}
ARM9:0201DEEE             ; ---------------------------------------------------------------------------
ARM9:0201DEEE
ARM9:0201DEEE             box_data                                ; CODE XREF: readPkmPartyData+8j
ARM9:0201DEEE 00 F0 01 F8                 BL      readPkmBoxData  ; jumptable 0201DE88 default case
ARM9:0201DEF2 08 BD                       POP     {R3,PC}
ARM9:0201DEF2             ; End of function readPkmPartyData
ARM9:0201DEF2
ARM9:0201DEF4
ARM9:0201DEF4             ; =============== S U B R O U T I N E =======================================
ARM9:0201DEF4
ARM9:0201DEF4
ARM9:0201DEF4             ; u32 __fastcall readPkmBoxData(BoxPkm *pPkm, PkmField field, void *pStrbuf)
ARM9:0201DEF4             readPkmBoxData                          ; CODE XREF: getPkmBoxData+12p
ARM9:0201DEF4                                                     ; readPkmPartyData:box_datap
ARM9:0201DEF4
ARM9:0201DEF4             field           = -0x28
ARM9:0201DEF4             dest            = -0x24
ARM9:0201DEF4             num             = -0x20
ARM9:0201DEF4
ARM9:0201DEF4 F8 B5                       PUSH    {R3-R7,LR}      ; for this function, in the switch:
ARM9:0201DEF4                                                     ; r7 is the unencrypted data
ARM9:0201DEF4                                                     ; r5 is the first block for the poke
ARM9:0201DEF4                                                     ; r6 is the second block for the poke
ARM9:0201DEF4                                                     ; SP + 12 is the third block for the poke
ARM9:0201DEF4                                                     ; r1 is the fourth block for the poke
ARM9:0201DEF6 84 B0                       SUB     SP, SP, #0x10
ARM9:0201DEF8 07 1C                       MOVS    R7, R0
ARM9:0201DEFA 00 91                       STR     R1, [SP,#0x28+field]
ARM9:0201DEFC 01 92                       STR     R2, [SP,#0x28+dest]
ARM9:0201DEFE 39 68                       LDR     R1, [R7]        ; pid
ARM9:0201DF00 00 22                       MOVS    R2, #0          ; blk_num
ARM9:0201DF02 00 24                       MOVS    R4, #0
ARM9:0201DF04 00 F0 F4 FF                 BL      getPkmBlockShuffle
ARM9:0201DF08 01 22                       MOVS    R2, #1
ARM9:0201DF0A 05 1C                       MOVS    R5, R0
ARM9:0201DF0C 02 92                       STR     R2, [SP,#8]
ARM9:0201DF0E 39 68                       LDR     R1, [R7]        ; pid
ARM9:0201DF10 38 1C                       MOVS    R0, R7          ; pPkm
ARM9:0201DF12 01 22                       MOVS    R2, #1          ; blk_num
ARM9:0201DF14 00 F0 EC FF                 BL      getPkmBlockShuffle
ARM9:0201DF18 06 1C                       MOVS    R6, R0
ARM9:0201DF1A 39 68                       LDR     R1, [R7]        ; pid
ARM9:0201DF1C 38 1C                       MOVS    R0, R7          ; pPkm
ARM9:0201DF1E 02 22                       MOVS    R2, #2          ; blk_num
ARM9:0201DF20 00 F0 E6 FF                 BL      getPkmBlockShuffle
ARM9:0201DF24 03 90                       STR     R0, [SP,#0xC]
ARM9:0201DF26 39 68                       LDR     R1, [R7]        ; pid
ARM9:0201DF28 38 1C                       MOVS    R0, R7          ; pPkm
ARM9:0201DF2A 03 22                       MOVS    R2, #3          ; blk_num
ARM9:0201DF2C 00 F0 E0 FF                 BL      getPkmBlockShuffle
ARM9:0201DF30 00 9A                       LDR     R2, [SP,#0x28+field]
ARM9:0201DF32 01 1C                       MOVS    R1, R0
ARM9:0201DF34 B3 2A                       CMP     R2, #0xB3 ; '¦'
ARM9:0201DF36 00 D9                       BLS     loc_201DF3A
ARM9:0201DF38 B9 E0                       B       default_ret_0   ; jumptable 0201DF44 default case
ARM9:0201DF3A             ; ---------------------------------------------------------------------------
ARM9:0201DF3A
ARM9:0201DF3A             loc_201DF3A                             ; CODE XREF: readPkmBoxData+42j
ARM9:0201DF3A 92 18                       ADDS    R2, R2, R2
ARM9:0201DF3C 7A 44                       ADD     R2, PC
ARM9:0201DF3E D2 88                       LDRH    R2, [R2,#6]
ARM9:0201DF40 12 04                       LSLS    R2, R2, #0x10
ARM9:0201DF42 12 14                       ASRS    R2, R2, #0x10
ARM9:0201DF44 97 44                       ADD     PC, R2          ; switch 180 cases
ARM9:0201DF44             ; ---------------------------------------------------------------------------
ARM9:0201DF46 6A 01 6E 01+off_201DF46     DCW pid - (off_201DF46+2), party_pkm_already_decrypted - (off_201DF46+2)
ARM9:0201DF46 76 01 7A 01+                                        ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201DF46 80 01 C8 01+                                        ; readPkmBoxData:off_201DF46+2o
ARM9:0201DF46 D6 01 E0 01+                                        ; readPkmBoxData:off_201DF46+4o
ARM9:0201DF46 E4 01 E8 01+                                        ; readPkmBoxData:off_201DF46+6o ...
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
ARM9:0201DF46 F4 01 F8 01+                DCW checksum - (off_201DF46+2), species - (off_201DF46+2)
ARM9:0201DF46 FC 01 00 02+                DCW item - (off_201DF46+2), sid_tid - (off_201DF46+2)
ARM9:0201DF46 04 02 08 02+                DCW exp - (off_201DF46+2), happiness - (off_201DF46+2)
ARM9:0201DF46 0C 02 10 02+                DCW ability - (off_201DF46+2), markings - (off_201DF46+2)
ARM9:0201DF46 14 02 18 02+                DCW region - (off_201DF46+2), HP_EV - (off_201DF46+2)
ARM9:0201DF46 1C 02 20 02+                DCW ATK_EV - (off_201DF46+2), DEF_EV - (off_201DF46+2)
ARM9:0201DF46 24 02 28 02+                DCW SPE_EV - (off_201DF46+2), SPA_EV - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW SPD_EV - (off_201DF46+2), cool_contest - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW beauty_contest - (off_201DF46+2), cute_contest - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW smart_contest - (off_201DF46+2), tough_contest - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sheen_contest - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 28 02 28 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 50 02 50 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 50 02 50 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 5C 02 5C 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 5C 02 5C 02+                DCW sinnoh_ribbons - (off_201DF46+2), sinnoh_ribbons - (off_201DF46+2)
ARM9:0201DF46 68 02 68 02+                DCW moves - (off_201DF46+2), moves - (off_201DF46+2), moves - (off_201DF46+2)
ARM9:0201DF46 68 02 68 02+                DCW moves - (off_201DF46+2), move_cur_pp - (off_201DF46+2)
ARM9:0201DF46 74 02 74 02+                DCW move_cur_pp - (off_201DF46+2), move_cur_pp - (off_201DF46+2)
ARM9:0201DF46 74 02 74 02+                DCW move_cur_pp - (off_201DF46+2), move_ppup_count - (off_201DF46+2)
ARM9:0201DF46 90 02 98 02+                DCW move_ppup_count - (off_201DF46+2), move_ppup_count - (off_201DF46+2)
ARM9:0201DF46 9E 02 A4 02+                DCW move_ppup_count - (off_201DF46+2), move_max_pp - (off_201DF46+2)
ARM9:0201DF46 AA 02 B0 02+                DCW move_max_pp - (off_201DF46+2), move_max_pp - (off_201DF46+2)
ARM9:0201DF46 B6 02 CA 02+                DCW move_max_pp - (off_201DF46+2), hp_iv - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW atk_iv - (off_201DF46+2), def_iv - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW spe_iv - (off_201DF46+2), spa_iv - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW spd_iv - (off_201DF46+2), is_egg - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 CA 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 CA 02 F2 02+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 F6 02 26 03+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 2C 03 30 03+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 3A 03 3E 03+                DCW hoenn_unova_ribbons - (off_201DF46+2), hoenn_unova_ribbons - (off_201DF46+2)
ARM9:0201DF46 5E 03 C6 02+                DCW fateful_encounter - (off_201DF46+2), gender - (off_201DF46+2)
ARM9:0201DF46 82 03 88 03+                DCW get_form_bits - (off_201DF46+2), nature - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW has_dw_abil - (off_201DF46+2), get_unused_word - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW poke_curr_name - (off_201DF46+2), nickname - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW is_nicknamed - (off_201DF46+2), loc_201E2CA - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW origin_game - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 8E 03 8E 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 8E 03 BA 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 BE 03 C4 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 C8 03 CC 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 D0 03 D4 03+                DCW sinnoh_contest_ribbons - (off_201DF46+2), sinnoh_contest_ribbons - (off_201DF46+2)
ARM9:0201DF46 D8 03 DC 03+                DCW ot_name_in - (off_201DF46+2), ot_name_out - (off_201DF46+2)
ARM9:0201DF46 E0 03 E4 03+                DCW met_year - (off_201DF46+2), met_month - (off_201DF46+2)
ARM9:0201DF46 E8 03 EC 03+                DCW met_day - (off_201DF46+2), egg_year - (off_201DF46+2)
ARM9:0201DF46 F4 03 FA 03+                DCW egg_month - (off_201DF46+2), egg_day - (off_201DF46+2)
ARM9:0201DF46 FE 03 66 01+                DCW catch_location - (off_201DF46+2), loc_201E328 - (off_201DF46+2)
ARM9:0201DF46 B8 01 66 01+                DCW pokerus - (off_201DF46+2), poke_ball - (off_201DF46+2)
ARM9:0201DF46 66 01 66 01+                DCW met_level - (off_201DF46+2), ot_gender - (off_201DF46+2)
ARM9:0201DF46 66 01 66 01+                DCW loc_201E342 - (off_201DF46+2), loc_201E346 - (off_201DF46+2)
ARM9:0201DF46 66 01 66 01+                DCW default_ret_0 - (off_201DF46+2), level - (off_201DF46+2)
ARM9:0201DF46 66 01 66 01+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
ARM9:0201DF46 66 01 84 01+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
ARM9:0201DF46 92 01 9C 01+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
ARM9:0201DF46 02 04 34 04+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
ARM9:0201DF46 4A 04 4A 04+                DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
ARM9:0201DF46 66 01 66 01+                DCW is_slot_filled - (off_201DF46+2), is_egg_both_sanity_bits - (off_201DF46+2)
ARM9:0201DF46 34 03 72 04                 DCW get_species_if_filled_slot_is_egg - (off_201DF46+2)
ARM9:0201DF46                             DCW getIVsAsInt_no_isegg_no_isnick - (off_201DF46+2), is_species_NOT_nidoFM - (off_201DF46+2)
ARM9:0201DF46                             DCW pkm_type - (off_201DF46+2), pkm_type - (off_201DF46+2)
ARM9:0201DF46                             DCW default_ret_0 - (off_201DF46+2), default_ret_0 - (off_201DF46+2)
ARM9:0201DF46                             DCW N_poke - (off_201DF46+2), loc_201E3BA - (off_201DF46+2)
ARM9:0201E0AE             ; ---------------------------------------------------------------------------
ARM9:0201E0AE
ARM9:0201E0AE             default_ret_0                           ; CODE XREF: readPkmBoxData+44j
ARM9:0201E0AE                                                     ; readPkmBoxData+50j
ARM9:0201E0AE                                                     ; readPkmBoxData+232j
ARM9:0201E0AE                                                     ; readPkmBoxData+498j
ARM9:0201E0AE                                                     ; DATA XREF: ...
ARM9:0201E0AE 00 24                       MOVS    R4, #0          ; jumptable 0201DF44 cases 157,159-168,176,177
ARM9:0201E0B0 84 E1                       B       ret
ARM9:0201E0B2             ; ---------------------------------------------------------------------------
ARM9:0201E0B2
ARM9:0201E0B2             pid                                     ; CODE XREF: readPkmBoxData+50j
ARM9:0201E0B2                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E0B2 3C 68                       LDR     R4, [R7]        ; jumptable 0201DF44 case 0
ARM9:0201E0B4 82 E1                       B       ret
ARM9:0201E0B6             ; ---------------------------------------------------------------------------
ARM9:0201E0B6
ARM9:0201E0B6             party_pkm_already_decrypted             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E0B6                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E0B6 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 1
ARM9:0201E0B8
ARM9:0201E0B8             loc_201E0B8                             ; CODE XREF: readPkmBoxData+348j
ARM9:0201E0B8                                                     ; readPkmBoxData+386j
ARM9:0201E0B8 C0 07                       LSLS    R0, R0, #0x1F
ARM9:0201E0BA
ARM9:0201E0BA             loc_201E0BA                             ; CODE XREF: readPkmBoxData+1D2j
ARM9:0201E0BA                                                     ; readPkmBoxData+318j
ARM9:0201E0BA                                                     ; readPkmBoxData+31Cj
ARM9:0201E0BA                                                     ; readPkmBoxData+38Cj ...
ARM9:0201E0BA C4 0F                       LSRS    R4, R0, #0x1F
ARM9:0201E0BC 7E E1                       B       ret
ARM9:0201E0BE             ; ---------------------------------------------------------------------------
ARM9:0201E0BE
ARM9:0201E0BE             box_pkm_already_decrypted               ; CODE XREF: readPkmBoxData+50j
ARM9:0201E0BE                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E0BE B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 2
ARM9:0201E0C0 DD E0                       B       loc_201E27E
ARM9:0201E0C2             ; ---------------------------------------------------------------------------
ARM9:0201E0C2
ARM9:0201E0C2             is_species_egg                          ; CODE XREF: readPkmBoxData+50j
ARM9:0201E0C2                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E0C2 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 3
ARM9:0201E0C4 40 07                       LSLS    R0, R0, #0x1D
ARM9:0201E0C6 F8 E7                       B       loc_201E0BA
ARM9:0201E0C8             ; ---------------------------------------------------------------------------
ARM9:0201E0C8
ARM9:0201E0C8             checksum                                ; CODE XREF: readPkmBoxData+50j
ARM9:0201E0C8                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E0C8 FC 88                       LDRH    R4, [R7,#6]     ; jumptable 0201DF44 case 4
ARM9:0201E0CA 77 E1                       B       ret
ARM9:0201E0CC             ; ---------------------------------------------------------------------------
ARM9:0201E0CC
ARM9:0201E0CC             is_slot_filled                          ; CODE XREF: readPkmBoxData+50j
ARM9:0201E0CC                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E0CC 28 88                       LDRH    R0, [R5]        ; jumptable 0201DF44 case 169
ARM9:0201E0CE 00 28                       CMP     R0, #0
ARM9:0201E0D0 01 D1                       BNE     loc_201E0D6
ARM9:0201E0D2 00 20                       MOVS    R0, #0
ARM9:0201E0D4 02 90                       STR     R0, [SP,#0x28+num]
ARM9:0201E0D6
ARM9:0201E0D6             loc_201E0D6                             ; CODE XREF: readPkmBoxData+1DCj
ARM9:0201E0D6                                                     ; readPkmBoxData:loc_201E196j
ARM9:0201E0D6                                                     ; readPkmBoxData:loc_201E238j
ARM9:0201E0D6                                                     ; readPkmBoxData:loc_201E300j
ARM9:0201E0D6 02 9C                       LDR     R4, [SP,#0x28+num]
ARM9:0201E0D8 70 E1                       B       ret
ARM9:0201E0DA             ; ---------------------------------------------------------------------------
ARM9:0201E0DA
ARM9:0201E0DA             is_egg_both_sanity_bits                 ; CODE XREF: readPkmBoxData+50j
ARM9:0201E0DA                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E0DA B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 170
ARM9:0201E0DC 40 07                       LSLS    R0, R0, #0x1D
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).
ARM9:0201E0E0 0B D1                       BNE     loc_201E0FA
ARM9:0201E0E2 91 E0                       B       loc_201E208
ARM9:0201E0E4             ; ---------------------------------------------------------------------------
ARM9:0201E0E4
ARM9:0201E0E4             get_species_if_filled_slot_is_egg       ; CODE XREF: readPkmBoxData+50j
ARM9:0201E0E4                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E0E4 2C 88                       LDRH    R4, [R5]        ; jumptable 0201DF44 case 171
ARM9:0201E0E6 00 2C                       CMP     R4, #0
ARM9:0201E0E8 07 D0                       BEQ     loc_201E0FA
ARM9:0201E0EA 30 69                       LDR     R0, [R6,#0x10]
ARM9:0201E0EC 40 00                       LSLS    R0, R0, #1
ARM9:0201E0EE C0 0F                       LSRS    R0, R0, #0x1F   ; this loads the isEgg bit
ARM9:0201E0F0 04 D1                       BNE     egg_species
ARM9:0201E0F2 B8 88                       LDRH    R0, [R7,#4]
ARM9:0201E0F4 40 07                       LSLS    R0, R0, #0x1D
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).
ARM9:0201E0F8 00 D1                       BNE     egg_species
ARM9:0201E0FA
ARM9:0201E0FA             loc_201E0FA                             ; CODE XREF: readPkmBoxData+1ECj
ARM9:0201E0FA                                                     ; readPkmBoxData+1F4j
ARM9:0201E0FA 5F E1                       B       ret
ARM9:0201E0FC             ; ---------------------------------------------------------------------------
ARM9:0201E0FC
ARM9:0201E0FC             egg_species                             ; CODE XREF: readPkmBoxData+1FCj
ARM9:0201E0FC                                                     ; readPkmBoxData+204j
ARM9:0201E0FC                                                     ; readPkmBoxData+224j
ARM9:0201E0FC B1 4C                       LDR     R4, =0x28A
ARM9:0201E0FE 5D E1                       B       ret
ARM9:0201E100             ; ---------------------------------------------------------------------------
ARM9:0201E100
ARM9:0201E100             level                                   ; CODE XREF: readPkmBoxData+50j
ARM9:0201E100                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E100 31 7E                       LDRB    R1, [R6,#0x18]  ; jumptable 0201DF44 case 158
ARM9:0201E102 28 88                       LDRH    R0, [R5]        ; species
ARM9:0201E104 AA 68                       LDR     R2, [R5,#8]     ; experience
ARM9:0201E106 09 06                       LSLS    R1, R1, #0x18
ARM9:0201E108 C9 0E                       LSRS    R1, R1, #0x1B
ARM9:0201E10A FF F7 2D FA                 BL      getLvBasedOnExp
ARM9:0201E10E 61 E0                       B       loc_201E1D4
ARM9:0201E110             ; ---------------------------------------------------------------------------
ARM9:0201E110
ARM9:0201E110             species                                 ; CODE XREF: readPkmBoxData+50j
ARM9:0201E110                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E110 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 5
ARM9:0201E112 40 07                       LSLS    R0, R0, #0x1D   ; this is the species check for getPkmStat. +4 is the "unused" short
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).
ARM9:0201E116 00 D0                       BEQ     load_species
ARM9:0201E118 F0 E7                       B       egg_species
ARM9:0201E11A             ; ---------------------------------------------------------------------------
ARM9:0201E11A
ARM9:0201E11A             load_species                            ; CODE XREF: readPkmBoxData+222j
ARM9:0201E11A 2C 88                       LDRH    R4, [R5]
ARM9:0201E11C 4E E1                       B       ret
ARM9:0201E11E             ; ---------------------------------------------------------------------------
ARM9:0201E11E
ARM9:0201E11E             item                                    ; CODE XREF: readPkmBoxData+50j
ARM9:0201E11E                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E11E 6C 88                       LDRH    R4, [R5,#2]     ; jumptable 0201DF44 case 6
ARM9:0201E120 A9 48                       LDR     R0, =0x27E      ; is reflecting glass, last item
ARM9:0201E122 84 42                       CMP     R4, R0
ARM9:0201E124 6F D9                       BLS     loc_201E206
ARM9:0201E126 C2 E7                       B       default_ret_0   ; jumptable 0201DF44 cases 157,159-168,176,177
ARM9:0201E128             ; ---------------------------------------------------------------------------
ARM9:0201E128
ARM9:0201E128             sid_tid                                 ; CODE XREF: readPkmBoxData+50j
ARM9:0201E128                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E128 6C 68                       LDR     R4, [R5,#4]     ; jumptable 0201DF44 case 7
ARM9:0201E12A 47 E1                       B       ret
ARM9:0201E12C             ; ---------------------------------------------------------------------------
ARM9:0201E12C
ARM9:0201E12C             exp                                     ; CODE XREF: readPkmBoxData+50j
ARM9:0201E12C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E12C AC 68                       LDR     R4, [R5,#8]     ; jumptable 0201DF44 case 8
ARM9:0201E12E 45 E1                       B       ret
ARM9:0201E130             ; ---------------------------------------------------------------------------
ARM9:0201E130
ARM9:0201E130             happiness                               ; CODE XREF: readPkmBoxData+50j
ARM9:0201E130                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E130 2C 7B                       LDRB    R4, [R5,#0xC]   ; jumptable 0201DF44 case 9
ARM9:0201E132 43 E1                       B       ret
ARM9:0201E134             ; ---------------------------------------------------------------------------
ARM9:0201E134
ARM9:0201E134             ability                                 ; CODE XREF: readPkmBoxData+50j
ARM9:0201E134                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E134 6C 7B                       LDRB    R4, [R5,#0xD]   ; jumptable 0201DF44 case 10
ARM9:0201E136 41 E1                       B       ret
ARM9:0201E138             ; ---------------------------------------------------------------------------
ARM9:0201E138
ARM9:0201E138             markings                                ; CODE XREF: readPkmBoxData+50j
ARM9:0201E138                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E138 AC 7B                       LDRB    R4, [R5,#0xE]   ; jumptable 0201DF44 case 11
ARM9:0201E13A 3F E1                       B       ret
ARM9:0201E13C             ; ---------------------------------------------------------------------------
ARM9:0201E13C
ARM9:0201E13C             region                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E13C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E13C EC 7B                       LDRB    R4, [R5,#0xF]   ; jumptable 0201DF44 case 12
ARM9:0201E13E 3D E1                       B       ret
ARM9:0201E140             ; ---------------------------------------------------------------------------
ARM9:0201E140
ARM9:0201E140             HP_EV                                   ; CODE XREF: readPkmBoxData+50j
ARM9:0201E140                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E140 2C 7C                       LDRB    R4, [R5,#0x10]  ; jumptable 0201DF44 case 13
ARM9:0201E142 3B E1                       B       ret
ARM9:0201E144             ; ---------------------------------------------------------------------------
ARM9:0201E144
ARM9:0201E144             ATK_EV                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E144                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E144 6C 7C                       LDRB    R4, [R5,#0x11]  ; jumptable 0201DF44 case 14
ARM9:0201E146 39 E1                       B       ret
ARM9:0201E148             ; ---------------------------------------------------------------------------
ARM9:0201E148
ARM9:0201E148             DEF_EV                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E148                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E148 AC 7C                       LDRB    R4, [R5,#0x12]  ; jumptable 0201DF44 case 15
ARM9:0201E14A 37 E1                       B       ret
ARM9:0201E14C             ; ---------------------------------------------------------------------------
ARM9:0201E14C
ARM9:0201E14C             SPE_EV                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E14C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E14C EC 7C                       LDRB    R4, [R5,#0x13]  ; jumptable 0201DF44 case 16
ARM9:0201E14E 35 E1                       B       ret
ARM9:0201E150             ; ---------------------------------------------------------------------------
ARM9:0201E150
ARM9:0201E150             SPA_EV                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E150                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E150 2C 7D                       LDRB    R4, [R5,#0x14]  ; jumptable 0201DF44 case 17
ARM9:0201E152 33 E1                       B       ret
ARM9:0201E154             ; ---------------------------------------------------------------------------
ARM9:0201E154
ARM9:0201E154             SPD_EV                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E154                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E154 6C 7D                       LDRB    R4, [R5,#0x15]  ; jumptable 0201DF44 case 18
ARM9:0201E156 31 E1                       B       ret
ARM9:0201E158             ; ---------------------------------------------------------------------------
ARM9:0201E158
ARM9:0201E158             cool_contest                            ; CODE XREF: readPkmBoxData+50j
ARM9:0201E158                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E158 AC 7D                       LDRB    R4, [R5,#0x16]  ; jumptable 0201DF44 case 19
ARM9:0201E15A 2F E1                       B       ret
ARM9:0201E15C             ; ---------------------------------------------------------------------------
ARM9:0201E15C
ARM9:0201E15C             beauty_contest                          ; CODE XREF: readPkmBoxData+50j
ARM9:0201E15C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E15C EC 7D                       LDRB    R4, [R5,#0x17]  ; jumptable 0201DF44 case 20
ARM9:0201E15E 2D E1                       B       ret
ARM9:0201E160             ; ---------------------------------------------------------------------------
ARM9:0201E160
ARM9:0201E160             cute_contest                            ; CODE XREF: readPkmBoxData+50j
ARM9:0201E160                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E160 2C 7E                       LDRB    R4, [R5,#0x18]  ; jumptable 0201DF44 case 21
ARM9:0201E162 2B E1                       B       ret
ARM9:0201E164             ; ---------------------------------------------------------------------------
ARM9:0201E164
ARM9:0201E164             smart_contest                           ; CODE XREF: readPkmBoxData+50j
ARM9:0201E164                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E164 6C 7E                       LDRB    R4, [R5,#0x19]  ; jumptable 0201DF44 case 22
ARM9:0201E166 29 E1                       B       ret
ARM9:0201E168             ; ---------------------------------------------------------------------------
ARM9:0201E168
ARM9:0201E168             tough_contest                           ; CODE XREF: readPkmBoxData+50j
ARM9:0201E168                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E168 AC 7E                       LDRB    R4, [R5,#0x1A]  ; jumptable 0201DF44 case 23
ARM9:0201E16A 27 E1                       B       ret
ARM9:0201E16C             ; ---------------------------------------------------------------------------
ARM9:0201E16C
ARM9:0201E16C             sheen_contest                           ; CODE XREF: readPkmBoxData+50j
ARM9:0201E16C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E16C EC 7E                       LDRB    R4, [R5,#0x1B]  ; jumptable 0201DF44 case 24
ARM9:0201E16E 25 E1                       B       ret
ARM9:0201E170             ; ---------------------------------------------------------------------------
ARM9:0201E170
ARM9:0201E170             sinnoh_ribbons                          ; CODE XREF: readPkmBoxData+50j
ARM9:0201E170                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E170 00 9A                       LDR     R2, [SP,#0x28+field] ; jumptable 0201DF44 cases 25-53
ARM9:0201E172 02 98                       LDR     R0, [SP,#0x28+num] ; num
ARM9:0201E174 19 3A                       SUBS    R2, #0x19       ; shift
ARM9:0201E176 00 21                       MOVS    R1, #0
ARM9:0201E178 00 92                       STR     R2, [SP,#0x28+field]
ARM9:0201E17A 6F F0 6E EA                 BLX     lshift64
ARM9:0201E17E EB 69                       LDR     R3, [R5,#0x1C]
ARM9:0201E180 00 22                       MOVS    R2, #0
ARM9:0201E182 0A 40                       ANDS    R2, R1
ARM9:0201E184 03 40                       ANDS    R3, R0
ARM9:0201E186 00 21                       MOVS    R1, #0
ARM9:0201E188 00 20                       MOVS    R0, #0
ARM9:0201E18A 51 40                       EORS    R1, R2
ARM9:0201E18C 58 40                       EORS    R0, R3
ARM9:0201E18E 08 43                       ORRS    R0, R1
ARM9:0201E190 01 D1                       BNE     loc_201E196
ARM9:0201E192 00 20                       MOVS    R0, #0
ARM9:0201E194 02 90                       STR     R0, [SP,#0x28+num]
ARM9:0201E196
ARM9:0201E196             loc_201E196                             ; CODE XREF: readPkmBoxData+29Cj
ARM9:0201E196 9E E7                       B       loc_201E0D6
ARM9:0201E198             ; ---------------------------------------------------------------------------
ARM9:0201E198
ARM9:0201E198             moves                                   ; CODE XREF: readPkmBoxData+50j
ARM9:0201E198                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E198 00 98                       LDR     R0, [SP,#0x28+field] ; jumptable 0201DF44 cases 54-57
ARM9:0201E19A 36 38                       SUBS    R0, #0x36 ; '6'
ARM9:0201E19C 00 90                       STR     R0, [SP,#0x28+field]
ARM9:0201E19E 40 00                       LSLS    R0, R0, #1
ARM9:0201E1A0 34 5A                       LDRH    R4, [R6,R0]
ARM9:0201E1A2 0B E1                       B       ret
ARM9:0201E1A4             ; ---------------------------------------------------------------------------
ARM9:0201E1A4
ARM9:0201E1A4             move_cur_pp                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1A4                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1A4 00 98                       LDR     R0, [SP,#0x28+field] ; jumptable 0201DF44 cases 58-61
ARM9:0201E1A6 3A 38                       SUBS    R0, #0x3A ; ':'
ARM9:0201E1A8 00 90                       STR     R0, [SP,#0x28+field]
ARM9:0201E1AA 30 18                       ADDS    R0, R6, R0
ARM9:0201E1AC 04 7A                       LDRB    R4, [R0,#8]
ARM9:0201E1AE 05 E1                       B       ret
ARM9:0201E1B0             ; ---------------------------------------------------------------------------
ARM9:0201E1B0
ARM9:0201E1B0             move_ppup_count                         ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1B0                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1B0 00 98                       LDR     R0, [SP,#0x28+field] ; jumptable 0201DF44 cases 62-65
ARM9:0201E1B2 3E 38                       SUBS    R0, #0x3E ; '>'
ARM9:0201E1B4 00 90                       STR     R0, [SP,#0x28+field]
ARM9:0201E1B6 30 18                       ADDS    R0, R6, R0
ARM9:0201E1B8 04 7B                       LDRB    R4, [R0,#0xC]
ARM9:0201E1BA FF E0                       B       ret
ARM9:0201E1BC             ; ---------------------------------------------------------------------------
ARM9:0201E1BC
ARM9:0201E1BC             move_max_pp                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1BC                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1BC 00 98                       LDR     R0, [SP,#0x28+field] ; jumptable 0201DF44 cases 66-69
ARM9:0201E1BE 42 38                       SUBS    R0, #0x42 ; 'B'
ARM9:0201E1C0 00 90                       STR     R0, [SP,#0x28+field]
ARM9:0201E1C2 40 00                       LSLS    R0, R0, #1
ARM9:0201E1C4 30 5A                       LDRH    R0, [R6,R0]
ARM9:0201E1C6 00 28                       CMP     R0, #0
ARM9:0201E1C8 1D D0                       BEQ     loc_201E206
ARM9:0201E1CA 00 99                       LDR     R1, [SP,#0x28+field]
ARM9:0201E1CC 71 18                       ADDS    R1, R6, R1
ARM9:0201E1CE 09 7B                       LDRB    R1, [R1,#0xC]
ARM9:0201E1D0 03 F0 84 FA                 BL      getMoveTotalPPWithPPUps
ARM9:0201E1D4
ARM9:0201E1D4             loc_201E1D4                             ; CODE XREF: readPkmBoxData+21Aj
ARM9:0201E1D4                                                     ; readPkmBoxData+4B2j
ARM9:0201E1D4                                                     ; readPkmBoxData+4C4j
ARM9:0201E1D4 04 1C                       MOVS    R4, R0
ARM9:0201E1D6 F1 E0                       B       ret
ARM9:0201E1D8             ; ---------------------------------------------------------------------------
ARM9:0201E1D8
ARM9:0201E1D8             hp_iv                                   ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1D8                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1D8 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 70
ARM9:0201E1DA C0 06                       LSLS    R0, R0, #0x1B
ARM9:0201E1DC
ARM9:0201E1DC             loc_201E1DC                             ; CODE XREF: readPkmBoxData+2F0j
ARM9:0201E1DC                                                     ; readPkmBoxData+2F6j
ARM9:0201E1DC                                                     ; readPkmBoxData+2FCj
ARM9:0201E1DC                                                     ; readPkmBoxData+302j ...
ARM9:0201E1DC C4 0E                       LSRS    R4, R0, #0x1B
ARM9:0201E1DE ED E0                       B       ret
ARM9:0201E1E0             ; ---------------------------------------------------------------------------
ARM9:0201E1E0
ARM9:0201E1E0             atk_iv                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1E0                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1E0 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 71
ARM9:0201E1E2 80 05                       LSLS    R0, R0, #0x16
ARM9:0201E1E4 FA E7                       B       loc_201E1DC
ARM9:0201E1E6             ; ---------------------------------------------------------------------------
ARM9:0201E1E6
ARM9:0201E1E6             def_iv                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1E6                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1E6 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 72
ARM9:0201E1E8 40 04                       LSLS    R0, R0, #0x11
ARM9:0201E1EA F7 E7                       B       loc_201E1DC
ARM9:0201E1EC             ; ---------------------------------------------------------------------------
ARM9:0201E1EC
ARM9:0201E1EC             spe_iv                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1EC                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1EC 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 73
ARM9:0201E1EE 00 03                       LSLS    R0, R0, #0xC
ARM9:0201E1F0 F4 E7                       B       loc_201E1DC
ARM9:0201E1F2             ; ---------------------------------------------------------------------------
ARM9:0201E1F2
ARM9:0201E1F2             spa_iv                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1F2                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1F2 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 74
ARM9:0201E1F4 C0 01                       LSLS    R0, R0, #7
ARM9:0201E1F6 F1 E7                       B       loc_201E1DC
ARM9:0201E1F8             ; ---------------------------------------------------------------------------
ARM9:0201E1F8
ARM9:0201E1F8             spd_iv                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1F8                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1F8 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 75
ARM9:0201E1FA 80 00                       LSLS    R0, R0, #2
ARM9:0201E1FC EE E7                       B       loc_201E1DC
ARM9:0201E1FE             ; ---------------------------------------------------------------------------
ARM9:0201E1FE
ARM9:0201E1FE             is_egg                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E1FE                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E1FE B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 76
ARM9:0201E200 40 07                       LSLS    R0, R0, #0x1D
ARM9:0201E202 C4 0F                       LSRS    R4, R0, #0x1F
ARM9:0201E204 00 D0                       BEQ     loc_201E208
ARM9:0201E206
ARM9:0201E206             loc_201E206                             ; CODE XREF: readPkmBoxData+230j
ARM9:0201E206                                                     ; readPkmBoxData+2D4j
ARM9:0201E206 D9 E0                       B       ret
ARM9:0201E208             ; ---------------------------------------------------------------------------
ARM9:0201E208
ARM9:0201E208             loc_201E208                             ; CODE XREF: readPkmBoxData+1EEj
ARM9:0201E208                                                     ; readPkmBoxData+310j
ARM9:0201E208 30 69                       LDR     R0, [R6,#0x10]
ARM9:0201E20A 40 00                       LSLS    R0, R0, #1
ARM9:0201E20C 55 E7                       B       loc_201E0BA
ARM9:0201E20E             ; ---------------------------------------------------------------------------
ARM9:0201E20E
ARM9:0201E20E             is_nicknamed                            ; CODE XREF: readPkmBoxData+50j
ARM9:0201E20E                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E20E 30 69                       LDR     R0, [R6,#0x10]  ; jumptable 0201DF44 case 117
ARM9:0201E210 53 E7                       B       loc_201E0BA
ARM9:0201E212             ; ---------------------------------------------------------------------------
ARM9:0201E212
ARM9:0201E212             hoenn_unova_ribbons                     ; CODE XREF: readPkmBoxData+50j
ARM9:0201E212                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E212 00 9A                       LDR     R2, [SP,#0x28+field] ; jumptable 0201DF44 cases 77-108
ARM9:0201E214 02 98                       LDR     R0, [SP,#0x28+num] ; num
ARM9:0201E216 4D 3A                       SUBS    R2, #0x4D ; 'M' ; shift
ARM9:0201E218 00 21                       MOVS    R1, #0
ARM9:0201E21A 00 92                       STR     R2, [SP,#0x28+field]
ARM9:0201E21C 6F F0 1C EA                 BLX     lshift64
ARM9:0201E220 73 69                       LDR     R3, [R6,#0x14]
ARM9:0201E222 00 22                       MOVS    R2, #0
ARM9:0201E224 0A 40                       ANDS    R2, R1
ARM9:0201E226 03 40                       ANDS    R3, R0
ARM9:0201E228 00 21                       MOVS    R1, #0
ARM9:0201E22A 00 20                       MOVS    R0, #0
ARM9:0201E22C 51 40                       EORS    R1, R2
ARM9:0201E22E 58 40                       EORS    R0, R3
ARM9:0201E230 08 43                       ORRS    R0, R1
ARM9:0201E232 01 D1                       BNE     loc_201E238
ARM9:0201E234 00 20                       MOVS    R0, #0
ARM9:0201E236 02 90                       STR     R0, [SP,#0x28+num]
ARM9:0201E238
ARM9:0201E238             loc_201E238                             ; CODE XREF: readPkmBoxData+33Ej
ARM9:0201E238 4D E7                       B       loc_201E0D6
ARM9:0201E23A             ; ---------------------------------------------------------------------------
ARM9:0201E23A
ARM9:0201E23A             fateful_encounter                       ; CODE XREF: readPkmBoxData+50j
ARM9:0201E23A                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E23A 30 7E                       LDRB    R0, [R6,#0x18]  ; jumptable 0201DF44 case 109
ARM9:0201E23C 3C E7                       B       loc_201E0B8     ; lowest bit is form
ARM9:0201E23E             ; ---------------------------------------------------------------------------
ARM9:0201E23E
ARM9:0201E23E             gender                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E23E                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E23E 31 7E                       LDRB    R1, [R6,#0x18]  ; jumptable 0201DF44 case 110
ARM9:0201E240 28 88                       LDRH    R0, [R5]        ; species
ARM9:0201E242 3A 68                       LDR     R2, [R7]        ; pid
ARM9:0201E244 09 06                       LSLS    R1, R1, #0x18
ARM9:0201E246 C9 0E                       LSRS    R1, R1, #0x1B
ARM9:0201E248 FE F7 72 FE                 BL      reduceGenderType
ARM9:0201E24C 04 1C                       MOVS    R4, R0
ARM9:0201E24E 30 7E                       LDRB    R0, [R6,#0x18]
ARM9:0201E250 06 21                       MOVS    R1, #6
ARM9:0201E252 88 43                       BICS    R0, R1
ARM9:0201E254 21 06                       LSLS    R1, R4, #0x18
ARM9:0201E256 09 0E                       LSRS    R1, R1, #0x18
ARM9:0201E258 89 07                       LSLS    R1, R1, #0x1E
ARM9:0201E25A 49 0F                       LSRS    R1, R1, #0x1D
ARM9:0201E25C 08 43                       ORRS    R0, R1
ARM9:0201E25E 30 76                       STRB    R0, [R6,#0x18]
ARM9:0201E260 38 1C                       MOVS    R0, R7
ARM9:0201E262 08 30                       ADDS    R0, #8          ; pPkm
ARM9:0201E264 80 21                       MOVS    R1, #0x80 ; 'Ç' ; length
ARM9:0201E266 00 F0 75 FD                 BL      generatePkmChecksum
ARM9:0201E26A F8 80                       STRH    R0, [R7,#6]
ARM9:0201E26C A6 E0                       B       ret
ARM9:0201E26E             ; ---------------------------------------------------------------------------
ARM9:0201E26E
ARM9:0201E26E             get_form_bits                           ; CODE XREF: readPkmBoxData+50j
ARM9:0201E26E                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E26E 30 7E                       LDRB    R0, [R6,#0x18]  ; jumptable 0201DF44 case 111
ARM9:0201E270 00 06                       LSLS    R0, R0, #0x18
ARM9:0201E272 B3 E7                       B       loc_201E1DC
ARM9:0201E274             ; ---------------------------------------------------------------------------
ARM9:0201E274
ARM9:0201E274             nature                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E274                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E274 74 7E                       LDRB    R4, [R6,#0x19]  ; jumptable 0201DF44 case 112
ARM9:0201E276 A1 E0                       B       ret
ARM9:0201E278             ; ---------------------------------------------------------------------------
ARM9:0201E278
ARM9:0201E278             has_dw_abil                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E278                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E278 70 8B                       LDRH    R0, [R6,#0x1A]  ; jumptable 0201DF44 case 113
ARM9:0201E27A 1D E7                       B       loc_201E0B8
ARM9:0201E27C             ; ---------------------------------------------------------------------------
ARM9:0201E27C
ARM9:0201E27C             N_poke                                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E27C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E27C 70 8B                       LDRH    R0, [R6,#0x1A]  ; jumptable 0201DF44 case 178
ARM9:0201E27E
ARM9:0201E27E             loc_201E27E                             ; CODE XREF: readPkmBoxData+1CCj
ARM9:0201E27E 80 07                       LSLS    R0, R0, #0x1E
ARM9:0201E280 1B E7                       B       loc_201E0BA
ARM9:0201E282             ; ---------------------------------------------------------------------------
ARM9:0201E282
ARM9:0201E282             get_unused_word                         ; CODE XREF: readPkmBoxData+50j
ARM9:0201E282                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E282 F4 69                       LDR     R4, [R6,#0x1C]  ; jumptable 0201DF44 case 114
ARM9:0201E284 9A E0                       B       ret
ARM9:0201E286             ; ---------------------------------------------------------------------------
ARM9:0201E286
ARM9:0201E286             poke_curr_name                          ; CODE XREF: readPkmBoxData+50j
ARM9:0201E286                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E286 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 115
ARM9:0201E288 40 07                       LSLS    R0, R0, #0x1D   ; check if species is egg
ARM9:0201E28A C0 0F                       LSRS    R0, R0, #0x1F
ARM9:0201E28C 06 D0                       BEQ     loc_201E29C     ; if species is not egg, jump past
ARM9:0201E28E 4F 48                       LDR     R0, =currentMsgdata
ARM9:0201E290 4F 49                       LDR     R1, =0x28B      ; msgID
ARM9:0201E292 00 68                       LDR     R0, [R0]        ; msgdata
ARM9:0201E294 01 9A                       LDR     R2, [SP,#0x28+dest] ; subStrBuf
ARM9:0201E296 2A F0 E5 FA                 BL      getTextFillStrbuf
ARM9:0201E29A 8F E0                       B       ret
ARM9:0201E29C             ; ---------------------------------------------------------------------------
ARM9:0201E29C
ARM9:0201E29C             loc_201E29C                             ; CODE XREF: readPkmBoxData+398j
ARM9:0201E29C 01 98                       LDR     R0, [SP,#0x28+dest] ; dest
ARM9:0201E29E 03 99                       LDR     R1, [SP,#0x28+num+4] ; src
ARM9:0201E2A0
ARM9:0201E2A0             loc_201E2A0                             ; CODE XREF: readPkmBoxData+410j
ARM9:0201E2A0 2A F0 CE F9                 BL      wcharscpy
ARM9:0201E2A4 8A E0                       B       ret
ARM9:0201E2A6             ; ---------------------------------------------------------------------------
ARM9:0201E2A6
ARM9:0201E2A6             nickname                                ; CODE XREF: readPkmBoxData+50j
ARM9:0201E2A6                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E2A6 B8 88                       LDRH    R0, [R7,#4]     ; jumptable 0201DF44 case 116
ARM9:0201E2A8 40 07                       LSLS    R0, R0, #0x1D
ARM9:0201E2AA C0 0F                       LSRS    R0, R0, #0x1F   ; check to see if the species is egg
ARM9:0201E2AC 07 D0                       BEQ     loc_201E2BE
ARM9:0201E2AE 47 48                       LDR     R0, =currentMsgdata
ARM9:0201E2B0 47 49                       LDR     R1, =0x28B      ; msgID
ARM9:0201E2B2 00 68                       LDR     R0, [R0]        ; pMsgdata
ARM9:0201E2B4 01 9A                       LDR     R2, [SP,#0x28+dest] ; strbuf
ARM9:0201E2B6 0B 23                       MOVS    R3, #0xB        ; length
ARM9:0201E2B8 2A F0 B0 FB                 BL      fillStrbufFromFile
ARM9:0201E2BC 7E E0                       B       ret
ARM9:0201E2BE             ; ---------------------------------------------------------------------------
ARM9:0201E2BE
ARM9:0201E2BE             loc_201E2BE                             ; CODE XREF: readPkmBoxData+3B8j
ARM9:0201E2BE 03 98                       LDR     R0, [SP,#0x28+num+4] ; if it's not, skip to here
ARM9:0201E2C0 01 99                       LDR     R1, [SP,#0x28+dest] ; pDest
ARM9:0201E2C2 0B 22                       MOVS    R2, #0xB        ; length
ARM9:0201E2C4
ARM9:0201E2C4             loc_201E2C4                             ; CODE XREF: readPkmBoxData+416j
ARM9:0201E2C4 06 F0 1C FC                 BL      wcharsncpy
ARM9:0201E2C8 78 E0                       B       ret
ARM9:0201E2CA             ; ---------------------------------------------------------------------------
ARM9:0201E2CA
ARM9:0201E2CA             loc_201E2CA                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E2CA                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E2CA 03 98                       LDR     R0, [SP,#0x28+num+4] ; jumptable 0201DF44 case 118
ARM9:0201E2CC 84 7D                       LDRB    R4, [R0,#0x16]
ARM9:0201E2CE 75 E0                       B       ret
ARM9:0201E2D0             ; ---------------------------------------------------------------------------
ARM9:0201E2D0
ARM9:0201E2D0             origin_game                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E2D0                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E2D0 03 98                       LDR     R0, [SP,#0x28+num+4]
ARM9:0201E2D2 C4 7D                       LDRB    R4, [R0,#0x17]
ARM9:0201E2D4 72 E0                       B       ret
ARM9:0201E2D6             ; ---------------------------------------------------------------------------
ARM9:0201E2D6
ARM9:0201E2D6             sinnoh_contest_ribbons                  ; CODE XREF: readPkmBoxData+50j
ARM9:0201E2D6                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E2D6 00 9A                       LDR     R2, [SP,#0x28+field] ; jumptable 0201DF44 cases 120-140
ARM9:0201E2D8 02 98                       LDR     R0, [SP,#0x28+num]
ARM9:0201E2DA 78 3A                       SUBS    R2, #0x78 ; 'x' ; shift
ARM9:0201E2DC 00 21                       MOVS    R1, #0
ARM9:0201E2DE 00 92                       STR     R2, [SP,#0x28+field]
ARM9:0201E2E0 6F F0 BA E9                 BLX     lshift64
ARM9:0201E2E4 03 9A                       LDR     R2, [SP,#0x28+num+4]
ARM9:0201E2E6 94 69                       LDR     R4, [R2,#0x18]
ARM9:0201E2E8 D2 69                       LDR     R2, [R2,#0x1C]
ARM9:0201E2EA 23 1C                       MOVS    R3, R4
ARM9:0201E2EC 0A 40                       ANDS    R2, R1
ARM9:0201E2EE 03 40                       ANDS    R3, R0
ARM9:0201E2F0 00 21                       MOVS    R1, #0
ARM9:0201E2F2 00 20                       MOVS    R0, #0
ARM9:0201E2F4 51 40                       EORS    R1, R2
ARM9:0201E2F6 58 40                       EORS    R0, R3
ARM9:0201E2F8 08 43                       ORRS    R0, R1
ARM9:0201E2FA 01 D1                       BNE     loc_201E300
ARM9:0201E2FC 00 20                       MOVS    R0, #0
ARM9:0201E2FE 02 90                       STR     R0, [SP,#0x28+num]
ARM9:0201E300
ARM9:0201E300             loc_201E300                             ; CODE XREF: readPkmBoxData+406j
ARM9:0201E300 E9 E6                       B       loc_201E0D6
ARM9:0201E302             ; ---------------------------------------------------------------------------
ARM9:0201E302
ARM9:0201E302             ot_name_in                              ; CODE XREF: readPkmBoxData+50j
ARM9:0201E302                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E302 01 98                       LDR     R0, [SP,#0x28+dest] ; jumptable 0201DF44 case 141
ARM9:0201E304 CC E7                       B       loc_201E2A0     ; src
ARM9:0201E306             ; ---------------------------------------------------------------------------
ARM9:0201E306
ARM9:0201E306             ot_name_out                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E306                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E306 01 99                       LDR     R1, [SP,#0x28+dest] ; jumptable 0201DF44 case 142
ARM9:0201E308 08 22                       MOVS    R2, #8
ARM9:0201E30A DB E7                       B       loc_201E2C4
ARM9:0201E30C             ; ---------------------------------------------------------------------------
ARM9:0201E30C
ARM9:0201E30C             met_year                                ; CODE XREF: readPkmBoxData+50j
ARM9:0201E30C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E30C 0C 7C                       LDRB    R4, [R1,#0x10]  ; jumptable 0201DF44 case 143
ARM9:0201E30E 55 E0                       B       ret
ARM9:0201E310             ; ---------------------------------------------------------------------------
ARM9:0201E310
ARM9:0201E310             met_month                               ; CODE XREF: readPkmBoxData+50j
ARM9:0201E310                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E310 4C 7C                       LDRB    R4, [R1,#0x11]  ; jumptable 0201DF44 case 144
ARM9:0201E312 53 E0                       B       ret
ARM9:0201E314             ; ---------------------------------------------------------------------------
ARM9:0201E314
ARM9:0201E314             met_day                                 ; CODE XREF: readPkmBoxData+50j
ARM9:0201E314                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E314 8C 7C                       LDRB    R4, [R1,#0x12]  ; jumptable 0201DF44 case 145
ARM9:0201E316 51 E0                       B       ret
ARM9:0201E318             ; ---------------------------------------------------------------------------
ARM9:0201E318
ARM9:0201E318             egg_year                                ; CODE XREF: readPkmBoxData+50j
ARM9:0201E318                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E318 CC 7C                       LDRB    R4, [R1,#0x13]  ; jumptable 0201DF44 case 146
ARM9:0201E31A 4F E0                       B       ret
ARM9:0201E31C             ; ---------------------------------------------------------------------------
ARM9:0201E31C
ARM9:0201E31C             egg_month                               ; CODE XREF: readPkmBoxData+50j
ARM9:0201E31C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E31C 0C 7D                       LDRB    R4, [R1,#0x14]  ; jumptable 0201DF44 case 147
ARM9:0201E31E 4D E0                       B       ret
ARM9:0201E320             ; ---------------------------------------------------------------------------
ARM9:0201E320
ARM9:0201E320             egg_day                                 ; CODE XREF: readPkmBoxData+50j
ARM9:0201E320                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E320 4C 7D                       LDRB    R4, [R1,#0x15]  ; jumptable 0201DF44 case 148
ARM9:0201E322 4B E0                       B       ret
ARM9:0201E324             ; ---------------------------------------------------------------------------
ARM9:0201E324
ARM9:0201E324             catch_location                          ; CODE XREF: readPkmBoxData+50j
ARM9:0201E324                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E324 CC 8A                       LDRH    R4, [R1,#0x16]  ; jumptable 0201DF44 case 149
ARM9:0201E326 49 E0                       B       ret
ARM9:0201E328             ; ---------------------------------------------------------------------------
ARM9:0201E328
ARM9:0201E328             loc_201E328                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E328                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E328 0C 8B                       LDRH    R4, [R1,#0x18]  ; jumptable 0201DF44 case 150
ARM9:0201E32A 47 E0                       B       ret
ARM9:0201E32C             ; ---------------------------------------------------------------------------
ARM9:0201E32C
ARM9:0201E32C             pokerus                                 ; CODE XREF: readPkmBoxData+50j
ARM9:0201E32C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E32C 8C 7E                       LDRB    R4, [R1,#0x1A]  ; jumptable 0201DF44 case 151
ARM9:0201E32E 45 E0                       B       ret
ARM9:0201E330             ; ---------------------------------------------------------------------------
ARM9:0201E330
ARM9:0201E330             poke_ball                               ; CODE XREF: readPkmBoxData+50j
ARM9:0201E330                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E330 CC 7E                       LDRB    R4, [R1,#0x1B]  ; jumptable 0201DF44 case 152
ARM9:0201E332 43 E0                       B       ret
ARM9:0201E334             ; ---------------------------------------------------------------------------
ARM9:0201E334
ARM9:0201E334             met_level                               ; CODE XREF: readPkmBoxData+50j
ARM9:0201E334                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E334 08 7F                       LDRB    R0, [R1,#0x1C]  ; jumptable 0201DF44 case 153
ARM9:0201E336 40 06                       LSLS    R0, R0, #0x19
ARM9:0201E338 44 0E                       LSRS    R4, R0, #0x19
ARM9:0201E33A 3F E0                       B       ret
ARM9:0201E33C             ; ---------------------------------------------------------------------------
ARM9:0201E33C
ARM9:0201E33C             ot_gender                               ; CODE XREF: readPkmBoxData+50j
ARM9:0201E33C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E33C 08 7F                       LDRB    R0, [R1,#0x1C]  ; jumptable 0201DF44 case 154
ARM9:0201E33E 00 06                       LSLS    R0, R0, #0x18
ARM9:0201E340 BB E6                       B       loc_201E0BA
ARM9:0201E342             ; ---------------------------------------------------------------------------
ARM9:0201E342
ARM9:0201E342             loc_201E342                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E342                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E342 4C 7F                       LDRB    R4, [R1,#0x1D]  ; jumptable 0201DF44 case 155
ARM9:0201E344 3A E0                       B       ret
ARM9:0201E346             ; ---------------------------------------------------------------------------
ARM9:0201E346
ARM9:0201E346             loc_201E346                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E346                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E346 8C 7F                       LDRB    R4, [R1,#0x1E]  ; jumptable 0201DF44 case 156
ARM9:0201E348 38 E0                       B       ret
ARM9:0201E34A             ; ---------------------------------------------------------------------------
ARM9:0201E34A
ARM9:0201E34A             getIVsAsInt_no_isegg_no_isnick          ; CODE XREF: readPkmBoxData+50j
ARM9:0201E34A                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E34A 34 69                       LDR     R4, [R6,#0x10]  ; jumptable 0201DF44 case 172
ARM9:0201E34C A0 00                       LSLS    R0, R4, #2      ; trim off is_egg and is_nicknamed
ARM9:0201E34E C0 0E                       LSRS    R0, R0, #0x1B   ; spd in r0
ARM9:0201E350 45 06                       LSLS    R5, R0, #0x19   ; put spd back @ pos 25 in r5
ARM9:0201E352 E0 01                       LSLS    R0, R4, #7      ; trim off is_egg, is_nicknamed, and spd iv
ARM9:0201E354 C0 0E                       LSRS    R0, R0, #0x1B   ; spa in r0
ARM9:0201E356 03 05                       LSLS    R3, R0, #0x14   ; put spa back @ pos 20 in r3
ARM9:0201E358 20 03                       LSLS    R0, R4, #0xC    ; trim off is_egg, is_nicknamed, spd iv, and spa iv
ARM9:0201E35A C0 0E                       LSRS    R0, R0, #0x1B   ; spe in r0
ARM9:0201E35C C2 03                       LSLS    R2, R0, #0xF    ; put spe back @ pos 15 in r2
ARM9:0201E35E 60 04                       LSLS    R0, R4, #0x11   ; trim off is_egg, is_nicknamed, spd iv, spa iv, and spe iv
ARM9:0201E360 C0 0E                       LSRS    R0, R0, #0x1B   ; def in r0
ARM9:0201E362 81 02                       LSLS    R1, R0, #0xA    ; put def back @ pos 10 in r1
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
ARM9:0201E366 A4 05                       LSLS    R4, R4, #0x16   ; trim off is_egg, is_nicknamed, spd iv, spa iv, spe iv, and def iv
ARM9:0201E368 E4 0E                       LSRS    R4, R4, #0x1B   ; atk in r4
ARM9:0201E36A C0 0E                       LSRS    R0, R0, #0x1B   ; hp in r0
ARM9:0201E36C 64 01                       LSLS    R4, R4, #5      ; put atk back @ pos 5 in r4
ARM9:0201E36E 20 43                       ORRS    R0, R4          ; put IVs back together
ARM9:0201E370 08 43                       ORRS    R0, R1
ARM9:0201E372 10 43                       ORRS    R0, R2
ARM9:0201E374 18 43                       ORRS    R0, R3
ARM9:0201E376 2C 1C                       MOVS    R4, R5
ARM9:0201E378 04 43                       ORRS    R4, R0
ARM9:0201E37A 1F E0                       B       ret
ARM9:0201E37C             ; ---------------------------------------------------------------------------
ARM9:0201E37C
ARM9:0201E37C             is_species_NOT_nidoFM                   ; CODE XREF: readPkmBoxData+50j
ARM9:0201E37C                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E37C 28 88                       LDRH    R0, [R5]        ; jumptable 0201DF44 case 173
ARM9:0201E37E 1D 28                       CMP     R0, #0x1D       ; is species nidoF
ARM9:0201E380 01 D0                       BEQ     loc_201E386
ARM9:0201E382 20 28                       CMP     R0, #0x20 ; ' ' ; is species nidoM
ARM9:0201E384 03 D1                       BNE     loc_201E38E
ARM9:0201E386
ARM9:0201E386             loc_201E386                             ; CODE XREF: readPkmBoxData+48Cj
ARM9:0201E386 30 69                       LDR     R0, [R6,#0x10]
ARM9:0201E388 C0 0F                       LSRS    R0, R0, #0x1F
ARM9:0201E38A 00 D1                       BNE     loc_201E38E
ARM9:0201E38C 8F E6                       B       default_ret_0   ; jumptable 0201DF44 cases 157,159-168,176,177
ARM9:0201E38E             ; ---------------------------------------------------------------------------
ARM9:0201E38E
ARM9:0201E38E             loc_201E38E                             ; CODE XREF: readPkmBoxData+490j
ARM9:0201E38E                                                     ; readPkmBoxData+496j
ARM9:0201E38E 01 24                       MOVS    R4, #1
ARM9:0201E390 14 E0                       B       ret
ARM9:0201E392             ; ---------------------------------------------------------------------------
ARM9:0201E392
ARM9:0201E392             pkm_type                                ; CODE XREF: readPkmBoxData+50j
ARM9:0201E392                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E392 28 88                       LDRH    R0, [R5]        ; jumptable 0201DF44 cases 174,175
ARM9:0201E394 0F 49                       LDR     R1, =0x1ED      ; if arceus
ARM9:0201E396 88 42                       CMP     R0, R1
ARM9:0201E398 06 D1                       BNE     loc_201E3A8
ARM9:0201E39A 69 7B                       LDRB    R1, [R5,#0xD]
ARM9:0201E39C 79 29                       CMP     R1, #0x79 ; 'y' ; if ability is multitype
ARM9:0201E39E 03 D1                       BNE     loc_201E3A8
ARM9:0201E3A0 68 88                       LDRH    R0, [R5,#2]     ; get poke's item
ARM9:0201E3A2 00 F0 67 FD                 BL      getTypeForPlate
ARM9:0201E3A6 15 E7                       B       loc_201E1D4
ARM9:0201E3A8             ; ---------------------------------------------------------------------------
ARM9:0201E3A8
ARM9:0201E3A8             loc_201E3A8                             ; CODE XREF: readPkmBoxData+4A4j
ARM9:0201E3A8                                                     ; readPkmBoxData+4AAj
ARM9:0201E3A8 31 7E                       LDRB    R1, [R6,#0x18]
ARM9:0201E3AA 00 9A                       LDR     R2, [SP,#0x28+field]
ARM9:0201E3AC 09 06                       LSLS    R1, R1, #0x18
ARM9:0201E3AE A8 3A                       SUBS    R2, #0xA8 ; '¿' ; field
ARM9:0201E3B0 C9 0E                       LSRS    R1, R1, #0x1B
ARM9:0201E3B2 00 92                       STR     R2, [SP,#0x28+field]
ARM9:0201E3B4 00 F0 C8 FD                 BL      getPersonalField
ARM9:0201E3B8 0C E7                       B       loc_201E1D4
ARM9:0201E3BA             ; ---------------------------------------------------------------------------
ARM9:0201E3BA
ARM9:0201E3BA             loc_201E3BA                             ; CODE XREF: readPkmBoxData+50j
ARM9:0201E3BA                                                     ; DATA XREF: readPkmBoxData:off_201DF46o
ARM9:0201E3BA CC 7F                       LDRB    R4, [R1,#0x1F]  ; jumptable 0201DF44 case 179
ARM9:0201E3BC
ARM9:0201E3BC             ret                                     ; CODE XREF: readPkmBoxData+1BCj
ARM9:0201E3BC                                                     ; readPkmBoxData+1C0j
ARM9:0201E3BC                                                     ; readPkmBoxData+1C8j
ARM9:0201E3BC                                                     ; readPkmBoxData+1D6j ...
ARM9:0201E3BC 20 1C                       MOVS    R0, R4
ARM9:0201E3BE 04 B0                       ADD     SP, SP, #0x10
ARM9:0201E3C0 F8 BD                       POP     {R3-R7,PC}
ARM9:0201E3C0             ; End of function readPkmBoxData
ARM9:0201E3C0
ARM9:0201E3C0             ; ---------------------------------------------------------------------------
ARM9:0201E3C2 C0                          DCB 0xC0 ; +
ARM9:0201E3C3 46                          DCB 0x46 ; F
ARM9:0201E3C4 8A 02 00 00 dword_201E3C4   DCD 0x28A               ; DATA XREF: readPkmBoxData:egg_speciesr
ARM9:0201E3C8 7E 02 00 00 dword_201E3C8   DCD 0x27E               ; DATA XREF: readPkmBoxData+22Cr
ARM9:0201E3CC 74 A4 09 02 off_201E3CC     DCD currentMsgdata      ; DATA XREF: readPkmBoxData+39Ar
ARM9:0201E3CC                                                     ; readPkmBoxData+3BAr
ARM9:0201E3D0             ; int msgID
ARM9:0201E3D0 8B 02 00 00 msgID           DCD 0x28B               ; DATA XREF: readPkmBoxData+39Cr
ARM9:0201E3D0                                                     ; readPkmBoxData+3BCr
ARM9:0201E3D4 ED 01 00 00 dword_201E3D4   DCD 0x1ED               ; DATA XREF: readPkmBoxData+4A0r

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎