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
0 B
|👍
/👎
0 B
|👍
/👎